lesli 5.0.3 → 5.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) 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/interfaces/application/authorization.rb +2 -2
  9. data/app/controllers/lesli/interfaces/application/logger.rb +14 -38
  10. data/app/controllers/lesli/roles_controller.rb +3 -1
  11. data/app/controllers/users/confirmations_controller.rb +63 -27
  12. data/app/controllers/users/passwords_controller.rb +70 -30
  13. data/app/controllers/users/sessions_controller.rb +2 -4
  14. data/app/lib/lesli/system.rb +13 -5
  15. data/app/mailers/lesli/application_lesli_mailer.rb +8 -19
  16. data/app/mailers/lesli/devise_mailer.rb +29 -3
  17. data/app/models/concerns/account_initializer.rb +91 -0
  18. data/app/models/concerns/{user_guard.rb → user_security.rb} +7 -8
  19. data/app/models/lesli/account.rb +8 -26
  20. data/app/models/lesli/application_lesli_record.rb +1 -0
  21. data/app/models/lesli/descriptor/privilege.rb +38 -0
  22. data/app/models/lesli/descriptor.rb +18 -1
  23. data/app/models/lesli/role/power.rb +70 -0
  24. data/app/models/lesli/role/privilege.rb +38 -0
  25. data/app/models/lesli/role.rb +20 -15
  26. data/app/models/lesli/user/{role.rb → power.rb} +1 -1
  27. data/app/{services/lesli/role_service.rb → models/lesli/user/setting.rb} +10 -9
  28. data/app/models/lesli/user.rb +11 -20
  29. data/app/operators/lesli/descriptor_privilege_operator.rb +75 -0
  30. data/app/operators/lesli/role_power_operator.rb +108 -0
  31. data/app/operators/lesli/user_registration_operator.rb +121 -0
  32. data/app/services/lesli/user_service.rb +2 -4
  33. data/app/services/lesli/{user/session_service.rb → user_session_service.rb} +11 -4
  34. data/app/views/devise/confirmations/new.html.erb +0 -14
  35. data/app/views/devise/confirmations/show.html.erb +63 -0
  36. data/app/views/devise/passwords/edit.html.erb +78 -24
  37. data/app/views/devise/passwords/new.html.erb +1 -2
  38. data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +1 -1
  39. data/app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb +23 -0
  40. data/app/views/lesli/partials/_application-lesli-header.html.erb +3 -1
  41. data/config/initializers/devise.rb +2 -0
  42. data/db/migrate/v1.0/0010000110_create_lesli_accounts.rb +2 -0
  43. data/db/{tables/0010001010_create_account_settings.rb → migrate/v1.0/0010001010_create_lesli_account_settings.rb} +5 -5
  44. data/db/{tables/0010003110_create_user_settings.rb → migrate/v1.0/0010003110_create_lesli_user_settings.rb} +4 -4
  45. data/db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb +6 -2
  46. data/db/migrate/v1.0/{0010003410_create_lesli_user_roles.rb → 0010003410_create_lesli_user_powers.rb} +4 -4
  47. data/db/migrate/v1.0/0010005010_create_lesli_descriptors.rb +1 -1
  48. data/db/migrate/v1.0/{0010003910_create_lesli_user_agents.rb → 0010005510_create_lesli_role_powers.rb} +7 -9
  49. data/db/{tables/0010005710_create_role_privileges.rb → migrate/v1.0/0010005710_create_lesli_role_privileges.rb} +6 -6
  50. data/db/seed/development/users.rb +4 -4
  51. data/db/seed/tools.rb +4 -4
  52. data/lib/lesli/engine.rb +33 -10
  53. data/lib/lesli/version.rb +1 -1
  54. data/lib/sass/lesli/bulma/loader.scss +3 -0
  55. data/lib/sass/lesli/pages/devise-simple.scss +2 -1
  56. data/lib/tasks/lesli/controllers.rake +3 -6
  57. data/lib/tasks/lesli/db.rake +11 -1
  58. data/lib/tasks/lesli/role.rake +54 -0
  59. data/lib/vue/application.js +9 -2
  60. data/lib/vue/devise/passwords.js +3 -3
  61. data/lib/vue/layouts/application-header.vue +10 -3
  62. data/lib/webpack/core.js +2 -1
  63. data/readme.md +23 -7
  64. metadata +22 -18
  65. data/app/models/concerns/account_engines.rb +0 -249
  66. data/app/models/concerns/user_polyfill.rb +0 -134
  67. data/config/locales/translations.en.yml +0 -7
  68. data/config/locales/translations.es.yml +0 -7
  69. data/db/migrate/v1.0/0010001510_create_lesli_account_requests.rb +0 -45
  70. data/db/migrate/v1.0/0010003810_create_lesli_user_requests.rb +0 -44
  71. data/db/tables/0010005510_create_role_descriptors.rb +0 -44
