lesli 5.0.2 → 5.0.4

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 (166) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/lesli_manifest.js +2 -1
  3. data/app/assets/javascripts/lesli/users/confirmations.js +32 -0
  4. data/app/assets/javascripts/lesli/users/passwords.js +3 -3
  5. data/app/assets/javascripts/lesli/users/registrations.js +2 -2
  6. data/app/assets/javascripts/lesli/users/sessions.js +2 -2
  7. data/app/assets/stylesheets/lesli/users/confirmations.scss +28 -6
  8. data/app/controllers/lesli/abouts_controller.rb +66 -0
  9. data/app/controllers/lesli/interfaces/application/authorization.rb +2 -2
  10. data/app/controllers/lesli/interfaces/application/logger.rb +14 -38
  11. data/app/controllers/lesli/roles_controller.rb +3 -1
  12. data/app/controllers/users/confirmations_controller.rb +63 -27
  13. data/app/controllers/users/passwords_controller.rb +70 -30
  14. data/app/controllers/users/sessions_controller.rb +2 -4
  15. data/app/lib/lesli/system.rb +13 -5
  16. data/app/mailers/lesli/application_lesli_mailer.rb +8 -19
  17. data/app/mailers/lesli/devise_mailer.rb +29 -3
  18. data/app/models/concerns/account_initializer.rb +91 -0
  19. data/app/models/concerns/{user_guard.rb → user_security.rb} +7 -8
  20. data/app/models/lesli/account.rb +8 -26
  21. data/app/models/lesli/application_lesli_record.rb +1 -0
  22. data/app/models/lesli/descriptor/privilege.rb +38 -0
  23. data/app/models/lesli/descriptor.rb +18 -1
  24. data/app/models/lesli/role/power.rb +70 -0
  25. data/app/models/lesli/role/privilege.rb +38 -0
  26. data/app/models/lesli/role.rb +20 -15
  27. data/app/models/lesli/user/{role.rb → power.rb} +1 -1
  28. data/app/{services/lesli/role_service.rb → models/lesli/user/setting.rb} +10 -9
  29. data/app/models/lesli/user.rb +11 -20
  30. data/app/operators/lesli/descriptor_privilege_operator.rb +75 -0
  31. data/app/operators/lesli/role_power_operator.rb +108 -0
  32. data/app/operators/lesli/user_registration_operator.rb +121 -0
  33. data/app/services/lesli/user_service.rb +2 -4
  34. data/app/services/lesli/{user/session_service.rb → user_session_service.rb} +11 -4
  35. data/app/views/devise/confirmations/new.html.erb +0 -14
  36. data/app/views/devise/confirmations/show.html.erb +63 -0
  37. data/app/views/devise/passwords/edit.html.erb +78 -24
  38. data/app/views/devise/passwords/new.html.erb +1 -2
  39. data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +1 -1
  40. data/app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb +23 -0
  41. data/app/views/lesli/partials/_application-lesli-header.html.erb +3 -1
  42. data/config/initializers/devise.rb +2 -0
  43. data/config/routes.rb +2 -0
  44. data/db/migrate/v1.0/0010000110_create_lesli_accounts.rb +2 -0
  45. data/db/{tables/0010001010_create_account_settings.rb → migrate/v1.0/0010001010_create_lesli_account_settings.rb} +5 -5
  46. data/db/{tables/0010003110_create_user_settings.rb → migrate/v1.0/0010003110_create_lesli_user_settings.rb} +4 -4
  47. data/db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb +6 -2
  48. data/db/migrate/v1.0/{0010003410_create_lesli_user_roles.rb → 0010003410_create_lesli_user_powers.rb} +4 -4
  49. data/db/migrate/v1.0/0010005010_create_lesli_descriptors.rb +1 -1
  50. data/db/migrate/v1.0/{0010003910_create_lesli_user_agents.rb → 0010005510_create_lesli_role_powers.rb} +7 -9
  51. data/db/{tables/0010005710_create_role_privileges.rb → migrate/v1.0/0010005710_create_lesli_role_privileges.rb} +6 -6
  52. data/db/seed/development/users.rb +4 -4
  53. data/db/seed/tools.rb +4 -4
  54. data/lib/lesli/engine.rb +33 -10
  55. data/lib/lesli/version.rb +1 -1
  56. data/lib/sass/lesli/bulma/loader.scss +3 -0
  57. data/lib/sass/lesli/pages/devise-simple.scss +2 -1
  58. data/lib/tasks/lesli/controllers.rake +3 -6
  59. data/lib/tasks/lesli/db.rake +11 -1
  60. data/lib/tasks/lesli/role.rake +54 -0
  61. data/lib/vue/application.js +9 -2
  62. data/lib/vue/devise/passwords.js +3 -3
  63. data/lib/vue/layouts/application-header.vue +10 -3
  64. data/lib/webpack/core.js +2 -1
  65. data/readme.md +23 -7
  66. data/vendor/bulma/LICENSE +21 -0
  67. data/vendor/bulma/bulma.sass +10 -0
  68. data/vendor/bulma/css/bulma-rtl.css +11851 -0
  69. data/vendor/bulma/css/bulma-rtl.min.css +1 -0
  70. data/vendor/bulma/css/bulma.css +11851 -0
  71. data/vendor/bulma/css/bulma.min.css +1 -0
  72. data/vendor/bulma/sass/base/_all.sass +6 -0
  73. data/vendor/bulma/sass/base/animations.sass +5 -0
  74. data/vendor/bulma/sass/base/generic.sass +145 -0
  75. data/vendor/bulma/sass/base/helpers.sass +1 -0
  76. data/vendor/bulma/sass/base/minireset.sass +79 -0
  77. data/vendor/bulma/sass/components/_all.sass +15 -0
  78. data/vendor/bulma/sass/components/breadcrumb.sass +77 -0
  79. data/vendor/bulma/sass/components/card.sass +103 -0
  80. data/vendor/bulma/sass/components/dropdown.sass +83 -0
  81. data/vendor/bulma/sass/components/level.sass +79 -0
  82. data/vendor/bulma/sass/components/media.sass +59 -0
  83. data/vendor/bulma/sass/components/menu.sass +59 -0
  84. data/vendor/bulma/sass/components/message.sass +101 -0
  85. data/vendor/bulma/sass/components/modal.sass +117 -0
  86. data/vendor/bulma/sass/components/navbar.sass +446 -0
  87. data/vendor/bulma/sass/components/pagination.sass +167 -0
  88. data/vendor/bulma/sass/components/panel.sass +121 -0
  89. data/vendor/bulma/sass/components/tabs.sass +176 -0
  90. data/vendor/bulma/sass/elements/_all.sass +16 -0
  91. data/vendor/bulma/sass/elements/box.sass +26 -0
  92. data/vendor/bulma/sass/elements/button.sass +357 -0
  93. data/vendor/bulma/sass/elements/container.sass +29 -0
  94. data/vendor/bulma/sass/elements/content.sass +162 -0
  95. data/vendor/bulma/sass/elements/form.sass +1 -0
  96. data/vendor/bulma/sass/elements/icon.sass +46 -0
  97. data/vendor/bulma/sass/elements/image.sass +73 -0
  98. data/vendor/bulma/sass/elements/notification.sass +52 -0
  99. data/vendor/bulma/sass/elements/other.sass +31 -0
  100. data/vendor/bulma/sass/elements/progress.sass +73 -0
  101. data/vendor/bulma/sass/elements/table.sass +134 -0
  102. data/vendor/bulma/sass/elements/tag.sass +140 -0
  103. data/vendor/bulma/sass/elements/title.sass +70 -0
  104. data/vendor/bulma/sass/form/_all.sass +9 -0
  105. data/vendor/bulma/sass/form/checkbox-radio.sass +22 -0
  106. data/vendor/bulma/sass/form/file.sass +184 -0
  107. data/vendor/bulma/sass/form/input-textarea.sass +66 -0
  108. data/vendor/bulma/sass/form/select.sass +88 -0
  109. data/vendor/bulma/sass/form/shared.sass +60 -0
  110. data/vendor/bulma/sass/form/tools.sass +215 -0
  111. data/vendor/bulma/sass/grid/_all.sass +5 -0
  112. data/vendor/bulma/sass/grid/columns.sass +513 -0
  113. data/vendor/bulma/sass/grid/tiles.sass +36 -0
  114. data/vendor/bulma/sass/helpers/_all.sass +12 -0
  115. data/vendor/bulma/sass/helpers/color.sass +39 -0
  116. data/vendor/bulma/sass/helpers/flexbox.sass +35 -0
  117. data/vendor/bulma/sass/helpers/float.sass +10 -0
  118. data/vendor/bulma/sass/helpers/other.sass +14 -0
  119. data/vendor/bulma/sass/helpers/overflow.sass +2 -0
  120. data/vendor/bulma/sass/helpers/position.sass +7 -0
  121. data/vendor/bulma/sass/helpers/spacing.sass +31 -0
  122. data/vendor/bulma/sass/helpers/typography.sass +103 -0
  123. data/vendor/bulma/sass/helpers/visibility.sass +122 -0
  124. data/vendor/bulma/sass/layout/_all.sass +6 -0
  125. data/vendor/bulma/sass/layout/footer.sass +11 -0
  126. data/vendor/bulma/sass/layout/hero.sass +153 -0
  127. data/vendor/bulma/sass/layout/section.sass +17 -0
  128. data/vendor/bulma/sass/utilities/_all.sass +9 -0
  129. data/vendor/bulma/sass/utilities/animations.sass +1 -0
  130. data/vendor/bulma/sass/utilities/controls.sass +49 -0
  131. data/vendor/bulma/sass/utilities/derived-variables.sass +114 -0
  132. data/vendor/bulma/sass/utilities/extends.sass +25 -0
  133. data/vendor/bulma/sass/utilities/functions.sass +135 -0
  134. data/vendor/bulma/sass/utilities/initial-variables.sass +79 -0
  135. data/vendor/bulma/sass/utilities/mixins.sass +303 -0
  136. data/vendor/lesli-css/_index.scss +34 -0
  137. data/vendor/lesli-css/lesli.scss +51 -0
  138. data/vendor/lesli-css/license +28 -0
  139. data/vendor/lesli-css/src/base/fonts.scss +50 -0
  140. data/vendor/lesli-css/src/base/normalize.scss +118 -0
  141. data/vendor/lesli-css/src/components/blockquote.scss +61 -0
  142. data/vendor/lesli-css/src/components/columns.scss +92 -0
  143. data/vendor/lesli-css/src/components/container.scss +47 -0
  144. data/vendor/lesli-css/src/components/grid.scss +0 -0
  145. data/vendor/lesli-css/src/components/navigation.scss +59 -0
  146. data/vendor/lesli-css/src/functions/colors.scss +184 -0
  147. data/vendor/lesli-css/src/helpers/units.scss +44 -0
  148. data/vendor/lesli-css/src/mixins/breakpoint.scss +184 -0
  149. data/vendor/lesli-css/src/mixins/flex.scss +80 -0
  150. data/vendor/lesli-css/src/mixins/scrollbar.scss +46 -0
  151. data/vendor/lesli-css/src/settings/variables.scss +26 -0
  152. data/vendor/lesli-css/tests/base/normalize.spec.scss +125 -0
  153. data/vendor/lesli-css/tests/functions/colors.spec.scss +117 -0
  154. data/vendor/lesli-css/tests/mixins/breakpoint.spec.scss +429 -0
  155. data/vendor/lesli-css/tests/mixins/scrollbar.spec.scss +82 -0
  156. data/vendor/lesli-css/vendor/normalize.scss +351 -0
  157. data/vendor/remixicon/License +201 -0
  158. data/vendor/remixicon/fonts/remixicon.css +2583 -0
  159. metadata +116 -18
  160. data/app/models/concerns/account_engines.rb +0 -249
  161. data/app/models/concerns/user_polyfill.rb +0 -134
  162. data/config/locales/translations.en.yml +0 -7
  163. data/config/locales/translations.es.yml +0 -7
  164. data/db/migrate/v1.0/0010001510_create_lesli_account_requests.rb +0 -45
  165. data/db/migrate/v1.0/0010003810_create_lesli_user_requests.rb +0 -44
  166. data/db/tables/0010005510_create_role_descriptors.rb +0 -44
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lesli
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.2
4
+ version: 5.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Lesli Development Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-15 00:00:00.000000000 Z
11
+ date: 2023-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -250,6 +250,7 @@ files:
250
250
  - app/assets/images/lesli/brand/favicon.png
