mno-enterprise-core 3.1.4 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/mno_enterprise/logo-intuit.png +0 -0
  3. data/app/assets/images/mno_enterprise/main-logo.png +0 -0
  4. data/app/assets/stylesheets/mno_enterprise/mail.css +1 -4
  5. data/app/controllers/mno_enterprise/application_controller.rb +1 -1
  6. data/app/helpers/mno_enterprise/application_helper.rb +7 -7
  7. data/app/models/mno_enterprise/app.rb +12 -3
  8. data/app/models/mno_enterprise/app_answer.rb +13 -0
  9. data/app/models/mno_enterprise/app_comment.rb +10 -0
  10. data/app/models/mno_enterprise/app_feedback.rb +7 -0
  11. data/app/models/mno_enterprise/app_question.rb +9 -0
  12. data/app/models/mno_enterprise/app_review.rb +7 -0
  13. data/app/models/mno_enterprise/base_resource.rb +6 -1
  14. data/app/models/mno_enterprise/identity.rb +24 -0
  15. data/app/models/mno_enterprise/impac/alert.rb +10 -0
  16. data/app/models/mno_enterprise/impac/dashboard.rb +10 -11
  17. data/app/models/mno_enterprise/impac/kpi.rb +4 -2
  18. data/app/models/mno_enterprise/impac/widget.rb +4 -1
  19. data/app/models/mno_enterprise/team.rb +1 -33
  20. data/app/models/mno_enterprise/user.rb +109 -28
  21. data/app/views/system_notifications/email-change.html.erb +27 -0
  22. data/app/views/system_notifications/email-change.text.erb +10 -0
  23. data/app/views/system_notifications/password-change.html.erb +25 -0
  24. data/app/views/system_notifications/password-change.text.erb +7 -0
  25. data/app/views/system_notifications/reconfirmation-instructions.html.erb +7 -5
  26. data/app/views/system_notifications/reconfirmation-instructions.text.erb +3 -2
  27. data/config/initializers/config.rb +5 -0
  28. data/config/locales/models/user/en.yml +5 -0
  29. data/config/locales/templates/components/en.yml +9 -0
  30. data/config/locales/templates/dashboard/en.yml +14 -0
  31. data/config/locales/templates/dashboard/marketplace/en.yml +111 -8
  32. data/config/locales/templates/dashboard/organization/en.yml +1 -0
  33. data/config/locales/templates/impac/dock/en.yml +28 -0
  34. data/config/locales/views/auth/shared/en.yml +1 -2
  35. data/config/locales/views/webhook/o_auth/providers/en.yml +11 -6
  36. data/lib/devise/hooks/lockable.rb +13 -0
  37. data/lib/devise/models/remote_authenticatable.rb +31 -5
  38. data/lib/generators/mno_enterprise/install/install_generator.rb +7 -0
  39. data/lib/generators/mno_enterprise/install/templates/Procfile +1 -1
  40. data/lib/generators/mno_enterprise/install/templates/Procfile.dev +1 -1
  41. data/lib/generators/mno_enterprise/install/templates/config/application.yml +17 -0
  42. data/lib/generators/mno_enterprise/install/templates/config/initializers/mno_enterprise.rb +8 -3
  43. data/lib/generators/mno_enterprise/install/templates/config/newrelic.yml +46 -0
  44. data/lib/generators/mno_enterprise/install/templates/config/puma.rb +56 -0
  45. data/lib/generators/mno_enterprise/install/templates/config/settings/production.yml +1 -1
  46. data/lib/generators/mno_enterprise/install/templates/config/settings/uat.yml +1 -1
  47. data/lib/generators/mno_enterprise/install/templates/config/settings.yml +21 -0
  48. data/lib/generators/mno_enterprise/install/templates/stylesheets/variables.less +3 -0
  49. data/lib/her_extension/model/associations/association_proxy.rb +10 -6
  50. data/lib/mno_enterprise/concerns/controllers/auth/confirmations_controller.rb +1 -1
  51. data/lib/mno_enterprise/concerns/controllers/auth/omniauth_callbacks_controller.rb +203 -0
  52. data/lib/mno_enterprise/concerns/models/ability.rb +28 -0
  53. data/lib/mno_enterprise/concerns/models/app_instance.rb +22 -4
  54. data/lib/mno_enterprise/concerns/models/intercom_user.rb +28 -0
  55. data/lib/mno_enterprise/concerns/models/organization.rb +14 -1
  56. data/lib/mno_enterprise/concerns/models/team.rb +67 -0
  57. data/lib/mno_enterprise/core.rb +22 -3
  58. data/lib/mno_enterprise/impac_client.rb +19 -0
  59. data/lib/mno_enterprise/mail_adapters/mandrill_adapter.rb +4 -1
  60. data/lib/mno_enterprise/testing_support/factories/app_review.rb +51 -0
  61. data/lib/mno_enterprise/testing_support/factories/apps.rb +12 -10
  62. data/lib/mno_enterprise/testing_support/factories/identity.rb +9 -0
  63. data/lib/mno_enterprise/testing_support/factories/impac/alerts.rb +18 -0
  64. data/lib/mno_enterprise/testing_support/factories/impac/kpis.rb +5 -9
  65. data/lib/mno_enterprise/testing_support/factories/users.rb +4 -0
  66. data/lib/mno_enterprise/testing_support/jpi_v1_test_helper.rb +39 -0
  67. data/lib/mno_enterprise/testing_support/organizations_shared_helpers.rb +2 -1
  68. data/lib/mno_enterprise/testing_support/shared_examples/jpi_v1_admin.rb +38 -0
  69. data/lib/mno_enterprise/version.rb +1 -1
  70. data/spec/lib/devise/model/remote_authenticable_spec.rb +76 -0
  71. data/spec/lib/mno_enterprise/impac_client_spec.rb +31 -0
  72. data/spec/mno_enterprise_spec.rb +7 -8
  73. data/spec/models/mno_enterprise/app_spec.rb +1 -1
  74. data/spec/models/mno_enterprise/identity_spec.rb +39 -0
  75. data/spec/models/mno_enterprise/organization_spec.rb +19 -2
  76. data/spec/models/mno_enterprise/user_spec.rb +238 -0
  77. metadata +86 -22
