lesli 5.0.11 → 5.0.12

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 (152) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/lesli_manifest.js +0 -13
  3. data/app/assets/icons/lesli/engine-security.svg +1 -0
  4. data/app/assets/icons/lesli/engine-shield.svg +1 -0
  5. data/app/assets/images/lesli/lesli-logo.svg +4 -0
  6. data/app/assets/stylesheets/lesli/templates/application.css +21862 -209
  7. data/app/assets/stylesheets/lesli/templates/public.css +19098 -1
  8. data/app/assets/stylesheets/lesli/users/confirmations.css +19219 -0
  9. data/app/assets/stylesheets/lesli/users/passwords.css +19202 -0
  10. data/app/assets/stylesheets/lesli/users/registrations.css +19594 -0
  11. data/app/assets/stylesheets/lesli/users/sessions.css +19594 -1
  12. data/app/controllers/lesli/abouts_controller.rb +12 -18
  13. data/app/controllers/lesli/application_controller.rb +25 -25
  14. data/app/controllers/lesli/application_lesli_controller.rb +5 -6
  15. data/app/controllers/lesli/interfaces/application/authorization.rb +1 -1
  16. data/app/controllers/lesli/interfaces/application/customization.rb +1 -1
  17. data/app/controllers/lesli/interfaces/application/requester.rb +2 -2
  18. data/app/controllers/lesli/interfaces/application/responder.rb +8 -8
  19. data/app/controllers/lesli/interfaces/controllers/actions.rb +250 -0
  20. data/app/controllers/lesli/interfaces/controllers/activities.rb +215 -0
  21. data/app/controllers/lesli/interfaces/controllers/discussions.rb +270 -0
  22. data/app/controllers/lesli/interfaces/controllers/files.rb +467 -0
  23. data/app/controllers/lesli/interfaces/controllers/subscribers.rb +234 -0
  24. data/app/helpers/lesli/assets_helper.rb +4 -4
  25. data/app/helpers/lesli/navigation_helper.rb +38 -81
  26. data/app/lib/lesli/system.rb +4 -3
  27. data/app/models/concerns/account_initializer.rb +46 -42
  28. data/{lib/scss/devise/registrations.scss → app/models/lesli/account/detail.rb} +7 -3
  29. data/app/models/lesli/account.rb +12 -5
  30. data/app/models/lesli/cloud_object/action.rb +70 -0
  31. data/app/models/lesli/cloud_object/activity.rb +311 -0
  32. data/app/models/lesli/cloud_object/custom_field.rb +158 -0
  33. data/app/models/lesli/cloud_object/discussion.rb +219 -0
  34. data/app/models/lesli/cloud_object/subscriber.rb +186 -0
  35. data/app/models/lesli/shared/dashboard.rb +16 -5
  36. data/app/models/lesli/user/session.rb +0 -2
  37. data/app/models/lesli/user.rb +13 -13
  38. data/app/operators/lesli/user_registration_operator.rb +3 -3
  39. data/app/views/lesli/layouts/application-devise.html.erb +6 -6
  40. data/app/views/lesli/layouts/application-lesli.html.erb +1 -1
  41. data/app/views/lesli/partials/_application-data.html.erb +2 -1
  42. data/app/views/lesli/partials/_application-lesli-engines.html.erb +14 -39
  43. data/app/views/lesli/partials/_application-lesli-header.html.erb +4 -4
  44. data/app/views/lesli/partials/_application-lesli-icons.html.erb +1 -1
  45. data/app/views/lesli/partials/_application-lesli-panels.html.erb +7 -7
  46. data/app/views/lesli/wrappers/_application-devise.html.erb +5 -7
  47. data/config/initializers/devise.rb +335 -335
  48. data/config/initializers/lesli.rb +2 -1
  49. data/config/locales/translations.en.yml +4 -0
  50. data/config/locales/translations.es.yml +4 -0
  51. data/config/locales/translations.fr.yml +28 -0
  52. data/config/locales/translations.it.yml +28 -0
  53. data/config/locales/translations.pt.yml +28 -0
  54. data/config/routes.rb +1 -10
  55. data/db/migrate/{v1.0/0010003010_create_lesli_user_details.rb → v1/0010000110_create_lesli_accounts.rb} +19 -13
  56. data/db/migrate/{v1.0/0010000110_create_lesli_accounts.rb → v1/0010001010_create_lesli_account_details.rb} +5 -7
  57. data/db/migrate/{v1.0/0010001010_create_lesli_account_settings.rb → v1/0010001110_create_lesli_account_settings.rb} +2 -2
  58. data/db/seed/development/accounts.rb +10 -7
  59. data/db/seed/development/users.rb +20 -20
  60. data/db/seed/production/accounts.rb +10 -7
  61. data/lib/lesli/engine.rb +2 -12
  62. data/lib/lesli/version.rb +2 -2
  63. data/lib/lesli.rb +0 -1
  64. data/lib/scss/cloud-objects/discussion.scss +8 -5
  65. data/lib/scss/layouts/application-header.scss +3 -1
  66. data/lib/scss/layouts/application-navbar.scss +2 -1
  67. data/lib/scss/{elements/msg.scss → overrides/notification.scss} +16 -18
  68. data/lib/scss/pages/devise-simple.scss +4 -2
  69. data/lib/scss/pages/devise.scss +111 -107
  70. data/lib/scss/panels/panel-notification.scss +1 -1
  71. data/lib/scss/panels/{panel-ticket.scss → panel-support-ticket.scss} +3 -4
  72. data/lib/scss/templates/application.scss +7 -5
  73. data/lib/tasks/lesli/controllers.rake +1 -1
  74. data/lib/tasks/lesli/db.rake +24 -12
  75. data/lib/tasks/lesli_tasks.rake +6 -6
  76. data/lib/vue/application.js +13 -12
  77. data/lib/vue/{refactor/shared/cloudobjects → cloudobjects}/discussion/content.vue +10 -8
  78. data/lib/vue/cloudobjects/discussion/element.vue +170 -0
  79. data/lib/vue/{refactor/shared/cloudobjects → cloudobjects}/discussion/filters.vue +1 -1
  80. data/lib/vue/{refactor/shared/cloudobjects → cloudobjects}/discussion/new.vue +20 -16
  81. data/lib/vue/{refactor/shared/cloudobjects → cloudobjects}/discussion.vue +25 -24
  82. data/lib/vue/{refactor/stores/cloudobjects → cloudobjects/stores}/discussion.js +7 -16
  83. data/lib/vue/layouts/application-header.vue +5 -5
  84. data/lib/vue/panels/{panel-notifications.vue → panel-bell-notifications.vue} +15 -19
  85. data/lib/vue/panels/panel-support-tickets.vue +161 -0
  86. data/lib/vue/panels/stores/bell-notifications.js +46 -0
  87. data/lib/vue/panels/stores/support-tickets.js +103 -0
  88. data/lib/vue/shared/dashboards/apps/edit.vue +10 -10
  89. data/lib/vue/shared/dashboards/components/form.vue +31 -40
  90. data/lib/vue/shared/stores/dashboard.js +2 -0
  91. data/lib/vue/shared/stores/layout.js +2 -1
  92. data/lib/{scss/devise/confirmations.scss → vue/shared/stores/users.js} +22 -21
  93. data/lib/vue/stores/translations.json +109 -2
  94. data/lib/webpack/base.js +9 -8
  95. data/lib/webpack/core.js +8 -6
  96. data/readme.md +16 -15
  97. metadata +49 -76
  98. data/app/assets/icons/lesli/engine-guard.svg +0 -1
  99. data/app/assets/javascripts/lesli/users/sessions.js +0 -1
  100. data/app/controllers/users/confirmations_controller.rb +0 -66
  101. data/app/controllers/users/omniauth_callbacks_controller.rb +0 -30
  102. data/app/controllers/users/passwords_controller.rb +0 -71
  103. data/app/controllers/users/registrations_controller.rb +0 -141
  104. data/app/controllers/users/sessions_controller.rb +0 -141
  105. data/app/controllers/users/unlocks_controller.rb +0 -30
  106. data/app/views/devise/confirmations/new.html.erb +0 -2
  107. data/app/views/devise/confirmations/show.html.erb +0 -63
  108. data/app/views/devise/mailer/confirmation_instructions.html.erb +0 -5
  109. data/app/views/devise/mailer/email_changed.html.erb +0 -7
  110. data/app/views/devise/mailer/password_change.html.erb +0 -3
  111. data/app/views/devise/mailer/reset_password_instructions.html.erb +0 -8
  112. data/app/views/devise/mailer/unlock_instructions.html.erb +0 -7
  113. data/app/views/devise/passwords/edit.html.erb +0 -79
  114. data/app/views/devise/passwords/new.html.erb +0 -75
  115. data/app/views/devise/registrations/edit.html.erb +0 -43
  116. data/app/views/devise/registrations/new.html.erb +0 -147
  117. data/app/views/devise/sessions/new.html.erb +0 -114
  118. data/app/views/devise/shared/_demo.html.erb +0 -7
  119. data/app/views/devise/shared/_error_messages.html.erb +0 -15
  120. data/app/views/devise/shared/_links.html.erb +0 -96
  121. data/app/views/devise/unlocks/new.html.erb +0 -16
  122. data/db/migrate/v1.0/0010000210_create_lesli_roles.rb +0 -59
  123. data/db/migrate/v1.0/0010000310_create_lesli_users.rb +0 -97
  124. data/db/migrate/v1.0/0010003110_create_lesli_user_settings.rb +0 -44
  125. data/db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb +0 -55
  126. data/db/migrate/v1.0/0010003410_create_lesli_user_powers.rb +0 -43
  127. data/db/migrate/v1.0/0010004010_create_lesli_user_logs.rb +0 -45
  128. data/db/migrate/v1.0/0010005010_create_lesli_descriptors.rb +0 -44
  129. data/db/migrate/v1.0/0010005110_create_lesli_descriptor_privileges.rb +0 -45
  130. data/db/migrate/v1.0/0010005210_create_lesli_descriptor_activities.rb +0 -49
  131. data/db/migrate/v1.0/0010005510_create_lesli_role_powers.rb +0 -51
  132. data/db/migrate/v1.0/0010005710_create_lesli_role_privileges.rb +0 -45
  133. data/lib/lesli/routing.rb +0 -26
  134. data/lib/scss/components/editor-richtext.scss +0 -88
  135. data/lib/scss/devise/oauth.scss +0 -34
  136. data/lib/scss/devise/passwords.scss +0 -33
  137. data/lib/scss/devise/sessions.scss +0 -35
  138. data/lib/scss/elements/avatar.scss +0 -48
  139. data/lib/scss/elements/calendar.scss +0 -47
  140. data/lib/scss/elements/toggle.scss +0 -102
  141. data/lib/vue/devise/confirmations.js +0 -33
  142. data/lib/vue/devise/passwords.js +0 -137
  143. data/lib/vue/devise/registrations.js +0 -157
  144. data/lib/vue/devise/sessions.js +0 -148
  145. data/lib/vue/panels/panel-tickets.vue +0 -181
  146. data/lib/vue/refactor/shared/cloudobjects/discussion/element.vue +0 -132
  147. data/lib/vue/shared/stores/account.js +0 -113
  148. /data/app/assets/icons/lesli/{engine-driver.svg → engine-calendar.svg} +0 -0
  149. /data/db/migrate/{v1.0 → v1}/0010000610_create_lesli_system_controllers.rb +0 -0
  150. /data/db/migrate/{v1.0 → v1}/0010000710_create_lesli_system_controller_actions.rb +0 -0
  151. /data/db/migrate/{v1.0 → v1}/0010001210_create_lesli_account_activities.rb +0 -0
  152. /data/db/migrate/{v1.0 → v1}/0010001410_create_lesli_account_logs.rb +0 -0