251
251
  - app/assets/images/lesli/brand/favicon.svg
252
252
  - app/assets/images/lesli/brand/login-background.jpg
253
+ - app/assets/javascripts/lesli/users/confirmations.js
253
254
  - app/assets/javascripts/lesli/users/passwords.js
254
255
  - app/assets/javascripts/lesli/users/registrations.js
255
256
  - app/assets/javascripts/lesli/users/sessions.js
@@ -258,6 +259,7 @@ files:
258
259
  - app/assets/stylesheets/lesli/users/passwords.scss
259
260
  - app/assets/stylesheets/lesli/users/registrations.scss
260
261
  - app/assets/stylesheets/lesli/users/sessions.scss
262
+ - app/controllers/lesli/abouts_controller.rb
261
263
  - app/controllers/lesli/application_controller.rb
262
264
  - app/controllers/lesli/application_devise_controller.rb
263
265
  - app/controllers/lesli/application_lesli_controller.rb
@@ -284,33 +286,39 @@ files:
284
286
  - app/mailers/lesli/application_lesli_mailer.rb
285
287
  - app/mailers/lesli/application_mailer.rb
286
288
  - app/mailers/lesli/devise_mailer.rb
287
- - app/models/concerns/account_engines.rb
289
+ - app/models/concerns/account_initializer.rb
288
290
  - app/models/concerns/user_activities.rb
