lesli 5.0.3 → 5.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/lesli_manifest.js +2 -1
  3. data/app/assets/images/lesli/brand/app-logo2.svg +52 -0
  4. data/app/assets/javascripts/lesli/users/confirmations.js +32 -0
  5. data/app/assets/javascripts/lesli/users/passwords.js +3 -3
  6. data/app/assets/javascripts/lesli/users/registrations.js +3 -3
  7. data/app/assets/javascripts/lesli/users/sessions.js +3 -3
  8. data/app/assets/stylesheets/lesli/users/confirmations.scss +28 -6
  9. data/app/controllers/lesli/application_controller.rb +3 -3
  10. data/app/controllers/lesli/application_lesli_controller.rb +2 -2
  11. data/app/controllers/lesli/interfaces/application/authorization.rb +2 -2
  12. data/app/controllers/lesli/interfaces/application/logger.rb +14 -38
  13. data/app/controllers/lesli/interfaces/application/requester.rb +1 -1
  14. data/app/controllers/lesli/roles_controller.rb +3 -1
  15. data/app/controllers/lesli/shared/dashboards_controller.rb +308 -0
  16. data/app/controllers/users/confirmations_controller.rb +63 -27
  17. data/app/controllers/users/passwords_controller.rb +67 -30
  18. data/app/controllers/users/sessions_controller.rb +2 -4
  19. data/app/helpers/lesli/general_helper.rb +1 -1
  20. data/app/helpers/lesli/navigation_helper.rb +17 -16
  21. data/app/lib/lesli/system.rb +14 -5
  22. data/app/mailers/lesli/application_lesli_mailer.rb +8 -19
  23. data/app/mailers/lesli/devise_mailer.rb +29 -3
  24. data/app/models/concerns/account_initializer.rb +100 -0
  25. data/app/models/concerns/{user_guard.rb → user_security.rb} +7 -8
  26. data/app/models/lesli/account.rb +9 -26
  27. data/app/models/lesli/application_lesli_record.rb +2 -1
  28. data/app/models/lesli/descriptor/privilege.rb +38 -0
  29. data/app/models/lesli/descriptor.rb +18 -1
  30. data/app/models/lesli/role/power.rb +70 -0
  31. data/app/models/lesli/role/privilege.rb +38 -0
  32. data/app/models/lesli/role.rb +20 -15
  33. data/app/models/lesli/shared/dashboard.rb +162 -0
  34. data/app/models/lesli/system_controller.rb +1 -0
  35. data/app/models/lesli/user/{role.rb → power.rb} +1 -1
  36. data/app/{services/lesli/role_service.rb → models/lesli/user/setting.rb} +10 -9
  37. data/app/models/lesli/user.rb +11 -20
  38. data/app/operators/lesli/controller_operator.rb +148 -0
  39. data/app/operators/lesli/descriptor_privilege_operator.rb +75 -0
  40. data/app/operators/lesli/role_power_operator.rb +108 -0
  41. data/app/operators/lesli/user_registration_operator.rb +121 -0
  42. data/app/services/lesli/user_service.rb +2 -4
  43. data/app/services/lesli/{user/session_service.rb → user_session_service.rb} +11 -4
  44. data/app/views/devise/confirmations/new.html.erb +0 -14
  45. data/app/views/devise/confirmations/show.html.erb +63 -0
  46. data/app/views/devise/passwords/edit.html.erb +78 -24
  47. data/app/views/devise/passwords/new.html.erb +2 -3
  48. data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +1 -1
  49. data/app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb +23 -0
  50. data/app/views/lesli/partials/_application-lesli-engines.html.erb +1 -1
  51. data/app/views/lesli/partials/_application-lesli-header.html.erb +3 -1
  52. data/app/views/lesli/partials/_application-lesli-icons.html.erb +1 -1
  53. data/config/initializers/devise.rb +2 -0
  54. data/config/locales/translations.en.yml +13 -3
  55. data/config/locales/translations.es.yml +13 -3
  56. data/config/routes.rb +4 -2
  57. data/db/migrate/v1.0/0010000110_create_lesli_accounts.rb +2 -0
  58. data/db/{tables/0010001010_create_account_settings.rb → migrate/v1.0/0010001010_create_lesli_account_settings.rb} +5 -5
  59. data/db/{tables/0010003110_create_user_settings.rb → migrate/v1.0/0010003110_create_lesli_user_settings.rb} +4 -4
  60. data/db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb +6 -2
  61. data/db/migrate/v1.0/{0010003410_create_lesli_user_roles.rb → 0010003410_create_lesli_user_powers.rb} +4 -4
  62. data/db/migrate/v1.0/0010005010_create_lesli_descriptors.rb +1 -1
  63. data/db/migrate/v1.0/{0010003910_create_lesli_user_agents.rb → 0010005510_create_lesli_role_powers.rb} +7 -9
  64. data/db/{tables/0010005710_create_role_privileges.rb → migrate/v1.0/0010005710_create_lesli_role_privileges.rb} +6 -6
  65. data/db/seed/development/users.rb +3 -4
  66. data/db/seed/tools.rb +4 -4
  67. data/db/seeds.rb +16 -29
  68. data/lib/lesli/engine.rb +33 -10
  69. data/lib/lesli/version.rb +1 -1
  70. data/lib/mailer_previews/devise_mailer_preview.rb +7 -0
  71. data/lib/sass/lesli/bulma/loader.scss +3 -0
  72. data/lib/sass/lesli/layouts/application-navbar.scss +1 -1
  73. data/lib/sass/lesli/pages/devise-simple.scss +2 -1
  74. data/lib/tasks/lesli/controllers.rake +1 -94
  75. data/lib/tasks/lesli/db.rake +43 -3
  76. data/lib/tasks/lesli/dev.rake +66 -0
  77. data/lib/tasks/lesli/engine.rake +59 -0
  78. data/lib/tasks/lesli/privileges.rake +54 -0
  79. data/lib/tasks/lesli_tasks.rake +5 -0
  80. data/lib/vue/application.js +11 -3
  81. data/lib/vue/devise/passwords.js +7 -7
  82. data/lib/vue/devise/registrations.js +2 -2
  83. data/lib/vue/devise/sessions.js +11 -6
  84. data/lib/vue/layouts/application-header.vue +15 -3
  85. data/lib/vue/shared/dashboards/apps/edit.vue +215 -0
  86. data/lib/vue/{apps → shared}/dashboards/apps/index.vue +3 -5
  87. data/lib/vue/{apps → shared}/dashboards/apps/show.vue +26 -16
  88. data/lib/vue/{apps → shared}/dashboards/components/form.vue +31 -43
  89. data/lib/vue/shared/stores/dashboard.js +251 -0
  90. data/lib/vue/stores/translations.json +24 -72
  91. data/lib/vue/stores/{user.js → users.js} +1 -1
  92. data/lib/webpack/base.js +3 -2
  93. data/lib/webpack/core.js +2 -1
  94. data/readme.md +23 -7
  95. metadata +63 -65
  96. data/app/models/concerns/account_engines.rb +0 -249
  97. data/app/models/concerns/user_polyfill.rb +0 -134
  98. data/db/migrate/v1.0/0010001510_create_lesli_account_requests.rb +0 -45
  99. data/db/migrate/v1.0/0010003810_create_lesli_user_requests.rb +0 -44
  100. data/db/tables/0010005510_create_role_descriptors.rb +0 -44
  101. data/lib/vue/apps/dashboards/apps/edit.vue +0 -105
  102. data/lib/vue/apps/dashboards/components/preview.vue +0 -172
  103. /data/app/assets/icons/lesli/{cloud-vault.svg → cloud-guard.svg} +0 -0
  104. /data/lib/vue/{apps → shared}/cloudobjects/action.vue +0 -0
  105. /data/lib/vue/{apps → shared}/cloudobjects/discussion/content.vue +0 -0
  106. /data/lib/vue/{apps → shared}/cloudobjects/discussion/element.vue +0 -0
  107. /data/lib/vue/{apps → shared}/cloudobjects/discussion/filters.vue +0 -0
  108. /data/lib/vue/{apps → shared}/cloudobjects/discussion/new.vue +0 -0
  109. /data/lib/vue/{apps → shared}/cloudobjects/discussion.vue +0 -0
  110. /data/lib/vue/{apps → shared}/cloudobjects/file/grid.vue +0 -0
  111. /data/lib/vue/{apps → shared}/cloudobjects/file/list.vue +0 -0
  112. /data/lib/vue/{apps → shared}/cloudobjects/file.vue +0 -0
  113. /data/lib/vue/{apps → shared}/dashboards/apps/new.vue +0 -0
  114. /data/lib/vue/{apps → shared}/workflows2/apps/actions/form.vue +0 -0
  115. /data/lib/vue/{apps → shared}/workflows2/apps/actions/forms/chatroom-form.vue +0 -0
  116. /data/lib/vue/{apps → shared}/workflows2/apps/actions/forms/cloud-object-clone-form.vue +0 -0
  117. /data/lib/vue/{apps → shared}/workflows2/apps/actions/forms/cloud-object-file-form.vue +0 -0
  118. /data/lib/vue/{apps → shared}/workflows2/apps/actions/forms/email-form.vue +0 -0
  119. /data/lib/vue/{apps → shared}/workflows2/apps/actions/forms/notification-form.vue +0 -0
  120. /data/lib/vue/{apps → shared}/workflows2/apps/actions/forms/send-cloud-object-file.vue +0 -0
  121. /data/lib/vue/{apps → shared}/workflows2/apps/actions/forms/task-form.vue +0 -0
  122. /data/lib/vue/{apps → shared}/workflows2/apps/actions/index.vue +0 -0
  123. /data/lib/vue/{apps → shared}/workflows2/apps/checks/form.vue +0 -0
  124. /data/lib/vue/{apps → shared}/workflows2/apps/checks/index.vue +0 -0
  125. /data/lib/vue/{apps → shared}/workflows2/apps/index.vue +0 -0
  126. /data/lib/vue/{apps → shared}/workflows2/apps/new.vue +0 -0
  127. /data/lib/vue/{apps → shared}/workflows2/apps/show.vue +0 -0
  128. /data/lib/vue/{apps → shared}/workflows2/components/associations.vue +0 -0
  129. /data/lib/vue/{apps → shared}/workflows2/components/chart.vue +0 -0
  130. /data/lib/vue/{apps → shared}/workflows2/components/workflow-form.vue +0 -0
  131. /data/lib/vue/{apps → shared}/workflows2/components/workflow-status-dropdown.vue +0 -0
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.3
4
+ version: 5.0.5
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-16 00:00:00.000000000 Z
11
+ date: 2023-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -114,20 +114,6 @@ dependencies:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
116
  version: 1.2.2
