lesli_shield 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/images/lesli_shield/login-background.jpg +0 -0
- data/app/assets/images/lesli_shield/register-background.jpg +0 -0
- data/app/assets/stylesheets/lesli_shield/confirmations.css +1 -32
- data/app/assets/stylesheets/lesli_shield/devise/oauth.css +0 -32
- data/app/assets/stylesheets/lesli_shield/passwords.css +1 -18953
- data/app/assets/stylesheets/lesli_shield/registrations.css +1 -19040
- data/app/assets/stylesheets/lesli_shield/sessions.css +1 -19040
- data/app/assets/stylesheets/lesli_shield/users.css +0 -30
- data/app/controllers/lesli_shield/dashboards_controller.rb +1 -8
- data/app/controllers/lesli_shield/invites_controller.rb +80 -0
- data/app/controllers/lesli_shield/role/actions_controller.rb +32 -20
- data/app/controllers/lesli_shield/roles_controller.rb +16 -8
- data/app/controllers/lesli_shield/sessions_controller.rb +5 -8
- data/app/controllers/lesli_shield/user/roles_controller.rb +62 -0
- data/app/controllers/lesli_shield/users_controller.rb +57 -20
- data/app/controllers/users/confirmations_controller.rb +42 -8
- data/app/controllers/users/passwords_controller.rb +52 -37
- data/app/controllers/users/registrations_controller.rb +2 -8
- data/app/controllers/users/sessions_controller.rb +57 -50
- data/app/helpers/lesli_shield/invites_helper.rb +4 -0
- data/app/helpers/lesli_shield/user/roles_helper.rb +4 -0
- data/app/interfaces/lesli_shield/authorization_interface.rb +8 -2
- data/app/mailers/lesli_shield/devise_mailer.rb +98 -0
- data/app/mailers/lesli_shield/invitation.html.erb +23 -0
- data/app/models/concerns/lesli_shield/user_security.rb +222 -0
- data/app/models/lesli_shield/account.rb +1 -1
- data/app/models/lesli_shield/dashboard.rb +1 -4
- data/app/models/lesli_shield/invite.rb +24 -0
- data/app/models/lesli_shield/role/action.rb +40 -0
- data/{db/migrate/v1/0801003010_create_lesli_shield_dashboards.rb → app/models/lesli_shield/role/privilege.rb} +5 -4
- data/app/models/lesli_shield/user/role.rb +8 -0
- data/app/models/lesli_shield/user/session.rb +80 -0
- data/{lib/scss/passwords.scss → app/services/lesli_shield/invite_service.rb} +14 -6
- data/app/services/lesli_shield/role_action_service.rb +118 -0
- data/app/services/lesli_shield/role_privilege_service.rb +112 -0
- data/app/{operators/lesli_shield/user_registration_operator.rb → services/lesli_shield/user_registration_service.rb} +26 -29
- data/app/services/lesli_shield/user_session_service.rb +78 -0
- data/app/services/lesli_shield/user_validator_service.rb +221 -0
- data/app/views/devise/confirmations/show.html.erb +4 -6
- data/app/views/devise/passwords/edit.html.erb +1 -2
- data/app/views/devise/passwords/new.html.erb +1 -1
- data/app/views/devise/registrations/new.html.erb +9 -2
- data/app/views/devise/sessions/new.html.erb +3 -2
- data/{lib/vue/apps/dashboards/components/engine-version.vue → app/views/devise/shared/_application-devise-simple.erb} +32 -44
- data/app/views/devise/shared/_application-devise.html.erb +76 -0
- data/app/views/lesli_shield/dashboards/_component-calendar.html.erb +1 -0
- data/app/views/lesli_shield/dashboards/_component-chart-bar.html.erb +6 -0
- data/app/views/lesli_shield/dashboards/_component-chart-line.html.erb +8 -0
- data/app/views/lesli_shield/dashboards/_component-count.html.erb +1 -0
- data/app/views/lesli_shield/dashboards/_component-date.html.erb +1 -0
- data/app/views/lesli_shield/dashboards/_component-weather.html.erb +1 -0
- data/app/views/lesli_shield/invites/_form.html.erb +10 -0
- data/app/views/lesli_shield/invites/_invite.html.erb +2 -0
- data/app/views/lesli_shield/invites/edit.html.erb +12 -0
- data/{lib/scss/users.scss → app/views/lesli_shield/invites/index.html.erb} +38 -30
- data/{db/migrate/v1/0801001710_create_lesli_shield_settings.rb → app/views/lesli_shield/invites/new.html.erb} +9 -10
- data/{lib/scss/confirmations.scss → app/views/lesli_shield/invites/show.html.erb} +25 -29
- data/app/views/lesli_shield/partials/_navigation.html.erb +2 -4
- data/app/views/lesli_shield/{roles/_form-privileges.html.erb → role/actions/_form.html.erb} +5 -30
- data/app/views/lesli_shield/role/actions/index.html.erb +14 -0
- data/app/views/lesli_shield/roles/index.html.erb +2 -6
- data/app/views/lesli_shield/roles/new.html.erb +0 -11
- data/app/views/lesli_shield/roles/show.html.erb +5 -8
- data/app/views/lesli_shield/user/roles/_form.html.erb +17 -0
- data/app/views/lesli_shield/user/roles/_role.html.erb +2 -0
- data/app/views/lesli_shield/user/roles/edit.html.erb +12 -0
- data/app/views/lesli_shield/user/roles/index.html.erb +16 -0
- data/app/views/lesli_shield/user/roles/new.html.erb +11 -0
- data/app/views/lesli_shield/user/roles/show.html.erb +10 -0
- data/app/views/lesli_shield/users/{_viewer-activities.html.erb → _activities-viewer.html.erb} +2 -4
- data/app/views/lesli_shield/users/_information-card.html.erb +3 -3
- data/app/views/lesli_shield/users/_management-privileges.html.erb +74 -0
- data/app/views/lesli_shield/users/_management-security.html.erb +5 -0
- data/app/views/lesli_shield/users/index.html.erb +3 -7
- data/app/views/lesli_shield/users/new.html.erb +5 -11
- data/app/views/lesli_shield/users/show.html.erb +7 -5
- data/config/initializers/devise.rb +305 -304
- data/config/locales/translations.en.yml +4 -1
- data/config/locales/translations.es.yml +4 -1
- data/config/locales/translations.it.yml +4 -1
- data/config/routes.rb +7 -8
- data/{lib/scss/registrations.scss → db/migrate/v1/0801100210_create_lesli_shield_role_actions.rb} +20 -39
- data/db/migrate/v1/0801100410_create_lesli_shield_role_privileges.rb +45 -0
- data/db/migrate/v1/0801110110_create_lesli_shield_user_roles.rb +43 -0
- data/db/migrate/v1/0801111210_create_lesli_shield_user_sessions.rb +56 -0
- data/db/migrate/v1/0801120110_create_lesli_shield_invites.rb +49 -0
- data/lib/lesli_shield/router.rb +21 -0
- data/lib/lesli_shield/version.rb +2 -2
- data/lib/lesli_shield.rb +1 -1
- data/lib/tasks/lesli_shield_tasks.rake +1 -1
- data/readme.md +59 -20
- metadata +59 -56
- data/app/controllers/lesli_shield/dashboard/components_controller.rb +0 -60
- data/app/models/lesli_shield/dashboard/component.rb +0 -18
- data/app/views/lesli_shield/dashboards/edit.html.erb +0 -1
- data/app/views/lesli_shield/dashboards/index.html.erb +0 -9
- data/app/views/lesli_shield/dashboards/new.html.erb +0 -1
- data/app/views/lesli_shield/dashboards/show.html.erb +0 -1
- data/app/views/lesli_shield/roles/_session.html.erb +0 -2
- data/app/views/lesli_shield/roles/edit.html.erb +0 -12
- data/app/views/lesli_shield/roles/update.turbo_stream.erb +0 -3
- data/app/views/lesli_shield/users/update.turbo_stream.erb +0 -3
- data/lib/lesli_shield/routing.rb +0 -23
- data/lib/scss/_devise-simple.scss +0 -90
- data/lib/scss/_devise.scss +0 -154
- data/lib/scss/application.scss +0 -6
- data/lib/scss/devise/oauth.scss +0 -34
- data/lib/scss/sessions.scss +0 -66
- data/lib/vue/application.js +0 -83
- data/lib/vue/apps/sessions/index.vue +0 -50
- data/lib/vue/confirmations.js +0 -33
- data/lib/vue/passwords.js +0 -137
- data/lib/vue/registrations.js +0 -144
- data/lib/vue/sessions.js +0 -148
- data/lib/vue/stores/sessions.js +0 -43
- data/lib/vue/stores/translations.json +0 -162
- /data/app/views/lesli_shield/roles/{_form-information.html.erb → _form.html.erb} +0 -0
- /data/db/migrate/v1/{0801120310_create_lesli_shield_user_shortcuts.rb → 0801111010_create_lesli_shield_user_shortcuts.rb} +0 -0
- /data/db/migrate/v1/{0801120410_create_lesli_shield_user_tokens.rb → 0801111110_create_lesli_shield_user_tokens.rb} +0 -0
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lesli_shield
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- The Lesli Development Team
|
|
@@ -15,28 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version:
|
|
18
|
+
version: 5.1.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version:
|
|
26
|
-
- !ruby/object:Gem::Dependency
|
|
27
|
-
name: devise
|
|
28
|
-
requirement: !ruby/object:Gem::Requirement
|
|
29
|
-
requirements:
|
|
30
|
-
- - "~>"
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: '4.9'
|
|
33
|
-
type: :runtime
|
|
34
|
-
prerelease: false
|
|
35
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
-
requirements:
|
|
37
|
-
- - "~>"
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: '4.9'
|
|
25
|
+
version: 5.1.0
|
|
40
26
|
description: "Provides a complete authentication and authorization solution for The
|
|
41
27
|
Lesli Framework, \nincluding user session management, secure login and logout, role-based
|
|
42
28
|
access control, \nand permission handling.\n"
|
|
@@ -48,6 +34,8 @@ extra_rdoc_files: []
|
|
|
48
34
|
files:
|
|
49
35
|
- Rakefile
|
|
50
36
|
- app/assets/config/lesli_shield_manifest.js
|
|
37
|
+
- app/assets/images/lesli_shield/login-background.jpg
|
|
38
|
+
- app/assets/images/lesli_shield/register-background.jpg
|
|
51
39
|
- app/assets/images/lesli_shield/shield-logo.svg
|
|
52
40
|
- app/assets/javascripts/lesli_shield/application.js
|
|
53
41
|
- app/assets/javascripts/lesli_shield/confirmations.js
|
|
@@ -62,12 +50,13 @@ files:
|
|
|
62
50
|
- app/assets/stylesheets/lesli_shield/sessions.css
|
|
63
51
|
- app/assets/stylesheets/lesli_shield/users.css
|
|
64
52
|
- app/controllers/lesli_shield/application_controller.rb
|
|
65
|
-
- app/controllers/lesli_shield/dashboard/components_controller.rb
|
|
66
53
|
- app/controllers/lesli_shield/dashboards_controller.rb
|
|
54
|
+
- app/controllers/lesli_shield/invites_controller.rb
|
|
67
55
|
- app/controllers/lesli_shield/role/actions_controller.rb
|
|
68
56
|
- app/controllers/lesli_shield/roles_controller.rb
|
|
69
57
|
- app/controllers/lesli_shield/sessions_controller.rb
|
|
70
58
|
- app/controllers/lesli_shield/settings_controller.rb
|
|
59
|
+
- app/controllers/lesli_shield/user/roles_controller.rb
|
|
71
60
|
- app/controllers/lesli_shield/users_controller.rb
|
|
72
61
|
- app/controllers/users/confirmations_controller.rb
|
|
73
62
|
- app/controllers/users/omniauth_callbacks_controller.rb
|
|
@@ -77,21 +66,35 @@ files:
|
|
|
77
66
|
- app/controllers/users/unlocks_controller.rb
|
|
78
67
|
- app/helpers/lesli_shield/application_helper.rb
|
|
79
68
|
- app/helpers/lesli_shield/dashboards_helper.rb
|
|
69
|
+
- app/helpers/lesli_shield/invites_helper.rb
|
|
80
70
|
- app/helpers/lesli_shield/sessions_helper.rb
|
|
81
71
|
- app/helpers/lesli_shield/settings_helper.rb
|
|
72
|
+
- app/helpers/lesli_shield/user/roles_helper.rb
|
|
82
73
|
- app/helpers/lesli_shield/users_helper.rb
|
|
83
74
|
- app/interfaces/lesli_shield/authentication_interface.rb
|
|
84
75
|
- app/interfaces/lesli_shield/authorization_interface.rb
|
|
85
76
|
- app/jobs/lesli_shield/application_job.rb
|
|
86
77
|
- app/mailers/lesli_shield/application_mailer.rb
|
|
78
|
+
- app/mailers/lesli_shield/devise_mailer.rb
|
|
79
|
+
- app/mailers/lesli_shield/invitation.html.erb
|
|
80
|
+
- app/models/concerns/lesli_shield/user_security.rb
|
|
87
81
|
- app/models/lesli_shield/account.rb
|
|
88
82
|
- app/models/lesli_shield/application_record.rb
|
|
89
83
|
- app/models/lesli_shield/dashboard.rb
|
|
90
|
-
- app/models/lesli_shield/
|
|
84
|
+
- app/models/lesli_shield/invite.rb
|
|
85
|
+
- app/models/lesli_shield/role/action.rb
|
|
86
|
+
- app/models/lesli_shield/role/privilege.rb
|
|
91
87
|
- app/models/lesli_shield/setting.rb
|
|
92
88
|
- app/models/lesli_shield/user.rb
|
|
93
|
-
- app/
|
|
89
|
+
- app/models/lesli_shield/user/role.rb
|
|
90
|
+
- app/models/lesli_shield/user/session.rb
|
|
91
|
+
- app/services/lesli_shield/invite_service.rb
|
|
92
|
+
- app/services/lesli_shield/role_action_service.rb
|
|
93
|
+
- app/services/lesli_shield/role_privilege_service.rb
|
|
94
94
|
- app/services/lesli_shield/tokens.rb
|
|
95
|
+
- app/services/lesli_shield/user_registration_service.rb
|
|
96
|
+
- app/services/lesli_shield/user_session_service.rb
|
|
97
|
+
- app/services/lesli_shield/user_validator_service.rb
|
|
95
98
|
- app/views/devise/confirmations/new.html.erb
|
|
96
99
|
- app/views/devise/confirmations/show.html.erb
|
|
97
100
|
- app/views/devise/mailer/confirmation_instructions.html.erb
|
|
@@ -104,23 +107,31 @@ files:
|
|
|
104
107
|
- app/views/devise/registrations/edit.html.erb
|
|
105
108
|
- app/views/devise/registrations/new.html.erb
|
|
106
109
|
- app/views/devise/sessions/new.html.erb
|
|
110
|
+
- app/views/devise/shared/_application-devise-simple.erb
|
|
111
|
+
- app/views/devise/shared/_application-devise.html.erb
|
|
107
112
|
- app/views/devise/shared/_demo.html.erb
|
|
108
113
|
- app/views/devise/shared/_error_messages.html.erb
|
|
109
114
|
- app/views/devise/shared/_links.html.erb
|
|
110
115
|
- app/views/devise/unlocks/new.html.erb
|
|
111
|
-
- app/views/lesli_shield/dashboards/
|
|
112
|
-
- app/views/lesli_shield/dashboards/
|
|
113
|
-
- app/views/lesli_shield/dashboards/
|
|
114
|
-
- app/views/lesli_shield/dashboards/
|
|
116
|
+
- app/views/lesli_shield/dashboards/_component-calendar.html.erb
|
|
117
|
+
- app/views/lesli_shield/dashboards/_component-chart-bar.html.erb
|
|
118
|
+
- app/views/lesli_shield/dashboards/_component-chart-line.html.erb
|
|
119
|
+
- app/views/lesli_shield/dashboards/_component-count.html.erb
|
|
120
|
+
- app/views/lesli_shield/dashboards/_component-date.html.erb
|
|
121
|
+
- app/views/lesli_shield/dashboards/_component-weather.html.erb
|
|
122
|
+
- app/views/lesli_shield/invites/_form.html.erb
|
|
123
|
+
- app/views/lesli_shield/invites/_invite.html.erb
|
|
124
|
+
- app/views/lesli_shield/invites/edit.html.erb
|
|
125
|
+
- app/views/lesli_shield/invites/index.html.erb
|
|
126
|
+
- app/views/lesli_shield/invites/new.html.erb
|
|
127
|
+
- app/views/lesli_shield/invites/show.html.erb
|
|
115
128
|
- app/views/lesli_shield/partials/_navigation.html.erb
|
|
116
|
-
- app/views/lesli_shield/
|
|
117
|
-
- app/views/lesli_shield/
|
|
118
|
-
- app/views/lesli_shield/roles/
|
|
119
|
-
- app/views/lesli_shield/roles/edit.html.erb
|
|
129
|
+
- app/views/lesli_shield/role/actions/_form.html.erb
|
|
130
|
+
- app/views/lesli_shield/role/actions/index.html.erb
|
|
131
|
+
- app/views/lesli_shield/roles/_form.html.erb
|
|
120
132
|
- app/views/lesli_shield/roles/index.html.erb
|
|
121
133
|
- app/views/lesli_shield/roles/new.html.erb
|
|
122
134
|
- app/views/lesli_shield/roles/show.html.erb
|
|
123
|
-
- app/views/lesli_shield/roles/update.turbo_stream.erb
|
|
124
135
|
- app/views/lesli_shield/sessions/_form.html.erb
|
|
125
136
|
- app/views/lesli_shield/sessions/_session.html.erb
|
|
126
137
|
- app/views/lesli_shield/sessions/edit.html.erb
|
|
@@ -133,15 +144,22 @@ files:
|
|
|
133
144
|
- app/views/lesli_shield/settings/index.html.erb
|
|
134
145
|
- app/views/lesli_shield/settings/new.html.erb
|
|
135
146
|
- app/views/lesli_shield/settings/show.html.erb
|
|
147
|
+
- app/views/lesli_shield/user/roles/_form.html.erb
|
|
148
|
+
- app/views/lesli_shield/user/roles/_role.html.erb
|
|
149
|
+
- app/views/lesli_shield/user/roles/edit.html.erb
|
|
150
|
+
- app/views/lesli_shield/user/roles/index.html.erb
|
|
151
|
+
- app/views/lesli_shield/user/roles/new.html.erb
|
|
152
|
+
- app/views/lesli_shield/user/roles/show.html.erb
|
|
153
|
+
- app/views/lesli_shield/users/_activities-viewer.html.erb
|
|
136
154
|
- app/views/lesli_shield/users/_information-card.html.erb
|
|
137
155
|
- app/views/lesli_shield/users/_information-form.html.erb
|
|
156
|
+
- app/views/lesli_shield/users/_management-privileges.html.erb
|
|
157
|
+
- app/views/lesli_shield/users/_management-security.html.erb
|
|
138
158
|
- app/views/lesli_shield/users/_management-sessions.html.erb
|
|
139
|
-
- app/views/lesli_shield/users/_viewer-activities.html.erb
|
|
140
159
|
- app/views/lesli_shield/users/edit.html.erb
|
|
141
160
|
- app/views/lesli_shield/users/index.html.erb
|
|
142
161
|
- app/views/lesli_shield/users/new.html.erb
|
|
143
162
|
- app/views/lesli_shield/users/show.html.erb
|
|
144
|
-
- app/views/lesli_shield/users/update.turbo_stream.erb
|
|
145
163
|
- config/initializers/devise.rb
|
|
146
164
|
- config/locales/translations.en.yml
|
|
147
165
|
- config/locales/translations.es.yml
|
|
@@ -150,33 +168,18 @@ files:
|
|
|
150
168
|
- config/locales/translations.pt.yml
|
|
151
169
|
- config/routes.rb
|
|
152
170
|
- db/migrate/v1/0801000110_create_lesli_shield_accounts.rb
|
|
153
|
-
- db/migrate/v1/
|
|
154
|
-
- db/migrate/v1/
|
|
155
|
-
- db/migrate/v1/
|
|
156
|
-
- db/migrate/v1/
|
|
171
|
+
- db/migrate/v1/0801100210_create_lesli_shield_role_actions.rb
|
|
172
|
+
- db/migrate/v1/0801100410_create_lesli_shield_role_privileges.rb
|
|
173
|
+
- db/migrate/v1/0801110110_create_lesli_shield_user_roles.rb
|
|
174
|
+
- db/migrate/v1/0801111010_create_lesli_shield_user_shortcuts.rb
|
|
175
|
+
- db/migrate/v1/0801111110_create_lesli_shield_user_tokens.rb
|
|
176
|
+
- db/migrate/v1/0801111210_create_lesli_shield_user_sessions.rb
|
|
177
|
+
- db/migrate/v1/0801120110_create_lesli_shield_invites.rb
|
|
157
178
|
- lib/lesli_shield.rb
|
|
158
179
|
- lib/lesli_shield/engine.rb
|
|
159
|
-
- lib/lesli_shield/
|
|
180
|
+
- lib/lesli_shield/router.rb
|
|
160
181
|
- lib/lesli_shield/version.rb
|
|
161
|
-
- lib/scss/_devise-simple.scss
|
|
162
|
-
- lib/scss/_devise.scss
|
|
163
|
-
- lib/scss/application.scss
|
|
164
|
-
- lib/scss/confirmations.scss
|
|
165
|
-
- lib/scss/devise/oauth.scss
|
|
166
|
-
- lib/scss/passwords.scss
|
|
167
|
-
- lib/scss/registrations.scss
|
|
168
|
-
- lib/scss/sessions.scss
|
|
169
|
-
- lib/scss/users.scss
|
|
170
182
|
- lib/tasks/lesli_shield_tasks.rake
|
|
171
|
-
- lib/vue/application.js
|
|
172
|
-
- lib/vue/apps/dashboards/components/engine-version.vue
|
|
173
|
-
- lib/vue/apps/sessions/index.vue
|
|
174
|
-
- lib/vue/confirmations.js
|
|
175
|
-
- lib/vue/passwords.js
|
|
176
|
-
- lib/vue/registrations.js
|
|
177
|
-
- lib/vue/sessions.js
|
|
178
|
-
- lib/vue/stores/sessions.js
|
|
179
|
-
- lib/vue/stores/translations.json
|
|
180
183
|
- license
|
|
181
184
|
- readme.md
|
|
182
185
|
homepage: https://www.lesli.dev/
|
|
@@ -195,7 +198,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
195
198
|
requirements:
|
|
196
199
|
- - ">="
|
|
197
200
|
- !ruby/object:Gem::Version
|
|
198
|
-
version: '
|
|
201
|
+
version: '0'
|
|
199
202
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
200
203
|
requirements:
|
|
201
204
|
- - ">="
|
|
@@ -204,5 +207,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
204
207
|
requirements: []
|
|
205
208
|
rubygems_version: 3.7.1
|
|
206
209
|
specification_version: 4
|
|
207
|
-
summary:
|
|
210
|
+
summary: Users & security management for the Lesli Framework.
|
|
208
211
|
test_files: []
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
module LesliShield
|
|
2
|
-
class Dashboard::ComponentsController < ApplicationController
|
|
3
|
-
before_action :set_dashboard_component, only: %i[ show edit update destroy ]
|
|
4
|
-
|
|
5
|
-
# GET /dashboard/components
|
|
6
|
-
def index
|
|
7
|
-
@dashboard_components = Dashboard::Component.all
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
# GET /dashboard/components/1
|
|
11
|
-
def show
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
# GET /dashboard/components/new
|
|
15
|
-
def new
|
|
16
|
-
@dashboard_component = Dashboard::Component.new
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# GET /dashboard/components/1/edit
|
|
20
|
-
def edit
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# POST /dashboard/components
|
|
24
|
-
def create
|
|
25
|
-
@dashboard_component = Dashboard::Component.new(dashboard_component_params)
|
|
26
|
-
|
|
27
|
-
if @dashboard_component.save
|
|
28
|
-
redirect_to @dashboard_component, notice: "Component was successfully created."
|
|
29
|
-
else
|
|
30
|
-
render :new, status: :unprocessable_entity
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
# PATCH/PUT /dashboard/components/1
|
|
35
|
-
def update
|
|
36
|
-
if @dashboard_component.update(dashboard_component_params)
|
|
37
|
-
redirect_to @dashboard_component, notice: "Component was successfully updated.", status: :see_other
|
|
38
|
-
else
|
|
39
|
-
render :edit, status: :unprocessable_entity
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# DELETE /dashboard/components/1
|
|
44
|
-
def destroy
|
|
45
|
-
@dashboard_component.destroy
|
|
46
|
-
redirect_to dashboard_components_url, notice: "Component was successfully destroyed.", status: :see_other
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
private
|
|
50
|
-
# Use callbacks to share common setup or constraints between actions.
|
|
51
|
-
def set_dashboard_component
|
|
52
|
-
@dashboard_component = Dashboard::Component.find(params[:id])
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# Only allow a list of trusted parameters through.
|
|
56
|
-
def dashboard_component_params
|
|
57
|
-
params.fetch(:dashboard_component, {})
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
module LesliShield
|
|
2
|
-
class Dashboard::Component < ApplicationRecord
|
|
3
|
-
|
|
4
|
-
belongs_to :dashboard, inverse_of: :components
|
|
5
|
-
|
|
6
|
-
def self.component_ids
|
|
7
|
-
["audit-users", "audit-roles"]
|
|
8
|
-
end
|
|
9
|
-
# components_ids: {
|
|
10
|
-
# list_new_tickets: "list_new_tickets",
|
|
11
|
-
# list_my_tickets: "list_my_tickets",
|
|
12
|
-
# list_unassigned_tickets: "list_unassigned_tickets",
|
|
13
|
-
# chart_tickets_by_type: "chart_tickets_by_type",
|
|
14
|
-
# chart_tickets_by_category: "chart_tickets_by_category",
|
|
15
|
-
# hours_worked: "hours_worked"
|
|
16
|
-
# }
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<router-view></router-view>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<router-view></router-view>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<%= render("/lesli/shared/dashboards/show") %>
|
data/lib/lesli_shield/routing.rb
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
module LesliShield
|
|
2
|
-
module Routing
|
|
3
|
-
def self.mount_login_at path=""
|
|
4
|
-
Rails.application.routes.draw do
|
|
5
|
-
devise_for :users, class_name: "Lesli::User", module: :devise,
|
|
6
|
-
:path => path,
|
|
7
|
-
:path_names => {
|
|
8
|
-
:sign_in => "login",
|
|
9
|
-
:sign_out => "logout",
|
|
10
|
-
:sign_up => "register",
|
|
11
|
-
:password => "password",
|
|
12
|
-
:confirmation => "confirmation"
|
|
13
|
-
},
|
|
14
|
-
:controllers => {
|
|
15
|
-
:registrations => "users/registrations",
|
|
16
|
-
:confirmations => "users/confirmations",
|
|
17
|
-
:passwords => "users/passwords",
|
|
18
|
-
:sessions => "users/sessions"
|
|
19
|
-
}
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
Lesli
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2025, Lesli Technologies, S. A.
|
|
6
|
-
|
|
7
|
-
This program is free software: you can redistribute it and/or modify
|
|
8
|
-
it under the terms of the GNU General Public License as published by
|
|
9
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
10
|
-
(at your option) any later version.
|
|
11
|
-
|
|
12
|
-
This program is distributed in the hope that it will be useful,
|
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
-
GNU General Public License for more details.
|
|
16
|
-
|
|
17
|
-
You should have received a copy of the GNU General Public License
|
|
18
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
|
19
|
-
|
|
20
|
-
Lesli · Ruby on Rails SaaS Development Framework.
|
|
21
|
-
|
|
22
|
-
Made with ♥ by LesliTech
|
|
23
|
-
Building a better future, one line of code at a time.
|
|
24
|
-
|
|
25
|
-
@contact hello@lesli.tech
|
|
26
|
-
@website https://www.lesli.tech
|
|
27
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
28
|
-
|
|
29
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
|
-
// ·
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// ·
|
|
35
|
-
@use "lesli-css" as lesli;
|
|
36
|
-
@use "LesliAssets/lib/lesli_assets_styles/templates/public";
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
// ·
|
|
40
|
-
main {
|
|
41
|
-
background: white;
|
|
42
|
-
|
|
43
|
-
// logo container
|
|
44
|
-
.hero-head {
|
|
45
|
-
padding: 8rem 0 4rem;
|
|
46
|
-
|
|
47
|
-
.lesli-logo {
|
|
48
|
-
max-width: 130px;
|
|
49
|
-
margin-bottom: 1rem;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// form container
|
|
54
|
-
.hero-body {
|
|
55
|
-
flex-direction: column;
|
|
56
|
-
background-color: whitesmoke;
|
|
57
|
-
border-top: 1px solid #ebebeb;
|
|
58
|
-
|
|
59
|
-
form {
|
|
60
|
-
width: 100%;
|
|
61
|
-
padding: 4rem;
|
|
62
|
-
max-width: 750px;
|
|
63
|
-
margin: 2rem auto;
|
|
64
|
-
border-radius: 6px;
|
|
65
|
-
border: 1px solid #ececec;
|
|
66
|
-
background-color: white;
|
|
67
|
-
|
|
68
|
-
.label {
|
|
69
|
-
font-size: 1.1rem;
|
|
70
|
-
font-weight: 600;
|
|
71
|
-
margin-bottom: 0;
|
|
72
|
-
color: lesli.lesli-color(slate, 500);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.links {
|
|
77
|
-
display: flex;
|
|
78
|
-
|
|
79
|
-
a {
|
|
80
|
-
display: flex;
|
|
81
|
-
align-items: center;
|
|
82
|
-
font-family: "OpenSans";
|
|
83
|
-
// add margin only to the middle links
|
|
84
|
-
&:not(:first-child):not(:last-child) {
|
|
85
|
-
margin: 0 1rem;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
data/lib/scss/_devise.scss
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
Lesli
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2025, Lesli Technologies, S. A.
|
|
6
|
-
|
|
7
|
-
This program is free software: you can redistribute it and/or modify
|
|
8
|
-
it under the terms of the GNU General Public License as published by
|
|
9
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
10
|
-
(at your option) any later version.
|
|
11
|
-
|
|
12
|
-
This program is distributed in the hope that it will be useful,
|
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
-
GNU General Public License for more details.
|
|
16
|
-
|
|
17
|
-
You should have received a copy of the GNU General Public License
|
|
18
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
|
19
|
-
|
|
20
|
-
Lesli · Ruby on Rails SaaS Development Framework.
|
|
21
|
-
|
|
22
|
-
Made with ♥ by LesliTech
|
|
23
|
-
Building a better future, one line of code at a time.
|
|
24
|
-
|
|
25
|
-
@contact hello@lesli.tech
|
|
26
|
-
@website https://www.lesli.tech
|
|
27
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
28
|
-
|
|
29
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
|
-
// ·
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
// ·
|
|
36
|
-
@use "lesli-css" as lesli;
|
|
37
|
-
@use "LesliAssets/lib/lesli_assets_styles/templates/public";
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// · Configuration & variables
|
|
41
|
-
@use "LesliAssets/lib/lesli_assets_styles/settings/variables";
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// · headings and links
|
|
45
|
-
h1, h2, h3, h4, h5, h6, a {
|
|
46
|
-
font-family: "Domine", variables.$family-primary;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// ·
|
|
51
|
-
.shield-form-demo {
|
|
52
|
-
width: 100%;
|
|
53
|
-
border-radius: 4px;
|
|
54
|
-
border: 1px solid silver;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
// login form container
|
|
59
|
-
.column.login-form {
|
|
60
|
-
max-width: 550px;
|
|
61
|
-
margin: 0 auto;
|
|
62
|
-
|
|
63
|
-
// logo container
|
|
64
|
-
.logo {
|
|
65
|
-
img {
|
|
66
|
-
width: initial;
|
|
67
|
-
height: initial;
|
|
68
|
-
}
|
|
69
|
-
p {
|
|
70
|
-
font-weight: 600;
|
|
71
|
-
text-align: left;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.is-title {
|
|
76
|
-
line-height: 1.2;
|
|
77
|
-
max-width: 400px;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
form {
|
|
81
|
-
max-width: 310px;
|
|
82
|
-
|
|
83
|
-
label {
|
|
84
|
-
font-weight: 400;
|
|
85
|
-
font-size: 15px;
|
|
86
|
-
line-height: 150%;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
input {
|
|
90
|
-
border-radius: 6px;
|
|
91
|
-
box-shadow: none;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
input[type="password"] {
|
|
95
|
-
font-family: Verdana;
|
|
96
|
-
letter-spacing: 0.1rem;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
p.help {
|
|
100
|
-
font-weight: 600;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
p.account {
|
|
104
|
-
font-size: 15px;
|
|
105
|
-
font-weight: 400;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.links {
|
|
110
|
-
|
|
111
|
-
a {
|
|
112
|
-
width: 100%;
|
|
113
|
-
display: flex;
|
|
114
|
-
flex-grow: 1;
|
|
115
|
-
padding: .8rem 0;
|
|
116
|
-
&:not(:last-child) {
|
|
117
|
-
border-bottom: 1px solid lesli-css-color(silver, 300);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
span {
|
|
122
|
-
font-family: "Domine";
|
|
123
|
-
font-weight: 500;
|
|
124
|
-
font-size: 14px;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.terms {
|
|
129
|
-
font-size: 13px;
|
|
130
|
-
line-height: 19px;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
@include lesli.lesli-breakpoint-until-tablet() {
|
|
135
|
-
|
|
136
|
-
// login column must be full width on mobile
|
|
137
|
-
.column.login-form {
|
|
138
|
-
width: 100%;
|
|
139
|
-
max-width: 100%;
|
|
140
|
-
|
|
141
|
-
.hero {
|
|
142
|
-
padding: 2rem 0;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// center the form
|
|
146
|
-
.hero-body {
|
|
147
|
-
margin: 0 auto;
|
|
148
|
-
max-width: 500px;
|
|
149
|
-
background-color: white;
|
|
150
|
-
border-radius: 6px;
|
|
151
|
-
padding: 1rem 3rem;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
data/lib/scss/application.scss
DELETED
data/lib/scss/devise/oauth.scss
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
Lesli
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
|
6
|
-
|
|
7
|
-
This program is free software: you can redistribute it and/or modify
|
|
8
|
-
it under the terms of the GNU General Public License as published by
|
|
9
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
10
|
-
(at your option) any later version.
|
|
11
|
-
|
|
12
|
-
This program is distributed in the hope that it will be useful,
|
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
-
GNU General Public License for more details.
|
|
16
|
-
|
|
17
|
-
You should have received a copy of the GNU General Public License
|
|
18
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
|
19
|
-
|
|
20
|
-
Lesli · Your Smart Business Assistant.
|
|
21
|
-
|
|
22
|
-
Made with ♥ by https://www.lesli.tech
|
|
23
|
-
Building a better future, one line of code at a time.
|
|
24
|
-
|
|
25
|
-
@contact hello@lesli.tech
|
|
26
|
-
@website https://lesli.tech
|
|
27
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
28
|
-
|
|
29
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
|
-
// ·
|
|
31
|
-
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
//@import "templates/component";
|