@@ -10,16 +10,18 @@
10
10
  </p>
11
11
 
12
12
  <p>Hi <%= @info[:first_name] %></p>
13
-
14
- <p>You have asked to change your email address in the platform. Please confirm this new email address by clicking on the following link</p>
15
-
13
+
14
+ <p>You have asked to change your email address in the platform. Please confirm this new email address by clicking on the following link</p>
15
+
16
16
  <a href="<%= @info[:confirmation_link] %>">Confirm my new email address</a>
17
-
17
+
18
+ <p>If you did not ask for a modification just ignore this email.</p>
19
+
18
20
  <p>
19
21
  Regards,<br/>
20
22
  The Marketplace team
21
23
  </p>
22
-
24
+
23
25
  <p class="footer">
24
26
  <%= @info[:company] %>
25
27
  </p>
@@ -2,9 +2,10 @@ Hi <%= @info[:first_name] %>
2
2
  =================================================================
3
3
 
4
4
  You have asked to change your email address in the platform. Please confirm this new email address by clicking on the following link
5
-
5
+
6
6
  <%= @info[:confirmation_link] %>
7
-
7
+
8
+ If you did not ask for a modification just ignore this email.
8
9
 
9
10
  Regards,
10
11
  The Marketplace team
@@ -1,3 +1,8 @@
1
1
  Config.setup do |config|
2
2
  config.const_name = "Settings"
3
3
  end
4
+
5
+ # Use the template as default settings
6
+ default = File.expand_path("../../../lib/generators/mno_enterprise/install/templates/config/settings.yml", __FILE__)
7
+ Settings.prepend_source!(default)
8
+ Settings.reload!
@@ -41,5 +41,10 @@ en:
41
41
  updated_at: Updated at
42
42
  website: Website
43
43
  errors:
