lesli 5.0.12 → 5.0.13

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/lesli/brand/app-logo.png +0 -0
  3. data/app/assets/javascripts/lesli/templates/application.js +14 -0
  4. data/app/assets/javascripts/lesli/templates/public.js +14 -0
  5. data/app/assets/stylesheets/lesli/templates/application.css +851 -21432
  6. data/app/assets/stylesheets/lesli/templates/public.css +1 -19098
  7. data/app/controllers/lesli/application_controller.rb +1 -0
  8. data/app/controllers/lesli/interfaces/application/authorization.rb +1 -1
  9. data/app/helpers/lesli/assets_helper.rb +24 -6
  10. data/app/helpers/lesli/navigation_helper.rb +15 -11
  11. data/app/lib/date2.rb +8 -0
  12. data/app/lib/lesli/system.rb +13 -1
  13. data/app/models/concerns/user_extensions.rb +6 -0
  14. data/app/models/lesli/user.rb +2 -2
  15. data/app/operators/lesli/controller_operator.rb +4 -1
  16. data/app/services/lesli/user_service.rb +1 -1
  17. data/app/views/lesli/layouts/application-lesli.html.erb +2 -0
  18. data/app/views/lesli/partials/_application-data.html.erb +3 -3
  19. data/app/views/lesli/partials/_application-lesli-header.html.erb +47 -22
  20. data/app/views/lesli/partials/_application-lesli-javascript.html.erb +2 -2
  21. data/app/views/lesli/partials/_application-lesli-navigation.html.erb +8 -1
  22. data/app/views/lesli/partials/_application-lesli-scss.html.erb +2 -2
  23. data/app/views/lesli/wrappers/_application-devise-simple.erb +1 -1
  24. data/config/initializers/lesli.rb +7 -1
  25. data/config/locales/translations.en.yml +5 -3
  26. data/config/locales/translations.es.yml +5 -3
  27. data/config/locales/translations.fr.yml +5 -3
  28. data/config/locales/translations.it.yml +5 -3
  29. data/config/locales/translations.pt.yml +5 -3
  30. data/lib/generators/application_lesli_generator.rb +164 -0
  31. data/lib/generators/lesli/spec/USAGE +8 -0
  32. data/lib/generators/lesli/spec/spec_generator.rb +25 -0
  33. data/lib/generators/lesli/spec/templates/spec-factory.template +17 -0
  34. data/lib/generators/lesli/spec/templates/spec-model.template +70 -0
  35. data/lib/lesli/configuration.rb +1 -1
  36. data/lib/lesli/engine.rb +2 -3
  37. data/lib/lesli/r_spec.rb +40 -0
  38. data/lib/lesli/routing.rb +57 -0
  39. data/lib/lesli/version.rb +2 -2
  40. data/lib/lesli.rb +2 -0
  41. data/lib/scss/layouts/application-component.scss +1 -1
  42. data/lib/scss/layouts/application-content.scss +35 -0
  43. data/lib/scss/layouts/application-header.scss +37 -109
  44. data/lib/scss/layouts/{application-navbar.scss → application-navigation.scss} +21 -4
  45. data/lib/scss/layouts/application-search.scss +1 -1
  46. data/lib/scss/settings/variables.scss +1 -1
  47. data/lib/scss/templates/application.scss +8 -37
  48. data/lib/scss/templates/public.scss +6 -4
  49. data/lib/tasks/lesli_tasks.rake +3 -3
  50. data/lib/vue/application.js +6 -4
  51. data/lib/vue/layouts/application-component.vue +2 -2
  52. data/lib/vue/layouts/application-header.vue +108 -87
  53. data/lib/vue/panels/panel-support-tickets.vue +4 -2
  54. data/lib/vue/shared/dashboards/apps/edit.vue +1 -1
  55. data/lib/vue/shared/dashboards/components/form.vue +2 -2
  56. data/lib/vue/stores/translations.json +10 -0
  57. data/lib/webpack/base.js +11 -6
  58. data/lib/webpack/core.js +8 -6
  59. data/lib/webpack/engines.js +3 -1
  60. data/lib/webpack/root.js +105 -0
  61. data/lib/webpack/version.js +37 -0
  62. metadata +17 -24
  63. data/app/assets/stylesheets/lesli/users/confirmations.css +0 -19219
  64. data/app/assets/stylesheets/lesli/users/passwords.css +0 -19202
  65. data/app/assets/stylesheets/lesli/users/registrations.css +0 -19594
  66. data/app/assets/stylesheets/lesli/users/sessions.css +0 -19594
  67. data/lib/scss/bulma/loader.scss +0 -92
data/lib/webpack/core.js CHANGED
@@ -19,7 +19,7 @@ along with this program. If not, see http://www.gnu.org/licenses/.
19
19
 
20
20
  Lesli · Ruby on Rails SaaS Development Framework.
21
21
 
22
- Made with ♥ by https://www.lesli.tech
22
+ Made with ♥ by LesliTech
23
23
  Building a better future, one line of code at a time.
