lesli 5.0.3 → 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 (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