44
+ models:
45
+ mno_enterprise/user:
46
+ attributes:
47
+ email:
48
+ taken: "has already been taken"
44
49
  mno_enterprise/user:
45
50
  password_weak: "Password is not strong enough. Try mixing letters, numbers and cases"
@@ -19,3 +19,12 @@ en:
19
19
  app_not_found: Application not found
20
20
  app_not_managed_by_us: The app you requested does not seem to be managed by us.
21
21
  did_you_type_the_right_url: Are you sure you typed the right url?
22
+
23
+ app_install_btn:
24
+ conflicting_app: "You cannot install this App as it is incompatible with:"
25
+ start_app: "Start Now!"
26
+ launch_app: "Launch App"
27
+ connect_app: "Connect App"
28
+ success_notification_title: "{{name}} has been added to your account"
29
+ success_launch_notification_body: "To start using {{name}}, click on the {{name}} icon then click on \"Launch\"."
30
+ success_connect_notification_body: "To start using {{name}}, click on the {{name}} icon then click on \"Connect\"."
@@ -19,6 +19,20 @@ en:
19
19
  passwd_form_cancel: Cancel
20
20
  settings: Settings
21
21
 
22
+ developer: Developer
23
+ are_you_developer: Are you a Developer looking to contribute to the Maestrano platform?
24
+ register: Register!
25
+ api_key: API Key
26
+ secret_key: Secret Key
27
+ show: Show
28
+ hide: Hide
29
+ name: Name
30
+ uid: UID
31
+ view_developer_docs: View our developer documentation
32
+ here: here
33
+ conceal: Conceal
34
+ organizations: Organizations
35
+
22
36
  app_deletion:
23
37
  title: Confirm app deletion
24
38
  instructions: In order to delete your app, please enter the following statement in the box below.
@@ -4,13 +4,116 @@ en:
4
4
  dashboard:
5
5
  marketplace:
6
6
  index:
7
- title: Marketplace
8
- select_all: All
9
- search: Search
7
+ title: "Marketplace"
8
+ select_all: "All"
9
+ search: "Search"
10
+ compare: "Compare application"
11
+ select_apps: "Compare up to 4 applications"
12
+ toastr:
13
+ error: "You can only compare up to 4 applications."
14
+ cancel: "Cancel"
15
+ compare_apps: "Compare"
10
16
 
11
17
  show:
12
- back: Back
13
- start_app: Start Now!
14
- tag_responsive: Responsive
15
- tag_star: Star!™ Tutorials
16
- tag_connec: Connec!™ Ready
18
+ back: "Back"
19
+ start_app: "Start Now!"
20
+ launch_app: "Launch app"
21
+ connect_app: "Connect App"
22
+ tag_responsive: "Responsive"
23
+ tag_star: "Star!™ Tutorials"
24
+ tag_connec: "Connec!™ Ready"
25
+ conflicting_app: "You cannot install this app as it is incompatible with:"
26
+ success_notification_title: "{{name}} has been added to your account"
27
+ success_launch_notification_body: "To start using {{name}}, click on the {{name}} icon then click on \"Launch\"."
28
+ success_connect_notification_body: "To start using {{name}}, click on the {{name}} icon then click on \"Connect\"."
29
+ no_reviews: "No reviews on"
30
+ write_review: "Write a review"
31
+ number_of_reviews: "Reviews per page:"
32
+ success_toastr: "Your review has been taken into account!"
33
+ error_toastr: "An error occurred while saving your review."
34
+ from: "from"
35
+ "on": "on"
36
+ platform_admin: "Platform moderator"
37
+ edited_by_user: "Edited by User"
38
+ edited_by_user_tooltip: "Show edit history"
39
+ edited_by_admin: "Edited by Admin"
40
+ just_now: "Just Now"
41
+ company_feedback: "Company feedback"
42
+ review_title: "Review"
43
+ no_app_no_review: "You need to have the app running in order to give your feedback."
44
+ tell_others: "Tell others what you think about this application (optional)"
45
+ cancel: "Cancel"
46
+ submit: "Submit"
47
+ comment_title: "Comment this feedback:"
48
+ comment_placeholder: "Enter your comment here..."
49
+ question_title: "Question"
50
+ question_search: "Search..."
51
+ question_ask: "Ask a question"
52
+ question_ask_placeholder: "Enter your question here..."
53
+ no_review: "There are no reviews of {{name}}."
54
+ answers: "Answers"
55
+ answer_q: "Answer this Question"
56
+ answer_placeholder: "Enter your answer to this question here..."
57
+ delete: "Delete"
58
+ delete_q: "Delete this Question"
59
+ edit: "Edit"
60
+ edit_review: "Edit your review"
61
+ edit_answer: "Edit your answer"
62
+ edit_question: "Edit your question"
63
+ edit_comment: "Edit your comment"
64
+ edit_q: "Edit this Question"
65
+ filter: "Filter by:"
66
+ filter_rating_desc: "rating high to low"
67
+ filter_rating_ask: "rating low to high"
68
+ filter_date_desc: "date high to low"
69
+ filter_date_ask: "date low to high"
70
+ success_toastr_2: "Success."
71
+ success_toastr_answer: "Thank you for answering this question!"
72
+ success_toastr_question: "Your question has been successfully posted!"
73
+ error_toastr_answer: "An error occurred while saving your answer"
74
+ error_toastr_question: "An error occurred while saving your question"
75
+ review:
76
+ delete_modal_header: "Delete a review"
77
+ delete_modal_body: "Do you really want to delete your review?"
78
+ delete_modal_cancel: "Cancel"
79
+ delete_modal_delete: "Delete"
80
+ question:
81
+ delete_modal_header: "Delete a question"
82
+ delete_modal_body: "Do you really want to delete your question?"
83
+ delete_modal_cancel: "Cancel"
84
+ delete_modal_delete: "Delete"
85
+ no_question: "There are no questions on {{name}}."
86
+ comment:
87
+ delete_modal_header: "Delete a comment"
88
+ delete_modal_body: "Do you really want to delete your comment?"
89
+ delete_modal_cancel: "Cancel"
90
+ delete_modal_delete: "Delete"
91
+ answer:
92
+ delete_modal_header: "Delete an answer"
93
+ delete_modal_body: "Do you really want to delete your answer?"
94
+ delete_modal_cancel: "Cancel"
95
+ delete_modal_delete: "Delete"
96
+ edited: "Edited"
97
+ edited_tooltip: "Show edit history"
98
+ modals:
99
+ history:
100
+ title: "Edit History"
101
+ close: "Close"
102
+
103
+ app_selection:
104
+ next: "Next"
105
+ cancel: "Cancel"
106
+ select_orga: "Select an organization"
107
+ no_orga_authorized: "Invalid purchase"
108
+ unauthorized_to_add_app: "Unfortunately you do not have permission to purchase products for this organization. Please select another organization:"
109
+
110
+ compare:
111
+ title: "Comparison"
112
+ application_provider: "Application Provider"
113
+ category: "Category"
114
+ key_benefits: "Key benefits"
115
+ short_description: "Short description"
116
+ rating: "Rating"
117
+ companies_number: "Number of companies using the application"
118
+ pricing: "Pricing"
119
+ pricing_not_available: "pricing information not available"
@@ -29,6 +29,7 @@ en:
29
29
  placeholder_name: Name
30
30
  placeholder_surname: Surname
31
31
  number: Card Number
32
+ unaccepted_type: This card type is not accepted
32
33
  cvv: CVV
33
34
  country: Country
34
35
  country_select: "-- SELECT --"
