mno-enterprise-core 3.2.1 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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;
|