mno-enterprise-core 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +1 -0
  3. data/Rakefile +12 -0
  4. data/app/assets/images/mno_enterprise/main-logo.png +0 -0
  5. data/app/controllers/mno_enterprise/application_controller.rb +116 -0
  6. data/app/helpers/mno_enterprise/application_helper.rb +67 -0
  7. data/app/helpers/mno_enterprise/impersonate_helper.rb +27 -0
  8. data/app/models/mno_enterprise/ability.rb +6 -0
  9. data/app/models/mno_enterprise/app.rb +72 -0
  10. data/app/models/mno_enterprise/app_instance.rb +36 -0
  11. data/app/models/mno_enterprise/app_instances_sync.rb +6 -0
  12. data/app/models/mno_enterprise/arrears_situation.rb +6 -0
  13. data/app/models/mno_enterprise/audit_event.rb +21 -0
  14. data/app/models/mno_enterprise/base_resource.rb +228 -0
  15. data/app/models/mno_enterprise/credit_card.rb +40 -0
  16. data/app/models/mno_enterprise/deletion_request.rb +35 -0
  17. data/app/models/mno_enterprise/impac/dashboard.rb +36 -0
  18. data/app/models/mno_enterprise/impac/dashboard_provisioner.rb +5 -0
  19. data/app/models/mno_enterprise/impac/kpi.rb +9 -0
  20. data/app/models/mno_enterprise/impac/widget.rb +13 -0
  21. data/app/models/mno_enterprise/invoice.rb +53 -0
  22. data/app/models/mno_enterprise/org_invite.rb +50 -0
  23. data/app/models/mno_enterprise/organization.rb +33 -0
  24. data/app/models/mno_enterprise/team.rb +50 -0
  25. data/app/models/mno_enterprise/tenant.rb +5 -0
  26. data/app/models/mno_enterprise/tenant_invoice.rb +5 -0
  27. data/app/models/mno_enterprise/user.rb +183 -0
  28. data/app/pdf/mno_enterprise/invoice_pdf.rb +516 -0
  29. data/config/initializers/audit_log.rb +5 -0
  30. data/config/locales/devise.en.yml +60 -0
  31. data/config/routes.rb +2 -0
  32. data/config/styleguide.yml +106 -0
  33. data/lib/accountingjs_serializer.rb +51 -0
  34. data/lib/devise/controllers/extension_helpers.rb +52 -0
  35. data/lib/devise/extension_routes.rb +11 -0
  36. data/lib/devise/hooks/password_expirable.rb +5 -0
  37. data/lib/devise/models/password_expirable.rb +28 -0
  38. data/lib/devise/models/remote_authenticatable.rb +48 -0
  39. data/lib/devise/strategies/remote_authenticatable.rb +44 -0
  40. data/lib/devise_extension.rb +36 -0
  41. data/lib/faraday/adapter/net_http_no_proxy.rb +19 -0
  42. data/lib/generators/mno_enterprise/database_extension/USAGE +11 -0
  43. data/lib/generators/mno_enterprise/database_extension/database_extension_generator.rb +36 -0
  44. data/lib/generators/mno_enterprise/database_extension/templates/model.rb +9 -0
  45. data/lib/generators/mno_enterprise/dummy/dummy_generator.rb +98 -0
  46. data/lib/generators/mno_enterprise/dummy/templates/rails/application.rb.erb +9 -0
  47. data/lib/generators/mno_enterprise/dummy/templates/rails/boot.rb.erb +6 -0
  48. data/lib/generators/mno_enterprise/dummy/templates/rails/database.yml +22 -0
  49. data/lib/generators/mno_enterprise/dummy/templates/rails/routes.rb +8 -0
  50. data/lib/generators/mno_enterprise/dummy/templates/rails/test-env.rb +45 -0
  51. data/lib/generators/mno_enterprise/install/install_generator.rb +140 -0
  52. data/lib/generators/mno_enterprise/install/templates/Procfile +1 -0
  53. data/lib/generators/mno_enterprise/install/templates/config/initializers/mno_enterprise.rb +135 -0
  54. data/lib/generators/mno_enterprise/install/templates/config/mno_enterprise_styleguide.yml +104 -0
  55. data/lib/generators/mno_enterprise/install/templates/javascripts/mno_enterprise_extensions.js +7 -0
  56. data/lib/generators/mno_enterprise/install/templates/stylesheets/main.less_erb +25 -0
  57. data/lib/generators/mno_enterprise/install/templates/stylesheets/theme.less_erb +59 -0
  58. data/lib/generators/mno_enterprise/install/templates/stylesheets/variables.less +337 -0
  59. data/lib/generators/mno_enterprise/install/templates/tasks/sprites.rake +14 -0
  60. data/lib/generators/mno_enterprise/puma_stack/puma_stack_generator.rb +58 -0
  61. data/lib/generators/mno_enterprise/templates/scripts/monit/app-server.conf +8 -0
  62. data/lib/generators/mno_enterprise/templates/scripts/nginx/app +51 -0
  63. data/lib/generators/mno_enterprise/templates/scripts/puma.rb +25 -0
  64. data/lib/generators/mno_enterprise/templates/scripts/setup.sh +27 -0
  65. data/lib/generators/mno_enterprise/templates/scripts/upstart/app-web-hotrestart.conf +26 -0
  66. data/lib/generators/mno_enterprise/templates/scripts/upstart/app-web-server.conf +34 -0
  67. data/lib/generators/mno_enterprise/templates/scripts/upstart/app-web.conf +2 -0
  68. data/lib/generators/mno_enterprise/templates/scripts/upstart/app.conf +11 -0
  69. data/lib/her_extension/her_orm_adapter.rb +54 -0
  70. data/lib/her_extension/middleware/mnoe_api_v1_parse_json.rb +54 -0
  71. data/lib/her_extension/model/associations/association.rb +61 -0
  72. data/lib/her_extension/model/associations/association_proxy.rb +34 -0
  73. data/lib/her_extension/model/associations/has_many_association.rb +115 -0
  74. data/lib/her_extension/model/attributes.rb +43 -0
  75. data/lib/her_extension/model/orm.rb +59 -0
  76. data/lib/her_extension/model/parse.rb +40 -0
  77. data/lib/her_extension/model/relation.rb +92 -0
  78. data/lib/her_extension/validations/remote_uniqueness_validation.rb +33 -0
  79. data/lib/html_processor.rb +106 -0
  80. data/lib/mandrill_client.rb +58 -0
  81. data/lib/mno-enterprise-core.rb +1 -0
  82. data/lib/mno_enterprise/concerns.rb +4 -0
  83. data/lib/mno_enterprise/concerns/controllers.rb +6 -0
  84. data/lib/mno_enterprise/concerns/controllers/angular_csrf.rb +59 -0
  85. data/lib/mno_enterprise/concerns/controllers/auth.rb +9 -0
  86. data/lib/mno_enterprise/concerns/controllers/auth/confirmations_controller.rb +187 -0
  87. data/lib/mno_enterprise/concerns/controllers/auth/passwords_controller.rb +54 -0
  88. data/lib/mno_enterprise/concerns/controllers/auth/registrations_controller.rb +136 -0
  89. data/lib/mno_enterprise/concerns/controllers/auth/sessions_controller.rb +54 -0
  90. data/lib/mno_enterprise/concerns/controllers/auth/unlocks_controller.rb +50 -0
  91. data/lib/mno_enterprise/concerns/models.rb +6 -0
  92. data/lib/mno_enterprise/concerns/models/ability.rb +108 -0
  93. data/lib/mno_enterprise/concerns/models/app_instance.rb +100 -0
  94. data/lib/mno_enterprise/concerns/models/organization.rb +102 -0
  95. data/lib/mno_enterprise/core.rb +279 -0
  96. data/lib/mno_enterprise/database_extendable.rb +57 -0
  97. data/lib/mno_enterprise/engine.rb +33 -0
  98. data/lib/mno_enterprise/testing_support/ability_test_helper.rb +10 -0
  99. data/lib/mno_enterprise/testing_support/common_rake.rb +19 -0
  100. data/lib/mno_enterprise/testing_support/factories.rb +13 -0
  101. data/lib/mno_enterprise/testing_support/factories/app_instances.rb +30 -0
  102. data/lib/mno_enterprise/testing_support/factories/apps.rb +45 -0
  103. data/lib/mno_enterprise/testing_support/factories/arrears_situation.rb +14 -0
  104. data/lib/mno_enterprise/testing_support/factories/audit_event.rb +15 -0
  105. data/lib/mno_enterprise/testing_support/factories/credit_card.rb +33 -0
  106. data/lib/mno_enterprise/testing_support/factories/deletion_request.rb +17 -0
  107. data/lib/mno_enterprise/testing_support/factories/impac/dashboards.rb +15 -0
  108. data/lib/mno_enterprise/testing_support/factories/impac/kpis.rb +20 -0
  109. data/lib/mno_enterprise/testing_support/factories/impac/widgets.rb +15 -0
  110. data/lib/mno_enterprise/testing_support/factories/invoices.rb +51 -0
  111. data/lib/mno_enterprise/testing_support/factories/org_invite.rb +24 -0
  112. data/lib/mno_enterprise/testing_support/factories/organizations.rb +25 -0
  113. data/lib/mno_enterprise/testing_support/factories/team.rb +17 -0
  114. data/lib/mno_enterprise/testing_support/factories/tenant.rb +12 -0
  115. data/lib/mno_enterprise/testing_support/factories/tenant_invoice.rb +29 -0
  116. data/lib/mno_enterprise/testing_support/factories/users.rb +48 -0
  117. data/lib/mno_enterprise/testing_support/jpi_v1_test_helper.rb +49 -0
  118. data/lib/mno_enterprise/testing_support/mno_enterprise_api_test_helper.rb +167 -0
  119. data/lib/mno_enterprise/testing_support/mnoe_faraday_test_adapter.rb +173 -0
  120. data/lib/mno_enterprise/testing_support/organizations_shared_helpers.rb +175 -0
  121. data/lib/mno_enterprise/testing_support/user_action_shared.rb +47 -0
  122. data/lib/mno_enterprise/version.rb +3 -0
  123. data/lib/tasks/mno_enterprise_tasks.rake +22 -0
  124. data/spec/controllers/mno_enterprise/angular_csrf_spec.rb +42 -0
  125. data/spec/lib/her_extension/her_orm_adapter.rb +7 -0
  126. data/spec/lib/her_extension/model/relation_spec.rb +7 -0
  127. data/spec/lib/mandrill_client_spec.rb +64 -0
  128. data/spec/mno_enterprise_spec.rb +79 -0
  129. data/spec/models/mno_enterprise/app_instance_spec.rb +7 -0
  130. data/spec/models/mno_enterprise/app_spec.rb +62 -0
  131. data/spec/models/mno_enterprise/base_resource_spec.rb +28 -0
  132. data/spec/models/mno_enterprise/deletion_request_spec.rb +26 -0
  133. data/spec/models/mno_enterprise/invoice_spec.rb +7 -0
  134. data/spec/models/mno_enterprise/organization_spec.rb +7 -0
  135. data/spec/models/mno_enterprise/user_spec.rb +44 -0
  136. data/spec/rails_helper.rb +73 -0
  137. data/spec/spec_helper.rb +78 -0
  138. metadata +421 -0