@@ -0,0 +1,28 @@
1
+ en:
2
+ mno_enterprise:
3
+ templates:
4
+ impac:
5
+ dock:
6
+ launch: Launch
7
+ connect: Connect
8
+ settings: Settings
9
+ add_more_apps: Add more apps
10
+ cancel: Cancel
11
+ settings:
12
+ settings: Settings
13
+ status: Status
14
+ app_name: Name
15
+ access_add-on_settings: Access add-on Settings
16
+ manual_data_sharing: Data sharing
17
+ manual_data_sync: Manual Data Sync
18
+ disconnect_link: Disconnect Link
19
+ delete: Delete
20
+ confirm_app_deletion: Confirm app deletion
21
+ please_note_this_app: Please note this app is on a monthly plan. Your billing for this app will be calculated pro rata.
22
+ delete_instructions: In order to delete your app, please enter the following statement in the box below.
23
+ cancel: Cancel
24
+ developer_details: developer details
25
+ linked_to: Linked to
26
+ organization_id: Organization id
27
+ group_id: Group id (uid)
28
+
@@ -8,5 +8,4 @@ en:
8
8
  recover_password: Forgot your password?
9
9
  resend_confirmation: Didn't receive confirmation instructions?
10
10
  unlock: Didn't receive unlock instructions?
11
- omni_login: "Sign in with %{provider}"
12
-
11
+ or_sign_in_using: Or sign in using
@@ -3,13 +3,18 @@ en:
3
3
  webhook:
4
4
  o_auth:
5
5
  providers:
6
+ cancel: "Cancel"
7
+
6
8
  myob:
7
- which_version_used: Which version of MYOB do you use?
9
+ which_version_used: "Which version of MYOB do you use?"
8
10
  my_version_is: "My version of MYOB is:"
9
- connect: Connect
11
+ connect: "Connect"
12
+ connect_to: "Connect to {{appname}}"
10
13
 
11
14
  xero:
12
- how_do_you_want_to_connect: How do you want us to connect your Xero account?
13
- which_extra_modules: Do you want to connect any of the following extra modules?
14
- which_country_for_the_account: What is the country associated with your Xero account?
15
- connect: Connect
15
+ how_do_you_want_to_connect: "How do you want us to connect your Xero account?"
16
+ which_extra_modules: "Do you want to connect any of the following extra modules?"
17
+ payroll: "Payroll"
18
+ which_country_for_the_account: "What is the country associated with your Xero account?"
19
+ connect: "Connect"
20
+ connect_to: "Connect to {{appname}}"
@@ -0,0 +1,13 @@
1
+ # using current version https://github.com/plataformatec/devise/blob/e841c4c5ef826b6838b269d259170bb4fbca82f1/lib/devise/hooks/lockable.rb
2
+ # as 3-stable version https://github.com/plataformatec/devise/blob/3-stable/lib/devise/hooks/lockable.rb
3
+ # is using update_attribute which is not supported by Her
4
+ # After each sign in, if resource responds to failed_attempts, sets it to 0
5
+ # This is only triggered when the user is explicitly set (with set_user)
6
+ Warden::Manager.after_set_user except: :fetch do |record, warden, options|
7
+ if record.respond_to?(:failed_attempts) && warden.authenticated?(options[:scope])
8
+ unless record.failed_attempts.to_i.zero?
9
+ record.failed_attempts = 0
10
+ record.save(validate: false)
11
+ end
12
+ end
13
+ end
@@ -2,7 +2,7 @@ module Devise
2
2
  module Models
3
3
  module RemoteAuthenticatable
4
4
  extend ActiveSupport::Concern
5
-
5
+
6
6
  #
7
7
  # Here you do the request to the external webservice
8
8
  #
@@ -14,12 +14,23 @@ module Devise
14
14
  def remote_authentication(authentication_hash)
15
15
  self.class.authenticate(authentication_hash) # call MnoEnterprise::User.authenticate
16
16
  end
17
-
17
+
18
+ included do
19
+ before_update :track_password_changed
20
+ after_update :send_password_change_notification, if: :send_password_change_notification?
21
+ end
22
+
23
+ def send_password_change_notification
24
+ send_devise_notification(:password_change)
25
+ end
26
+
18
27
  ####################################
19
28
  # Overriden methods from Devise::Models::Authenticatable
20
29
  ####################################
21
30
  module ClassMethods
22
-
31
+ # Flag to enable password change notification
32
+ Devise::Models.config(self, :send_password_change_notification)
33
+
23
34
  # This method is called from:
24
35
  # Warden::SessionSerializer in devise
25
36
  #
@@ -33,7 +44,7 @@ module Devise
33
44
  end.tap {|r| r && r.clear_association_cache}
34
45
  record if record && record.authenticatable_salt == salt
35
46
  end
36
-
47
+
37
48
  # Here you have to return and array with the data of your resource
38
49
  # that you want to serialize into the session
39
50
  #
@@ -41,8 +52,23 @@ module Devise
41
52
  def serialize_into_session(record)
42
53
  [record.to_key, record.authenticatable_salt]
43
54
  end
44
-
55
+
45
56
  end
57
+
58
+ protected
59
+
60
+ # We want to send the notification once the password has changed but
61
+ # we won't have access to dirty attributes.
62
+ # Flag change before the model is saved.
63
+ # Do not send a notification at confirmation
64
+ def track_password_changed
65
+ @password_changed = password_changed? && confirmed_at_was.present?
66
+ true # before callback needs to return true to continue
67
+ end
68
+
69
+ def send_password_change_notification?
70
+ self.class.send_password_change_notification && @password_changed
71
+ end
46
72
  end
47
73
  end
48
74
  end
@@ -12,10 +12,15 @@ module MnoEnterprise
12
12
  class_option :skip_admin, type: :boolean, default: false, desc: 'Skip admin installation'
13
13
 
14
14
  def copy_initializer
15
+ # Foreman config
15
16
  template "Procfile"
16
17
  template "Procfile.dev"
18
+ template ".foreman"
19
+ template ".healthcheck"
20
+
17
21
  template "config/initializers/mno_enterprise.rb"
18
22
  template "config/mno_enterprise_styleguide.yml"
23
+ template "config/puma.rb", skip: true # Copied from Rails 5 - skip if already existing
19
24
 
20
25
  # Settings
21
26
  template "config/settings.yml", "config/settings.yml"
@@ -24,6 +29,8 @@ module MnoEnterprise
24
29
 
25
30
  template "config/application.yml", "config/application.yml"
26
31
  template "config/application.yml", "config/application.sample.yml"
32
+
33
+ template "config/newrelic.yml", "config/newrelic.yml"
27
34
  end
28
35
 
29
36
  def setup_assets
@@ -1 +1 @@
1
- web: bundle exec puma -p 7000
1
+ web: bundle exec puma
@@ -1,2 +1,2 @@
1
- web: bundle exec puma -p 7000
1
+ web: bundle exec puma
2
2
  gulp: cd ./tmp/build/frontend && node_modules/.bin/gulp serve
@@ -13,3 +13,20 @@ SECRET_KEY_BASE: <%= SecureRandom.hex(64) %>
13
13
 
14
14
  # Google Tag Manager
15
15
  google_tag_container: GTM-TH3MLB
16
+
17
+ # Intercom - uncomment and add a valid intercom_id to enable
18
+ # INTERCOM_APP_ID: intercom_app_id
19
+ # INTERCOM_API_SECRET: intercom_api_secret
20
+ # INTERCOM_API_KEY: intercom_api_key
21
+
22
+ # OmniAuth - uncomment and add a valid values to enable
23
+
24
+ # OAUTH_LINKEDIN_KEY: changeme
25
+ # OAUTH_LINKEDIN_SECRET: changeme
26
+
27
+ # OAUTH_GOOGLE_KEY: changeme
28
+ # OAUTH_GOOGLE_SECRET: changeme
29
+
30
+ # OAUTH_FACEBOOK_KEY: changeme
31
+ # OAUTH_FACEBOOK_SECRET: changeme
32
+
@@ -3,7 +3,7 @@ MnoEnterprise.configure do |config|
3
3
  # General Configuration
4
4
  #===============================================
5
5
  # Name of your company/application
6
- config.app_name = "My Company"
6
+ config.app_name = 'My Company'
7
7
 
8
8
  # Fallback default country.
9
9
  # Used as default in geolocalised fields (e.g.: country, phone number)
