lesli 5.0.1 → 5.0.2
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.
- checksums.yaml +4 -4
- data/app/assets/config/lesli_manifest.js +7 -4
- data/app/assets/fonts/lesli/Domine/Domine-VariableFont_wght.ttf +0 -0
- data/app/assets/fonts/lesli/Domine/OFL.txt +2 -0
- data/app/assets/javascripts/lesli/users/passwords.js +776 -0
- data/app/assets/javascripts/lesli/users/registrations.js +776 -0
- data/app/assets/javascripts/lesli/users/sessions.js +776 -1
- data/app/assets/stylesheets/lesli/users/passwords.scss +5 -6
- data/app/assets/stylesheets/lesli/users/registrations.scss +5 -6
- data/app/assets/stylesheets/lesli/users/sessions.scss +5 -10
- data/app/controllers/lesli/application_lesli_controller.rb +0 -1
- data/app/controllers/lesli/interfaces/application/logger.rb +9 -9
- data/app/controllers/lesli/roles_controller.rb +43 -0
- data/{lib/sass/lesli/devise/registrations.scss.erb → app/controllers/lesli/users_controller.rb} +18 -23
- data/app/controllers/users/registrations_controller.rb +137 -58
- data/app/helpers/lesli/assets_helper.rb +2 -2
- data/app/helpers/lesli/general_helper.rb +1 -1
- data/app/helpers/lesli/navigation_helper.rb +7 -10
- data/app/helpers/lesli/system_helper.rb +1 -1
- data/app/lib/lesli/system.rb +7 -3
- data/app/mailers/lesli/application_lesli_mailer.rb +199 -0
- data/app/mailers/lesli/application_mailer.rb +7 -0
- data/app/mailers/lesli/devise_mailer.rb +33 -0
- data/app/models/concerns/user_guard.rb +3 -4
- data/app/models/lesli/account.rb +29 -0
- data/{lib/sass/lesli/pages/passes.scss → app/models/lesli/descriptor.rb} +14 -8
- data/app/models/lesli/role.rb +90 -0
- data/app/models/lesli/system_controller.rb +1 -0
- data/app/models/lesli/user/detail.rb +55 -0
- data/{lib/sass/lesli/pages/otps.scss → app/models/lesli/user/role.rb} +13 -9
- data/app/models/lesli/user.rb +4 -3
- data/app/services/lesli/role_service.rb +45 -0
- data/app/services/lesli/user_service.rb +69 -0
- data/app/views/devise/passwords/new.html.erb +72 -12
- data/app/views/devise/registrations/new.html.erb +146 -28
- data/app/views/devise/sessions/new.html.erb +11 -78
- data/app/views/devise/shared/_links.html.erb +96 -25
- data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +23 -0
- data/app/views/lesli/emails/user_mailer/invitation.html.erb +23 -0
- data/app/views/lesli/layouts/application-devise.html.erb +1 -1
- data/app/views/lesli/layouts/application-public.html.erb +2 -2
- data/app/views/lesli/layouts/mailer.html.erb +13 -0
- data/app/views/lesli/layouts/mailer.text.erb +1 -0
- data/app/views/lesli/partials/_application-lesli-header.html.erb +27 -41
- data/app/views/lesli/partials/_application-lesli-javascript.html.erb +10 -6
- data/app/views/lesli/partials/_application-public-javascript.html.erb +12 -8
- data/{lib/sass/lesli/devise/confirmations.scss.erb → app/views/lesli/wrappers/_application-devise-simple.erb} +30 -46
- data/app/views/lesli/wrappers/{_application-auth.html.erb → _application-devise.html.erb} +15 -0
- data/config/initializers/{lesli_defaults.rb → lesli.rb} +4 -2
- data/config/locales/translations.en.yml +7 -0
- data/config/locales/translations.es.yml +7 -0
- data/config/routes.rb +22 -17
- data/db/migrate/v1.0/0010000210_create_lesli_roles.rb +1 -1
- data/db/{tables/0010003010_create_user_details.rb → migrate/v1.0/0010003010_create_lesli_user_details.rb} +6 -6
- data/db/{tables/0010003510_create_user_roles.rb → migrate/v1.0/0010003410_create_lesli_user_roles.rb} +4 -4
- data/db/{tables/0010005010_create_descriptors.rb → migrate/v1.0/0010005010_create_lesli_descriptors.rb} +5 -6
- data/db/{tables/0010005110_create_descriptor_privileges.rb → migrate/v1.0/0010005110_create_lesli_descriptor_privileges.rb} +8 -7
- data/db/{tables/0010005210_create_descriptor_activities.rb → migrate/v1.0/0010005210_create_lesli_descriptor_activities.rb} +6 -8
- data/db/seeds.rb +0 -2
- data/lib/lesli/engine.rb +25 -2
- data/lib/lesli/routing.rb +26 -0
- data/lib/lesli/version.rb +2 -2
- data/lib/lesli.rb +1 -0
- data/lib/{sass/lesli/pages/mfas.scss → mailer_previews/devise_mailer_preview.rb} +12 -6
- data/lib/sass/lesli/bulma/loader.scss +3 -0
- data/lib/sass/lesli/elements/header.scss +1 -1
- data/lib/sass/lesli/fonts/families.scss +3 -3
- data/lib/sass/lesli/layouts/application-container.scss +4 -0
- data/lib/sass/lesli/{devise/passwords.scss.erb → pages/devise-simple.scss} +38 -38
- data/lib/sass/lesli/{templates → pages}/devise.scss +4 -26
- data/lib/sass/lesli/settings/variables.scss +1 -1
- data/lib/sass/lesli/templates/application.scss +8 -4
- data/lib/sass/lesli/templates/dashboards.scss +8 -0
- data/lib/sass/lesli/templates/public.scss +2 -3
- data/lib/tasks/lesli/controllers.rake +33 -0
- data/lib/tasks/lesli/db.rake +88 -0
- data/lib/tasks/lesli/git.rake +74 -0
- data/lib/tasks/lesli_tasks.rake +70 -20
- data/lib/vue/devise/registrations.js +10 -15
- data/lib/vue/layouts/application-container.vue +10 -2
- data/lib/vue/layouts/application-header.vue +10 -3
- data/lib/vue/stores/account.js +113 -0
- data/lib/vue/stores/role.js +243 -0
- data/lib/vue/stores/translations.json +86 -0
- data/lib/vue/stores/user.js +102 -0
- data/lib/{sass/lesli/devise/sessions.scss → vue/translation.js} +14 -5
- data/lib/webpack/base.js +2 -2
- data/lib/webpack/core.js +2 -0
- data/readme.md +74 -55
- metadata +196 -51
- data/app/assets/fonts/lesli/Domine/Domine-Bold.ttf +0 -0
- data/app/assets/fonts/lesli/Domine/Domine-Regular.ttf +0 -0
- data/app/assets/stylesheets/lesli/users/devise.scss +0 -32
- data/app/controllers/lesli/profiles_controller.rb +0 -60
- data/app/helpers/lesli/profiles_helper.rb +0 -4
- data/app/models/lesli/profile.rb +0 -4
- data/app/views/lesli/devise/sessions/_form.html.erb +0 -17
- data/app/views/lesli/devise/sessions/_session.html.erb +0 -2
- data/app/views/lesli/devise/sessions/edit.html.erb +0 -10
- data/app/views/lesli/devise/sessions/index.html.erb +0 -14
- data/app/views/lesli/devise/sessions/new.html.erb +0 -9
- data/app/views/lesli/devise/sessions/show.html.erb +0 -10
- data/app/views/lesli/profiles/_form.html.erb +0 -17
- data/app/views/lesli/profiles/_profile.html.erb +0 -2
- data/app/views/lesli/profiles/edit.html.erb +0 -10
- data/app/views/lesli/profiles/index.html.erb +0 -14
- data/app/views/lesli/profiles/new.html.erb +0 -9
- data/app/views/lesli/profiles/show.html.erb +0 -10
- data/lib/sass/lesli/pages/dashboards.scss +0 -57
- data/lib/tasks/db.rb +0 -76
- data/lib/vue/stores/profile.js +0 -90
- data/lib/vue/stores/workflow2.js +0 -345
- data/lib/vue/stores/workflows/actions.js +0 -327
- data/lib/vue/stores/workflows/associations.js +0 -130
- data/lib/vue/stores/workflows/checks.js +0 -210
- /data/lib/vue/stores/{announcements.js → entities/announcements.js} +0 -0
- /data/lib/vue/stores/{dashboard.js → entities/dashboard.js} +0 -0
- /data/lib/vue/stores/{workflow.js → entities/workflow.js} +0 -0
- /data/lib/vue/stores/{cloud-bell → panels}/notification.js +0 -0
- /data/lib/vue/stores/{firebase.js → services/firebase.js} +0 -0
data/lib/lesli/engine.rb
CHANGED
|
@@ -30,14 +30,24 @@ Building a better future, one line of code at a time.
|
|
|
30
30
|
// ·
|
|
31
31
|
=end
|
|
32
32
|
|
|
33
|
+
# · Tools used to extend Rails functionality
|
|
34
|
+
require "kaminari"
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# · Tools used to build the Lesli Framework
|
|
38
|
+
require "L2"
|
|
39
|
+
require "devise"
|
|
40
|
+
require "useragent"
|
|
41
|
+
require "flag-icons-rails"
|
|
42
|
+
|
|
33
43
|
module Lesli
|
|
34
44
|
class Engine < ::Rails::Engine
|
|
35
45
|
isolate_namespace Lesli
|
|
36
46
|
|
|
37
47
|
initializer :lesli do |app|
|
|
38
48
|
|
|
39
|
-
#
|
|
40
|
-
|
|
49
|
+
# Lesli Framework configuration
|
|
50
|
+
|
|
41
51
|
|
|
42
52
|
# Include lib/assets folder in the asset pipeline
|
|
43
53
|
config.assets.paths << root.join("lib", "assets")
|
|
@@ -51,6 +61,19 @@ module Lesli
|
|
|
51
61
|
config.i18n.default_locale = :en
|
|
52
62
|
config.i18n.available_locales = [:en]
|
|
53
63
|
|
|
64
|
+
# Force to not use digest,
|
|
65
|
+
# if this is not false Rails will fingerprint the assets by default and precompile is needed
|
|
66
|
+
config.assets.digest = false
|
|
67
|
+
|
|
68
|
+
config.action_mailer.preview_path = root.join("lib", "mailer_previews")
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
# Lesli standard engine configuration
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
# register assets manifest
|
|
75
|
+
config.assets.precompile += %w[lesli_manifest.js]
|
|
76
|
+
|
|
54
77
|
# register engine migrations path
|
|
55
78
|
unless app.root.to_s.match root.to_s
|
|
56
79
|
config.paths["db/migrate"].expanded.each do |expanded_path|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Lesli
|
|
2
|
+
module Routing
|
|
3
|
+
def self.mount_login
|
|
4
|
+
mount_login_at()
|
|
5
|
+
end
|
|
6
|
+
def self.mount_login_at path=""
|
|
7
|
+
Rails.application.routes.draw do
|
|
8
|
+
devise_for :users, class_name: "Lesli::User", module: :devise,
|
|
9
|
+
:path => path,
|
|
10
|
+
:path_names => {
|
|
11
|
+
:sign_in => "login",
|
|
12
|
+
:sign_out => "logout",
|
|
13
|
+
:sign_up => "register",
|
|
14
|
+
:password => "password",
|
|
15
|
+
:confirmation => "confirmation"
|
|
16
|
+
},
|
|
17
|
+
:controllers => {
|
|
18
|
+
:registrations => "users/registrations",
|
|
19
|
+
:confirmations => "users/confirmations",
|
|
20
|
+
:passwords => "users/passwords",
|
|
21
|
+
:sessions => "users/sessions"
|
|
22
|
+
}
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
data/lib/lesli/version.rb
CHANGED
data/lib/lesli.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
=begin
|
|
2
2
|
|
|
3
3
|
Lesli
|
|
4
4
|
|
|
@@ -17,7 +17,7 @@ GNU General Public License for more details.
|
|
|
17
17
|
You should have received a copy of the GNU General Public License
|
|
18
18
|
along with this program. If not, see http://www.gnu.org/licenses/.
|
|
19
19
|
|
|
20
|
-
Lesli · Ruby on Rails SaaS
|
|
20
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
|
21
21
|
|
|
22
22
|
Made with ♥ by https://www.lesli.tech
|
|
23
23
|
Building a better future, one line of code at a time.
|
|
@@ -27,10 +27,16 @@ Building a better future, one line of code at a time.
|
|
|
27
27
|
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
28
28
|
|
|
29
29
|
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
|
-
// ·
|
|
30
|
+
// ·
|
|
31
|
+
=end
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
class DeviseMailerPreview < ActionMailer::Preview
|
|
33
34
|
|
|
35
|
+
def confirmation_instructions
|
|
36
|
+
record = Lesli::User.first
|
|
37
|
+
token = "abcdef12345"
|
|
38
|
+
opts = {}
|
|
39
|
+
Lesli::DeviseMailer.confirmation_instructions(record, token, opts)
|
|
40
|
+
end
|
|
34
41
|
|
|
35
|
-
|
|
36
|
-
@import "./base.scss";
|
|
42
|
+
end
|
|
@@ -53,6 +53,8 @@ $navbar-background-color: transparent;
|
|
|
53
53
|
@import "bulma/sass/form/all";
|
|
54
54
|
|
|
55
55
|
@import "bulma/sass/components/tabs";
|
|
56
|
+
@import "bulma/sass/components/media";
|
|
57
|
+
@import "bulma/sass/components/level";
|
|
56
58
|
@import "bulma/sass/components/dropdown";
|
|
57
59
|
@import "bulma/sass/components/pagination";
|
|
58
60
|
|
|
@@ -61,6 +63,7 @@ $navbar-background-color: transparent;
|
|
|
61
63
|
@import "bulma/sass/elements/image";
|
|
62
64
|
@import "bulma/sass/elements/title";
|
|
63
65
|
@import "bulma/sass/elements/table";
|
|
66
|
+
@import "bulma/sass/elements/icon";
|
|
64
67
|
|
|
65
68
|
@import "bulma/sass/grid/columns";
|
|
66
69
|
|
|
@@ -33,15 +33,15 @@ Building a better future, one line of code at a time.
|
|
|
33
33
|
|
|
34
34
|
// · Font family for titles
|
|
35
35
|
@font-face {
|
|
36
|
-
font-family: "
|
|
37
|
-
src: font-url("lesli/
|
|
36
|
+
font-family: "Domine";
|
|
37
|
+
src: font-url("lesli/Domine/Domine-VariableFont_wght.ttf") format("truetype");
|
|
38
38
|
font-display: swap;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
// · Font family for the body
|
|
43
43
|
@font-face {
|
|
44
|
-
font-family: "
|
|
44
|
+
font-family: "OpenSans";
|
|
45
45
|
src: font-url("lesli/OpenSans/OpenSans-Variable.ttf") format("truetype");
|
|
46
46
|
font-display: swap;
|
|
47
47
|
}
|
|
@@ -17,7 +17,7 @@ GNU General Public License for more details.
|
|
|
17
17
|
You should have received a copy of the GNU General Public License
|
|
18
18
|
along with this program. If not, see http://www.gnu.org/licenses/.
|
|
19
19
|
|
|
20
|
-
Lesli · Ruby on Rails SaaS
|
|
20
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
|
21
21
|
|
|
22
22
|
Made with ♥ by https://www.lesli.tech
|
|
23
23
|
Building a better future, one line of code at a time.
|
|
@@ -27,45 +27,39 @@ Building a better future, one line of code at a time.
|
|
|
27
27
|
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
28
28
|
|
|
29
29
|
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
|
-
// ·
|
|
31
|
-
|
|
30
|
+
// ·
|
|
32
31
|
*/
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@import "templates/public";
|
|
37
|
-
@import "lesli/fonts/mdicons.scss";
|
|
33
|
+
@import "lesli/templates/public";
|
|
34
|
+
@import "lesli/fonts/remixicons.scss";
|
|
38
35
|
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
body.users-passwords.edit {
|
|
43
|
-
|
|
44
|
-
main {
|
|
45
|
-
background: white;
|
|
37
|
+
main {
|
|
38
|
+
background: white;
|
|
46
39
|
|
|
47
|
-
|
|
48
|
-
|
|
40
|
+
// logo container
|
|
41
|
+
.hero-head {
|
|
42
|
+
padding: 8rem 0 4rem;
|
|
49
43
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
44
|
+
.app-logo {
|
|
45
|
+
max-width: 130px;
|
|
53
46
|
}
|
|
47
|
+
}
|
|
54
48
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
49
|
+
// form container
|
|
50
|
+
.hero-body {
|
|
51
|
+
flex-direction: column;
|
|
52
|
+
background-color: whitesmoke;
|
|
53
|
+
border-top: 1px solid #ebebeb;
|
|
54
|
+
|
|
55
|
+
form {
|
|
56
|
+
width: 100%;
|
|
57
|
+
padding: 4rem;
|
|
58
|
+
max-width: 750px;
|
|
59
|
+
margin: 2rem auto;
|
|
60
|
+
border-radius: 6px;
|
|
61
|
+
border: 1px solid #ececec;
|
|
62
|
+
background-color: white;
|
|
69
63
|
|
|
70
64
|
.label {
|
|
71
65
|
font-size: 1.1rem;
|
|
@@ -73,14 +67,20 @@ body.users-passwords.edit {
|
|
|
73
67
|
margin-bottom: 0;
|
|
74
68
|
color: lesli-css-color(slate, 500);
|
|
75
69
|
}
|
|
70
|
+
}
|
|
76
71
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
72
|
+
.links {
|
|
73
|
+
display: flex;
|
|
74
|
+
|
|
75
|
+
a {
|
|
76
|
+
display: flex;
|
|
77
|
+
align-items: center;
|
|
78
|
+
font-family: "OpenSans";
|
|
79
|
+
// add margin only to the middle links
|
|
80
|
+
&:not(:first-child):not(:last-child) {
|
|
81
|
+
margin: 0 1rem;
|
|
82
|
+
}
|
|
80
83
|
}
|
|
81
|
-
|
|
82
84
|
}
|
|
83
|
-
|
|
84
85
|
}
|
|
85
|
-
|
|
86
86
|
}
|
|
@@ -28,7 +28,6 @@ Building a better future, one line of code at a time.
|
|
|
28
28
|
|
|
29
29
|
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
30
|
// ·
|
|
31
|
-
|
|
32
31
|
*/
|
|
33
32
|
|
|
34
33
|
|
|
@@ -39,7 +38,7 @@ Building a better future, one line of code at a time.
|
|
|
39
38
|
// ·
|
|
40
39
|
h1 {
|
|
41
40
|
line-height: 33px;
|
|
42
|
-
font-weight:
|
|
41
|
+
font-weight: 900;
|
|
43
42
|
font-size: 24px;
|
|
44
43
|
}
|
|
45
44
|
|
|
@@ -83,11 +82,9 @@ body {
|
|
|
83
82
|
form {
|
|
84
83
|
|
|
85
84
|
label {
|
|
86
|
-
font-
|
|
87
|
-
font-weight: 500;
|
|
85
|
+
font-weight: 400;
|
|
88
86
|
font-size: 15px;
|
|
89
87
|
line-height: 150%;
|
|
90
|
-
color: #333;
|
|
91
88
|
}
|
|
92
89
|
input {
|
|
93
90
|
border-radius: 6px;
|
|
@@ -126,33 +123,15 @@ body {
|
|
|
126
123
|
}
|
|
127
124
|
}
|
|
128
125
|
span {
|
|
129
|
-
font-family: "
|
|
126
|
+
font-family: "Domine";
|
|
130
127
|
font-weight: 500;
|
|
131
128
|
font-size: 14px;
|
|
132
129
|
//color: lesli-css-color(lesli, navy);
|
|
133
130
|
}
|
|
134
131
|
}
|
|
135
132
|
|
|
136
|
-
.links {
|
|
137
|
-
a {
|
|
138
|
-
width: 100%;
|
|
139
|
-
display: flex;
|
|
140
|
-
flex-grow: 1;
|
|
141
|
-
padding: .8rem 0;
|
|
142
|
-
&:not(:last-child) {
|
|
143
|
-
border-bottom: 1px solid lesli-css-color(silver, 300);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
span {
|
|
147
|
-
font-family: "Exo";
|
|
148
|
-
font-weight: 500;
|
|
149
|
-
font-size: 14px;
|
|
150
|
-
//color: red; //lesli-css-color(lesli, navy);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
133
|
.terms {
|
|
155
|
-
font-family: "
|
|
134
|
+
font-family: "Domine";
|
|
156
135
|
font-weight: 400;
|
|
157
136
|
font-size: 12px;
|
|
158
137
|
line-height: 19px;
|
|
@@ -171,7 +150,6 @@ body {
|
|
|
171
150
|
line-height: 18px;
|
|
172
151
|
}
|
|
173
152
|
}
|
|
174
|
-
|
|
175
153
|
}
|
|
176
154
|
|
|
177
155
|
.column.is-hidden-touch {
|
|
@@ -71,7 +71,7 @@ $color-sidebar: $lesli-sidebar-color;
|
|
|
71
71
|
$color-background: $lesli-color-background;
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
$family-primary: "
|
|
74
|
+
$family-primary: "OpenSans", "Ubuntu", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
|
|
@@ -55,12 +55,13 @@ Building a better future, one line of code at a time.
|
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
// · Lesli application layout
|
|
58
|
-
@import "lesli/layouts/application-header";
|
|
59
|
-
@import "lesli/layouts/application-navbar";
|
|
60
58
|
@import "lesli/layouts/application-announcements";
|
|
59
|
+
@import "lesli/layouts/application-component";
|
|
60
|
+
@import "lesli/layouts/application-container";
|
|
61
61
|
@import "lesli/layouts/application-engines";
|
|
62
62
|
@import "lesli/layouts/application-sidebar";
|
|
63
|
-
@import "lesli/layouts/application-
|
|
63
|
+
@import "lesli/layouts/application-header";
|
|
64
|
+
@import "lesli/layouts/application-navbar";
|
|
64
65
|
@import "lesli/layouts/application-footer";
|
|
65
66
|
@import "lesli/layouts/application-search";
|
|
66
67
|
|
|
@@ -112,6 +113,9 @@ Building a better future, one line of code at a time.
|
|
|
112
113
|
@import "lesli/elements/card";
|
|
113
114
|
|
|
114
115
|
|
|
116
|
+
@import "flag-icon";
|
|
117
|
+
|
|
118
|
+
|
|
115
119
|
html,
|
|
116
120
|
body {
|
|
117
121
|
color: var(--lesli-font-color);
|
|
@@ -134,7 +138,7 @@ body {
|
|
|
134
138
|
|
|
135
139
|
// · titles
|
|
136
140
|
h1, h2, h3, h4, h5, h6 {
|
|
137
|
-
font-family: "
|
|
141
|
+
font-family: "Domine", $family-primary;
|
|
138
142
|
}
|
|
139
143
|
|
|
140
144
|
|
|
@@ -28,7 +28,6 @@ Building a better future, one line of code at a time.
|
|
|
28
28
|
|
|
29
29
|
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
|
30
30
|
// ·
|
|
31
|
-
|
|
32
31
|
*/
|
|
33
32
|
|
|
34
33
|
|
|
@@ -45,7 +44,7 @@ Building a better future, one line of code at a time.
|
|
|
45
44
|
|
|
46
45
|
|
|
47
46
|
// · Font families and icons
|
|
48
|
-
@import "lesli/fonts/
|
|
47
|
+
@import "lesli/fonts/remixicons";
|
|
49
48
|
@import "lesli/fonts/families";
|
|
50
49
|
|
|
51
50
|
|
|
@@ -61,7 +60,7 @@ body {
|
|
|
61
60
|
|
|
62
61
|
// · headings and links
|
|
63
62
|
h1, h2, h3, h4, h5, h6, a {
|
|
64
|
-
font-family: "
|
|
63
|
+
font-family: "Domine", $family-primary;
|
|
65
64
|
}
|
|
66
65
|
|
|
67
66
|
|
|
@@ -1,3 +1,36 @@
|
|
|
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
|
+
# ·
|
|
1
34
|
namespace :lesli do
|
|
2
35
|
namespace :controllers do
|
|
3
36
|
|
|
@@ -0,0 +1,88 @@
|
|
|
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 :db do
|
|
36
|
+
|
|
37
|
+
desc "Drop, build, migrate & seed Lesli database (development only)"
|
|
38
|
+
task :reset => :environment do |task, args|
|
|
39
|
+
reset()
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
desc "Build, migrate & seed Lesli database"
|
|
43
|
+
task :setup => :environment do |task, args|
|
|
44
|
+
setup()
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
desc "Build, migrate & seed Lesli database"
|
|
48
|
+
task :seed => :environment do |task, args|
|
|
49
|
+
seed()
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Drop, build, migrate & seed database (development only)
|
|
54
|
+
def reset
|
|
55
|
+
return if Rails.env.production?
|
|
56
|
+
L2.msg("Reset Lesli database for development")
|
|
57
|
+
|
|
58
|
+
Rake::Task['db:drop'].invoke
|
|
59
|
+
setup()
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Build, migrate & seed database (development only)
|
|
63
|
+
def setup
|
|
64
|
+
return if Rails.env.production?
|
|
65
|
+
L2.msg("Setup Lesli database for development")
|
|
66
|
+
|
|
67
|
+
Rake::Task['db:create'].invoke
|
|
68
|
+
Rake::Task['db:migrate'].invoke
|
|
69
|
+
|
|
70
|
+
seed()
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Seed database (development only)
|
|
74
|
+
def seed
|
|
75
|
+
return if Rails.env.production?
|
|
76
|
+
L2.msg("Seed Lesli database for development")
|
|
77
|
+
|
|
78
|
+
Rake::Task['db:seed'].invoke
|
|
79
|
+
|
|
80
|
+
Lesli::Engine.load_seed
|
|
81
|
+
LesliBell::Engine.load_seed if defined?(LesliBell)
|
|
82
|
+
LesliAudit::Engine.load_seed if defined?(LesliAudit)
|
|
83
|
+
Rake::Task['lesli:controllers:build'].invoke
|
|
84
|
+
Rake::Task['lesli:babel:build'].invoke if defined?(LesliBabel)
|
|
85
|
+
|
|
86
|
+
Rake::Task['lesli:status'].invoke
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
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 :git do
|
|
36
|
+
|
|
37
|
+
desc "Update vendor from node_modules"
|
|
38
|
+
task :vendor => :environment do |task, args|
|
|
39
|
+
vendor()
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def vendor
|
|
44
|
+
|
|
45
|
+
# copy vendor dependencies (only css files are required)
|
|
46
|
+
FileUtils.rm_rf("engines/Lesli/vendor")
|
|
47
|
+
FileUtils.mkdir("engines/Lesli/vendor")
|
|
48
|
+
|
|
49
|
+
# updated version of libraries
|
|
50
|
+
[
|
|
51
|
+
"bulma",
|
|
52
|
+
"lesli-css",
|
|
53
|
+
"remixicon"
|
|
54
|
+
].each do |package|
|
|
55
|
+
FileUtils.cp_r "engines/Lesli/node_modules/#{package}/", "engines/Lesli/vendor/#{package}", :verbose => true
|
|
56
|
+
FileUtils.rm_rf("engines/Lesli/vendor/#{package}/.git")
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
Dir.glob("engines/Lesli/vendor/**/*").each do |file|
|
|
60
|
+
next if file.end_with?(".css")
|
|
61
|
+
next if file.end_with?(".scss")
|
|
62
|
+
next if file.end_with?(".sass")
|
|
63
|
+
next if file.end_with?("LICENSE")
|
|
64
|
+
next if file.end_with?("License")
|
|
65
|
+
next if file.end_with?("license")
|
|
66
|
+
next if File.directory?(file)
|
|
67
|
+
FileUtils.rm(file, :verbose => true)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# commit any change in vendor
|
|
71
|
+
# command("git add vendor && git commit -m \"vendor: update npm dependencies (vendors)\" vendor")
|
|
72
|
+
|
|
73
|
+
end
|
|
74
|
+
end
|