lesli 5.0.12 → 5.0.13

Sign up to get free protection for your applications and to get access to all the features.
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