@@ -63,7 +63,7 @@ MnoEnterprise.configure do |config|
63
63
  # I18n - Controls:
64
64
  # - Routing in development
65
65
  # - Filter and locale management in controllers
66
- config.i18n_enabled = true
66
+ config.i18n_enabled = false
67
67
 
68
68
  #===============================================
69
69
  # Third Party Plugins
@@ -71,6 +71,12 @@ MnoEnterprise.configure do |config|
71
71
  # Google Tag Manager
72
72
  config.google_tag_container = ENV['google_tag_container']
73
73
 
74
+ # Intercom (both API Keys and Personal token are supported)
75
+ config.intercom_token = ENV['INTERCOM_TOKEN']
76
+ config.intercom_app_id = ENV['INTERCOM_APP_ID']
77
+ config.intercom_api_key = ENV['INTERCOM_API_KEY']
78
+ config.intercom_api_secret = ENV['INTERCOM_API_SECRET']
79
+
74
80
  #===============================================
75
81
  # API Configuration
76
82
  #===============================================
@@ -189,5 +195,4 @@ MnoEnterprise.configure do |config|
189
195
  # 'sales/forecast',
190
196
  # 'sales/performance'
191
197
  # ]
192
-
193
198
  end
@@ -0,0 +1,46 @@
1
+ #
2
+ # This file configures the New Relic Agent. New Relic monitors Ruby, Java,
3
+ # .NET, PHP, Python and Node applications with deep visibility and low
4
+ # overhead. For more information, visit www.newrelic.com.
5
+ #
6
+ # For full documentation of agent configuration options, please refer to
7
+ # https://docs.newrelic.com/docs/agents/ruby-agent/installation-configuration/ruby-agent-configuration
8
+
9
+ common: &default_settings
10
+ # Required license key associated with your New Relic account.
11
+ license_key: <%%= ENV['NEWRELIC_LICENSE_KEY'] %>
12
+
13
+ # Your application name. Renaming here affects where data displays in New
14
+ # Relic. For more details, see https://docs.newrelic.com/docs/apm/new-relic-apm/maintenance/renaming-applications
15
+ app_name: <%= Rails.application.class.parent_name %>
16
+
17
+ # Logging level for log/newrelic_agent.log
18
+ log_level: info
19
+
20
+ # Ignore ping logging
21
+ rules:
22
+ ignore_url_regexes: ["^/mnoe/ping", "^/mnoe/health_check", "^/mnoe/version"]
23
+
24
+ # Environment-specific settings are in this section.
25
+ # RAILS_ENV or RACK_ENV (as appropriate) is used to determine the environment.
26
+ # If your application has other named environments, configure them here.
27
+ development:
28
+ <<: *default_settings
29
+ app_name: <%= Rails.application.class.parent_name %> (Development)
30
+
31
+ # NOTE: There is substantial overhead when running in developer mode.
32
+ # Do not use for production or load testing.
33
+ developer_mode: false
34
+ monitor_mode: false
35
+
36
+ test:
37
+ <<: *default_settings
38
+ # It doesn't make sense to report to New Relic from automated test runs.
39
+ monitor_mode: false
40
+
41
+ uat:
42
+ <<: *default_settings
43
+ app_name: <%= Rails.application.class.parent_name %> (UAT)
44
+
45
+ production:
46
+ <<: *default_settings
@@ -0,0 +1,56 @@
1
+ # Puma can serve each request in a thread from an internal thread pool.
2
+ # The `threads` method setting takes two numbers: a minimum and maximum.
3
+ # Any libraries that use thread pools should be configured to match
4
+ # the maximum value specified for Puma. Default is set to 5 threads for minimum
5
+ # and maximum; this matches the default thread size of Active Record.
6
+ #
7
+ threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
8
+ threads threads_count, threads_count
9
+
10
+ # Specifies the `port` that Puma will listen on to receive requests; default is 3000.
11
+ #
12
+ port ENV.fetch("PORT") { 3000 }
13
+
14
+ # Specifies the `environment` that Puma will run in.
15
+ #
16
+ environment ENV.fetch("RAILS_ENV") { "development" }
17
+
18
+ # Specifies the number of `workers` to boot in clustered mode.
19
+ # Workers are forked webserver processes. If using threads and workers together
20
+ # the concurrency of the application would be max `threads` * `workers`.
21
+ # Workers do not work on JRuby or Windows (both of which do not support
22
+ # processes).
23
+ #
24
+ # workers ENV.fetch("WEB_CONCURRENCY") { 2 }
25
+
26
+ # Use the `preload_app!` method when specifying a `workers` number.
27
+ # This directive tells Puma to first boot the application and load code
28
+ # before forking the application. This takes advantage of Copy On Write
29
+ # process behavior so workers use less memory. If you use this option
30
+ # you need to make sure to reconnect any threads in the `on_worker_boot`
31
+ # block.
32
+ #
33
+ # preload_app!
34
+
35
+ # If you are preloading your application and using Active Record, it's
36
+ # recommended that you close any connections to the database before workers
37
+ # are forked to prevent connection leakage.
38
+ #
39
+ # before_fork do
40
+ # ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord)
41
+ # end
42
+
43
+ # The code in the `on_worker_boot` will be called if you are using
44
+ # clustered mode by specifying a number of `workers`. After each worker
45
+ # process is booted, this block will be run. If you are using the `preload_app!`
46
+ # option, you will want to use this block to reconnect to any threads
47
+ # or connections that may have been created at application boot, as Ruby
48
+ # cannot share connections between processes.
49
+ #
50
+ # on_worker_boot do
51
+ # ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
52
+ # end
53
+ #
54
+
55
+ # Allow puma to be restarted by `rails restart` command.
56
+ plugin :tmp_restart
@@ -3,4 +3,4 @@ impac:
3
3
  host: api-impac.maestrano.com