117
- - !ruby/object:Gem::Dependency
118
- name: L2
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: 0.5.2
124
- type: :runtime
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: 0.5.2
131
117
  - !ruby/object:Gem::Dependency
132
118
  name: devise
133
119
  requirement: !ruby/object:Gem::Requirement
@@ -213,6 +199,7 @@ files:
213
199
  - app/assets/icons/lesli/cloud-dispatcher.svg
214
200
  - app/assets/icons/lesli/cloud-driver.svg
215
201
  - app/assets/icons/lesli/cloud-focus.svg
202
+ - app/assets/icons/lesli/cloud-guard.svg
216
203
  - app/assets/icons/lesli/cloud-help.svg
217
204
  - app/assets/icons/lesli/cloud-kb.svg
218
205
  - app/assets/icons/lesli/cloud-leaf.svg
@@ -227,7 +214,6 @@ files:
227
214
  - app/assets/icons/lesli/cloud-talk.svg
228
215
  - app/assets/icons/lesli/cloud-team.svg
229
216
  - app/assets/icons/lesli/cloud-time.svg
230
- - app/assets/icons/lesli/cloud-vault.svg
231
217
  - app/assets/icons/lesli/cloud-word.svg
232
218
  - app/assets/icons/lesli/icon-module.svg
233
219
  - app/assets/icons/lesli/logo-android.svg