289
291
  - app/models/concerns/user_extensions.rb
290
- - app/models/concerns/user_guard.rb
291
- - app/models/concerns/user_polyfill.rb
292
+ - app/models/concerns/user_security.rb
292
293
  - app/models/lesli/account.rb
293
294
  - app/models/lesli/account/log.rb
294
295
  - app/models/lesli/account/request.rb
295
296
  - app/models/lesli/application_lesli_record.rb
296
297
  - app/models/lesli/descriptor.rb
298
+ - app/models/lesli/descriptor/privilege.rb
297
299
  - app/models/lesli/role.rb
300
+ - app/models/lesli/role/power.rb
301
+ - app/models/lesli/role/privilege.rb
298
302
  - app/models/lesli/system_controller.rb
299
303
  - app/models/lesli/system_controller/action.rb
300
304
  - app/models/lesli/user.rb
301
305
  - app/models/lesli/user/agent.rb
302
306
  - app/models/lesli/user/detail.rb
303
307
  - app/models/lesli/user/log.rb
308
+ - app/models/lesli/user/power.rb
304
309
  - app/models/lesli/user/request.rb
305
- - app/models/lesli/user/role.rb
306
310
  - app/models/lesli/user/session.rb
311
+ - app/models/lesli/user/setting.rb
312
+ - app/operators/lesli/descriptor_privilege_operator.rb
313
+ - app/operators/lesli/role_power_operator.rb
314
+ - app/operators/lesli/user_registration_operator.rb
307
315
  - app/services/lesli/application_lesli_service.rb
