mno-enterprise-core 2.0.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.
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;