@@ -247,9 +233,11 @@ files:
247
233
  - app/assets/images/lesli/brand/app-auth.svg
248
234
  - app/assets/images/lesli/brand/app-icon.svg
249
235
  - app/assets/images/lesli/brand/app-logo.svg
236
+ - app/assets/images/lesli/brand/app-logo2.svg
250
237
  - app/assets/images/lesli/brand/favicon.png
251
238
  - app/assets/images/lesli/brand/favicon.svg
252
239
  - app/assets/images/lesli/brand/login-background.jpg
240
+ - app/assets/javascripts/lesli/users/confirmations.js
253
241
  - app/assets/javascripts/lesli/users/passwords.js
254
242
  - app/assets/javascripts/lesli/users/registrations.js
255
243
  - app/assets/javascripts/lesli/users/sessions.js
@@ -268,6 +256,7 @@ files:
268
256
  - app/controllers/lesli/interfaces/application/requester.rb
269
257
  - app/controllers/lesli/interfaces/application/responder.rb
270
258
  - app/controllers/lesli/roles_controller.rb
259
+ - app/controllers/lesli/shared/dashboards_controller.rb
271
260
  - app/controllers/lesli/users_controller.rb
272
261
  - app/controllers/users/confirmations_controller.rb
273
262
  - app/controllers/users/omniauth_callbacks_controller.rb