308
- - app/services/lesli/role_service.rb
309
- - app/services/lesli/user/session_service.rb
310
316
  - app/services/lesli/user_service.rb
317
+ - app/services/lesli/user_session_service.rb
311
318
  - app/validators/lesli/application_lesli_validator.rb
312
319
  - app/validators/lesli/users_validator.rb
313
320
  - app/views/devise/confirmations/new.html.erb
321
+ - app/views/devise/confirmations/show.html.erb
314
322
  - app/views/devise/mailer/confirmation_instructions.html.erb
315
323
  - app/views/devise/mailer/email_changed.html.erb
316
324
  - app/views/devise/mailer/password_change.html.erb
@@ -325,6 +333,7 @@ files:
325
333
  - app/views/devise/shared/_links.html.erb
326
334
  - app/views/devise/unlocks/new.html.erb
327
335
  - app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb
336
+ - app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb
328
337
  - app/views/lesli/emails/user_mailer/invitation.html.erb
329
338
  - app/views/lesli/layouts/application-devise.html.erb
330
339
  - app/views/lesli/layouts/application-lesli.html.erb
@@ -354,26 +363,25 @@ files:
354
363
  - config/initializers/devise.rb
355
364
  - config/initializers/lesli.rb
356
365
  - config/locales/devise.en.yml
357
- - config/locales/translations.en.yml
358
- - config/locales/translations.es.yml
359
366
  - config/routes.rb
360
367
  - db/migrate/v1.0/0010000110_create_lesli_accounts.rb
361
368
  - db/migrate/v1.0/0010000210_create_lesli_roles.rb
362
369
  - db/migrate/v1.0/0010000310_create_lesli_users.rb
363
370
  - db/migrate/v1.0/0010000610_create_lesli_system_controllers.rb
364
371
  - db/migrate/v1.0/0010000710_create_lesli_system_controller_actions.rb
372
+ - db/migrate/v1.0/0010001010_create_lesli_account_settings.rb
365
373
  - db/migrate/v1.0/0010001210_create_lesli_account_activities.rb
366
374
  - db/migrate/v1.0/0010001410_create_lesli_account_logs.rb
367
- - db/migrate/v1.0/0010001510_create_lesli_account_requests.rb
368
375
  - db/migrate/v1.0/0010003010_create_lesli_user_details.rb
376
+ - db/migrate/v1.0/0010003110_create_lesli_user_settings.rb
369
377
  - db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb
370
- - db/migrate/v1.0/0010003410_create_lesli_user_roles.rb
371
- - db/migrate/v1.0/0010003810_create_lesli_user_requests.rb
372
- - db/migrate/v1.0/0010003910_create_lesli_user_agents.rb
378
+ - db/migrate/v1.0/0010003410_create_lesli_user_powers.rb
373
379
  - db/migrate/v1.0/0010004010_create_lesli_user_logs.rb
374
380
  - db/migrate/v1.0/0010005010_create_lesli_descriptors.rb
375
381
  - db/migrate/v1.0/0010005110_create_lesli_descriptor_privileges.rb