24
24
 
25
25
  @contact hello@lesli.tech
@@ -48,7 +48,6 @@ module.exports = (env, requestedEngines) => {
48
48
  "users/registrations": "LesliApp/users/registrations.js",
49
49
 
50
50
 
51
-
52
51
  // alternative logins
53
52
  "mfas/application": "LesliApp/mfas/application.js",
54
53
  "otps/application": "LesliApp/otps/application.js",
@@ -74,18 +73,21 @@ module.exports = (env, requestedEngines) => {
74
73
  "lesli/templates/public": "Lesli/scss/templates/public.scss",
75
74
  "lesli/templates/application": "Lesli/scss/templates/application.scss"
76
75
  },
76
+
77
+ // javascript output only,
78
+ // the output for stylesheets is defined in the webpack file itself
77
79
  output: {
78
- // the output for stylesheets is defined in the webpack file itself
79
80
  path: path.resolve("app", "assets"),
80
81
  filename: "javascripts/[name].js"
81
82
  }
82
83
  }
83
84
 
84
85
  // do not include the core apps if specific engines were requested
85
- if (requestedEngines.length > 0 && !requestedEngines.includes("core")) {
86
- config.entry = {}
86
+ if (requestedEngines.length > 0) {
87
+ if (!requestedEngines.includes("lesli")) {
88
+ config.entry = {}
89
+ }
87
90
  }
88
91
 
89
92
  return config
90
-
91
93
  }