@@ -285,33 +274,41 @@ files:
285
274
  - app/mailers/lesli/application_lesli_mailer.rb
286
275
  - app/mailers/lesli/application_mailer.rb
287
276
  - app/mailers/lesli/devise_mailer.rb
288
- - app/models/concerns/account_engines.rb
277
+ - app/models/concerns/account_initializer.rb
289
278
  - app/models/concerns/user_activities.rb
290
279
  - app/models/concerns/user_extensions.rb
291
- - app/models/concerns/user_guard.rb
292
- - app/models/concerns/user_polyfill.rb
280
+ - app/models/concerns/user_security.rb
293
281
  - app/models/lesli/account.rb
294
282
  - app/models/lesli/account/log.rb
295
283
  - app/models/lesli/account/request.rb
296
284
  - app/models/lesli/application_lesli_record.rb
297
285
  - app/models/lesli/descriptor.rb
286
+ - app/models/lesli/descriptor/privilege.rb
298
287
  - app/models/lesli/role.rb
288
+ - app/models/lesli/role/power.rb
289
+ - app/models/lesli/role/privilege.rb
290
+ - app/models/lesli/shared/dashboard.rb
299
291
  - app/models/lesli/system_controller.rb
300
292
  - app/models/lesli/system_controller/action.rb
301
293
  - app/models/lesli/user.rb
302
294
  - app/models/lesli/user/agent.rb
303
295
  - app/models/lesli/user/detail.rb
304
296
  - app/models/lesli/user/log.rb
297
+ - app/models/lesli/user/power.rb
305
298
  - app/models/lesli/user/request.rb
306
- - app/models/lesli/user/role.rb
307
299
  - app/models/lesli/user/session.rb
300
+ - app/models/lesli/user/setting.rb
301
+ - app/operators/lesli/controller_operator.rb
302
+ - app/operators/lesli/descriptor_privilege_operator.rb
303
+ - app/operators/lesli/role_power_operator.rb
304
+ - app/operators/lesli/user_registration_operator.rb
308
305
  - app/services/lesli/application_lesli_service.rb
309
- - app/services/lesli/role_service.rb
310
- - app/services/lesli/user/session_service.rb
311
306
  - app/services/lesli/user_service.rb
307
+ - app/services/lesli/user_session_service.rb
312
308
  - app/validators/lesli/application_lesli_validator.rb
313
309
  - app/validators/lesli/users_validator.rb
314
310
  - app/views/devise/confirmations/new.html.erb
311
+ - app/views/devise/confirmations/show.html.erb
315
312
  - app/views/devise/mailer/confirmation_instructions.html.erb
316
313
  - app/views/devise/mailer/email_changed.html.erb
317
314
  - app/views/devise/mailer/password_change.html.erb
@@ -326,6 +323,7 @@ files:
326
323
  - app/views/devise/shared/_links.html.erb
327
324
  - app/views/devise/unlocks/new.html.erb
328
325
  - app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb
326
+ - app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb
329
327
  - app/views/lesli/emails/user_mailer/invitation.html.erb
330
328
  - app/views/lesli/layouts/application-devise.html.erb
331
329
  - app/views/lesli/layouts/application-lesli.html.erb
@@ -363,18 +361,19 @@ files:
363
361
  - db/migrate/v1.0/0010000310_create_lesli_users.rb
364
362
  - db/migrate/v1.0/0010000610_create_lesli_system_controllers.rb
365
363
  - db/migrate/v1.0/0010000710_create_lesli_system_controller_actions.rb
364
+ - db/migrate/v1.0/0010001010_create_lesli_account_settings.rb
366
365
  - db/migrate/v1.0/0010001210_create_lesli_account_activities.rb
367
366
  - db/migrate/v1.0/0010001410_create_lesli_account_logs.rb
368
- - db/migrate/v1.0/0010001510_create_lesli_account_requests.rb
369
367
  - db/migrate/v1.0/0010003010_create_lesli_user_details.rb
368
+ - db/migrate/v1.0/0010003110_create_lesli_user_settings.rb
370
369
  - db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb
371
- - db/migrate/v1.0/0010003410_create_lesli_user_roles.rb
372
- - db/migrate/v1.0/0010003810_create_lesli_user_requests.rb
373
- - db/migrate/v1.0/0010003910_create_lesli_user_agents.rb
370
+ - db/migrate/v1.0/0010003410_create_lesli_user_powers.rb
374
371
  - db/migrate/v1.0/0010004010_create_lesli_user_logs.rb
375
372
  - db/migrate/v1.0/0010005010_create_lesli_descriptors.rb
376
373
  - db/migrate/v1.0/0010005110_create_lesli_descriptor_privileges.rb
377
374
  - db/migrate/v1.0/0010005210_create_lesli_descriptor_activities.rb
375
+ - db/migrate/v1.0/0010005510_create_lesli_role_powers.rb
376
+ - db/migrate/v1.0/0010005710_create_lesli_role_privileges.rb
378
377
  - db/seed/development.rb
379
378
  - db/seed/development/accounts.rb
380
379
  - db/seed/development/users.rb
@@ -401,19 +400,15 @@ files:
401
400
  - db/structure/00000403_custom_validation_fields.json
402
401
  - db/structure/00000501_dashboards.json
403
402
  - db/structure/00000502_dashboard_components.json
404
- - db/tables/0010001010_create_account_settings.rb
405
403
  - db/tables/0010001110_create_account_locations.rb
406
404
  - db/tables/0010001410_create_account_files.rb
407
405
  - db/tables/0010001510_create_account_currencies.rb
408
406
  - db/tables/0010001610_create_account_currency_exchange_rates.rb
409
- - db/tables/0010003110_create_user_settings.rb
410
407
  - db/tables/0010003410_create_user_activities.rb
411
408
  - db/tables/0010003710_create_user_codes.rb
412
409
  - db/tables/0010003810_create_user_shortcuts.rb
413
410
  - db/tables/0010004110_create_user_tokens.rb
414
- - db/tables/0010005510_create_role_descriptors.rb
415
411
  - db/tables/0010005610_create_role_activities.rb
416
- - db/tables/0010005710_create_role_privileges.rb
417
412
  - db/tables/0010009010_create_feedbacks.rb
418
413
  - lib/assets/javascripts/lesli/i18n.js
419
414
  - lib/assets/javascripts/lesli/translations.js
@@ -479,42 +474,12 @@ files:
479
474
  - lib/sass/lesli/templates/public.scss
480
475
  - lib/tasks/lesli/controllers.rake
481
476
  - lib/tasks/lesli/db.rake
477
+ - lib/tasks/lesli/dev.rake
478
+ - lib/tasks/lesli/engine.rake
482
479
  - lib/tasks/lesli/git.rake
480
+ - lib/tasks/lesli/privileges.rake
483
481
  - lib/tasks/lesli_tasks.rake
484
482
  - lib/vue/application.js
485
- - lib/vue/apps/cloudobjects/action.vue
486
- - lib/vue/apps/cloudobjects/discussion.vue
487
- - lib/vue/apps/cloudobjects/discussion/content.vue
488
- - lib/vue/apps/cloudobjects/discussion/element.vue
489
- - lib/vue/apps/cloudobjects/discussion/filters.vue
490
- - lib/vue/apps/cloudobjects/discussion/new.vue
491
- - lib/vue/apps/cloudobjects/file.vue
492
- - lib/vue/apps/cloudobjects/file/grid.vue
493
- - lib/vue/apps/cloudobjects/file/list.vue
494
- - lib/vue/apps/dashboards/apps/edit.vue
495
- - lib/vue/apps/dashboards/apps/index.vue
496
- - lib/vue/apps/dashboards/apps/new.vue
497
- - lib/vue/apps/dashboards/apps/show.vue
498
- - lib/vue/apps/dashboards/components/form.vue
499
- - lib/vue/apps/dashboards/components/preview.vue
500
- - lib/vue/apps/workflows2/apps/actions/form.vue
501
- - lib/vue/apps/workflows2/apps/actions/forms/chatroom-form.vue
502
- - lib/vue/apps/workflows2/apps/actions/forms/cloud-object-clone-form.vue
503
- - lib/vue/apps/workflows2/apps/actions/forms/cloud-object-file-form.vue
504
- - lib/vue/apps/workflows2/apps/actions/forms/email-form.vue
505
- - lib/vue/apps/workflows2/apps/actions/forms/notification-form.vue
506
- - lib/vue/apps/workflows2/apps/actions/forms/send-cloud-object-file.vue
507
- - lib/vue/apps/workflows2/apps/actions/forms/task-form.vue
508
- - lib/vue/apps/workflows2/apps/actions/index.vue
509
- - lib/vue/apps/workflows2/apps/checks/form.vue
510
- - lib/vue/apps/workflows2/apps/checks/index.vue
511
- - lib/vue/apps/workflows2/apps/index.vue
512
- - lib/vue/apps/workflows2/apps/new.vue
513
- - lib/vue/apps/workflows2/apps/show.vue
514
- - lib/vue/apps/workflows2/components/associations.vue
515
- - lib/vue/apps/workflows2/components/chart.vue
516
- - lib/vue/apps/workflows2/components/workflow-form.vue
517
- - lib/vue/apps/workflows2/components/workflow-status-dropdown.vue
518
483
  - lib/vue/devise/confirmations.js