376
382
  - db/migrate/v1.0/0010005210_create_lesli_descriptor_activities.rb
383
+ - db/migrate/v1.0/0010005510_create_lesli_role_powers.rb
384
+ - db/migrate/v1.0/0010005710_create_lesli_role_privileges.rb
377
385
  - db/seed/development.rb
378
386
  - db/seed/development/accounts.rb
379
387
  - db/seed/development/users.rb
@@ -400,19 +408,15 @@ files:
400
408
  - db/structure/00000403_custom_validation_fields.json
401
409
  - db/structure/00000501_dashboards.json
402
410
  - db/structure/00000502_dashboard_components.json
403
- - db/tables/0010001010_create_account_settings.rb
404
411
  - db/tables/0010001110_create_account_locations.rb
405
412
  - db/tables/0010001410_create_account_files.rb
406
413
  - db/tables/0010001510_create_account_currencies.rb
407
414
  - db/tables/0010001610_create_account_currency_exchange_rates.rb
408
- - db/tables/0010003110_create_user_settings.rb
409
415
  - db/tables/0010003410_create_user_activities.rb
410
416
  - db/tables/0010003710_create_user_codes.rb
411
417
  - db/tables/0010003810_create_user_shortcuts.rb
412
418
  - db/tables/0010004110_create_user_tokens.rb
413
- - db/tables/0010005510_create_role_descriptors.rb
414
419
  - db/tables/0010005610_create_role_activities.rb
415
- - db/tables/0010005710_create_role_privileges.rb
416
420
  - db/tables/0010009010_create_feedbacks.rb
417
421
  - lib/assets/javascripts/lesli/i18n.js
418
422
  - lib/assets/javascripts/lesli/translations.js
@@ -479,6 +483,7 @@ files:
479
483
  - lib/tasks/lesli/controllers.rake
480
484
  - lib/tasks/lesli/db.rake
481
485
  - lib/tasks/lesli/git.rake
486
+ - lib/tasks/lesli/role.rake
482
487
  - lib/tasks/lesli_tasks.rake
483
488
  - lib/vue/application.js
484
489
  - lib/vue/apps/cloudobjects/action.vue
@@ -576,6 +581,99 @@ files:
576
581
  - lib/webpack/version.js
577
582
  - license
578
583
  - readme.md