data/lib/lesli/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Lesli
2
- VERSION = "5.0.3"
2
+ VERSION = "5.0.4"
3
3
  BUILD = "1697000148"
4
4
  end
@@ -52,18 +52,21 @@ $navbar-background-color: transparent;
52
52
 
53
53
  @import "bulma/sass/form/all";
54
54
 
55
+ @import "bulma/sass/components/card";
55
56
  @import "bulma/sass/components/tabs";
56
57
  @import "bulma/sass/components/media";
57
58
  @import "bulma/sass/components/level";
58
59
  @import "bulma/sass/components/dropdown";
59
60
  @import "bulma/sass/components/pagination";
60
61
 
62
+ @import "bulma/sass/elements/notification";
61
63
  @import "bulma/sass/elements/container";
62
64
  @import "bulma/sass/elements/button";
63
65
  @import "bulma/sass/elements/image";
64
66
  @import "bulma/sass/elements/title";
65
67
  @import "bulma/sass/elements/table";
66
68
  @import "bulma/sass/elements/icon";
69
+ @import "bulma/sass/elements/tag";
67
70
 
68
71
  @import "bulma/sass/grid/columns";
69
72
 
@@ -41,8 +41,9 @@ main {
41
41
  .hero-head {
42
42
  padding: 8rem 0 4rem;
43
43
 
44
- .app-logo {
44
+ .lesli-logo {
45
45
  max-width: 130px;
46
+ margin-bottom: 1rem;
46
47
  }
47
48
  }
48
49
 
@@ -80,11 +80,8 @@ namespace :lesli do
80
80
 
81
81
  # Global container
82
82
  controller_list = {
83
- "core" => {}
83
+ "app" => {}
84
84
  }
85
-
86
- # Get the name of the instance (builder engine)
87
- instance = "lesli" #Rails.configuration.lesli.dig(:instance, :name)
88
85
 
89
86
  # Get the list of controllers and actions of the core
90
87
  Rails.application.routes.routes.each do |route|
@@ -97,10 +94,10 @@ namespace :lesli do
97
94
  next if route[:controller].include? "active_storage"
98
95
 
99
96
  # create a container for the actions related to a controller
100
- controller_list["core"][route[:controller]] = [] unless controller_list["core"][route[:controller]]
97
+ controller_list["app"][route[:controller]] = [] unless controller_list["app"][route[:controller]]
101
98
 
102
99
  # assign and group all the actions related to the controller
103
- controller_list["core"][route[:controller]].push(route[:action])
100
+ controller_list["app"][route[:controller]].push(route[:action])
104
101
 
105
102
  end
106
103
 
@@ -72,17 +72,27 @@ namespace :lesli do
72
72
 
73
73
  # Seed database (development only)
74
74
  def seed
75
+
76
+ # do not execute this task if we are at production level
75
77
  return if Rails.env.production?
78
+
76
79
  L2.msg("Seed Lesli database for development")
77
80
 
81
+ # scan rails routes to build the controllers index
82
+ Rake::Task['lesli:controllers:build'].invoke
83
+
84
+ # load main app seeders
78
85
  Rake::Task['db:seed'].invoke
79
86
 
87
+ # load Lesli* gems seeders
80
88
  Lesli::Engine.load_seed
81
89
  LesliBell::Engine.load_seed if defined?(LesliBell)
82
90
  LesliAudit::Engine.load_seed if defined?(LesliAudit)
83
- Rake::Task['lesli:controllers:build'].invoke
91
+
92
+ # scan rails routes to build the base of translations
84
93
  Rake::Task['lesli:babel:build'].invoke if defined?(LesliBabel)
85
94
 
95
+ # print the lesli gems
86
96
  Rake::Task['lesli:status'].invoke
87
97
  end
88
98
  end
@@ -0,0 +1,54 @@
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 Framework.
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
+ # ·
34
+ namespace :lesli do
35
+ namespace :role do
36
+
37
+ desc "Drop, build, migrate & seed Lesli database (development only)"
38
+ task :privileges => :environment do |task, args|
39
+ role_sync_privileges()
40
+ end
41
+ end
42
+
43
+ # Drop, build, migrate & seed database (development only)
44
+ def role_sync_privileges
45
+
46
+ L2.msg("Syncing privileges for all the available roles")
47
+
48
+ Lesli::Descriptor.where(:name => "owner").each do |descriptor|
49
+ descriptor.initialize_descriptor_privileges
50
+ end
51
+
52
+ Lesli::RolePowerOperator.new(Lesli::Role.all.pluck(:id)).synchronize
53
+ end
54
+ end
@@ -68,6 +68,8 @@ import {
68
68
  lesliElementCalendar,
69
69
  lesliElementCard,
70
70
  lesliElementCollapse,
71
+ lesliElementColumn,
72
+ lesliElementColumns,
71
73
  lesliElementControl,
72
74
  lesliElementDropdown,
73
75
  lesliElementEmpty,
@@ -226,6 +228,10 @@ export default (engine, routes=[]) => {
226
228
  application.component("lesli-loading", lesliElementLoading)
227
229
  application.component("lesli-table", lesliElementTable)
228
230
  application.component("lesli-collapse", lesliElementCollapse)
231
+ application.component("lesli-column", lesliElementColumn)
232
+ application.component("lesli-columns", lesliElementColumns)
233
+ application.component("lesli-card", lesliElementCard)
234
+ application.component("lesli-control", lesliElementControl)
229
235
  application.component("lesli-tab-item", lesliElementTabItem)
230
236
  application.component("lesli-tabs", lesliElementTabs)
231
237
  application.component("lesli-panel", lesliElementPanel)
@@ -243,8 +249,9 @@ export default (engine, routes=[]) => {
243
249
  application.component("lesli-pagination", lesliElementPagination)
244
250
  application.component("lesli-form", lesliElementForm)
245
251
  application.component("lesli-input", lesliElementInput)
246
- application.component("lesli-control", lesliElementControl)
247
- application.component("lesli-card", lesliElementCard)
252
+ application.component("lesli-link", lesliElementLink)
253
+
254
+
248
255
 
249
256
 
250
257
  // · Mount app once DOM is ready
@@ -51,8 +51,8 @@ application({
51
51
  password: ""
52
52
  },
53
53
  password_edit: {
54
- new_password: "",
55
- new_password_confirmation: ""
54
+ new_password: "Tardis2023$",
55
+ new_password_confirmation: "Tardis2023$"
56
56
  },
57
57
  notification: {
58
58
  message: "",
@@ -117,7 +117,7 @@ application({
117
117
  }
118
118
  }).then(response => {
119
119
  this.showNotification(this.translations.main.notification_password_updated, "success")
120
- setTimeout(() => { this.url.go("/login") }, 2000)
120
+ //setTimeout(() => { this.url.go("/login") }, 2000)
121
121
  }).catch(error => {
122
122
  this.showNotification(error.message, "danger")
123
123
  }).finally(() => {
@@ -77,6 +77,11 @@ const props = defineProps({
77
77
  type: Boolean,
78
78
  default: false,
79
79
  required: false
80
+ },
81
+ enginePath: {
82
+ type: String,
83
+ default: "/",
84
+ required: false
80
85
  }
81
86
  })
82
87
 
@@ -114,9 +119,11 @@ function toggleEngines() {
114
119
  <template>
115
120
  <header ref="lesliApplicationHeader" class="lesli-application-header">
116
121
  <div class="lesli-application-header-container container">
117
- <figure class="image lesli-brand">
118
- <img alt="App logo" class="is-hidden-touch" src="/assets/lesli/brand/app-logo.svg">
119
- </figure>
122
+ <a :href="props.enginePath">
123
+ <figure class="image lesli-brand">
124
+ <img alt="App logo" class="is-hidden-touch" src="/assets/lesli/brand/app-logo.svg">
125
+ </figure>
126
+ </a>
120
127
  <div class="lesli-application-header-left">
121
128
  <div class="control is-medium has-icons-left has-text-grey">
122
129
  <span class="icon is-left has-text-gray">
data/lib/webpack/core.js CHANGED
@@ -46,7 +46,7 @@ module.exports = (env, requestedEngines) => {
46
46
  "users/sessions": "LesliApp/users/sessions.js",
47
47
  "users/passwords": "LesliApp/users/passwords.js",
48
48
  "users/registrations": "LesliApp/users/registrations.js",
49
- "users/confirmations": "LesliApp/users/confirmations.js",
49
+
50
50
 
51
51
 
52
52
  // alternative logins
@@ -64,6 +64,7 @@ module.exports = (env, requestedEngines) => {
64
64
  },
65
65
  entry: {
66
66
  "lesli/users/registrations": "Lesli/devise/registrations.js",
67
+ "lesli/users/confirmations": "Lesli/devise/confirmations.js",
67
68
  "lesli/users/passwords": "Lesli/devise/passwords.js",
68
69
  "lesli/users/sessions": "Lesli/devise/sessions.js"
69
70
  },
data/readme.md CHANGED
@@ -7,10 +7,13 @@
7
7
  <hr/>
8
8
  <p align="center">
9
9
  <a target="blank" href="https://rubygems.org/gems/lesli">
10
- <img src="https://badge.fury.io/rb/lesli.svg" alt="Gem Version" height="20">
10
+ <img height="22" alt="Gem Version" src="https://badge.fury.io/rb/lesli.svg"/>
11
11
  </a>
12
12
  <a href="https://codecov.io/github/LesliTech/Lesli">
13
- <img src="https://codecov.io/github/LesliTech/Lesli/graph/badge.svg?token=2O12NENK5Y"/>
13
+ <img height="22" src="https://codecov.io/github/LesliTech/Lesli/graph/badge.svg?token=2O12NENK5Y"/>
14
+ </a>
15
+ <a href="https://codecov.io/github/LesliTech/Lesli">
16
+ <img height="22" src="https://sonarcloud.io/api/project_badges/measure?project=LesliTech_Lesli&metric=sqale_rating"/>
14
17
  </a>
15
18
  </p>
16
19
  <hr/>
@@ -18,7 +21,11 @@
18
21
 
19
22
  <br />
20
23
 
21
- <img style="width:100%; border-radius: 6px;" alt="Lesli logo" src="./docs/screenshot.png" />
24
+ <div align="center">
25
+ <img
26
+ style="width:100%;max-width:800px;border-radius:6px;"
27
+ alt="Lesli logo" src="./docs/screenshot.png" />
28
+ </div>
22
29
 
23
30
  ### Introduction
24
31
 
@@ -39,17 +46,26 @@ Lesli is completely open source and comes with features and tools that can save
39
46
 
40
47
  <br />
41
48
 
42
- Lesli is officially released and supported as of version 5
49
+ Lesli is officially released and will be supported as of version 5.1
43
50
 
44
51
  > Lesli goes beyond being just a starter-kit, template, admin panel or dashboard. Lesli is a Ruby on Rails gem that you can use to build modules (a.k.a. engines) and standard Rails applications leveraging its robust set of built-in features, generators, components, and industry standards. With Lesli, you have the flexibility to extend existing functionalities or develop fully customized software tailored to your specific needs.
45
52
 
46
53
 
54
+ <br />
55
+
56
+ ### Demo
57
+
58
+ * online demo (soon)
59
+ * [docker demo](https://github.com/ldonis/lesli-docker-demo)
60
+
61
+
47
62
  <br />
48
63
 
49
64
  ### Documentation
65
+ * [Website](https://www.lesli.dev/lesli/)
50
66
  * [Roadmap](./docs/roadmap.md)
51
- * [Core database](./docs/database.md)
52
- * [Main documentation](https://www.lesli.dev/documentation/)
67
+ * [Database](./docs/database.md)
68
+ * [Documentation](https://www.lesli.dev/documentation/)
53
69
 
54
70
 
55
71
  <br />
@@ -110,7 +126,7 @@ RAILS_SERVE_STATIC_FILES=true rails s --environment=production
110
126
 
111
127
  <br />
112
128
 
113
- ### Get in touch
129
+ ### Get in touch with Lesli
114
130
 
115
131
  * [Website: https://www.lesli.tech](https://www.lesli.tech)
116
132
  * [Email: hello@lesli.tech](hello@lesli.tech)
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.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-16 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
@@ -285,33 +286,39 @@ files:
285
286
  - app/mailers/lesli/application_lesli_mailer.rb
286
287
  - app/mailers/lesli/application_mailer.rb
287
288
  - app/mailers/lesli/devise_mailer.rb
288
- - app/models/concerns/account_engines.rb
289
+ - app/models/concerns/account_initializer.rb
289
290
  - app/models/concerns/user_activities.rb
290
291
  - app/models/concerns/user_extensions.rb
291
- - app/models/concerns/user_guard.rb
292
- - app/models/concerns/user_polyfill.rb
292
+ - app/models/concerns/user_security.rb
293
293
  - app/models/lesli/account.rb
294
294
  - app/models/lesli/account/log.rb
295
295
  - app/models/lesli/account/request.rb
296
296
  - app/models/lesli/application_lesli_record.rb
297
297
  - app/models/lesli/descriptor.rb
298
+ - app/models/lesli/descriptor/privilege.rb
298
299
  - app/models/lesli/role.rb
300
+ - app/models/lesli/role/power.rb
301
+ - app/models/lesli/role/privilege.rb
299
302
  - app/models/lesli/system_controller.rb
300
303
  - app/models/lesli/system_controller/action.rb
301
304
  - app/models/lesli/user.rb
302
305
  - app/models/lesli/user/agent.rb
303
306
  - app/models/lesli/user/detail.rb
304
307
  - app/models/lesli/user/log.rb
308
+ - app/models/lesli/user/power.rb
305
309
  - app/models/lesli/user/request.rb
306
- - app/models/lesli/user/role.rb
307
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
308
315
  - app/services/lesli/application_lesli_service.rb
309
- - app/services/lesli/role_service.rb
310
- - app/services/lesli/user/session_service.rb
311
316
  - app/services/lesli/user_service.rb
317
+ - app/services/lesli/user_session_service.rb
312
318
  - app/validators/lesli/application_lesli_validator.rb
313
319
  - app/validators/lesli/users_validator.rb
314
320
  - app/views/devise/confirmations/new.html.erb
321
+ - app/views/devise/confirmations/show.html.erb
315
322
  - app/views/devise/mailer/confirmation_instructions.html.erb
316
323
  - app/views/devise/mailer/email_changed.html.erb
317
324
  - app/views/devise/mailer/password_change.html.erb
@@ -326,6 +333,7 @@ files:
326
333
  - app/views/devise/shared/_links.html.erb
327
334
  - app/views/devise/unlocks/new.html.erb
328
335
  - app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb
336
+ - app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb
329
337
  - app/views/lesli/emails/user_mailer/invitation.html.erb
330
338
  - app/views/lesli/layouts/application-devise.html.erb
331
339
  - app/views/lesli/layouts/application-lesli.html.erb
@@ -355,26 +363,25 @@ files:
355
363
  - config/initializers/devise.rb
356
364
  - config/initializers/lesli.rb
357
365
  - config/locales/devise.en.yml
358
- - config/locales/translations.en.yml
359
- - config/locales/translations.es.yml
360
366
  - config/routes.rb
361
367
  - db/migrate/v1.0/0010000110_create_lesli_accounts.rb
362
368
  - db/migrate/v1.0/0010000210_create_lesli_roles.rb
363
369
  - db/migrate/v1.0/0010000310_create_lesli_users.rb
364
370
  - db/migrate/v1.0/0010000610_create_lesli_system_controllers.rb
365
371
  - db/migrate/v1.0/0010000710_create_lesli_system_controller_actions.rb
372
+ - db/migrate/v1.0/0010001010_create_lesli_account_settings.rb
366
373
  - db/migrate/v1.0/0010001210_create_lesli_account_activities.rb
367
374
  - db/migrate/v1.0/0010001410_create_lesli_account_logs.rb
368
- - db/migrate/v1.0/0010001510_create_lesli_account_requests.rb
369
375
  - db/migrate/v1.0/0010003010_create_lesli_user_details.rb
376
+ - db/migrate/v1.0/0010003110_create_lesli_user_settings.rb
370
377
  - 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
378
+ - db/migrate/v1.0/0010003410_create_lesli_user_powers.rb
374
379
  - db/migrate/v1.0/0010004010_create_lesli_user_logs.rb
375
380
  - db/migrate/v1.0/0010005010_create_lesli_descriptors.rb
376
381
  - db/migrate/v1.0/0010005110_create_lesli_descriptor_privileges.rb
377
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
378
385
  - db/seed/development.rb
379
386
  - db/seed/development/accounts.rb
380
387
  - db/seed/development/users.rb
@@ -401,19 +408,15 @@ files:
401
408
  - db/structure/00000403_custom_validation_fields.json
402
409
  - db/structure/00000501_dashboards.json
403
410
  - db/structure/00000502_dashboard_components.json
404
- - db/tables/0010001010_create_account_settings.rb
405
411
  - db/tables/0010001110_create_account_locations.rb
406
412
  - db/tables/0010001410_create_account_files.rb
407
413
  - db/tables/0010001510_create_account_currencies.rb
408
414
  - db/tables/0010001610_create_account_currency_exchange_rates.rb
409
- - db/tables/0010003110_create_user_settings.rb
410
415
  - db/tables/0010003410_create_user_activities.rb
411
416
  - db/tables/0010003710_create_user_codes.rb
412
417
  - db/tables/0010003810_create_user_shortcuts.rb
413
418
  - db/tables/0010004110_create_user_tokens.rb
414
- - db/tables/0010005510_create_role_descriptors.rb
415
419
  - db/tables/0010005610_create_role_activities.rb
416
- - db/tables/0010005710_create_role_privileges.rb
417
420
  - db/tables/0010009010_create_feedbacks.rb
418
421
  - lib/assets/javascripts/lesli/i18n.js
419
422
  - lib/assets/javascripts/lesli/translations.js
@@ -480,6 +483,7 @@ files:
480
483
  - lib/tasks/lesli/controllers.rake
481
484
  - lib/tasks/lesli/db.rake
482
485
  - lib/tasks/lesli/git.rake
486
+ - lib/tasks/lesli/role.rake
483
487
  - lib/tasks/lesli_tasks.rake
484
488
  - lib/vue/application.js
485
489
  - lib/vue/apps/cloudobjects/action.vue