lesli 5.0.12 → 5.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/lesli/brand/app-logo.png +0 -0
- data/app/assets/javascripts/lesli/templates/application.js +14 -0
- data/app/assets/javascripts/lesli/templates/public.js +14 -0
- data/app/assets/stylesheets/lesli/templates/application.css +851 -21432
- data/app/assets/stylesheets/lesli/templates/public.css +1 -19098
- data/app/controllers/lesli/application_controller.rb +1 -0
- data/app/controllers/lesli/interfaces/application/authorization.rb +1 -1
- data/app/helpers/lesli/assets_helper.rb +24 -6
- data/app/helpers/lesli/navigation_helper.rb +15 -11
- data/app/lib/date2.rb +8 -0
- data/app/lib/lesli/system.rb +13 -1
- data/app/models/concerns/user_extensions.rb +6 -0
- data/app/models/lesli/user.rb +2 -2
- data/app/operators/lesli/controller_operator.rb +4 -1
- data/app/services/lesli/user_service.rb +1 -1
- data/app/views/lesli/layouts/application-lesli.html.erb +2 -0
- data/app/views/lesli/partials/_application-data.html.erb +3 -3
- data/app/views/lesli/partials/_application-lesli-header.html.erb +47 -22
- data/app/views/lesli/partials/_application-lesli-javascript.html.erb +2 -2
- data/app/views/lesli/partials/_application-lesli-navigation.html.erb +8 -1
- data/app/views/lesli/partials/_application-lesli-scss.html.erb +2 -2
- data/app/views/lesli/wrappers/_application-devise-simple.erb +1 -1
- data/config/initializers/lesli.rb +7 -1
- data/config/locales/translations.en.yml +5 -3
- data/config/locales/translations.es.yml +5 -3
- data/config/locales/translations.fr.yml +5 -3
- data/config/locales/translations.it.yml +5 -3
- data/config/locales/translations.pt.yml +5 -3
- data/lib/generators/application_lesli_generator.rb +164 -0
- data/lib/generators/lesli/spec/USAGE +8 -0
- data/lib/generators/lesli/spec/spec_generator.rb +25 -0
- data/lib/generators/lesli/spec/templates/spec-factory.template +17 -0
- data/lib/generators/lesli/spec/templates/spec-model.template +70 -0
- data/lib/lesli/configuration.rb +1 -1
- data/lib/lesli/engine.rb +2 -3
- data/lib/lesli/r_spec.rb +40 -0
- data/lib/lesli/routing.rb +57 -0
- data/lib/lesli/version.rb +2 -2
- data/lib/lesli.rb +2 -0
- data/lib/scss/layouts/application-component.scss +1 -1
- data/lib/scss/layouts/application-content.scss +35 -0
- data/lib/scss/layouts/application-header.scss +37 -109
- data/lib/scss/layouts/{application-navbar.scss → application-navigation.scss} +21 -4
- data/lib/scss/layouts/application-search.scss +1 -1
- data/lib/scss/settings/variables.scss +1 -1
- data/lib/scss/templates/application.scss +8 -37
- data/lib/scss/templates/public.scss +6 -4
- data/lib/tasks/lesli_tasks.rake +3 -3
- data/lib/vue/application.js +6 -4
- data/lib/vue/layouts/application-component.vue +2 -2
- data/lib/vue/layouts/application-header.vue +108 -87
- data/lib/vue/panels/panel-support-tickets.vue +4 -2
- data/lib/vue/shared/dashboards/apps/edit.vue +1 -1
- data/lib/vue/shared/dashboards/components/form.vue +2 -2
- data/lib/vue/stores/translations.json +10 -0
- data/lib/webpack/base.js +11 -6
- data/lib/webpack/core.js +8 -6
- data/lib/webpack/engines.js +3 -1
- data/lib/webpack/root.js +105 -0
- data/lib/webpack/version.js +37 -0
- metadata +17 -24
- data/app/assets/stylesheets/lesli/users/confirmations.css +0 -19219
- data/app/assets/stylesheets/lesli/users/passwords.css +0 -19202
- data/app/assets/stylesheets/lesli/users/registrations.css +0 -19594
- data/app/assets/stylesheets/lesli/users/sessions.css +0 -19594
- 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
|
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
|
86
|
-
|
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
|
}
|
data/lib/webpack/engines.js
CHANGED
@@ -52,7 +52,9 @@ function installedEngines(requestedEngines) {
|
|
52
52
|
|
53
53
|
|
54
54
|
// remove the keep file from the engines directory
|
55
|
-
engines = engines
|
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
|
data/lib/webpack/root.js
ADDED
@@ -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
|
+
}
|
data/lib/webpack/version.js
CHANGED
@@ -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.
|
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-
|
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
|
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
|
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-
|
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
|