584
+ - vendor/bulma/LICENSE
585
+ - vendor/bulma/bulma.sass
586
+ - vendor/bulma/css/bulma-rtl.css
587
+ - vendor/bulma/css/bulma-rtl.min.css
588
+ - vendor/bulma/css/bulma.css
589
+ - vendor/bulma/css/bulma.min.css
590
+ - vendor/bulma/sass/base/_all.sass
591
+ - vendor/bulma/sass/base/animations.sass
592
+ - vendor/bulma/sass/base/generic.sass
593
+ - vendor/bulma/sass/base/helpers.sass
594
+ - vendor/bulma/sass/base/minireset.sass
595
+ - vendor/bulma/sass/components/_all.sass
596
+ - vendor/bulma/sass/components/breadcrumb.sass
597
+ - vendor/bulma/sass/components/card.sass
598
+ - vendor/bulma/sass/components/dropdown.sass
599
+ - vendor/bulma/sass/components/level.sass
600
+ - vendor/bulma/sass/components/media.sass
601
+ - vendor/bulma/sass/components/menu.sass
602
+ - vendor/bulma/sass/components/message.sass
603
+ - vendor/bulma/sass/components/modal.sass
604
+ - vendor/bulma/sass/components/navbar.sass
605
+ - vendor/bulma/sass/components/pagination.sass
606
+ - vendor/bulma/sass/components/panel.sass
607
+ - vendor/bulma/sass/components/tabs.sass
608
+ - vendor/bulma/sass/elements/_all.sass
609
+ - vendor/bulma/sass/elements/box.sass
610
+ - vendor/bulma/sass/elements/button.sass
611
+ - vendor/bulma/sass/elements/container.sass
612
+ - vendor/bulma/sass/elements/content.sass
613
+ - vendor/bulma/sass/elements/form.sass
614
+ - vendor/bulma/sass/elements/icon.sass
615
+ - vendor/bulma/sass/elements/image.sass
616
+ - vendor/bulma/sass/elements/notification.sass
617
+ - vendor/bulma/sass/elements/other.sass
618
+ - vendor/bulma/sass/elements/progress.sass
619
+ - vendor/bulma/sass/elements/table.sass
620
+ - vendor/bulma/sass/elements/tag.sass
621
+ - vendor/bulma/sass/elements/title.sass
622
+ - vendor/bulma/sass/form/_all.sass
623
+ - vendor/bulma/sass/form/checkbox-radio.sass
624
+ - vendor/bulma/sass/form/file.sass
625
+ - vendor/bulma/sass/form/input-textarea.sass
626
+ - vendor/bulma/sass/form/select.sass
627
+ - vendor/bulma/sass/form/shared.sass
628
+ - vendor/bulma/sass/form/tools.sass
629
+ - vendor/bulma/sass/grid/_all.sass
630
+ - vendor/bulma/sass/grid/columns.sass
631
+ - vendor/bulma/sass/grid/tiles.sass
632
+ - vendor/bulma/sass/helpers/_all.sass
633
+ - vendor/bulma/sass/helpers/color.sass
634
+ - vendor/bulma/sass/helpers/flexbox.sass
635
+ - vendor/bulma/sass/helpers/float.sass
636
+ - vendor/bulma/sass/helpers/other.sass
637
+ - vendor/bulma/sass/helpers/overflow.sass
638
+ - vendor/bulma/sass/helpers/position.sass
639
+ - vendor/bulma/sass/helpers/spacing.sass
640
+ - vendor/bulma/sass/helpers/typography.sass
641
+ - vendor/bulma/sass/helpers/visibility.sass
642
+ - vendor/bulma/sass/layout/_all.sass
643
+ - vendor/bulma/sass/layout/footer.sass
644
+ - vendor/bulma/sass/layout/hero.sass
645
+ - vendor/bulma/sass/layout/section.sass
646
+ - vendor/bulma/sass/utilities/_all.sass
647
+ - vendor/bulma/sass/utilities/animations.sass
648
+ - vendor/bulma/sass/utilities/controls.sass
649
+ - vendor/bulma/sass/utilities/derived-variables.sass
650
+ - vendor/bulma/sass/utilities/extends.sass
651
+ - vendor/bulma/sass/utilities/functions.sass
652
+ - vendor/bulma/sass/utilities/initial-variables.sass
653
+ - vendor/bulma/sass/utilities/mixins.sass
654
+ - vendor/lesli-css/_index.scss
655
+ - vendor/lesli-css/lesli.scss
656
+ - vendor/lesli-css/license
657
+ - vendor/lesli-css/src/base/fonts.scss
658
+ - vendor/lesli-css/src/base/normalize.scss
659
+ - vendor/lesli-css/src/components/blockquote.scss
660
+ - vendor/lesli-css/src/components/columns.scss
661
+ - vendor/lesli-css/src/components/container.scss
662
+ - vendor/lesli-css/src/components/grid.scss
663
+ - vendor/lesli-css/src/components/navigation.scss
664
+ - vendor/lesli-css/src/functions/colors.scss
665
+ - vendor/lesli-css/src/helpers/units.scss
666
+ - vendor/lesli-css/src/mixins/breakpoint.scss
667
+ - vendor/lesli-css/src/mixins/flex.scss
668
+ - vendor/lesli-css/src/mixins/scrollbar.scss
669
+ - vendor/lesli-css/src/settings/variables.scss
670
+ - vendor/lesli-css/tests/base/normalize.spec.scss
671
+ - vendor/lesli-css/tests/functions/colors.spec.scss
672
+ - vendor/lesli-css/tests/mixins/breakpoint.spec.scss
673
+ - vendor/lesli-css/tests/mixins/scrollbar.spec.scss
674
+ - vendor/lesli-css/vendor/normalize.scss
675
+ - vendor/remixicon/License
676
+ - vendor/remixicon/fonts/remixicon.css
579
677
  homepage: https://www.lesli.dev/
580
678
  licenses:
581
679
  - GPL-3.0
