beyond_canvas 0.16.0.pre → 0.19.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -3
  3. data/app/assets/config/beyond_canvas_manifest.js +1 -0
  4. data/app/assets/images/icons/arrow_right.svg +1 -0
  5. data/app/assets/images/icons/close.svg +1 -0
  6. data/app/assets/images/icons/home.svg +1 -0
  7. data/app/assets/javascripts/beyond_canvas/base.js +120 -246
  8. data/app/assets/stylesheets/beyond_canvas/base.scss +10 -1
  9. data/app/assets/stylesheets/beyond_canvas/components/_action_bar.scss +28 -0
  10. data/app/assets/stylesheets/beyond_canvas/components/_breadcrumbs.scss +29 -0
  11. data/app/assets/stylesheets/beyond_canvas/components/_buttons.scss +1 -1
  12. data/app/assets/stylesheets/beyond_canvas/components/_debug.scss +10 -0
  13. data/app/assets/stylesheets/beyond_canvas/components/_forms.scss +11 -14
  14. data/app/assets/stylesheets/beyond_canvas/components/_grids.scss +12 -0
  15. data/app/assets/stylesheets/beyond_canvas/components/_inputs.scss +5 -0
  16. data/app/assets/stylesheets/beyond_canvas/components/_main.scss +12 -13
  17. data/app/assets/stylesheets/beyond_canvas/components/_margins.scss +8 -0
  18. data/app/assets/stylesheets/beyond_canvas/components/_menu.scss +40 -0
  19. data/app/assets/stylesheets/beyond_canvas/components/_modals.scss +35 -0
  20. data/app/assets/stylesheets/beyond_canvas/components/_scrollbox.scss +35 -0
  21. data/app/assets/stylesheets/beyond_canvas/components/_sidebar.scss +53 -0
  22. data/app/assets/stylesheets/beyond_canvas/components/_titles.scss +7 -0
  23. data/app/assets/stylesheets/beyond_canvas/settings/_breakpoints.scss +6 -6
  24. data/app/assets/stylesheets/beyond_canvas/settings/_variables.scss +77 -22
  25. data/app/controllers/beyond_canvas/application_controller.rb +2 -0
  26. data/app/controllers/beyond_canvas/authentications_controller.rb +37 -30
  27. data/app/controllers/concerns/beyond_canvas/authentication.rb +1 -12
  28. data/app/controllers/concerns/beyond_canvas/locale_management.rb +5 -4
  29. data/app/form_builders/beyond_canvas/form_builder.rb +8 -6
  30. data/app/helpers/beyond_canvas/authentications_helper.rb +28 -0
  31. data/app/helpers/beyond_canvas/cockpit_app_helper.rb +17 -0
  32. data/app/helpers/beyond_canvas/debug_helper.rb +9 -0
  33. data/app/helpers/beyond_canvas/locale_switch_helper.rb +5 -1
  34. data/app/javascript/beyond_canvas/base.js +3 -0
  35. data/app/javascript/beyond_canvas/initializers/buttons.js +65 -19
  36. data/app/javascript/beyond_canvas/initializers/flash.js +9 -2
  37. data/app/javascript/beyond_canvas/initializers/inputs.js +4 -1
  38. data/app/javascript/beyond_canvas/initializers/modals.js +14 -0
  39. data/app/views/beyond_canvas/authentications/new.html.erb +19 -10
  40. data/app/views/beyond_canvas/shared/_action_bar.html.erb +15 -0
  41. data/app/views/beyond_canvas/shared/_breadcrumbs.html.erb +14 -0
  42. data/app/views/beyond_canvas/shared/_flash.html.erb +22 -12
  43. data/app/views/beyond_canvas/shared/_locales.html.erb +8 -0
  44. data/app/views/beyond_canvas/shared/_menu.html.erb +31 -0
  45. data/app/views/beyond_canvas/shared/_modal.html.erb +6 -0
  46. data/app/views/beyond_canvas/shared/_sidebar.html.erb +16 -0
  47. data/app/views/layouts/beyond_canvas/application.html.erb +31 -0
  48. data/app/views/layouts/beyond_canvas/public.html.erb +10 -1
  49. data/config/locales/en.yml +5 -0
  50. data/config/routes.rb +5 -4
  51. data/lib/beyond_canvas.rb +12 -16
  52. data/lib/beyond_canvas/configuration.rb +11 -6
  53. data/lib/beyond_canvas/engine.rb +4 -2
  54. data/lib/beyond_canvas/menu_item_registration.rb +19 -0
  55. data/lib/beyond_canvas/parameter_sanitizer.rb +1 -1
  56. data/lib/beyond_canvas/rails/routes.rb +8 -7
  57. data/lib/beyond_canvas/version.rb +1 -1
  58. data/lib/generators/beyond_canvas/controller/controller_generator.rb +1 -2
  59. data/lib/generators/beyond_canvas/controller/templates/controller.erb +2 -19
  60. data/lib/generators/beyond_canvas/custom_menu/custom_menu_generator.rb +13 -0
  61. data/lib/generators/beyond_canvas/custom_menu/templates/beyond_canvas_custom_menu.html.erb +32 -0
  62. data/lib/generators/beyond_canvas/custom_styles/custom_styles_generator.rb +1 -1
  63. data/lib/generators/beyond_canvas/custom_styles/templates/beyond_canvas_custom_styles.scss +199 -0
  64. data/lib/generators/beyond_canvas/install/install_generator.rb +3 -5
  65. data/lib/generators/beyond_canvas/install/templates/beyond_canvas.rb.erb +51 -13
  66. data/lib/generators/beyond_canvas/{auth_model/auth_model_generator.rb → model/model_generator.rb} +4 -5
  67. data/lib/generators/beyond_canvas/{auth_model → model}/templates/migration.erb +2 -4
  68. data/lib/generators/beyond_canvas/{auth_model → model}/templates/model.erb +0 -0
  69. data/lib/generators/beyond_canvas/views/views_generator.rb +4 -6
  70. data/lib/models/concerns/authentication.rb +57 -0
  71. data/lib/models/concerns/utils.rb +79 -0
  72. data/lib/models/shop.rb +12 -0
  73. metadata +72 -31
  74. data/app/controllers/concerns/beyond_canvas/resource_management.rb +0 -33
  75. data/app/javascript/beyond_canvas/initializers/functions.js +0 -41
  76. data/app/views/beyond_canvas/locales/_edit.html.erb +0 -8
  77. data/lib/beyond_canvas/models/authentication.rb +0 -66
  78. data/lib/beyond_canvas/models/shop.rb +0 -28
  79. data/lib/beyond_canvas/models/utils.rb +0 -55
  80. data/lib/generators/beyond_canvas/custom_styles/templates/beyond_canvas_custom_styles.sass +0 -123
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module BeyondCanvas
4
- module Models
5
- module Shop # :nodoc:
6
- extend ActiveSupport::Concern
7
- include BeyondCanvas::Models::Authentication
8
- include BeyondCanvas::Models::Utils
9
-
10
- included do
11
- attr_accessor :api_url, :return_url
12
-
13
- ##############################################################################
14
- # Validations
15
- ##############################################################################
16
-
17
- # Callback url params
18
-
19
- validates :api_url,
20
- presence: true,
21
- on: :create
22
- validates :return_url,
23
- presence: true,
24
- on: :create
25
- end
26
- end
27
- end
28
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module BeyondCanvas
4
- module Models
5
- module Utils # :nodoc:
6
- extend ActiveSupport::Concern
7
-
8
- included do
9
- ##############################################################################
10
- # Instance methods
11
- ##############################################################################
12
-
13
- #
14
- # Generates a new access_token and refresh_token
15
- #
16
- def refresh_token
17
- beyond_session = BeyondApi::Session.new(api_url: beyond_api_url, refresh_token: beyond_refresh_token)
18
- beyond_session.token.refresh
19
-
20
- update(beyond_access_token: beyond_session.access_token,
21
- beyond_refresh_token: beyond_session.refresh_token)
22
- end
23
-
24
- #
25
- # Generates a new access_token and refresh_token if they have expired
26
- #
27
- def refresh_token_if_needed
28
- token_timestamp = JWT.decode(beyond_access_token, nil, false).first['exp']
29
- current_timestamp = DateTime.now.to_i
30
- return unless token_timestamp - current_timestamp <= 3600
31
-
32
- refresh_token
33
- end
34
-
35
- #
36
- # Returns a BeyondApi::Session object with api_url, access_token and refresh_token attributes
37
- #
38
- def to_session
39
- BeyondApi::Session.new(api_url: beyond_api_url,
40
- access_token: beyond_access_token,
41
- refresh_token: beyond_refresh_token)
42
- end
43
-
44
- ##############################################################################
45
- # Class methods
46
- ##############################################################################
47
-
48
- def self.find_session(id)
49
- shop = find(id)
50
- shop.to_session
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,123 +0,0 @@
1
- // ************************************************************
2
- // Colors
3
- // ************************************************************
4
-
5
- // $palette-primary: rgb(78, 183, 168)
6
- // $palette-secondary: rgb(28, 53, 69)
7
- // $palette-cancel: rgb(153, 153, 153)
8
- // $palette-danger: rgb(218, 60, 60)
9
-
10
- // ************************************************************
11
- // General styles
12
- // ************************************************************
13
-
14
- // $main-background: rgb(233, 232, 220)
15
-
16
- // ************************************************************
17
- // Typography
18
- // ************************************************************
19
-
20
- // $main-color: rgb(62, 62, 62)
21
-
22
- // ************************************************************
23
- // Headlines
24
- // ************************************************************
25
-
26
- // $headline-color: rgb(122, 118, 76)
27
-
28
- // ************************************************************
29
- // Links
30
- // ************************************************************
31
-
32
- // $link-primary-color: darken($palette-primary, 10%)
33
- // $link-secondary-color: darken($palette-cancel, 10%)
34
- // $link-danger-color: darken($palette-danger, 10%)
35
-
36
- // ************************************************************
37
- // Buttons
38
- // ************************************************************
39
-
40
- // $button-primary-background: $palette-primary
41
- // $button-primary-color: $white
42
-
43
- // $button-secondary-background: $palette-cancel
44
- // $button-secondary-color: $white
45
-
46
- // $button-danger-background: $palette-danger
47
- // $button-danger-color: $white
48
-
49
- // $button-border-radius: 3px
50
- // $button-box-shadow: true
51
-
52
- // ************************************************************
53
- // Cards
54
- // ************************************************************
55
-
56
- // $card-border-radius: 3px
57
- // $card-box-shadow: 0 2px 7px rgba($black, .2)
58
- // $card-separator-color: rgb(222, 222, 222)
59
- // $card-title-color: rgb(247, 133, 96)
60
-
61
- // ************************************************************
62
- // Labels
63
- // ************************************************************
64
-
65
- // $label-color: rgb(128, 128, 128)
66
-
67
- // ************************************************************
68
- // Inputs
69
- // ************************************************************
70
-
71
- // $input-border-color: rgb(217, 216, 195)
72
- // $input-border-color-focus: $palette-primary
73
- // $input-errors-color: $palette-danger
74
-
75
- // ************************************************************
76
- // Hints
77
- // ************************************************************
78
-
79
- // $hint-color: rgb(158, 158, 158)
80
-
81
- // ************************************************************
82
- // Logo
83
- // ************************************************************
84
-
85
- // $logo-margin-top-public: 0
86
- // $logo-margin-bottom-public: 34px
87
-
88
- // ************************************************************
89
- // Flash
90
- // ************************************************************
91
-
92
- // $flash-success: rgb(123, 170, 81)
93
- // $flash-info: rgb(90, 129, 171)
94
- // $flash-warning: rgb(193, 179, 26)
95
- // $flash-error: rgb(162, 66, 60)
96
- // $flash-border-radius: 4px
97
- // $flash-box-shadow: 0 1px 2px 0 rgba($black, 0.2)
98
- // $flash-color: rgb(128, 128, 128)
99
-
100
- // ************************************************************
101
- // Tables
102
- // ************************************************************
103
-
104
- // $table-header-background: rgb(243, 242, 236)
105
- // $table-border-color: rgb(233, 232, 220)
106
-
107
- // ************************************************************
108
- // Comments
109
- // ************************************************************
110
-
111
- // $comment-background: rgb(246, 246, 243)
112
- // $comment-color: rgb(170, 169, 156)
113
-
114
- // ************************************************************
115
- // Notices
116
- // ************************************************************
117
-
118
- // $notice-success-background: rgb(123, 170, 81)
119
- // $notice-info-background: rgb(90, 129, 171)
120
- // $notice-warning-background: rgb(193, 179, 26)
121
- // $notice-error-background: rgb(162, 66, 60)
122
- // $notice-border-radius: 4px
123
- // $notice-color: rgb(255, 255, 255)