@@ -17,9 +17,9 @@ 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 development platform.
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
@@ -27,7 +27,7 @@ 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
31
  */
32
32
 
33
33
 
@@ -36,7 +36,27 @@ Building a better future, one line of code at a time.
36
36
 
37
37
 
38
38
  // ·
39
- @import "LesliStyle/templates/public";
39
+ @import "Lesli/scss/templates/public";
40
+
41
+
42
+ // · reusable background styles
43
+ @mixin lesli-login-background() {
44
+ background: linear-gradient(0deg,
45
+ rgba(49, 106, 255, 0.4),
46
+ rgba(49, 106, 255, 0.4)),
47
+ url("lesli/brand/login-background.jpg");
48
+ background-position: center;
49
+ background-size: cover;
50
+ }
51
+
52
+
53
+ // ·
54
+ h1,
55
+ .links,
56
+ .terms {
57
+ width: 100%;
58
+ max-width: 320px;
59
+ }
40
60
 
41
61
 
42
62
  // ·
@@ -47,129 +67,113 @@ h1 {
47
67
  }
48
68
 
49
69
 
50
- // ·
51
- body {
52
- background-color: #FAFAFA;
53
-
54
- .columns {
55
- width: 100%;
56
- }
70
+ // column container
71
+ .column.login-form {
72
+ max-width: 550px;
73
+ margin: 0 auto;
57
74
 
58
- .column:first-child {
59
- max-width: 550px;
60
- margin: 0 auto;
75
+ // logo container
76
+ .logo {
77
+ img {
78
+ width: initial;
79
+ height: initial;
80
+ }
81
+ p {
82
+ font-weight: 600;
83
+ text-align: left;
84
+ }
61
85
  }
62
86
 
63
- .column .hero {
64
- min-height: 100vh;
87
+ form {
65
88
 
66
- form,
67
- .logo,
68
- .links {
69
- width: 100%;
70
- margin: 0 auto;
71
- max-width: 320px;
72
- }
73
-
74
- // logo container
75
- .logo {
76
- img {
77
- width: initial;
78
- height: initial;
79
- }
80
- p {
81
- font-weight: 600;
82
- text-align: left;
89
+ .demo {
90
+ fieldset {
91
+ padding: 4px 8px;
92
+ border-radius: 4px;
93
+ border: 1px solid silver;
83
94
  }
84
95
  }
85
96
 
86
- form {
97
+ label {
98
+ font-weight: 400;
99
+ font-size: 15px;
100
+ line-height: 150%;
101
+ }
87
102
 
88
- .demo {
89
- fieldset {
90
- padding: 4px 8px;
91
- border-radius: 4px;
92
- border: 1px solid silver;
93
- }
94
- }
103
+ input {
104
+ border-radius: 6px;
105
+ box-shadow: none;
106
+ }
107
+
108
+ input[type="password"] {
109
+ font-family: Verdana;
110
+ letter-spacing: 0.1rem;
111
+ }
95
112
 
96
- label {
97
- font-weight: 400;
98
- font-size: 15px;
99
- line-height: 150%;
100
- }
101
- input {
102
- border-radius: 6px;
103
- box-shadow: none;
104
- }
105
- input[type="submit"] {
106
- font-weight: 600;
107
- }
108
- input[type="password"] {
109
- font-family: Verdana;
110
- letter-spacing: 0.125em;
111
- }
112
- p.help {
113
- font-weight: 600;
114
- }
115
- p.account {
116
- font-size: 15px;
117
- font-weight: 400;
118
- }
113
+ p.help {
114
+ font-weight: 600;
119
115
  }
120
116
 
121
- .message {
122
- font-weight: 500;
123
- line-height: 24px;
124
- font-family: "Exo";
117
+ p.account {
118
+ font-size: 15px;
119
+ font-weight: 400;
125
120
  }
121
+ }
126
122
 
127
- .links {
128
- a {
129
- width: 100%;
130
- display: flex;
131
- flex-grow: 1;
132
- padding: .8rem 0;
133
- &:not(:last-child) {
134
- border-bottom: 1px solid lesli-css-color(silver, 300);
135
- }
136
- }
137
- span {
138
- font-family: "Domine";
139
- font-weight: 500;
140
- font-size: 14px;
141
- //color: lesli-css-color(lesli, navy);
123
+ .links {
124
+
125
+ a {
126
+ width: 100%;
127
+ display: flex;
128
+ flex-grow: 1;
129
+ padding: .8rem 0;
130
+ &:not(:last-child) {
131
+ border-bottom: 1px solid lesli-css-color(silver, 300);
142
132
  }
143
133
  }
144
134
 
145
- .terms {
135
+ span {
146
136
  font-family: "Domine";
147
- font-weight: 400;
148
- font-size: 12px;
149
- line-height: 19px;
150
- letter-spacing: -44%;
137
+ font-weight: 500;
138
+ font-size: 14px;
151
139
  }
140
+ }
152
141
 
153
- .hero-foot {
154
- ul {
155
- height: 100px;
156
- align-items: center;
157
- }
158
- a {
159
- font-family: "Exo";
160
- font-weight: 600;
161
- font-size: 12px;
162
- line-height: 18px;
163
- }
164
- }
142
+ .terms {
143
+ font-family: "Domine";
144
+ font-weight: 400;
145
+ font-size: 12px;
146
+ line-height: 19px;
147
+ letter-spacing: -44%;
165
148
  }
149
+ }
150
+
151
+
152
+ // column with image background right side
153
+ .column.background {
154
+ @include lesli-login-background;
155
+ }
156
+
157
+
158
+ @include lesli-css-breakpoint-until-tablet() {
166
159
 
167
- .column.is-hidden-touch {
168
- background: linear-gradient(0deg,
169
- rgba(49, 106, 255, 0.4),
170
- rgba(49, 106, 255, 0.4)),
171
- url("lesli/brand/login-background.jpg");
172
- background-position: center;
173
- background-size: cover;
160
+ // login column must be full width on mobile
161
+ .column.login-form {
162
+ width: 100%;
163
+ max-width: 100%;
164
+ @include lesli-login-background;
165
+
166
+ .hero {
167
+ padding: 2rem 0;
168
+ }
169
+
170
+ // center the form
171
+ .hero-body {
172
+ margin: 0 auto;
173
+ max-width: 500px;
174
+ background-color: white;
175
+ border-radius: 6px;
176
+ padding: 1rem 3rem;
177
+ }
174
178
  }
175
179
  }
@@ -33,7 +33,7 @@ Building a better future, one line of code at a time.
33
33
 
34
34
 
35
35
  // ·
36
- .lesli-panel-notifications {
36
+ .lesli-panel-bell-notifications {
37
37
 
38
38
  .lesli-panel-content{
39
39
  overflow-y: scroll;
@@ -17,9 +17,9 @@ 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 development platform.
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
@@ -27,8 +27,7 @@ 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
33
 
@@ -33,7 +33,8 @@ Building a better future, one line of code at a time.
33
33
 
34
34
  // ·
35
35
  @import "lesli-css";
36
- @import "lesli-vue/dist/elements.css";
36
+ @import "lesli-vue/elements.css";
37
+ @import "lesli-vue/components.css";
37
38
 
38
39
  // · Configuration & variables
39
40
  @import "Lesli/scss/settings/variables";
@@ -68,9 +69,9 @@ Building a better future, one line of code at a time.
68
69
 
69
70
  // · Lesli core panels
70
71
  // @import "lesli/panels/panel-tasks";
71
- // @import "lesli/panels/panel-ticket";
72
+ @import "Lesli/scss/panels/panel-support-ticket";
72
73
  // @import "lesli/panels/panel-profile";
73
- // @import "lesli/panels/panel-notification";
74
+ @import "Lesli/scss/panels/panel-notification";
74
75
  // @import "lesli/panels/panel-announcements";
75
76
 
76
77
 
@@ -83,17 +84,18 @@ Building a better future, one line of code at a time.
83
84
 
84
85
 
85
86
  // · Lesli cloud objects
86
- // @import "lesli/cloud-objects/discussion";
87
+ @import "Lesli/scss/cloud-objects/discussion";
87
88
  // @import "lesli/cloud-objects/file";
88
89
 
89
90
 
90
91
  // · Overrides for vendor libraries
91
92
  // @import "lesli/overrides/sweetalert";
93
+ @import "Lesli/scss/overrides/notification";
92
94
 
93
95
 
94
96
  // · Lesli vue components
95
97
  // @import "lesli/elements/autocomplete";
96
- // @import "lesli/elements/avatar";
98
+ // @import "Lesli/scss/elements/avatar";
97
99
  // @import "lesli/elements/empty";
98
100
  // @import "lesli/elements/file-uploader";
99
101
  // @import "lesli/elements/gallery";
@@ -36,7 +36,7 @@ namespace :lesli do
36
36
 
37
37
  desc "Scan new routes added and create role privileges"
38
38
  task build: :environment do
39
- L2.msg("Registering engines, controllers and actions")
39
+ L2.msg("Lesli: Registering engines, controllers and actions")
40
40
  Lesli::ControllerOperator.new.build
41
41
  end
42
42
  end
@@ -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
@@ -41,11 +41,13 @@ namespace :lesli do
41
41
  migrate()
42
42
  prepare()
43
43
  seed()
44
+ status()
44
45
  end
45
46
 
46
47
  desc "Seed & prepare Lesli database (development only)"
47
48
  task :seed => :environment do |task, args|
48
49
  seed()
50
+ status()
49
51
  end
50
52
 
51
53
  desc "Migrate, seed & prepare the Lesli database (development only)"
@@ -53,20 +55,22 @@ namespace :lesli do
53
55
  migrate()
54
56
  prepare()
55
57
  seed()
58
+ status()
56
59
  end
57
60
 
58
- desc "Migrate & prepare the Lesli database"
59
- task :setup => :environment do |task, args|
61
+ desc "Migrate, prepare && user the Lesli database"
62
+ task :deploy => :environment do |task, args|
63
+ create()
60
64
  migrate()
61
65
  prepare()
66
+ status()
62
67
  end
63
68
 
64
- desc "Migrate, prepare && user the Lesli database"
65
- task :deploy => :environment do |task, args|
66
- create()
69
+ desc "Migrate & prepare the Lesli database"
70
+ task :setup => :environment do |task, args|
67
71
  migrate()
68
72
  prepare()
69
- Lesli::Engine.load_seed
73
+ status()
70
74
  end
71
75
  end
72
76
 
@@ -100,7 +104,6 @@ namespace :lesli do
100
104
  Rake::Task['db:migrate'].invoke
101
105
  end
102
106
 
103
- desc "Seed the Lesli database"
104
107
  def seed
105
108
 
106
109
  # print a message to let the users show the action running
@@ -113,26 +116,35 @@ namespace :lesli do
113
116
  Lesli::Engine.load_seed
114
117
  LesliBell::Engine.load_seed if defined?(LesliBell)
115
118
  LesliHelp::Engine.load_seed if defined?(LesliHelp)
119
+ LesliAdmin::Engine.load_seed if defined?(LesliAdmin)
116
120
  LesliAudit::Engine.load_seed if defined?(LesliAudit)
117
121
  LesliLetter::Engine.load_seed if defined?(LesliLetter)
122
+ LesliSupport::Engine.load_seed if defined?(LesliSupport)
123
+ LesliCalendar::Engine.load_seed if defined?(LesliCalendar)
118
124
  end
119
125
 
120
- desc "Prepare the Lesli database"
121
126
  def prepare
122
127
 
123
128
  # print a message to let the users show the action running
124
129
  L2.msg("Prepare the Lesli database")
125
130
 
131
+ Lesli::Account.all.each do |account|
132
+ account.initialize_account
133
+ account.initialize_engines
134
+ end
135
+
126
136
  # scan rails routes to build the controllers index
127
137
  Rake::Task['lesli:controllers:build'].invoke
128
138
 
129
139
  # scan rails routes to build the controllers index
130
- Rake::Task['lesli:guard:privileges'].invoke
140
+ Rake::Task['lesli:security:privileges'].invoke if defined?(LesliSecurity)
131
141
 
132
142
  # scan rails routes to build the base of translations
133
- Rake::Task['lesli:babel:build'].invoke if defined?(LesliBabel)
143
+ Rake::Task['lesli:babel:scan'].invoke if defined?(LesliBabel)
144
+ end
134
145
 
146
+ def status
135
147
  # print the lesli gems
136
148
  Rake::Task['lesli:status'].invoke
137
- end
149
+ end
138
150
  end
@@ -37,13 +37,13 @@ namespace :lesli do
37
37
  namespace :babel do
38
38
 
39
39
  desc "Scan and register labels"
40
- task :load => :environment do |task, args|
41
- Rake::Task['lesli_babel:load'].invoke
40
+ task :scan => :environment do |task, args|
41
+ Rake::Task['lesli_babel:scan'].invoke
42
42
  end
43
43
 
44
44
  desc "Scan and register labels"
45
- task :build => :environment do |task, args|
46
- Rake::Task['lesli_babel:build'].invoke
45
+ task :load => :environment do |task, args|
46
+ Rake::Task['lesli_babel:load'].invoke
47
47
  end
48
48
 
49
49
  desc "Export translations to json files"
@@ -52,11 +52,11 @@ namespace :lesli do
52
52
  end
53
53
  end
54
54
 
55
- namespace :guard do
55
+ namespace :security do
56
56
 
57
57
  desc "Syncing privileges for all the available roles"
58
58
  task :privileges => :environment do |task, args|
59
- Rake::Task['lesli_guard:privileges'].invoke
59
+ Rake::Task['lesli_security:privileges'].invoke
60
60
  end
61
61
  end
62
62
 
@@ -56,20 +56,22 @@ import componentApplicationSidebar from "Lesli/vue/layouts/application-sidebar.v
56
56
  import componentApplicationAnnouncement from "Lesli/vue/layouts/application-announcements.vue"
57
57
  import componentApplicationPanelTasks from "Lesli/vue/panels/panel-tasks.vue"
58
58
  import componentApplicationPanelFiles from "Lesli/vue/panels/panel-files.vue"
59
- import componentApplicationPanelTickets from "Lesli/vue/panels/panel-tickets.vue"
60
59
  import componentApplicationPanelProfile from "Lesli/vue/panels/panel-profile.vue"
61
60
  import componentApplicationPanelNotifications from "Lesli/vue/panels/panel-notifications.vue"
62
61
  import componentApplicationPanelAnnouncements from "Lesli/vue/panels/panel-announcements.vue"
63
62
  */
64
63
 
64
+ import componentApplicationPanelSupportTickets from "Lesli/vue/panels/panel-support-tickets.vue"
65
+ import componentApplicationPanelBellNotifications from "Lesli/vue/panels/panel-bell-notifications.vue"
66
+
65
67
 
66
68
  // · Loading global layout components
67
69
  import {
68
70
  // lesliElementAutocomplete,
69
- // lesliElementAvatar,
71
+ LesliAvatar,
70
72
  LesliButton,
71
73
  // lesliElementButtonLink,
72
- // lesliElementCalendar,
74
+ LesliCalendar,
73
75
  LesliCard,
74
76
  // lesliElementCollapse,
75
77
  LesliColumn,
@@ -113,9 +115,8 @@ import {
113
115
 
114
116
 
115
117
 
116
- // · engine: List of controllers apps loaded
118
+ // · engine: Engine name
117
119
  // · routes: Array of routes for Vue
118
- // · example: app("CloudAudit", [])
119
120
  export default (engine, routes=[]) => {
120
121
 
121
122
  // · Base path for the engines/core url's
@@ -130,6 +131,8 @@ export default (engine, routes=[]) => {
130
131
  appbuilder["components"] = {
131
132
  "lesli-application-header": lesliApplicationHeader,
132
133
  "lesli-application-engines": lesliApplicationEngines,
134
+ "application-panel-support-tickets": componentApplicationPanelSupportTickets,
135
+ "application-panel-bell-notifications": componentApplicationPanelBellNotifications
133
136
  /*
134
137
  "application-component-footer": componentApplicationFooter,
135
138
  "application-component-search": componentApplicationSearch,
@@ -137,10 +140,8 @@ export default (engine, routes=[]) => {
137
140
  "application-component-announcements": componentApplicationAnnouncement,
138
141
  "application-component-panel-tasks": componentApplicationPanelTasks,
139
142
  "application-component-panel-files": componentApplicationPanelFiles,
140
- "application-component-panel-tickets": componentApplicationPanelTickets,
141
143
  "application-component-panel-profile": componentApplicationPanelProfile,
142
- "application-component-panel-announcements": componentApplicationPanelAnnouncements,
143
- "application-component-panel-notifications": componentApplicationPanelNotifications
144
+ "application-component-panel-announcements": componentApplicationPanelAnnouncements
144
145
  */
145
146
  }
146
147
 
@@ -207,7 +208,7 @@ export default (engine, routes=[]) => {
207
208
  application.provide('msg', useLesliMsg())
208
209
  application.provide('url', useLesliUrl())
209
210
  application.provide('http', useLesliHttp())
210
- application.provide('date', useLesliDate())
211
+ application.provide('date', useLesliDate()())
211
212
  application.provide('utils', useLesliUtils())
212
213
  application.provide('dialog', useLesliDialog())
213
214
 
@@ -224,6 +225,7 @@ export default (engine, routes=[]) => {
224
225
 
225
226
  // · Loading Lesli handmade global components
226
227
  // application.component("lesli-icon", lesliElementIcon)
228
+ application.component("lesli-avatar", LesliAvatar)
227
229
  application.component("lesli-empty", LesliEmpty)
228
230
  application.component("lesli-header", LesliHeader)
229
231
  application.component("lesli-select", LesliSelect)
@@ -240,11 +242,11 @@ export default (engine, routes=[]) => {
240
242
  application.component("lesli-panel", LesliPanel)
241
243
  application.component("lesli-button", LesliButton)
242
244
  // application.component("lesli-button-link", lesliElementButtonLink)
243
- // application.component("lesli-calendar", lesliElementCalendar)
245
+ application.component("lesli-calendar", LesliCalendar)
244
246
  // application.component("lesli-input-tag", lesliElementInputTag)
245
247
  // application.component("lesli-file-uploader", lesliElementFileUploader)
246
248
  // application.component("lesli-navigation-list", lesliElementNavigationList)
247
- // application.component("lesli-avatar", lesliElementAvatar)
249
+
248
250
  application.component("lesli-toggle", LesliToggle)
249
251
  // application.component("lesli-dropdown", lesliElementDropdown)
250
252
  // application.component("lesli-map", lesliElementMap)
@@ -255,7 +257,6 @@ export default (engine, routes=[]) => {
255
257
  // application.component("lesli-input", lesliElementInput)
256
258
  application.component("lesli-link", LesliLink)
257
259
 
258
-
259
260
 
260
261
 
261
262
  // · Mount app once DOM is ready
@@ -18,30 +18,32 @@ GNU General Public License for more details.
18
18
  You should have received a copy of the GNU General Public License
19
19
  along with this program. If not, see http://www.gnu.org/licenses/.
20
20
 
21
- Lesli · Your Smart Business Assistant.
21
+ Lesli · Ruby on Rails SaaS Development Framework.
22
22
 
23
- Made with ♥ by https://www.lesli.tech
23
+ Made with ♥ by LesliTech
24
24
  Building a better future, one line of code at a time.
25
25
 
26
26
  @contact hello@lesli.tech
27
- @website https://lesli.tech
27
+ @website https://www.lesli.tech
28
28
  @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
29
 
30
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
31
  // ·
32
-
33
32
  */
34
33
 
35
34
 
36
35
  // · import store
37
- import { useCloudObjectDiscussionStore } from "Lesli/vue/cloudobjects/stores/discussion"
36
+ import { useCloudObjectDiscussionStore } from "../stores/discussion.js"
37
+
38
+
39
+ // ·
40
+ import DiscussionElement from "./element.vue"
38
41
 
39
- import DiscussionElement from "Lesli/vue/cloudobjects/components/discussion/element.vue"
40
42
 
43
+ // ·
41
44
  const discussionStore = useCloudObjectDiscussionStore()
42
45
 
43
46
  </script>
44
-
45
47
  <template>
46
48
  <div class="discussion-content mt-6">
47
49
  <discussion-element v-for="discussion in discussionStore.mergedArray" :key="discussion.id" :discussion="discussion">