@@ -1,249 +0,0 @@
1
- =begin
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 · Ruby on Rails SaaS development platform.
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://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
- =end
32
-
33
- module AccountEngines
34
- extend ActiveSupport::Concern
35
-
36
-
37
- # initialize engines for new accounts
38
- def initialize_engines
39
-
40
- if defined? CloudDispatcher
41
- if self.dispatcher.blank?
42
- self.dispatcher = CloudDispatcher::Account.new
43
- self.dispatcher.account = self
44
- self.dispatcher.save!
45
- end
46
- end
47
-
48
- if defined? CloudKb
49
- if self.kb.blank?
50
- self.kb = CloudKb::Account.new
51
- self.kb.account = self
52
- self.kb.save!
53
- end
54
- end
55
-
56
- if defined? CloudOne
57
- if self.one.blank?
58
- self.one = CloudOne::Account.new
59
- self.one.account = self
60
- self.one.save!
61
- end
62
- end
63
-
64
- if defined? CloudTeam
65
- if self.team.blank?
66
- self.team = CloudTeam::Account.new
67
- self.team.account = self
68
- self.team.save!
69
- end
70
- end
71
-
72
- if defined? CloudBell
73
- if self.bell.blank?
74
- self.bell = CloudBell::Account.new
75
- self.bell.account = self
76
- self.bell.save!
77
- end
78
- end
79
-
80
- if defined? CloudDriver
81
- if self.driver.blank?
82
- self.driver = CloudDriver::Account.new
83
- self.driver.account = self
84
- self.driver.save!
85
- end
86
- end
87
-
88
- if defined? CloudFocus
89
- if self.focus.blank?
90
- self.focus = CloudFocus::Account.new
91
- self.focus.account = self
92
- self.focus.save!
93
- end
94
- end
95
-
96
- if defined? CloudHelp
97
- if self.help.blank?
98
- self.help = CloudHelp::Account.new
99
- self.help.account = self
100
- self.help.save!
101
- end
102
- end
103
-
104
- if defined? CloudMailer
105
- if self.mailer.blank?
106
- self.mailer = CloudMailer::Account.new
107
- self.mailer.account = self
108
- self.mailer.save!
109
- end
110
- end
111
-
112
- if defined? CloudText
113
- if self.text.blank?
114
- self.text = CloudText::Account.new
115
- self.text.account = self
116
- self.text.save!
117
- end
118
- end
119
-
120
- if defined? CloudTalk
121
- if self.talk.blank?
122
- self.talk = CloudTalk::Account.new
123
- self.talk.account = self
124
- self.talk.save!
125
- end
126
- end
127
-
128
- if defined? CloudStorage
129
- if self.storage.blank?
130
- self.storage = CloudStorage::Account.new
131
- self.storage.account = self
132
- self.storage.save!
133
- end
134
- end
135
-
136
- if defined? CloudBooks
137
- if self.books.blank?
138
- self.books = CloudBooks::Account.new
139
- self.books.account = self
140
- self.books.save!
141
- end
142
- end
143
-
144
- if defined? CloudHouse
145
- if self.house.blank?
146
- self.house = CloudHouse::Account.new
147
- self.house.account = self
148
- self.house.save!
149
- end
150
- end
151
-
152
- if defined? CloudAudit
153
- if self.audit.blank?
154
- self.audit = CloudAudit::Account.new
155
- self.audit.account = self
156
- self.audit.save!
157
- end
158
- end
159
-
160
- if defined? CloudThings
161
- if self.things.blank?
162
- self.things = CloudThings::Account.new
163
- self.things.account = self
164
- self.things.save!
165
- end
166
- end
167
-
168
- if defined? CloudProposal
169
- if self.proposal.blank?
170
- self.proposal = CloudProposal::Account.new
171
- self.proposal.account = self
172
- self.proposal.save!
173
- end
174
- end
175
-
176
- if defined? CloudRealty
177
- if self.realty.blank?
178
- self.realty = CloudRealty::Account.new
179
- self.realty.account = self
180
- self.realty.save!
181
- end
182
- end
183
-
184
- if defined? CloudLesli
185
- if self.lesli.blank?
186
- self.lesli = CloudLesli::Account.new
187
- self.lesli.account = self
188
- self.lesli.save!
189
- end
190
- end
191
-
192
- if defined? CloudShared
193
- if self.shared.blank?
194
- self.shared = CloudShared::Account.new
195
- self.shared.account = self
196
- self.shared.save!
197
- end
198
- end
199
-
200
- if defined? CloudPortal
201
- if self.portal.blank?
202
- self.portal = CloudPortal::Account.new
203
- self.portal.account = self
204
- self.portal.save!
205
- end
206
- end
207
-
208
- if defined? CloudWork
209
- if self.work.blank?
210
- self.work = CloudWork::Account.new
211
- self.work.account = self
212
- self.work.save!
213
- end
214
- end
215
-
216
- if defined? CloudWord
217
- if self.word.blank?
218
- self.word = CloudWord::Account.new
219
- self.word.account = self
220
- self.word.save!
221
- end
222
- end
223
-
224
- if defined? CloudSocial
225
- if self.social.blank?
226
- self.social = CloudSocial::Account.new
227
- self.social.account = self
228
- self.social.save!
229
- end
230
- end
231
-
232
- if defined? CloudScraper
233
- if self.scraper.blank?
234
- self.scraper = CloudScraper::Account.new
235
- self.scraper.account = self
236
- self.scraper.save!
237
- end
238
- end
239
-
240
- if defined? CloudTime
241
- if self.time.blank?
242
- self.time = CloudTime::Account.new
243
- self.time.account = self
244
- self.time.save!
245
- end
246
- end
247
-
248
- end
249
- end
@@ -1,134 +0,0 @@
1
- =begin
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
- =end
33
-
34
-
35
- # DEPRECATED METHODS
36
- # We still need to keep the definition of this methods to bring compatibility to old installations of Lesli
37
- module UserPolyfill
38
- extend ActiveSupport::Concern
39
-
40
- def has_privileges3?(controllers, actions)
41
-
42
- begin
43
-
44
- # This query fetch all the privileges actions that the user have through role descriptor assignments
45
- sql_role_privile_actions = self.role_privilege_actions
46
- .select(
47
- "status",
48
- "system_controller_actions.name as action",
49
- "system_controllers.name as controller"
50
- )
51
- .joins(system_action: [:system_controller])
52
- .where("system_controllers.name in (?)", controllers)
53
- .where("system_controller_actions.name in (?)", actions)
54
- .to_sql
55
-
56
-
57
- # This query fetch all the privileges actions that the user have through privileges actions added to the specific user
58
- sql_user_privilege_actions = self.user_privilege_actions
59
- .select(
60
- "status",
61
- "system_controller_actions.name as action",
62
- "system_controllers.name as controller"
63
- )
64
- .joins(system_action: [:system_controller])
65
- .where("system_controllers.name in (?)", controllers)
66
- .where("system_controller_actions.name in (?)", actions)
67
- .to_sql
68
-
69
-
70
- # This query is on charge of evaluate if the user have every specific privilege action
71
- # no matter if is given indirectly by role or directly to the user. Then, after getting each
72
- # specific boolean value of every privilege action, the query evalueate if is there some privilege
73
- # action on false, if there is a false then the return of the method will be false, but if every
74
- # privilege action is on true the permission is granted.
75
- # This is possible by the union of the two previous queries
76
- granted = ActiveRecord::Base.connection.exec_query("
77
- select
78
- bool_and(grouped_privileges.status) as value
79
- from (
80
- select
81
- privilege_actions.controller,
82
- privilege_actions.action,
83
- BOOL_OR(privilege_actions.status) as status
84
- from (
85
- #{sql_role_privile_actions}
86
- union
87
- #{sql_user_privilege_actions}
88
- ) AS privilege_actions
89
- group by (
90
- controller,
91
- action
92
- )
93
- ) AS grouped_privileges
94
- ")
95
- .first["value"]
96
-
97
- return false if granted.blank?
98
-
99
- return granted
100
-
101
- rescue => exception
102
-
103
- Honeybadger.notify(exception)
104
- return false
105
-
106
- end
107
-
108
- end
109
-
110
-
111
- # @return [void]
112
- # @description After creating a user, creates the necessary resources for them to access the different engines.
113
- # check role of the user
114
- def is_role? *roles
115
- LC::Debug.deprecation("Use has_roles?(role1, role2 ... rolen) instead")
116
- return has_roles?(roles)
117
- end
118
-
119
- def log_activity request_method, request_controller, request_action, request_url, description = nil
120
- LC::Debug.deprecation("Use user.activities, user.logs or log_user_comments instead")
121
- end
122
-
123
- def generate_password_token
124
- LC::Debug.deprecation("use generate_reset_password_token instead and build the email manually")
125
- end
126
-
127
- def self.send_password_reset(user)
128
- LC::Debug.deprecation("use generate_reset_password_token instead and build the email manually")
129
- end
130
-
131
- def send_welcome_email
132
- LC::Debug.deprecation("use generate_reset_password_token instead and build the email manually")
133
- end
134
- end
@@ -1,7 +0,0 @@
1
- ---
2
- :en:
3
- lesli:
4
- shared:
5
- title_lesli: ":lesli.shared.title_lesli:"
6
- users:
7
- title_users: Users
@@ -1,7 +0,0 @@
1
- ---
2
- :es:
3
- lesli:
4
- shared:
5
- title_lesli: 'Lesli en español '
6
- users:
7
- title_users: Usuarios
@@ -1,45 +0,0 @@
1
- =begin
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 · Ruby on Rails Development Platform.
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://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
- =end
32
-
33
- class CreateLesliAccountRequests < ActiveRecord::Migration[6.0]
34
- def change
35
- create_table :lesli_account_requests do |t|
36
- t.string :request_controller
37
- t.string :request_action
38
- t.string :request_method
39
- t.integer :request_count
40
- t.date :created_at
41
- end
42
- add_reference(:lesli_account_requests, :account, foreign_key: { to_table: :lesli_accounts })
43
- add_index(:lesli_account_requests, %i[request_controller request_action created_at account_id], unique: true, name: "lesli_account_requests_index")
44
- end
45
- end