@@ -0,0 +1,104 @@
1
+ #
2
+ # General Design Style
3
+ design:
4
+ # Whether to enable angular-material or not
5
+ material: false
6
+
7
+ #
8
+ # Color Theme Palette
9
+ # This section configures the overall theme. Any fine-tuning should be performed in the
10
+ # variable.css file
11
+ palette:
12
+ # Material colors
13
+ # Available palettes:
14
+ # red, pink, purple, deep-purple, indigo, blue, light-blue, cyan, teal, green,
15
+ # light-green, lime, yellow, amber, orange, deep-orange, brown, grey, blue-grey
16
+ #-------------------------
17
+ primary: indigo
18
+ accent: pink
19
+ warn: red
20
+ background: grey
21
+
22
+ # Main regular colors
23
+ #-------------------------------------------
24
+ # Dashboard background color
25
+ bg_main_color: '#aeb5bf' # light gray
26
+
27
+ # Elements placed on top of bg-main-color
28
+ decorator_main_color: '#758192' # dark gray
29
+
30
+ # Elements placed on top of bg-main-color (secondary)
31
+ decorator_alt_color: '#977bf0' # purple
32
+
33
+ # Used for text used in the context of bg-main-color
34
+ text_strong_color: '#17262d' # dark blue
35
+
36
+ # Main inverse colors
37
+ #-------------------------------------------
38
+ # Background color used for dashboard menu. top banners, inverse modals
39
+ bg_inverse_color: '#ffffff' # white
40
+
41
+ # Background color for elements displayed on top of inverse elements
42
+ bg_on_bg_inverse_color: '#cacfd6' # lighter gray
43
+
44
+ # Background color used for elements on top of bg-inverse-color
45
+ bg_inverse_intense_color: '#17262d' # dark blue
46
+
47
+ # Design elements (lines, borders) on top of bg-inverse-color
48
+ decorator_inverse_color: '#977bf0' # purple
49
+
50
+ # Text used on top of bg-inverse-color such as inverse modals
51
+ text_inverse_color: '#17262d' # dark blue
52
+
53
+ # Color used in small/isolated elements
54
+ #-------------------------------------------
55
+ # used to reflect a positive action or point (e.g: tick icon)
56
+ elem_positive_color: '#d1e55c' # green
57
+
58
+ # stronger version of elem-positive-color (barely used)
59
+ elem_positive_flash_color: '#47ff00' # fluro-green
60
+
61
+ # used for regular design element - fits well with both main and inverse backgrounds
62
+ elem_cozy_color: '#977bf0' # purple
63
+
64
+ # Impac!
65
+ impac:
66
+ positive: '#3fc4ff' # light blue
67
+ negative: '#1de9b6' # light green
68
+ pool:
69
+ - '#1de9b6' # light green
70
+ - '#7c4dff' # fluro-purple
71
+ - '#ffc928' # yellow-orange
72
+ - '#3fc4ff' # light blue
73
+ - '#ff8e01' # fluro-orange
74
+ - '#c6ff00' # fluro-green
75
+ - '#d500fa' # fluro-purple
76
+ - '#ff6e41' # red-orange
77
+ - '#ffeb3c' # fluro-yellow
78
+ - '#ff1844' # fluro-pink
79
+
80
+ #
81
+ # General Application Layout
82
+ #
83
+ layout:
84
+ # Whether to display a header on public pages
85
+ public_page_header: false
86
+
87
+ # Which layout for the dashboard
88
+ dashboard_menu_orientation: 'vertical'
89
+
90
+ # Devise Configuration
91
+ devise:
92
+ # Links
93
+ remember_checkbox_shown: true
94
+ unlock_link_shown: false
95
+ forgot_password_link_shown: true
96
+ confirmation_link_shown: true
97
+ omniauth_link_shown: true
98
+
99
+ # User fields
100
+ phone_required: true
101
+
102
+ # Password complexity check style
103
+ # If set to true, will check that it contains one letter, one number etc..
104
+ password_complexity_deep_check: false
@@ -0,0 +1,7 @@
1
+ // This manifest should include any file overriding or extending the base mno-enterprise JS application
2
+ //
3
+ // Currently disabled
4
+ // If you decide to add extensions, do no forget to edit config/initializers/assets.rb and register this file
5
+ // as an asset to precompile
6
+ //
7
+ // require_tree ./mno_enterprise
@@ -0,0 +1,25 @@
1
+ /*-----------------------------------------------------------------------*/
2
+ /* Import Core LESS Framework */
3
+ /*-----------------------------------------------------------------------*/
4
+ // Import Core LESS Framework
5
+ @import "mno_enterprise/main";
6
+
7
+ // Import default variables
8
+ // @import "mno_enterprise/variables.less";
9
+
10
+ /*-----------------------------------------------------------------------*/
11
+ /* Customization */
12
+ /*-----------------------------------------------------------------------*/
13
+
14
+ // Import theme colors
15
+ //--------------------------------------------
16
+ <%= Tilt.new(File.expand_path('../theme.less.erb',__FILE__)).render %>
17
+
18
+ // Import custom variables
19
+ //--------------------------------------------
20
+ @import "variables";
21
+
22
+
23
+ // Import any custom less file below
24
+ //--------------------------------------------
25
+ // @import 'homepage'
@@ -0,0 +1,59 @@
1
+ /*-----------------------------------------------------------------------*/
2
+ /* General Theme Colors */
3
+ /*-----------------------------------------------------------------------*/
4
+
5
+ // Material colors
6
+ //-------------------------------------------------------------
7
+ // Primary color (e.g.: Indigo)
8
+ @material-primary: <%= MnoEnterprise.style.palette.primary %>;
9
+
10
+ // Accent color (e.g.: Pink)
11
+ @material-accent: <%= MnoEnterprise.style.palette.accent %>;
12
+
13
+ // Warn color (e.g.: Red)
14
+ @material-warn: <%= MnoEnterprise.style.palette.warn %>;
15
+
16
+ // Background color (e.g.: Grey)
17
+ @material-background: <%= MnoEnterprise.style.palette.background %>;
18
+
19
+ // Main colors
20
+ //-------------------------------------------------------------
21
+ // Dashboard background color
22
+ @bg-main-color: <%= MnoEnterprise.style.palette.bg_main_color %>;
23
+
24
+ // Elements placed on top of bg-main-color
25
+ @decorator-main-color: <%= MnoEnterprise.style.palette.decorator_main_color %>;
26
+
27
+ // Elements placed on top of bg-main-color (secondary)
28
+ @decorator-alt-color: <%= MnoEnterprise.style.palette.decorator_alt_color %>;
29
+
30
+ // Used for text used in the context of bg-main-color
31
+ @text-strong-color: <%= MnoEnterprise.style.palette.text_strong_color %>;
32
+
33
+ // Inverse colors
34
+ //-------------------------------------------------------------
35
+ // Background color used for dashboard side menu. top banners, inverse modals
36
+ @bg-inverse-color: <%= MnoEnterprise.style.palette.bg_inverse_color %>;
37
+
38
+ // Background color for elements displayed on top of inverse elements
39
+ @bg-on-bg-inverse-color: <%= MnoEnterprise.style.palette.bg_on_bg_inverse_color %>;
40
+
41
+ // Background color used for elements on top of bg-inverse-color
42
+ @bg-inverse-intense-color: <%= MnoEnterprise.style.palette.bg_inverse_intense_color %>;
43
+
44
+ // Design elements (lines, borders) on top of bg-inverse-color
45
+ @decorator-inverse-color: <%= MnoEnterprise.style.palette.decorator_inverse_color %>;
46
+
47
+ // Text used on top of bg-inverse-color such as inverse modals
48
+ @text-inverse-color: <%= MnoEnterprise.style.palette.text_inverse_color %>;
49
+
50
+ // Color used in small/isolated elements
51
+ //-------------------------------------------------------------
52
+ // used to reflect a positive action or point (e.g: tick icon)
53
+ @elem-positive-color: <%= MnoEnterprise.style.palette.elem_positive_color %>;
54
+
55
+ // stronger version of elem-positive-color (barely used)
56
+ @elem-positive-flash-color: <%= MnoEnterprise.style.palette.elem_positive_flash_color %>;
57
+
58
+ // used for regular design element - fits well with both main and inverse backgrounds
59
+ @elem-cozy-color: <%= MnoEnterprise.style.palette.elem_cozy_color %>;
@@ -0,0 +1,337 @@
1
+ // Use this file to override Twitter Bootstrap variables or define own variables.
2
+ /*-----------------------------------------------------------------------*/
3
+ /*-----------------------------------------------------------------------*/
4
+ /*-----------------------------------------------------------------------*/
5
+ /* Design variables */
6
+ /*-----------------------------------------------------------------------*/
7
+ /*-----------------------------------------------------------------------*/
8
+ /*-----------------------------------------------------------------------*/
9
+
10
+ /*-----------------------------------------------------------------------*/
11
+ /* Fonts & Text */
12
+ /*-----------------------------------------------------------------------*/
13
+ @font-family-sans-serif: Arial, "Helvetica Neue", Helvetica, sans-serif;
14
+ @font-family-base: @font-family-sans-serif;
15
+ @small: 11px;
16
+ @normal: 13px;
17
+
18
+ /*-----------------------------------------------------------------------*/
19
+ /* Public Page Header */
20
+ /*-----------------------------------------------------------------------*/
21
+ // Simple top header with brand logo - can be enabled/disabled via styleguide configuration
22
+ @public-page-header-bg-color: @bg-inverse-color;
23
+ @public-page-header-padding: 10px;
24
+
25
+ @public-page-header-logo-img: "mno_enterprise/main-logo.png";
26
+ @public-page-header-logo: { min-height: 61px; max-width: 160px; max-height: 130px; margin: 17px auto 5px auto; };
27
+
28
+ /*-----------------------------------------------------------------------*/
29
+ /* Login Page */
30
+ /*-----------------------------------------------------------------------*/
31
+ @login-bg-color: @bg-main-color;
32
+ @login-box-grid-position: { margin-top: 80px; .make-sm-column(4); .make-sm-column-offset(4); };
33
+
34
+ @login-box-title-color: @decorator-main-color;
35
+ @login-box-title: { text-transform: uppercase; };
36
+ @login-box-title-display-box-arrow: false;
37
+
38
+ @login-box-bg-color: @bg-inverse-color;
39
+ @login-box-padding: 20px;
40
+ @login-box-brand-logo-img: "mno_enterprise/main-logo.png";
41
+ @login-box-brand-logo: { min-height: 61px; max-width: 160px; max-height: 130px; margin: 17px auto 5px auto; };
42
+ @login-box-btn-login: { width: 100%; };
43
+
44
+ /*-----------------------------------------------------------------------*/
45
+ /* Dashboard Layout */
46
+ /*-----------------------------------------------------------------------*/
47
+ @dashboard-bg-color: @bg-main-color;
48
+
49
+ @dashboard-section-title-color: @text-strong-color;
50
+ @dashboard-section-title-alignment: center;
51
+ @dashboard-section-title-display-subline: false;
52
+
53
+ // Side navbar menu
54
+ //--------------------------------------
55
+ @dashboard-side-menu-padding: 30px 0px 0px 14px;
56
+ @dashboard-side-menu-bg-color: @bg-inverse-color;
57
+ @dashboard-side-menu-horizontal: { min-width:550px; };
58
+
59
+ @dashboard-side-menu-brand-logo-img: "mno_enterprise/main-logo.png";
60
+ @dashboard-side-menu-brand-logo: { background-size: 204px; width: 51px; margin-left: 5px; };
61
+ @dashboard-side-menu-brand-logo-expanded: { width: 201px; background-size: 100%; };
62
+
63
+ @dashboard-side-menu-link-color: @text-inverse-color;
64
+ @dashboard-side-menu-link-bg-color: @dashboard-side-menu-bg-color;
65
+
66
+ @dashboard-side-menu-link-hover-color: @dashboard-side-menu-bg-color;
67
+ @dashboard-side-menu-link-hover-bg-color: lighten(@bg-main-color,15%);
68
+
69
+ @dashboard-side-menu-link-active-color: @dashboard-side-menu-bg-color;
70
+ @dashboard-side-menu-link-active-bg-color: @bg-main-color;
71
+
72
+ @_default_style: { .fa-2x; margin-top: 6px; margin-left: 2px; color: @dashboard-side-menu-link-color; };
73
+ @_default_style_active: { @_default_style(); color: @dashboard-side-menu-link-active-color; };
74
+ @dashboard-side-menu-btn-dashboard: { .icon-fa(th); @_default_style(); };
75
+ @dashboard-side-menu-btn-dashboard-active: { .icon-fa(th); @_default_style_active(); };
76
+ @dashboard-side-menu-btn-account: { .icon-fa(user); @_default_style(); margin-left: 5px; };
77
+ @dashboard-side-menu-btn-account-active: { .icon-fa(user); @_default_style_active(); margin-left: 5px; };
78
+ @dashboard-side-menu-btn-company: { .icon-fa(briefcase); @_default_style(); };
79
+ @dashboard-side-menu-btn-company-active: { .icon-fa(briefcase); @_default_style_active(); };
80
+ @dashboard-side-menu-btn-marketplace: { .icon-fa(plus-square-o); @_default_style(); margin-left: 5px; };
81
+ @dashboard-side-menu-btn-marketplace-active: { .icon-fa(plus-square-o); @_default_style_active(); margin-left: 5px; };
82
+ @dashboard-side-menu-btn-logout: { .icon-fa(lock); @_default_style(); margin-left: 6px; };
83
+ @dashboard-side-menu-btn-logout-active: { .icon-fa(lock); @_default_style_active(); margin-left: 6px; };
84
+
85
+ // Company select box (top right)
86
+ //--------------------------------------
87
+ @dashboard-cpy-select-bg-color: @bg-inverse-intense-color;
88
+ @dashboard-cpy-select-border-radius: 0px;
89
+ @dashboard-cpy-select-padding: 15px 25px;
90
+
91
+ @dashboard-cpy-select-header-text-color: @bg-inverse-color;
92
+ @dashboard-cpy-select-header-text-size: 13px;
93
+
94
+ @dashboard-cpy-select-link-color: @dashboard-cpy-select-header-text-color;
95
+
96
+ @dashboard-cpy-select-link-hover-color: @dashboard-cpy-select-link-color;
97
+ @dashboard-cpy-select-link-hover-bg-color: lighten(@dashboard-cpy-select-bg-color,10%);
98
+
99
+ @dashboard-cpy-select-link-create-color: @decorator-alt-color;
100
+ @dashboard-cpy-select-link-admin-color: @elem-positive-color;
101
+
102
+ @dashboard-cpy-select-switch-btn-color: @dashboard-cpy-select-header-text-color;
103
+ @dashboard-cpy-select-switch-btn-bg-color: @dashboard-cpy-select-bg-color;
104
+ @dashboard-cpy-select-switch-btn-icon: { .icon-fa(caret-down); }; //pass a ruleset
105
+ @dashboard-cpy-select-switch-btn-icon-active: { .icon-fa(caret-up); }; //pass a ruleset
106
+
107
+ /*-----------------------------------------------------------------------*/
108
+ /* Dashboard > Apps Section */
109
+ /*-----------------------------------------------------------------------*/
110
+ @dashboard-apps-tile-bg-color: @bg-inverse-color;
111
+ @dashboard-apps-tile-text-color: @text-inverse-color;
112
+
113
+ @dashboard-apps-tile-logo-border-size: 0px;
114
+ @dashboard-apps-tile-logo-border-color: @decorator-main-color;
115
+
116
+ @dashboard-apps-tile-settings-color: @dashboard-apps-tile-text-color;
117
+ @dashboard-apps-tile-settings-bg-color: @dashboard-apps-tile-bg-color;
118
+
119
+ @dashboard-apps-tile-settings-hover-color: @dashboard-apps-tile-bg-color;
120
+ @dashboard-apps-tile-settings-hover-bg-color: @dashboard-apps-tile-text-color;
121
+
122
+ @dashboard-apps-tile-add-color: @dashboard-apps-tile-text-color;
123
+ @dashboard-apps-tile-add-bg-color: @dashboard-apps-tile-text-color;
124
+
125
+ /*-----------------------------------------------------------------------*/
126
+ /* Dashboard > Company Section */
127
+ /*-----------------------------------------------------------------------*/
128
+ // Tab Heading
129
+ //--------------------------------------
130
+ @dashboard-cpy-tabs-bg-color: @decorator-main-color;
131
+ @dashboard-cpy-tabs-text-color: @text-inverse-color;
132
+ @dashboard-cpy-tabs-border-radius: 2px;
133
+
134
+ @dashboard-cpy-tabs-subline-size: 0px;
135
+ @dashboard-cpy-tabs-subline-color: transparent;
136
+
137
+ @dashboard-cpy-tabs-active-text-color: @decorator-alt-color;
138
+ @dashboard-cpy-tabs-active-bg-color: @bg-inverse-color;
139
+
140
+ @dashboard-cpy-tabs-hover-text-color: @bg-inverse-color;
141
+ @dashboard-cpy-tabs-hover-bg-color: @decorator-alt-color;
142
+
143
+ // Tab Content
144
+ //--------------------------------------
145
+ @dashboard-cpy-tabcontent-bg-color: @dashboard-cpy-tabs-bg-color;
146
+
147
+ // Teams section
148
+ //--------------------------------------
149
+ @dashboard-cpy-teams-matrix-bg-color: @bg-inverse-color;
150
+ @dashboard-cpy-teams-matrix-border-color: lighten(@bg-main-color,30%);
151
+
152
+ /*-----------------------------------------------------------------------*/
153
+ /* IMPAC */
154
+ /*-----------------------------------------------------------------------*/
155
+ @impac-positive: green;
156
+ @impac-negative: @pink;
157
+ @impac-positive2: #3fc4ff; // lighter colors used for payables-receivables
158
+ @impac-negative2: #1de9b6; // lighter colors used for payables-receivables
159
+
160
+ // Dashboard
161
+ //--------------------------------------
162
+ @impac-dashboard-padding-top: 33px;
163
+ @impac-dashboard-margin-left: 0px;
164
+
165
+ // Title
166
+ @impac-dashboard-title-label-color: @text-strong-color;
167
+ @impac-dashboard-title-color: @elem-cozy-color;
168
+ @impac-dashboard-source-color: @impac-dashboard-title-label-color;
169
+ @impac-dashboard-buttons-border-radius: 4px;
170
+ @impac-dashboard-title-label-create-color: white;
171
+
172
+ // Dashboard Selector
173
+ // Tabs
174
+ @impac-dashboard-selector-border: 1px solid @lightblue;
175
+ @impac-dashboard-selector-tabs-margin: 0 2px 0 0;
176
+ @impac-dashboard-selector-tabs-padding: 10px 8px 10px 15px;
177
+ @impac-dashboard-selector-tabs-background-color: transparent;
178
+ @impac-dashboard-selector-tabs-active-background-color: #ffffff;
179
+ @impac-dashboard-selector-tabs-color: black;
180
+ @impac-dashboard-selector-tabs-active-color: @purple;
181
+
182
+ // Widget selector
183
+ @impac-dashboard-widget-selector-bg: #233845;
184
+ @impac-dashboard-widget-selector-text-color: white;
185
+
186
+ // Widgets container
187
+ @impac-placeholder-border: 2px dashed @bg-inverse-color;
188
+ @impac-padding-between-widgets: 12px;
189
+ @impac-minimum-widget-size: 258px;
190
+ @impac-widgets-container-side-padding: 0px;
191
+ @impac-big-widget-size: 581px;
192
+
193
+ // Buttons
194
+ @impac-btn-shadded-bg: @darkblue;
195
+ @impac-btn-shadded-color: @mediumblue;
196
+
197
+ // Dashboard Modals
198
+ @impac-dashboard-loading-spinner: white;
199
+
200
+ // Widgets
201
+ //--------------------------------------
202
+ // Global
203
+ @impac-widget-background-color: @bg-inverse-color;
204
+ @impac-widget-text-color: @text-inverse-color;
205
+ @impac-widget-text-color-medium: lighten(@impac-widget-text-color,25%);
206
+ @impac-widget-text-color-light: lighten(@impac-widget-text-color,70%);
207
+ @impac-widget-borders-color: lighten(@impac-widget-text-color-light,10%);
208
+ @impac-widget-link-color: @decorator-inverse-color;
209
+ @impac-widget-buttons-color: @impac-widget-link-color;
210
+ @impac-widget-tile-selected-color: @impac-widget-link-color;
211
+ @impac-widget-border: solid 1px darken(@lightgray,10%);
212
+ @impac-widget-scrollbar-color: #233845;
213
+ @impac-widget-loading-spinner: #67BBE9;
214
+
215
+ // Title
216
+ @impac-widget-title-text-color: darken(@impac-widget-text-color,5%);
217
+ @impac-widget-title-bg: @impac-widget-background-color;
218
+ @impac-widget-title-border: solid 1px @impac-widget-borders-color;
219
+ @impac-widget-title-text-transform: uppercase;
220
+ @impac-widget-title-text-size: 12px;
221
+ @impac-widget-title-border-radius: 5px 5px 0px 0px;
222
+ @impac-widget-top-buttons-color: @impac-widget-text-color-light;
223
+
224
+ // Content
225
+ @impac-widget-content-border-radius: 0px 0px 5px 5px;
226
+ @impac-widget-lines-container-max-height: 210px;
227
+
228
+ // Settings
229
+ // Param selector
230
+ @impac-widget-param-selector-color: @impac-widget-link-color;
231
+ // Hist Mode Choser
232
+ @impac-widget-hist-text-transform: uppercase;
233
+ @impac-widget-hist-text-size: 12px;
234
+ @impac-widget-hist-text-color: @impac-widget-text-color-light;
235
+ // Params picker
236
+ @impac-widget-params-picker-bg: #1E303B;
237
+ @impac-widget-params-picker-unchecked-bg: #c2c4c4;
238
+ // Limit emtries
239
+ @impac-widget-limit-entries-color: #1E303B;
240
+
241
+ // Globals and Mixins
242
+ @impac-widget-selectable-color: @impac-widget-link-color;
243
+
244
+ // Edit settings
245
+ @impac-widget-sub-bg-color: darken(@impac-widget-background-color,10%);
246
+ @impac-widget-sub-bg-color-light: lighten(@impac-widget-sub-bg-color,5%); //f3f4f4
247
+
248
+ // Accounts Comparison
249
+ @impac-widget-accounts-comparison-lines-container-max-height: 250px;
250
+
251
+ // Sales break-even
252
+ @impac-widget-sales-break-even-bg: rgb(25,40,49);
253
+ @impac-widget-sales-break-even-text-color: #1de9b6;
254
+
255
+
256
+ /*-----------------------------------------------------------------------*/
257
+ /* Mno Enterprise > Marketplace Section */
258
+ /*-----------------------------------------------------------------------*/
259
+ @dashboard-marketplace-search-text-color: @bg-inverse-color;
260
+ @dashboard-marketplace-search-border-color: @bg-inverse-intense-color;
261
+
262
+ @dashboard-marketplace-tile-bg-color: @bg-inverse-color;
263
+ @dashboard-marketplace-tile-text-color: @text-strong-color;
264
+ @dashboard-marketplace-tile-img-border-color: @dashboard-marketplace-tile-bg-color;
265
+
266
+ @dashboard-marketplace-tile-hover-bg-color: @decorator-main-color;
267
+ @dashboard-marketplace-tile-hover-text-color: @dashboard-marketplace-tile-text-color;
268
+ @dashboard-marketplace-tile-hover-img-border-color: darken(@decorator-main-color,10%);
269
+ @dashboard-marketplace-tile-hover-arrow-color: @text-strong-color;
270
+
271
+ @dashboard-marketplace-show-header-text-color: @bg-inverse-color;
272
+
273
+ @dashboard-marketplace-app-card: { display: block; padding: 10px; height: 120px; margin-bottom: 10px; font-weight: 300; };
274
+
275
+ /*-----------------------------------------------------------------------*/
276
+ /* Responsive Table (cell table) */
277
+ /*-----------------------------------------------------------------------*/
278
+ @table-cell-row-spacing: 10px;
279
+ @table-cell-row-padding: 3px;
280
+
281
+ @table-cell-header-text-size: 12px;
282
+ @table-cell-header-text-color: @bg-inverse-color;
283
+ @table-cell-header-bg-color: @bg-main-color;
284
+ @table-cell-header-additional-rule: { text-transform: uppercase; };
285
+
286
+ @table-cell-row-text-size: 13px;
287
+ @table-cell-row-odd-bg-color: fade(@bg-main-color,30%);
288
+ @table-cell-row-even-bg-color: fade(@bg-main-color,10%);
289
+
290
+
291
+ /*-----------------------------------------------------------------------*/
292
+ /* Twitter Bootstrap colors */
293
+ /*-----------------------------------------------------------------------*/
294
+ @brand-success: @elem-positive-color;
295
+ @brand-warning: @decorator-alt-color;
296
+ @brand-info: @text-inverse-color;
297
+ @brand-danger: @text-inverse-color;
298
+ @brand-primary: @text-inverse-color;
299
+
300
+ /*-----------------------------------------------------------------------*/
301
+ /* Navbar Customization */
302
+ /*-----------------------------------------------------------------------*/
303
+ @navbar-inverse-bg: @bg-inverse-color;
304
+ @navbar-height: 40px;
305
+ @navbar-inverse-link-color: @decorator-inverse-color;
306
+ @navbar-border-radius: 0px;
307
+ @navbar-inverse-border: @bg-inverse-color;
308
+ @navbar-desktop-height: 120px;
309
+ @navbar-inverse-link-active-bg: @navbar-inverse-bg;
310
+
311
+ /*-----------------------------------------------------------------------*/
312
+ /* Form Customization */
313
+ /*-----------------------------------------------------------------------*/
314
+ @input-bg: @bg-on-bg-inverse-color;
315
+ @input-color: @text-inverse-color;
316
+ @input-color-placeholder: @input-color;
317
+
318
+ @input-label-color: @text-inverse-color;
319
+
320
+ /*-----------------------------------------------------------------------*/
321
+ /* Buttons Customization */
322
+ /*-----------------------------------------------------------------------*/
323
+
324
+ // General
325
+ @btn-font-weight: 500;
326
+
327
+ // Warning
328
+ @btn-warning-color: #fff;
329
+
330
+ // Success
331
+ @btn-success-color: #fff;
332
+
333
+ /*-----------------------------------------------------------------------*/
334
+ /* Footer */
335
+ /*-----------------------------------------------------------------------*/
336
+
337
+ @footer-bg: @bg-main-color;