mno-enterprise-core 3.2.1 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/mno_enterprise/application_controller.rb +5 -5
- data/app/helpers/mno_enterprise/image_helper.rb +32 -0
- data/app/models/mno_enterprise/app.rb +11 -2
- data/app/models/mno_enterprise/base_resource.rb +2 -0
- data/app/models/mno_enterprise/credit_card.rb +7 -4
- data/app/models/mno_enterprise/impac/dashboard.rb +4 -1
- data/app/models/mno_enterprise/impac/widget.rb +10 -4
- data/app/models/mno_enterprise/org_invite.rb +7 -3
- data/app/models/mno_enterprise/shared_entity.rb +17 -0
- data/app/models/mno_enterprise/user.rb +7 -2
- data/app/pdf/mno_enterprise/invoice_pdf.rb +176 -183
- data/app/views/system_notifications/email-change.html.erb +1 -1
- data/app/views/system_notifications/email-change.text.erb +1 -1
- data/config/initializers/audit_log.rb +28 -1
- data/config/locales/templates/components/en.yml +29 -4
- data/config/locales/templates/dashboard/en.yml +2 -2
- data/config/locales/templates/dashboard/marketplace/en.yml +5 -5
- data/config/locales/templates/dashboard/organization/en.yml +14 -8
- data/config/locales/templates/dashboard/organization/id.yml +4 -4
- data/config/locales/templates/dashboard/organization/zh.yml +4 -4
- data/config/locales/templates/dashboard/teams/en.yml +3 -3
- data/config/locales/templates/dashboard/teams/id.yml +3 -3
- data/config/locales/templates/dashboard/teams/zh.yml +3 -3
- data/config/locales/templates/onboarding/en.yml +45 -0
- data/config/locales/views/auth/confirmations/en.yml +5 -3
- data/config/locales/views/webhook/o_auth/providers/en.yml +2 -2
- data/lib/generators/mno_enterprise/install/install_generator.rb +19 -1
- data/lib/generators/mno_enterprise/install/templates/Procfile.dev +1 -0
- data/lib/generators/mno_enterprise/install/templates/config/initializers/mno_enterprise.rb +7 -50
- data/lib/generators/mno_enterprise/install/templates/config/newrelic.yml +3 -3
- data/lib/generators/mno_enterprise/install/templates/config/settings.yml +49 -2
- data/lib/generators/mno_enterprise/install/templates/nginx.conf +71 -0
- data/lib/generators/mno_enterprise/install/templates/stylesheets/variables.less +148 -141
- data/lib/html_processor.rb +14 -14
- data/lib/mno_enterprise/concerns/controllers/auth/registrations_controller.rb +18 -15
- data/lib/mno_enterprise/concerns/models/ability.rb +6 -3
- data/lib/mno_enterprise/concerns/models/app_instance.rb +2 -3
- data/lib/mno_enterprise/concerns/models/intercom_user.rb +22 -0
- data/lib/mno_enterprise/concerns/models/organization.rb +8 -0
- data/lib/mno_enterprise/concerns/models/shared_entity.rb +36 -0
- data/lib/mno_enterprise/concerns/models/team.rb +7 -0
- data/lib/mno_enterprise/testing_support/common_rake.rb +1 -1
- data/lib/mno_enterprise/testing_support/factories/apps.rb +6 -0
- data/lib/mno_enterprise/testing_support/factories/audit_event.rb +2 -0
- data/lib/mno_enterprise/testing_support/mno_enterprise_api_test_helper.rb +47 -16
- data/lib/mno_enterprise/testing_support/organizations_shared_helpers.rb +6 -9
- data/lib/mno_enterprise/version.rb +1 -1
- data/spec/config/initializers/audit_log_spec.rb +5 -0
- data/spec/controllers/mno_enterprise/application_controller_spec.rb +4 -4
- data/spec/helpers/image_helper_spec.rb +69 -0
- data/spec/models/mno_enterprise/ability_spec.rb +5 -0
- data/spec/models/mno_enterprise/app_spec.rb +1 -1
- data/spec/models/mno_enterprise/base_resource_spec.rb +37 -0
- data/spec/models/mno_enterprise/credit_card_spec.rb +18 -0
- data/spec/models/mno_enterprise/organization_spec.rb +16 -0
- data/spec/models/mno_enterprise/shared_entity_spec.rb +7 -0
- data/spec/models/mno_enterprise/user_spec.rb +83 -15
- metadata +15 -2
@@ -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 = '<%= @company_name || "My Company" %>'
|
7
7
|
|
8
8
|
# Fallback default country.
|
9
9
|
# Used as default in geolocalised fields (e.g.: country, phone number)
|
@@ -32,13 +32,14 @@ MnoEnterprise.configure do |config|
|
|
32
32
|
# Default to :mandrill
|
33
33
|
# config.mail_adapter = :mandrill
|
34
34
|
# config.mail_adapter = :sparkpost
|
35
|
+
# config.mail_adapter = :smtp
|
35
36
|
|
36
37
|
# Support email address
|
37
|
-
config.support_email = 'support@example.com'
|
38
|
+
config.support_email = '<%= @support_email || "support@example.com" %>'
|
38
39
|
|
39
40
|
# Default sender for system generated emails
|
40
|
-
config.default_sender_name = 'My Company'
|
41
|
-
config.default_sender_email = 'no-reply@example.com'
|
41
|
+
config.default_sender_name = '<%= @company_name || "My Company" %>'
|
42
|
+
config.default_sender_email = '<%= @system_email || "no-reply@example.com" %>'
|
42
43
|
|
43
44
|
#===============================================
|
44
45
|
# External Routes
|
@@ -97,55 +98,11 @@ MnoEnterprise.configure do |config|
|
|
97
98
|
#===============================================
|
98
99
|
# Marketplace Listing
|
99
100
|
#===============================================
|
101
|
+
# [DEPRECATED] Please get in touch with our enterprise team
|
100
102
|
# List of applications that should be offered on the marketplace
|
101
103
|
# Set to nil to offer everything
|
102
104
|
# config.marketplace_listing = nil
|
103
|
-
# config.marketplace_listing = [
|
104
|
-
# "allocpsa",
|
105
|
-
# "boxsuite",
|
106
|
-
# "bugzilla",
|
107
|
-
# "collabtive",
|
108
|
-
# "dolibarr",
|
109
|
-
# "drupal",
|
110
|
-
# "egroupware",
|
111
|
-
# "eventbrite",
|
112
|
-
# "feng-office",
|
113
|
-
# "front-accounting",
|
114
|
-
# "group-office",
|
115
|
-
# "hummingbirdshare",
|
116
|
-
# "interleave",
|
117
|
-
# "jenkins",
|
118
|
-
# "joomla",
|
119
|
-
# "limesurvey",
|
120
|
-
# "mantisbt",
|
121
|
-
# "magento",
|
122
|
-
# "megaventory",
|
123
|
-
# "moodle",
|
124
|
-
# "myob",
|
125
|
-
# "office-365",
|
126
|
-
# "opendocman",
|
127
|
-
# "openerp",
|
128
|
-
# "openx",
|
129
|
-
# "orangehrm",
|
130
|
-
# "pentaho-bi",
|
131
|
-
# "phreedom",
|
132
|
-
# "plandora",
|
133
|
-
# "prestashop",
|
134
|
-
# "processmaker",
|
135
|
-
# "projectpier",
|
136
|
-
# "quickbooks",
|
137
|
-
# "ranqx",
|
138
|
-
# "receipt-bank",
|
139
|
-
# "signmee",
|
140
|
-
# "simpleinvoices",
|
141
|
-
# "so-planning",
|
142
|
-
# "spotlight-reporting",
|
143
|
-
# "sugarcrm",
|
144
|
-
# "timetrex",
|
145
|
-
# "vtiger6",
|
146
|
-
# "xero",
|
147
|
-
# "wordpress"
|
148
|
-
# ]
|
105
|
+
# config.marketplace_listing = ["xero"]
|
149
106
|
|
150
107
|
#====================================
|
151
108
|
# Impac! widgets templates listing
|
@@ -12,7 +12,7 @@ common: &default_settings
|
|
12
12
|
|
13
13
|
# Your application name. Renaming here affects where data displays in New
|
14
14
|
# Relic. For more details, see https://docs.newrelic.com/docs/apm/new-relic-apm/maintenance/renaming-applications
|
15
|
-
app_name: <%=
|
15
|
+
app_name: <%= "#{@new_relic_app_name}-prd" %>
|
16
16
|
|
17
17
|
# Logging level for log/newrelic_agent.log
|
18
18
|
log_level: info
|
@@ -26,7 +26,7 @@ common: &default_settings
|
|
26
26
|
# If your application has other named environments, configure them here.
|
27
27
|
development:
|
28
28
|
<<: *default_settings
|
29
|
-
app_name: <%=
|
29
|
+
app_name: <%= "#{@new_relic_app_name}-dev" %>
|
30
30
|
|
31
31
|
# NOTE: There is substantial overhead when running in developer mode.
|
32
32
|
# Do not use for production or load testing.
|
@@ -40,7 +40,7 @@ test:
|
|
40
40
|
|
41
41
|
uat:
|
42
42
|
<<: *default_settings
|
43
|
-
app_name: <%=
|
43
|
+
app_name: <%= "#{@new_relic_app_name}-uat" %>
|
44
44
|
|
45
45
|
production:
|
46
46
|
<<: *default_settings
|
@@ -6,12 +6,16 @@ impac:
|
|
6
6
|
mno:
|
7
7
|
paths:
|
8
8
|
root: /api/mnoe/v1
|
9
|
+
url_config:
|
10
|
+
after_sign_out_url: <%= ENV['AFTER_SIGN_OUT_URL']%>
|
9
11
|
frontend_host:
|
10
12
|
|
11
13
|
#===============================================
|
12
14
|
# Feature Flags
|
13
15
|
#===============================================
|
14
|
-
|
16
|
+
# Do not display Audit Log in Organization Panel
|
17
|
+
audit_log:
|
18
|
+
enabled: false
|
15
19
|
# Display App Pricing on Marketplace
|
16
20
|
pricing:
|
17
21
|
enabled: false
|
@@ -21,10 +25,53 @@ dock:
|
|
21
25
|
# Display the Developer section on "My Account"
|
22
26
|
developer:
|
23
27
|
enabled: false
|
28
|
+
# Display the onboarding wizard
|
29
|
+
onboarding_wizard:
|
30
|
+
enabled: false
|
24
31
|
# Enable Reviews in the marketplace
|
25
32
|
reviews:
|
26
33
|
enabled: false
|
27
|
-
|
34
|
+
# Enable Questions in the marketplace
|
35
|
+
questions:
|
36
|
+
enabled: false
|
37
|
+
# Disable payment
|
38
|
+
payment:
|
39
|
+
disabled: false
|
40
|
+
# Marketplace config
|
28
41
|
marketplace:
|
42
|
+
# Enable the marketplace
|
43
|
+
enabled: true
|
44
|
+
# Enable comparison of apps
|
29
45
|
comparison:
|
30
46
|
enabled: false
|
47
|
+
# Allow user to create and manage Organizations
|
48
|
+
organization_management:
|
49
|
+
enabled: true
|
50
|
+
# Display the billing tab
|
51
|
+
billing:
|
52
|
+
enabled: true
|
53
|
+
# Allow user to edit their information and password
|
54
|
+
user_management:
|
55
|
+
enabled: true
|
56
|
+
# Disable user registration
|
57
|
+
devise:
|
58
|
+
registration:
|
59
|
+
disabled: false
|
60
|
+
|
61
|
+
# Admin Panel Config
|
62
|
+
admin_panel:
|
63
|
+
apps_management:
|
64
|
+
enabled: true
|
65
|
+
audit_log:
|
66
|
+
enabled: true
|
67
|
+
customer_management:
|
68
|
+
organization:
|
69
|
+
enabled: true
|
70
|
+
user:
|
71
|
+
enabled: true
|
72
|
+
finance:
|
73
|
+
enabled: true
|
74
|
+
impersonation:
|
75
|
+
disabled: false
|
76
|
+
staff:
|
77
|
+
enabled: true
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# Default MNOE nginx configuration for the web-ruby docker image used by Nex!™:
|
2
|
+
# https://github.com/maestrano/docker-web-ruby
|
3
|
+
server {
|
4
|
+
listen 80 default_server;
|
5
|
+
server_name _;
|
6
|
+
|
7
|
+
root /app/public;
|
8
|
+
try_files $uri/index.html $uri @app;
|
9
|
+
|
10
|
+
#-----------------------------------------------------------
|
11
|
+
# Mnoe custom caching configuration
|
12
|
+
#-----------------------------------------------------------
|
13
|
+
# Empty location block to force the html block to trigger
|
14
|
+
location ~* ^/(admin|dashboard)/$ {
|
15
|
+
}
|
16
|
+
|
17
|
+
# Revalidate html pages on each request and fetch the latest version if the content change
|
18
|
+
location ~* \.(html?|json)$ {
|
19
|
+
add_header Cache-Control "max-age=0, must-revalidate";
|
20
|
+
}
|
21
|
+
|
22
|
+
# Same for config.js
|
23
|
+
location ~* config\.js$ {
|
24
|
+
add_header Cache-Control "max-age=0, must-revalidate";
|
25
|
+
}
|
26
|
+
|
27
|
+
# CSS and Javascript
|
28
|
+
# "far future expires" of 1 year as the assets are fingerprinted
|
29
|
+
location ~* \.(?:css|js)$ {
|
30
|
+
add_header Cache-Control "max-age=31536000";
|
31
|
+
# access_log off;
|
32
|
+
}
|
33
|
+
|
34
|
+
#-----------------------------------------------------------
|
35
|
+
# Proxy to Puma
|
36
|
+
#-----------------------------------------------------------
|
37
|
+
location @app {
|
38
|
+
# # Wide-open CORS config
|
39
|
+
# if ($request_method = 'OPTIONS') {
|
40
|
+
# add_header 'Access-Control-Allow-Origin' '*';
|
41
|
+
# add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
|
42
|
+
# add_header 'Access-Control-Allow-Headers' 'Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,x-csrf-token,Authorization';
|
43
|
+
# add_header 'Access-Control-Max-Age' 1728000;
|
44
|
+
# add_header 'Content-Type' 'text/plain charset=UTF-8';
|
45
|
+
# add_header 'Content-Length' 0;
|
46
|
+
# return 204;
|
47
|
+
# }
|
48
|
+
# if ($request_method = 'POST') {
|
49
|
+
# add_header 'Access-Control-Allow-Origin' '*';
|
50
|
+
# add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
|
51
|
+
# add_header 'Access-Control-Allow-Headers' 'Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,x-csrf-token,Authorization';
|
52
|
+
# }
|
53
|
+
# if ($request_method = 'GET') {
|
54
|
+
# add_header 'Access-Control-Allow-Origin' '*';
|
55
|
+
# add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
|
56
|
+
# add_header 'Access-Control-Allow-Headers' 'Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
|
57
|
+
# }
|
58
|
+
|
59
|
+
proxy_pass http://127.0.0.1:3000;
|
60
|
+
proxy_redirect off;
|
61
|
+
|
62
|
+
proxy_connect_timeout 600;
|
63
|
+
proxy_send_timeout 600;
|
64
|
+
proxy_read_timeout 600;
|
65
|
+
send_timeout 600;
|
66
|
+
}
|
67
|
+
|
68
|
+
error_page 500 502 503 504 /500.html;
|
69
|
+
client_max_body_size 4G;
|
70
|
+
keepalive_timeout 10;
|
71
|
+
}
|
@@ -10,10 +10,11 @@
|
|
10
10
|
/*-----------------------------------------------------------------------*/
|
11
11
|
/* Fonts & Text */
|
12
12
|
/*-----------------------------------------------------------------------*/
|
13
|
-
@font-family-sans-serif:
|
14
|
-
@font-family-base:
|
15
|
-
@
|
16
|
-
@
|
13
|
+
@font-family-sans-serif: 'Lato Regular', Arial, "Helvetica Neue", Helvetica, sans-serif;
|
14
|
+
@font-family-base: @font-family-sans-serif;
|
15
|
+
@font-path: '/dashboard/fonts';
|
16
|
+
@small: 11px;
|
17
|
+
@normal: 13px;
|
17
18
|
|
18
19
|
/*-----------------------------------------------------------------------*/
|
19
20
|
/* Public Page Header */
|
@@ -28,11 +29,12 @@
|
|
28
29
|
/*-----------------------------------------------------------------------*/
|
29
30
|
/* Login Page */
|
30
31
|
/*-----------------------------------------------------------------------*/
|
31
|
-
@login-bg-
|
32
|
-
@login-bg-
|
33
|
-
@login-box-grid-position:
|
32
|
+
@login-bg-img: "mno_enterprise/login-background.jpg";
|
33
|
+
@login-bg-color: @bg-main-color;
|
34
|
+
@login-box-grid-position: { margin-top: 80px; .make-sm-column(4); .make-sm-column-offset(4); };
|
34
35
|
|
35
|
-
@login-box-
|
36
|
+
@login-box-corners: 0px;
|
37
|
+
@login-box-title-color: @text-inverse-color;
|
36
38
|
@login-box-title: { text-transform: uppercase; };
|
37
39
|
@login-box-title-display-box-arrow: false;
|
38
40
|
|
@@ -43,6 +45,11 @@
|
|
43
45
|
@login-box-btn-login: { width: 100%; };
|
44
46
|
|
45
47
|
@login-box-sso-intuit-logo: "mno_enterprise/logo-intuit.png";
|
48
|
+
@login-box-oauth-text-color: #fff;
|
49
|
+
@login-box-oauth-bg-color-facebook: #3b5998;
|
50
|
+
@login-box-oauth-bg-color-google: #dd4b39;
|
51
|
+
@login-box-oauth-bg-color-linkedin: #0074C4;
|
52
|
+
@login-box-oauth-bg-color-intuit: #fff;
|
46
53
|
|
47
54
|
/*-----------------------------------------------------------------------*/
|
48
55
|
/* Dashboard Layout */
|
@@ -51,15 +58,14 @@
|
|
51
58
|
|
52
59
|
@dashboard-section-title-color: @text-strong-color;
|
53
60
|
@dashboard-section-title-alignment: center;
|
54
|
-
@dashboard-section-title-display-subline:
|
61
|
+
@dashboard-section-title-display-subline: true;
|
55
62
|
|
56
63
|
// Side navbar menu
|
57
64
|
//--------------------------------------
|
58
65
|
@dashboard-side-menu-padding: 30px 0px 0px 14px;
|
59
66
|
@dashboard-side-menu-bg-color: @bg-inverse-color;
|
60
|
-
@dashboard-side-menu-horizontal: { min-width:550px; };
|
61
67
|
|
62
|
-
@dashboard-side-menu-brand-logo-img: "
|
68
|
+
@dashboard-side-menu-brand-logo-img: "../images/main-logo.png";
|
63
69
|
@dashboard-side-menu-brand-logo: { background-size: 204px; width: 51px; margin-left: 5px; };
|
64
70
|
@dashboard-side-menu-brand-logo-expanded: { width: 201px; background-size: 100%; };
|
65
71
|
|
@@ -76,6 +82,8 @@
|
|
76
82
|
@_default_style_active: { @_default_style(); color: @dashboard-side-menu-link-active-color; };
|
77
83
|
@dashboard-side-menu-btn-dashboard: { .icon-fa(th); @_default_style(); };
|
78
84
|
@dashboard-side-menu-btn-dashboard-active: { .icon-fa(th); @_default_style_active(); };
|
85
|
+
@dashboard-side-menu-btn-impac: { .icon-fa(pie-chart); @_default_style(); };
|
86
|
+
@dashboard-side-menu-btn-impac-active: { .icon-fa(pie-chart); @_default_style_active(); };
|
79
87
|
@dashboard-side-menu-btn-account: { .icon-fa(user); @_default_style(); margin-left: 5px; };
|
80
88
|
@dashboard-side-menu-btn-account-active: { .icon-fa(user); @_default_style_active(); margin-left: 5px; };
|
81
89
|
@dashboard-side-menu-btn-company: { .icon-fa(briefcase); @_default_style(); };
|
@@ -87,25 +95,26 @@
|
|
87
95
|
|
88
96
|
// Company select box (top right)
|
89
97
|
//--------------------------------------
|
90
|
-
@dashboard-cpy-select-
|
91
|
-
@dashboard-cpy-select-
|
92
|
-
@dashboard-cpy-select-
|
93
|
-
|
94
|
-
@dashboard-cpy-select-
|
98
|
+
@dashboard-cpy-select-width: 280px;
|
99
|
+
@dashboard-cpy-select-pic-width: 50px;
|
100
|
+
@dashboard-cpy-select-bg-color: @bg-inverse-color;
|
101
|
+
@dashboard-cpy-select-border-radius: 0 0 0 6px;
|
102
|
+
@dashboard-cpy-select-border-color: @text-inverse-color;
|
103
|
+
|
104
|
+
@dashboard-cpy-select-header-text-bold-color: @text-inverse-color;
|
105
|
+
@dashboard-cpy-select-header-text-color: @text-inverse-color;
|
95
106
|
@dashboard-cpy-select-header-text-size: 13px;
|
96
107
|
|
97
|
-
@dashboard-cpy-select-link-color:
|
98
|
-
|
99
|
-
@dashboard-cpy-select-link-hover-color: @dashboard-cpy-select-link-color;
|
100
|
-
@dashboard-cpy-select-link-hover-bg-color: lighten(@dashboard-cpy-select-bg-color,10%);
|
108
|
+
@dashboard-cpy-select-link-icon-color: @decorator-touch-color;
|
101
109
|
|
102
|
-
@dashboard-cpy-select-link-
|
103
|
-
@dashboard-cpy-select-link-
|
110
|
+
@dashboard-cpy-select-link-color: @text-inverse-strong-color;
|
111
|
+
@dashboard-cpy-select-link-hover-color: @text-strong-color;
|
112
|
+
@dashboard-cpy-select-link-hover-bg-color: @text-inverse-strong-color;
|
104
113
|
|
105
|
-
|
106
|
-
|
107
|
-
@dashboard-
|
108
|
-
@dashboard-
|
114
|
+
// Loaders
|
115
|
+
//--------------------------------------
|
116
|
+
@dashboard-loader-color: @text-strong-color;
|
117
|
+
@dashboard-loader-icon: { .icon-fa(refresh); .fa-2x; .fa-spin; }; //pass a ruleset
|
109
118
|
|
110
119
|
/*-----------------------------------------------------------------------*/
|
111
120
|
/* Dashboard > Apps Section */
|
@@ -119,11 +128,23 @@
|
|
119
128
|
@dashboard-apps-tile-settings-color: @dashboard-apps-tile-text-color;
|
120
129
|
@dashboard-apps-tile-settings-bg-color: @dashboard-apps-tile-bg-color;
|
121
130
|
|
122
|
-
@dashboard-apps-tile-settings-hover-color: @dashboard-apps-tile-
|
123
|
-
@dashboard-apps-tile-settings-hover-bg-color: @dashboard-apps-tile-
|
131
|
+
@dashboard-apps-tile-settings-hover-color: @dashboard-apps-tile-text-color;
|
132
|
+
@dashboard-apps-tile-settings-hover-bg-color: @dashboard-apps-tile-bg-color;
|
124
133
|
|
125
134
|
@dashboard-apps-tile-add-color: @dashboard-apps-tile-text-color;
|
126
|
-
@dashboard-apps-tile-add-bg-color: @dashboard-apps-tile-
|
135
|
+
@dashboard-apps-tile-add-bg-color: @dashboard-apps-tile-bg-color;
|
136
|
+
|
137
|
+
/*-----------------------------------------------------------------------*/
|
138
|
+
/* Dashboard > My account Section */
|
139
|
+
/*-----------------------------------------------------------------------*/
|
140
|
+
@dashboard-account-tabs-bg-color: @bg-on-bg-inverse-color;
|
141
|
+
@dashboard-account-tabs-text-color: @text-inverse-color;
|
142
|
+
@dashboard-account-panel-header-bg-color: @bg-inverse-color;
|
143
|
+
@dashboard-account-panel-header-text-color: @text-inverse-color;
|
144
|
+
@dashboard-account-panel-body-bg-color: @bg-on-bg-inverse-color;
|
145
|
+
@dashboard-account-panel-text-color: @text-strong-color;
|
146
|
+
@dashboard-account-inline-text-color-checked: @brand-success;
|
147
|
+
@dashboard-account-inline-text-color-unchecked: @decorator-inverse-color;
|
127
148
|
|
128
149
|
/*-----------------------------------------------------------------------*/
|
129
150
|
/* Dashboard > Company Section */
|
@@ -131,35 +152,76 @@
|
|
131
152
|
// Tab Heading
|
132
153
|
//--------------------------------------
|
133
154
|
@dashboard-cpy-tabs-bg-color: @decorator-main-color;
|
134
|
-
@dashboard-cpy-tabs-text-color: @text-
|
155
|
+
@dashboard-cpy-tabs-text-color: @text-strong-color;
|
135
156
|
@dashboard-cpy-tabs-border-radius: 2px;
|
136
157
|
|
137
158
|
@dashboard-cpy-tabs-subline-size: 0px;
|
138
159
|
@dashboard-cpy-tabs-subline-color: transparent;
|
139
160
|
|
140
|
-
@dashboard-cpy-tabs-active-text-color: @decorator-
|
161
|
+
@dashboard-cpy-tabs-active-text-color: @decorator-main-color;
|
141
162
|
@dashboard-cpy-tabs-active-bg-color: @bg-inverse-color;
|
142
163
|
|
143
|
-
@dashboard-cpy-tabs-hover-text-color: @
|
144
|
-
@dashboard-cpy-tabs-hover-bg-color: @
|
164
|
+
@dashboard-cpy-tabs-hover-text-color: @decorator-main-color;
|
165
|
+
@dashboard-cpy-tabs-hover-bg-color: @bg-inverse-color;
|
145
166
|
|
146
167
|
// Tab Content
|
147
168
|
//--------------------------------------
|
148
|
-
@dashboard-cpy-tabcontent-bg-color:
|
169
|
+
@dashboard-cpy-tabcontent-header-bg-color: @bg-inverse-color;
|
170
|
+
@dashboard-cpy-tabcontent-body-bg-color: @bg-on-bg-inverse-color;
|
171
|
+
@dashboard-cpy-tabcontent-bg-color: @bg-inverse-color;
|
172
|
+
@dashboard-cpy-tabcontent-text-color: @text-inverse-strong-color;
|
149
173
|
|
150
174
|
// Teams section
|
151
175
|
//--------------------------------------
|
152
176
|
@dashboard-cpy-teams-matrix-bg-color: @bg-inverse-color;
|
153
|
-
@dashboard-cpy-teams-matrix-border-color:
|
177
|
+
@dashboard-cpy-teams-matrix-border-color: @bg-inverse-color;
|
178
|
+
@dashboard-cpy-teams-matrix-text-color: @text-inverse-color;
|
179
|
+
@dashboard-cpy-teams-matrix-text-hover-color: @text-inverse-color;
|
180
|
+
@dashboard-cpy-teams-matrix-text-edit-color: @text-strong-color;
|
154
181
|
|
155
182
|
/*-----------------------------------------------------------------------*/
|
156
|
-
/*
|
183
|
+
/* Dock */
|
157
184
|
/*-----------------------------------------------------------------------*/
|
158
|
-
@
|
159
|
-
|
160
|
-
@
|
161
|
-
@
|
185
|
+
@mno-dock-bg-color: @decorator-inverse-color;
|
186
|
+
|
187
|
+
@mno-dock-add-app-border-color: white;
|
188
|
+
@mno-dock-add-app-text-color: white;
|
189
|
+
@mno-dock-expand-arrow-color: white;
|
190
|
+
@mno-dock-expand-arrow-color-hover: darken(@mno-dock-expand-arrow-color, 5%);
|
191
|
+
@mno-dock-expand-left-border-color: white;
|
192
|
+
@mno-dock-app-title-color: white;
|
193
|
+
@mno-dock-app-logo-square-width: 70px;
|
194
|
+
@mno-dock-app-logo-minimized-square-width: 50px;
|
195
|
+
@mno-dock-app-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
196
|
+
@mno-dock-app-box-border: 1px solid rgba(0, 0, 0, 0.15);
|
197
|
+
|
198
|
+
@mno-dock-sub-menu-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
199
|
+
@mno-dock-sub-menu-bg-color: @bg-inverse-color;
|
200
|
+
@mno-dock-sub-menu-hover: @decorator-main-color;
|
201
|
+
@mno-dock-sub-menu-icon: @decorator-touch-color;
|
202
|
+
@mno-dock-sub-menu-text-color: @text-inverse-color;
|
203
|
+
@mno-dock-sub-menu-text-hover-color: darken(@mno-dock-sub-menu-text-color, 10%);
|
204
|
+
|
205
|
+
// Mobile dock
|
206
|
+
@mno-dock-mobile-bg-color: @bg-on-bg-inverse-color;
|
207
|
+
@mno-dock-mobile-button-color: @text-inverse-strong-color;
|
208
|
+
@mno-dock-mobile-button-bg-color: @decorator-inverse-color;
|
209
|
+
@mno-dock-mobile-app-active-color: lighten(@mno-dock-mobile-button-bg-color, 20%);
|
210
|
+
@mno-dock-mobile-app-border-bottom: 1px solid darken(@mno-dock-bg-color, 10%);
|
211
|
+
@mno-dock-mobile-add-app-color: @text-strong-color;
|
212
|
+
@mno-dock-mobile-app-name-color: @text-strong-color;
|
162
213
|
|
214
|
+
/*-----------------------------------------------------------------------*/
|
215
|
+
/* Dock Settings */
|
216
|
+
/*-----------------------------------------------------------------------*/
|
217
|
+
@mno-dock-settings-app-running: #33d375;
|
218
|
+
@mno-dock-settings-app-terminating: #ffe6ea;
|
219
|
+
@mno-dock-settings-app-upgrading: #ffdb99;
|
220
|
+
@mno-dock-settings-app-neutral: #E0FFFF;
|
221
|
+
|
222
|
+
/*-----------------------------------------------------------------------*/
|
223
|
+
/* IMPAC */
|
224
|
+
/*-----------------------------------------------------------------------*/
|
163
225
|
// Dashboard
|
164
226
|
//--------------------------------------
|
165
227
|
@impac-dashboard-padding-top: 33px;
|
@@ -167,138 +229,103 @@
|
|
167
229
|
|
168
230
|
// Title
|
169
231
|
@impac-dashboard-title-label-color: @text-strong-color;
|
170
|
-
@impac-dashboard-title-color: @
|
232
|
+
@impac-dashboard-title-color: @decorator-inverse-color;
|
171
233
|
@impac-dashboard-source-color: @impac-dashboard-title-label-color;
|
172
234
|
@impac-dashboard-buttons-border-radius: 4px;
|
173
|
-
@impac-dashboard-title-label-create-color: white;
|
174
|
-
|
175
|
-
// Dashboard Selector
|
176
|
-
// Tabs
|
177
|
-
@impac-dashboard-selector-border: 1px solid @lightblue;
|
178
|
-
@impac-dashboard-selector-tabs-margin: 0 2px 0 0;
|
179
|
-
@impac-dashboard-selector-tabs-padding: 10px 8px 10px 15px;
|
180
|
-
@impac-dashboard-selector-tabs-background-color: transparent;
|
181
|
-
@impac-dashboard-selector-tabs-active-background-color: #ffffff;
|
182
|
-
@impac-dashboard-selector-tabs-color: black;
|
183
|
-
@impac-dashboard-selector-tabs-active-color: @purple;
|
184
|
-
|
185
|
-
// Widget selector
|
186
|
-
@impac-dashboard-widget-selector-bg: #233845;
|
187
|
-
@impac-dashboard-widget-selector-text-color: white;
|
188
235
|
|
189
236
|
// Widgets container
|
190
237
|
@impac-placeholder-border: 2px dashed @bg-inverse-color;
|
191
238
|
@impac-padding-between-widgets: 12px;
|
192
239
|
@impac-minimum-widget-size: 258px;
|
193
|
-
@impac-widgets-container-side-padding: 0px;
|
194
|
-
@impac-big-widget-size: 581px;
|
195
|
-
|
196
|
-
// Buttons
|
197
|
-
@impac-btn-shadded-bg: @darkblue;
|
198
|
-
@impac-btn-shadded-color: @mediumblue;
|
199
|
-
|
200
|
-
// Dashboard Modals
|
201
|
-
@impac-dashboard-loading-spinner: white;
|
202
240
|
|
203
241
|
// Widgets
|
204
242
|
//--------------------------------------
|
205
243
|
// Global
|
206
|
-
@impac-widget-background-color: @bg-inverse-color;
|
207
|
-
@impac-widget-text-color:
|
208
|
-
@impac-widget-text-color-medium: lighten(@impac-widget-text-color,25%);
|
244
|
+
@impac-widget-background-color: @bg-on-bg-inverse-color;
|
245
|
+
@impac-widget-text-color: black;
|
209
246
|
@impac-widget-text-color-light: lighten(@impac-widget-text-color,70%);
|
210
247
|
@impac-widget-borders-color: lighten(@impac-widget-text-color-light,10%);
|
211
248
|
@impac-widget-link-color: @decorator-inverse-color;
|
212
|
-
@impac-widget-buttons-color: @impac-widget-link-color;
|
213
|
-
@impac-widget-tile-selected-color: @impac-widget-link-color;
|
214
|
-
@impac-widget-border: solid 1px darken(@lightgray,10%);
|
215
|
-
@impac-widget-scrollbar-color: #233845;
|
216
|
-
@impac-widget-loading-spinner: #67BBE9;
|
217
249
|
|
218
250
|
// Title
|
219
|
-
@impac-widget-title-text-color:
|
220
|
-
@impac-widget-title-bg: @
|
251
|
+
@impac-widget-title-text-color: white;
|
252
|
+
@impac-widget-title-bg: @bg-inverse-color;
|
221
253
|
@impac-widget-title-border: solid 1px @impac-widget-borders-color;
|
222
254
|
@impac-widget-title-text-transform: uppercase;
|
223
255
|
@impac-widget-title-text-size: 12px;
|
224
256
|
@impac-widget-title-border-radius: 5px 5px 0px 0px;
|
225
|
-
@impac-widget-top-buttons-color: @impac-widget-text-color-light;
|
226
257
|
|
227
258
|
// Content
|
228
259
|
@impac-widget-content-border-radius: 0px 0px 5px 5px;
|
229
|
-
@impac-widget-lines-container-max-height:
|
260
|
+
@impac-widget-lines-container-max-height: 210px;
|
230
261
|
|
231
|
-
// Settings
|
232
|
-
// Param selector
|
233
|
-
@impac-widget-param-selector-color: @impac-widget-link-color;
|
234
262
|
// Hist Mode Choser
|
235
|
-
@impac-widget-hist-text-transform:
|
236
|
-
@impac-widget-hist-text-size:
|
237
|
-
@impac-widget-hist-text-color:
|
238
|
-
|
239
|
-
|
240
|
-
@impac-widget-
|
241
|
-
|
242
|
-
@impac-widget-
|
243
|
-
|
244
|
-
|
245
|
-
@impac-widget-selectable-color: @impac-widget-link-color;
|
263
|
+
@impac-widget-hist-text-transform: uppercase;
|
264
|
+
@impac-widget-hist-text-size: 12px;
|
265
|
+
@impac-widget-hist-text-color: @impac-widget-text-color-light;
|
266
|
+
|
267
|
+
// Price
|
268
|
+
@impac-widget-price-color: @impac-widget-text-color;
|
269
|
+
@impac-widget-price-positive-color: @brand-success;
|
270
|
+
@impac-widget-price-negative-color: @brand-danger;
|
271
|
+
@impac-widget-currency-color: @impac-widget-text-color-light;
|
272
|
+
@impac-widget-legend-color: lighten(@impac-widget-text-color,30%);
|
246
273
|
|
247
274
|
// Edit settings
|
248
|
-
@impac-widget-sub-bg-color:
|
249
|
-
@impac-widget-sub-bg-color-light:
|
275
|
+
@impac-widget-sub-bg-color: darken(@impac-widget-background-color,10%);
|
276
|
+
@impac-widget-sub-bg-color-light: lighten(@impac-widget-sub-bg-color,5%);
|
277
|
+
|
278
|
+
// Invoices list
|
279
|
+
@impac-widget-line-hover-bg: lighten(@bg-inverse-color,10%);
|
280
|
+
@impac-widget-line-hover-text: @text-inverse-color;
|
250
281
|
|
251
282
|
// Accounts Comparison
|
283
|
+
@impac-big-widget-size: 581px;
|
284
|
+
@impac-big-widget-bottom-padding: 30px;
|
252
285
|
@impac-widget-accounts-comparison-lines-container-max-height: 250px;
|
253
286
|
|
254
|
-
// Sales break-even
|
255
|
-
@impac-widget-sales-break-even-bg: rgb(25,40,49);
|
256
|
-
@impac-widget-sales-break-even-text-color: #1de9b6;
|
257
|
-
|
258
|
-
|
259
287
|
/*-----------------------------------------------------------------------*/
|
260
288
|
/* Mno Enterprise > Marketplace Section */
|
261
289
|
/*-----------------------------------------------------------------------*/
|
262
|
-
@dashboard-marketplace-search-text-color: @
|
263
|
-
@dashboard-marketplace-search-border-color: @
|
290
|
+
@dashboard-marketplace-search-text-color: @text-strong-color;
|
291
|
+
@dashboard-marketplace-search-border-color: @text-strong-color;
|
264
292
|
|
265
|
-
@dashboard-marketplace-tile-bg-color: @bg-inverse-color;
|
293
|
+
@dashboard-marketplace-tile-bg-color: @bg-on-bg-inverse-color;
|
266
294
|
@dashboard-marketplace-tile-text-color: @text-strong-color;
|
267
|
-
@dashboard-marketplace-tile-img-border-color: @
|
295
|
+
@dashboard-marketplace-tile-img-border-color: @decorator-main-color;
|
268
296
|
|
269
297
|
@dashboard-marketplace-tile-hover-bg-color: @decorator-main-color;
|
270
298
|
@dashboard-marketplace-tile-hover-text-color: @dashboard-marketplace-tile-text-color;
|
271
299
|
@dashboard-marketplace-tile-hover-img-border-color: darken(@decorator-main-color,10%);
|
272
300
|
@dashboard-marketplace-tile-hover-arrow-color: @text-strong-color;
|
273
301
|
|
274
|
-
@dashboard-marketplace-show-header-text-color: @
|
302
|
+
@dashboard-marketplace-show-header-text-color: @text-strong-color;
|
303
|
+
@dashboard-marketplace-show-sections-bg-color: @bg-on-bg-inverse-color;
|
304
|
+
@dashboard-marketplace-show-sections-text-color: @text-strong-color;
|
275
305
|
|
276
306
|
@dashboard-marketplace-app-card: { display: block; padding: 10px; height: 120px; margin-bottom: 10px; font-weight: 300; };
|
277
307
|
|
278
308
|
/*-----------------------------------------------------------------------*/
|
279
309
|
/* Responsive Table (cell table) */
|
280
310
|
/*-----------------------------------------------------------------------*/
|
281
|
-
@table-cell-row-spacing:
|
311
|
+
@table-cell-header-row-spacing: 10px;
|
312
|
+
@table-cell-header-row-padding: 3px;
|
313
|
+
@table-cell-row-spacing: 0px;
|
282
314
|
@table-cell-row-padding: 3px;
|
283
315
|
|
284
316
|
@table-cell-header-text-size: 12px;
|
285
|
-
@table-cell-header-text-color: @
|
286
|
-
@table-cell-header-bg-color: @bg-
|
317
|
+
@table-cell-header-text-color: @text-inverse-strong-color;
|
318
|
+
@table-cell-header-bg-color: lighten(@bg-inverse-color, 5%);
|
287
319
|
@table-cell-header-additional-rule: { text-transform: uppercase; };
|
288
320
|
|
289
321
|
@table-cell-row-text-size: 13px;
|
290
|
-
@table-cell-row-odd-bg-color:
|
291
|
-
@table-cell-row-even-bg-color:
|
322
|
+
@table-cell-row-odd-bg-color: darken(@bg-main-color,4%);
|
323
|
+
@table-cell-row-even-bg-color: darken(@bg-main-color,0%);
|
292
324
|
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
@brand-success: @elem-positive-color;
|
298
|
-
@brand-warning: @decorator-alt-color;
|
299
|
-
@brand-info: @text-inverse-color;
|
300
|
-
@brand-danger: @text-inverse-color;
|
301
|
-
@brand-primary: @text-inverse-color;
|
325
|
+
@table-inverse-cell-header-text-color: @text-inverse-strong-color;
|
326
|
+
@table-inverse-cell-header-bg-color: lighten(@bg-inverse-color, 5%);
|
327
|
+
@table-inverse-cell-row-odd-bg-color: darken(@bg-main-color,4%);
|
328
|
+
@table-inverse-cell-row-even-bg-color: darken(@bg-main-color,0%);
|
302
329
|
|
303
330
|
/*-----------------------------------------------------------------------*/
|
304
331
|
/* Navbar Customization */
|
@@ -314,27 +341,7 @@
|
|
314
341
|
/*-----------------------------------------------------------------------*/
|
315
342
|
/* Form Customization */
|
316
343
|
/*-----------------------------------------------------------------------*/
|
317
|
-
@input-bg:
|
318
|
-
@input-color:
|
319
|
-
@input-color-placeholder:
|
320
|
-
|
321
|
-
@input-label-color: @text-inverse-color;
|
322
|
-
|
323
|
-
/*-----------------------------------------------------------------------*/
|
324
|
-
/* Buttons Customization */
|
325
|
-
/*-----------------------------------------------------------------------*/
|
326
|
-
|
327
|
-
// General
|
328
|
-
@btn-font-weight: 500;
|
329
|
-
|
330
|
-
// Warning
|
331
|
-
@btn-warning-color: #fff;
|
332
|
-
|
333
|
-
// Success
|
334
|
-
@btn-success-color: #fff;
|
335
|
-
|
336
|
-
/*-----------------------------------------------------------------------*/
|
337
|
-
/* Footer */
|
338
|
-
/*-----------------------------------------------------------------------*/
|
339
|
-
|
340
|
-
@footer-bg: @bg-main-color;
|
344
|
+
@input-bg: @bg-on-bg-inverse-color;
|
345
|
+
@input-color: @text-strong-color;
|
346
|
+
@input-color-placeholder: @input-color;
|
347
|
+
@input-label-color: @text-inverse-color;
|