519
484
  - lib/vue/devise/passwords.js
520
485
  - lib/vue/devise/registrations.js
@@ -552,6 +517,39 @@ files:
552
517
  - lib/vue/panels/panel-tasks.vue
553
518
  - lib/vue/panels/panel-tickets.vue
554
519
  - lib/vue/public.js
520
+ - lib/vue/shared/cloudobjects/action.vue
521
+ - lib/vue/shared/cloudobjects/discussion.vue
522
+ - lib/vue/shared/cloudobjects/discussion/content.vue
523
+ - lib/vue/shared/cloudobjects/discussion/element.vue
524
+ - lib/vue/shared/cloudobjects/discussion/filters.vue
525
+ - lib/vue/shared/cloudobjects/discussion/new.vue
526
+ - lib/vue/shared/cloudobjects/file.vue
527
+ - lib/vue/shared/cloudobjects/file/grid.vue
528
+ - lib/vue/shared/cloudobjects/file/list.vue
529
+ - lib/vue/shared/dashboards/apps/edit.vue
530
+ - lib/vue/shared/dashboards/apps/index.vue
531
+ - lib/vue/shared/dashboards/apps/new.vue
532
+ - lib/vue/shared/dashboards/apps/show.vue
533
+ - lib/vue/shared/dashboards/components/form.vue
534
+ - lib/vue/shared/stores/dashboard.js
535
+ - lib/vue/shared/workflows2/apps/actions/form.vue
536
+ - lib/vue/shared/workflows2/apps/actions/forms/chatroom-form.vue
537
+ - lib/vue/shared/workflows2/apps/actions/forms/cloud-object-clone-form.vue
538
+ - lib/vue/shared/workflows2/apps/actions/forms/cloud-object-file-form.vue
539
+ - lib/vue/shared/workflows2/apps/actions/forms/email-form.vue
540
+ - lib/vue/shared/workflows2/apps/actions/forms/notification-form.vue
541
+ - lib/vue/shared/workflows2/apps/actions/forms/send-cloud-object-file.vue
542
+ - lib/vue/shared/workflows2/apps/actions/forms/task-form.vue
543
+ - lib/vue/shared/workflows2/apps/actions/index.vue
544
+ - lib/vue/shared/workflows2/apps/checks/form.vue
545
+ - lib/vue/shared/workflows2/apps/checks/index.vue
546
+ - lib/vue/shared/workflows2/apps/index.vue
547
+ - lib/vue/shared/workflows2/apps/new.vue
548
+ - lib/vue/shared/workflows2/apps/show.vue
549
+ - lib/vue/shared/workflows2/components/associations.vue
550
+ - lib/vue/shared/workflows2/components/chart.vue
551
+ - lib/vue/shared/workflows2/components/workflow-form.vue
552
+ - lib/vue/shared/workflows2/components/workflow-status-dropdown.vue
555
553
  - lib/vue/stores/account.js
556
554
  - lib/vue/stores/cloudobjects/action.js
557
555
  - lib/vue/stores/cloudobjects/discussion.js
@@ -569,7 +567,7 @@ files:
569
567
  - lib/vue/stores/services/firebase.js
570
568
  - lib/vue/stores/services/translator.js
571
569
  - lib/vue/stores/translations.json
572
- - lib/vue/stores/user.js
570
+ - lib/vue/stores/users.js
573
571
  - lib/vue/translation.js
574
572
  - lib/webpack/base.js
575
573
  - lib/webpack/core.js
@@ -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,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