@@ -52,7 +52,9 @@ function installedEngines(requestedEngines) {
52
52
 
53
53
 
54
54
  // remove the keep file from the engines directory
55
- engines = engines.filter(directory => directory != ".gitkeep")
55
+ engines = engines
56
+ .filter(directory => directory != ".gitkeep")
57
+ .filter(directory => directory != ".DS_Store")
56
58
 
57
59
 
58
60
  // filter found engines to get only the ones that are ready to work with vue
@@ -0,0 +1,105 @@
1
+ "use strict"
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 LesliTech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ */
32
+
33
+
34
+ // ·
35
+ const fs = require("fs")
36
+ const path = require("path")
37
+ const engine_dir = path.resolve("../", "../", "lib")
38
+
39
+
40
+ // ·
41
+ module.exports = (env, requestedEngines) => {
42
+
43
+ var entries = []
44
+
45
+ var config = {
46
+
47
+ entry: {
48
+ },
49
+
50
+ // javascript output only,
51
+ // the output for stylesheets is defined in the webpack file itself
52
+ output: {
53
+ path: path.resolve("../", "../", "app", "assets"),
54
+ filename: "javascripts/[name].js"
55
+ }
56
+ }
57
+
58
+ // scan the vue folder to get all the vue apps
59
+ const vueFolder = path.resolve("../", "../", "lib", "vue")
60
+
61
+
62
+ if (!fs.existsSync(vueFolder)) {
63
+ return config
64
+ }
65
+
66
+
67
+ // filter to remove the folders to get only .js files
68
+ const files = fs.readdirSync(vueFolder, { withFileTypes: true })
69
+ .filter(item => !item.isDirectory())
70
+ .map(item => item.name)
71
+
72
+
73
+ // register every vue app found
74
+ files.forEach(file => {
75
+
76
+ // path to the vue app main mount file
77
+ const appPath = path.resolve(vueFolder, file)
78
+
79
+ // stop process if vue app does not exists
80
+ if (!fs.existsSync(appPath)) { return; }
81
+
82
+ const appname = path.parse(file).name
83
+
84
+ // add vue apps found into the webpack compilation pipeline
85
+ config.entry[(`${appname}`)] = [
86
+ `${engine_dir}/vue/${appname}.js`,
87
+ `${engine_dir}/scss/${appname}.scss`
88
+ ]
89
+
90
+ })
91
+
92
+
93
+ // check if the engine has vue apps to compile
94
+ if (Object.keys(config.entry).length <= 0) { return }
95
+
96
+ entries.push({ code: "root", dir: engine_dir, config })
97
+
98
+ // do not include the core apps if specific engines were requested
99
+ if (requestedEngines.length > 0 && !requestedEngines.includes("root")) {
100
+ config.entry = {}
101
+ }
102
+
103
+ return config
104
+
105
+ }
@@ -1,8 +1,43 @@
1
+ "use strict"
2
+ /*
3
+ Lesli
1
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 LesliTech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ */
32
+
33
+
34
+ // ·
2
35
  const fs = require("fs")
3
36
  const dayjs = require("dayjs")
4
37
  const { useLesliDebug } = require("lesli-vue/composables")
5
38
  const advancedFormat = require("dayjs/plugin/advancedFormat")
39
+
40
+ // ·
6
41
  dayjs.extend(advancedFormat)
7
42
  const debug = useLesliDebug()
8
43
 
@@ -19,6 +54,8 @@ module.exports = (env, engine) => {
19
54
  // set the path to the engine version file by default
20
55
  let engine_version_file = `../../engines/${engine.dir}/lib/${engine.code}/version.rb`
21
56
 
57
+
58
+ //
22
59
  fs.readFile(engine_version_file, "utf8", (err, data) => {
23
60
 
24
61
  if (err) {
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.12
4
+ version: 5.0.13
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: 2024-05-10 00:00:00.000000000 Z
11
+ date: 2024-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -58,20 +58,6 @@ dependencies:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: 4.2.3
61
- - !ruby/object:Gem::Dependency
62
- name: pg
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: 1.5.3
68
- type: :runtime
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: 1.5.3
75
61
  - !ruby/object:Gem::Dependency
76
62
  name: acts_as_paranoid
77
63
  requirement: !ruby/object:Gem::Requirement
@@ -120,14 +106,14 @@ dependencies:
120
106
  requirements:
121
107
  - - "~>"
122
108
  - !ruby/object:Gem::Version
123
- version: 0.5.3
109
+ version: 0.6.5
124
110
  type: :runtime
125
111
  prerelease: false
126
112
  version_requirements: !ruby/object:Gem::Requirement
127
113
  requirements:
128
114
  - - "~>"
129
115
  - !ruby/object:Gem::Version
130
- version: 0.5.3
116
+ version: 0.6.5
131
117
  - !ruby/object:Gem::Dependency
132
118
  name: useragent
133
119
  requirement: !ruby/object:Gem::Requirement
@@ -210,17 +196,16 @@ files:
210
196
  - app/assets/icons/readme.md
211
197
  - app/assets/images/lesli/brand/app-auth.svg
212
198
  - app/assets/images/lesli/brand/app-icon.svg
199
+ - app/assets/images/lesli/brand/app-logo.png
213
200
  - app/assets/images/lesli/brand/app-logo.svg
214
201
  - app/assets/images/lesli/brand/favicon.png
215
202
  - app/assets/images/lesli/brand/favicon.svg
216
203
  - app/assets/images/lesli/brand/login-background.jpg
217
204
  - app/assets/images/lesli/lesli-logo.svg
205
+ - app/assets/javascripts/lesli/templates/application.js
206
+ - app/assets/javascripts/lesli/templates/public.js
218
207
  - app/assets/stylesheets/lesli/templates/application.css
219
208
  - app/assets/stylesheets/lesli/templates/public.css
220
- - app/assets/stylesheets/lesli/users/confirmations.css
221
- - app/assets/stylesheets/lesli/users/passwords.css
222
- - app/assets/stylesheets/lesli/users/registrations.css
223
- - app/assets/stylesheets/lesli/users/sessions.css
224
209
  - app/controllers/lesli/abouts_controller.rb
225
210
  - app/controllers/lesli/application_controller.rb
226
211
  - app/controllers/lesli/application_devise_controller.rb
@@ -371,12 +356,18 @@ files:
371
356
  - db/tables/0010005610_create_role_activities.rb
372
357
  - db/tables/0010009010_create_feedbacks.rb
373
358
  - lib/assets/javascripts/lesli/i18n.js
359
+ - lib/generators/application_lesli_generator.rb
360
+ - lib/generators/lesli/spec/USAGE
361
+ - lib/generators/lesli/spec/spec_generator.rb
362
+ - lib/generators/lesli/spec/templates/spec-factory.template
363
+ - lib/generators/lesli/spec/templates/spec-model.template
374
364
  - lib/lesli.rb
375
365
  - lib/lesli/configuration.rb
376
366
  - lib/lesli/engine.rb
367
+ - lib/lesli/r_spec.rb
368
+ - lib/lesli/routing.rb
377
369
  - lib/lesli/version.rb
378
370
  - lib/mailer_previews/devise_mailer_preview.rb
379
- - lib/scss/bulma/loader.scss
380
371
  - lib/scss/cloud-objects/discussion.scss
381
372
  - lib/scss/cloud-objects/file.scss
382
373
  - lib/scss/components/keypad.scss
@@ -399,10 +390,11 @@ files:
399
390
  - lib/scss/layouts/application-announcements.scss
400
391
  - lib/scss/layouts/application-component.scss
401
392
  - lib/scss/layouts/application-container.scss
393
+ - lib/scss/layouts/application-content.scss
402
394
  - lib/scss/layouts/application-engines.scss
403
395
  - lib/scss/layouts/application-footer.scss
404
396
  - lib/scss/layouts/application-header.scss
405
- - lib/scss/layouts/application-navbar.scss
397
+ - lib/scss/layouts/application-navigation.scss
406
398
  - lib/scss/layouts/application-search.scss
407
399
  - lib/scss/layouts/application-sidebar.scss
408
400
  - lib/scss/overrides/notification.scss
@@ -523,6 +515,7 @@ files:
523
515
  - lib/webpack/base.js
524
516
  - lib/webpack/core.js
525
517
  - lib/webpack/engines.js
518
+ - lib/webpack/root.js
526
519
  - lib/webpack/version.js
527
520
  - license
528
521
  - readme.md