lesli 5.0.2 → 5.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/config/lesli_manifest.js +2 -1
- data/app/assets/javascripts/lesli/users/confirmations.js +32 -0
- data/app/assets/javascripts/lesli/users/passwords.js +3 -3
- data/app/assets/javascripts/lesli/users/registrations.js +2 -2
- data/app/assets/javascripts/lesli/users/sessions.js +2 -2
- data/app/assets/stylesheets/lesli/users/confirmations.scss +28 -6
- data/app/controllers/lesli/abouts_controller.rb +66 -0
- data/app/controllers/lesli/interfaces/application/authorization.rb +2 -2
- data/app/controllers/lesli/interfaces/application/logger.rb +14 -38
- data/app/controllers/lesli/roles_controller.rb +3 -1
- data/app/controllers/users/confirmations_controller.rb +63 -27
- data/app/controllers/users/passwords_controller.rb +70 -30
- data/app/controllers/users/sessions_controller.rb +2 -4
- data/app/lib/lesli/system.rb +13 -5
- data/app/mailers/lesli/application_lesli_mailer.rb +8 -19
- data/app/mailers/lesli/devise_mailer.rb +29 -3
- data/app/models/concerns/account_initializer.rb +91 -0
- data/app/models/concerns/{user_guard.rb → user_security.rb} +7 -8
- data/app/models/lesli/account.rb +8 -26
- data/app/models/lesli/application_lesli_record.rb +1 -0
- data/app/models/lesli/descriptor/privilege.rb +38 -0
- data/app/models/lesli/descriptor.rb +18 -1
- data/app/models/lesli/role/power.rb +70 -0
- data/app/models/lesli/role/privilege.rb +38 -0
- data/app/models/lesli/role.rb +20 -15
- data/app/models/lesli/user/{role.rb → power.rb} +1 -1
- data/app/{services/lesli/role_service.rb → models/lesli/user/setting.rb} +10 -9
- data/app/models/lesli/user.rb +11 -20
- data/app/operators/lesli/descriptor_privilege_operator.rb +75 -0
- data/app/operators/lesli/role_power_operator.rb +108 -0
- data/app/operators/lesli/user_registration_operator.rb +121 -0
- data/app/services/lesli/user_service.rb +2 -4
- data/app/services/lesli/{user/session_service.rb → user_session_service.rb} +11 -4
- data/app/views/devise/confirmations/new.html.erb +0 -14
- data/app/views/devise/confirmations/show.html.erb +63 -0
- data/app/views/devise/passwords/edit.html.erb +78 -24
- data/app/views/devise/passwords/new.html.erb +1 -2
- data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +1 -1
- data/app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb +23 -0
- data/app/views/lesli/partials/_application-lesli-header.html.erb +3 -1
- data/config/initializers/devise.rb +2 -0
- data/config/routes.rb +2 -0
- data/db/migrate/v1.0/0010000110_create_lesli_accounts.rb +2 -0
- data/db/{tables/0010001010_create_account_settings.rb → migrate/v1.0/0010001010_create_lesli_account_settings.rb} +5 -5
- data/db/{tables/0010003110_create_user_settings.rb → migrate/v1.0/0010003110_create_lesli_user_settings.rb} +4 -4
- data/db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb +6 -2
- data/db/migrate/v1.0/{0010003410_create_lesli_user_roles.rb → 0010003410_create_lesli_user_powers.rb} +4 -4
- data/db/migrate/v1.0/0010005010_create_lesli_descriptors.rb +1 -1
- data/db/migrate/v1.0/{0010003910_create_lesli_user_agents.rb → 0010005510_create_lesli_role_powers.rb} +7 -9
- data/db/{tables/0010005710_create_role_privileges.rb → migrate/v1.0/0010005710_create_lesli_role_privileges.rb} +6 -6
- data/db/seed/development/users.rb +4 -4
- data/db/seed/tools.rb +4 -4
- data/lib/lesli/engine.rb +33 -10
- data/lib/lesli/version.rb +1 -1
- data/lib/sass/lesli/bulma/loader.scss +3 -0
- data/lib/sass/lesli/pages/devise-simple.scss +2 -1
- data/lib/tasks/lesli/controllers.rake +3 -6
- data/lib/tasks/lesli/db.rake +11 -1
- data/lib/tasks/lesli/role.rake +54 -0
- data/lib/vue/application.js +9 -2
- data/lib/vue/devise/passwords.js +3 -3
- data/lib/vue/layouts/application-header.vue +10 -3
- data/lib/webpack/core.js +2 -1
- data/readme.md +23 -7
- data/vendor/bulma/LICENSE +21 -0
- data/vendor/bulma/bulma.sass +10 -0
- data/vendor/bulma/css/bulma-rtl.css +11851 -0
- data/vendor/bulma/css/bulma-rtl.min.css +1 -0
- data/vendor/bulma/css/bulma.css +11851 -0
- data/vendor/bulma/css/bulma.min.css +1 -0
- data/vendor/bulma/sass/base/_all.sass +6 -0
- data/vendor/bulma/sass/base/animations.sass +5 -0
- data/vendor/bulma/sass/base/generic.sass +145 -0
- data/vendor/bulma/sass/base/helpers.sass +1 -0
- data/vendor/bulma/sass/base/minireset.sass +79 -0
- data/vendor/bulma/sass/components/_all.sass +15 -0
- data/vendor/bulma/sass/components/breadcrumb.sass +77 -0
- data/vendor/bulma/sass/components/card.sass +103 -0
- data/vendor/bulma/sass/components/dropdown.sass +83 -0
- data/vendor/bulma/sass/components/level.sass +79 -0
- data/vendor/bulma/sass/components/media.sass +59 -0
- data/vendor/bulma/sass/components/menu.sass +59 -0
- data/vendor/bulma/sass/components/message.sass +101 -0
- data/vendor/bulma/sass/components/modal.sass +117 -0
- data/vendor/bulma/sass/components/navbar.sass +446 -0
- data/vendor/bulma/sass/components/pagination.sass +167 -0
- data/vendor/bulma/sass/components/panel.sass +121 -0
- data/vendor/bulma/sass/components/tabs.sass +176 -0
- data/vendor/bulma/sass/elements/_all.sass +16 -0
- data/vendor/bulma/sass/elements/box.sass +26 -0
- data/vendor/bulma/sass/elements/button.sass +357 -0
- data/vendor/bulma/sass/elements/container.sass +29 -0
- data/vendor/bulma/sass/elements/content.sass +162 -0
- data/vendor/bulma/sass/elements/form.sass +1 -0
- data/vendor/bulma/sass/elements/icon.sass +46 -0
- data/vendor/bulma/sass/elements/image.sass +73 -0
- data/vendor/bulma/sass/elements/notification.sass +52 -0
- data/vendor/bulma/sass/elements/other.sass +31 -0
- data/vendor/bulma/sass/elements/progress.sass +73 -0
- data/vendor/bulma/sass/elements/table.sass +134 -0
- data/vendor/bulma/sass/elements/tag.sass +140 -0
- data/vendor/bulma/sass/elements/title.sass +70 -0
- data/vendor/bulma/sass/form/_all.sass +9 -0
- data/vendor/bulma/sass/form/checkbox-radio.sass +22 -0
- data/vendor/bulma/sass/form/file.sass +184 -0
- data/vendor/bulma/sass/form/input-textarea.sass +66 -0
- data/vendor/bulma/sass/form/select.sass +88 -0
- data/vendor/bulma/sass/form/shared.sass +60 -0
- data/vendor/bulma/sass/form/tools.sass +215 -0
- data/vendor/bulma/sass/grid/_all.sass +5 -0
- data/vendor/bulma/sass/grid/columns.sass +513 -0
- data/vendor/bulma/sass/grid/tiles.sass +36 -0
- data/vendor/bulma/sass/helpers/_all.sass +12 -0
- data/vendor/bulma/sass/helpers/color.sass +39 -0
- data/vendor/bulma/sass/helpers/flexbox.sass +35 -0
- data/vendor/bulma/sass/helpers/float.sass +10 -0
- data/vendor/bulma/sass/helpers/other.sass +14 -0
- data/vendor/bulma/sass/helpers/overflow.sass +2 -0
- data/vendor/bulma/sass/helpers/position.sass +7 -0
- data/vendor/bulma/sass/helpers/spacing.sass +31 -0
- data/vendor/bulma/sass/helpers/typography.sass +103 -0
- data/vendor/bulma/sass/helpers/visibility.sass +122 -0
- data/vendor/bulma/sass/layout/_all.sass +6 -0
- data/vendor/bulma/sass/layout/footer.sass +11 -0
- data/vendor/bulma/sass/layout/hero.sass +153 -0
- data/vendor/bulma/sass/layout/section.sass +17 -0
- data/vendor/bulma/sass/utilities/_all.sass +9 -0
- data/vendor/bulma/sass/utilities/animations.sass +1 -0
- data/vendor/bulma/sass/utilities/controls.sass +49 -0
- data/vendor/bulma/sass/utilities/derived-variables.sass +114 -0
- data/vendor/bulma/sass/utilities/extends.sass +25 -0
- data/vendor/bulma/sass/utilities/functions.sass +135 -0
- data/vendor/bulma/sass/utilities/initial-variables.sass +79 -0
- data/vendor/bulma/sass/utilities/mixins.sass +303 -0
- data/vendor/lesli-css/_index.scss +34 -0
- data/vendor/lesli-css/lesli.scss +51 -0
- data/vendor/lesli-css/license +28 -0
- data/vendor/lesli-css/src/base/fonts.scss +50 -0
- data/vendor/lesli-css/src/base/normalize.scss +118 -0
- data/vendor/lesli-css/src/components/blockquote.scss +61 -0
- data/vendor/lesli-css/src/components/columns.scss +92 -0
- data/vendor/lesli-css/src/components/container.scss +47 -0
- data/vendor/lesli-css/src/components/grid.scss +0 -0
- data/vendor/lesli-css/src/components/navigation.scss +59 -0
- data/vendor/lesli-css/src/functions/colors.scss +184 -0
- data/vendor/lesli-css/src/helpers/units.scss +44 -0
- data/vendor/lesli-css/src/mixins/breakpoint.scss +184 -0
- data/vendor/lesli-css/src/mixins/flex.scss +80 -0
- data/vendor/lesli-css/src/mixins/scrollbar.scss +46 -0
- data/vendor/lesli-css/src/settings/variables.scss +26 -0
- data/vendor/lesli-css/tests/base/normalize.spec.scss +125 -0
- data/vendor/lesli-css/tests/functions/colors.spec.scss +117 -0
- data/vendor/lesli-css/tests/mixins/breakpoint.spec.scss +429 -0
- data/vendor/lesli-css/tests/mixins/scrollbar.spec.scss +82 -0
- data/vendor/lesli-css/vendor/normalize.scss +351 -0
- data/vendor/remixicon/License +201 -0
- data/vendor/remixicon/fonts/remixicon.css +2583 -0
- metadata +116 -18
- data/app/models/concerns/account_engines.rb +0 -249
- data/app/models/concerns/user_polyfill.rb +0 -134
- data/config/locales/translations.en.yml +0 -7
- data/config/locales/translations.es.yml +0 -7
- data/db/migrate/v1.0/0010001510_create_lesli_account_requests.rb +0 -45
- data/db/migrate/v1.0/0010003810_create_lesli_user_requests.rb +0 -44
- data/db/tables/0010005510_create_role_descriptors.rb +0 -44
data/lib/lesli/engine.rb
CHANGED
@@ -39,6 +39,7 @@ require "L2"
|
|
39
39
|
require "devise"
|
40
40
|
require "useragent"
|
41
41
|
require "flag-icons-rails"
|
42
|
+
require "acts_as_paranoid"
|
42
43
|
|
43
44
|
module Lesli
|
44
45
|
class Engine < ::Rails::Engine
|
@@ -46,6 +47,21 @@ module Lesli
|
|
46
47
|
|
47
48
|
initializer :lesli do |app|
|
48
49
|
|
50
|
+
|
51
|
+
# Lesli standard engine configuration
|
52
|
+
|
53
|
+
|
54
|
+
# register assets manifest
|
55
|
+
config.assets.precompile += %w[lesli_manifest.js]
|
56
|
+
|
57
|
+
# register engine migrations path
|
58
|
+
unless app.root.to_s.match root.to_s
|
59
|
+
config.paths["db/migrate"].expanded.each do |expanded_path|
|
60
|
+
app.config.paths["db/migrate"] << expanded_path
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
|
49
65
|
# Lesli Framework configuration
|
50
66
|
|
51
67
|
|
@@ -65,21 +81,28 @@ module Lesli
|
|
65
81
|
# if this is not false Rails will fingerprint the assets by default and precompile is needed
|
66
82
|
config.assets.digest = false
|
67
83
|
|
84
|
+
|
85
|
+
# Lesli Framework Mailer configuration
|
86
|
+
|
87
|
+
|
88
|
+
# Development mailer by default
|
89
|
+
config.action_mailer.delivery_method ||= :letter_opener
|
90
|
+
|
91
|
+
# Add the Lesli root folder for email development tempaltes
|
68
92
|
config.action_mailer.preview_path = root.join("lib", "mailer_previews")
|
69
93
|
|
94
|
+
config.action_mailer.default_options ||= {
|
70
95
|
|
71
|
-
|
96
|
+
# Use the main email in the lesli settings as email sender
|
97
|
+
from: config.company.dig(:email)
|
98
|
+
}
|
72
99
|
|
73
|
-
|
74
|
-
# register assets manifest
|
75
|
-
config.assets.precompile += %w[lesli_manifest.js]
|
76
100
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
end
|
101
|
+
|
102
|
+
# Mailer url options for development
|
103
|
+
config.action_mailer.default_url_options ||= {
|
104
|
+
host: "http://0.0.0.0:3000"
|
105
|
+
}
|
83
106
|
end
|
84
107
|
end
|
85
108
|
end
|
data/lib/lesli/version.rb
CHANGED
@@ -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
|
|
@@ -80,11 +80,8 @@ namespace :lesli do
|
|
80
80
|
|
81
81
|
# Global container
|
82
82
|
controller_list = {
|
83
|
-
"
|
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["
|
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["
|
100
|
+
controller_list["app"][route[:controller]].push(route[:action])
|
104
101
|
|
105
102
|
end
|
106
103
|
|
data/lib/tasks/lesli/db.rake
CHANGED
@@ -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
|
-
|
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
|
data/lib/vue/application.js
CHANGED
@@ -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-
|
247
|
-
|
252
|
+
application.component("lesli-link", lesliElementLink)
|
253
|
+
|
254
|
+
|
248
255
|
|
249
256
|
|
250
257
|
// · Mount app once DOM is ready
|
data/lib/vue/devise/passwords.js
CHANGED
@@ -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
|
-
<
|
118
|
-
<
|
119
|
-
|
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
|
-
|
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"
|
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
|
-
<
|
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
|
-
* [
|
52
|
-
* [
|
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)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2022 Jeremy Thomas
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
@@ -0,0 +1,10 @@
|
|
1
|
+
@charset "utf-8"
|
2
|
+
/*! bulma.io v0.9.4 | MIT License | github.com/jgthms/bulma */
|
3
|
+
@import "sass/utilities/_all"
|
4
|
+
@import "sass/base/_all"
|
5
|
+
@import "sass/elements/_all"
|
6
|
+
@import "sass/form/_all"
|
7
|
+
@import "sass/components/_all"
|
8
|
+
@import "sass/grid/_all"
|
9
|
+
@import "sass/helpers/_all"
|
10
|
+
@import "sass/layout/_all"
|