4
4
  mno:
5
5
  protocol: https
6
- host: maestrano.com
6
+ host: api-hub.maestrano.com
@@ -3,4 +3,4 @@ impac:
3
3
  host: api-impac.maestrano.com
4
4
  mno:
5
5
  protocol: https
6
- host: maestrano.com
6
+ host: api-hub.maestrano.com
@@ -1,9 +1,30 @@
1
1
  impac:
2
2
  paths:
3
3
  mnohub_api: /mnoe/jpi/v1
4
+ pusher:
5
+ key: <%= ENV['impac_pusher_key'] %>
4
6
  mno:
5
7
  paths:
6
8
  root: /api/mnoe/v1
7
9
  frontend_host:
10
+
11
+ #===============================================
12
+ # Feature Flags
13
+ #===============================================
14
+
15
+ # Display App Pricing on Marketplace
8
16
  pricing:
9
17
  enabled: false
18
+ # Enable the App Dock
19
+ dock:
20
+ enabled: true
21
+ # Display the Developer section on "My Account"
22
+ developer:
23
+ enabled: false
24
+ # Enable Reviews in the marketplace
25
+ reviews:
26
+ enabled: false
27
+
28
+ marketplace:
29
+ comparison:
30
+ enabled: false
@@ -29,6 +29,7 @@
29
29
  /* Login Page */
30
30
  /*-----------------------------------------------------------------------*/
31
31
  @login-bg-color: @bg-main-color;
32
+ @login-bg-img: "";
32
33
  @login-box-grid-position: { margin-top: 80px; .make-sm-column(4); .make-sm-column-offset(4); };
33
34
 
34
35
  @login-box-title-color: @decorator-main-color;
@@ -41,6 +42,8 @@
41
42
  @login-box-brand-logo: { min-height: 61px; max-width: 160px; max-height: 130px; margin: 17px auto 5px auto; };
42
43
  @login-box-btn-login: { width: 100%; };
43
44
 
45
+ @login-box-sso-intuit-logo: "mno_enterprise/logo-intuit.png";
46
+
44
47
  /*-----------------------------------------------------------------------*/
45
48
  /* Dashboard Layout */
46
49
  /*-----------------------------------------------------------------------*/