lesli 5.0.7 → 5.0.9
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 +10 -9
- data/app/assets/icons/lesli/engine-lesli.svg +1 -0
- data/app/assets/icons/lesli/locale-en.svg +1 -0
- data/app/assets/icons/lesli/locale-es.svg +1 -0
- data/app/assets/javascripts/lesli/users/sessions.js +1 -722
- data/app/assets/stylesheets/lesli/templates/application.css +1846 -0
- data/app/assets/stylesheets/lesli/templates/public.css +1 -0
- data/app/assets/stylesheets/lesli/users/sessions.css +1 -0
- data/app/helpers/lesli/navigation_helper.rb +9 -1
- data/app/lib/lesli/system.rb +2 -1
- data/app/models/concerns/account_initializer.rb +3 -3
- data/app/views/lesli/layouts/application-public.html.erb +1 -1
- data/app/views/lesli/partials/_application-data.html.erb +3 -1
- data/app/views/lesli/partials/_application-lesli-header.html.erb +7 -8
- data/app/views/lesli/partials/_application-lesli-icons.html.erb +1 -1
- data/app/views/lesli/partials/_application-lesli-javascript.html.erb +1 -1
- data/app/views/lesli/partials/_application-public-javascript.html.erb +1 -4
- data/app/views/lesli/wrappers/_application-devise.html.erb +2 -2
- data/config/initializers/lesli.rb +1 -1
- data/db/seeds.rb +2 -4
- data/lib/assets/javascripts/lesli/i18n.js +1037 -1037
- data/lib/lesli/engine.rb +7 -6
- data/lib/lesli/version.rb +2 -2
- data/lib/{sass/lesli → scss}/bulma/loader.scss +3 -1
- data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/sessions.scss +3 -1
- data/lib/{sass/lesli → scss}/fonts/families.scss +3 -3
- data/lib/{sass/lesli → scss}/fonts/mdicons.scss +6 -8
- data/lib/{sass/lesli → scss}/fonts/remixicons.scss +2 -2
- data/lib/{sass/lesli → scss}/layouts/application-header.scss +4 -0
- data/lib/{sass/lesli → scss}/layouts/application-sidebar.scss +1 -1
- data/lib/{sass/lesli → scss}/pages/devise.scss +5 -1
- data/lib/{sass/lesli → scss}/settings/variables.scss +1 -1
- data/lib/{sass/lesli → scss}/templates/application.scss +46 -49
- data/lib/{sass/lesli → scss}/templates/component.scss +1 -1
- data/lib/{sass/lesli → scss}/templates/dashboards.scss +1 -1
- data/lib/{sass/lesli → scss}/templates/public.scss +6 -6
- data/lib/tasks/lesli/db.rake +42 -24
- data/lib/tasks/lesli/docs.rake +47 -0
- data/lib/vue/application.js +16 -15
- data/lib/vue/devise/sessions.js +1 -1
- data/lib/vue/layouts/application-announcements.vue +1 -1
- data/lib/vue/layouts/application-engines.vue +1 -1
- data/lib/vue/layouts/application-header.vue +9 -9
- data/lib/vue/layouts/application-search.vue +1 -1
- data/lib/vue/panels/panel-announcements.vue +2 -2
- data/lib/vue/panels/panel-files.vue +2 -2
- data/lib/vue/panels/panel-notifications.vue +1 -1
- data/lib/vue/panels/panel-profile.vue +2 -2
- data/lib/vue/panels/panel-tasks.vue +2 -2
- data/lib/vue/panels/panel-tickets.vue +2 -2
- data/lib/vue/public.js +3 -2
- data/lib/vue/{shared → refactor/shared}/cloudobjects/action.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion/content.vue +2 -2
- data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion/element.vue +2 -2
- data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion/filters.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion/new.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion.vue +4 -4
- data/lib/vue/{shared → refactor/shared}/cloudobjects/file/grid.vue +2 -2
- data/lib/vue/{shared → refactor/shared}/cloudobjects/file/list.vue +2 -2
- data/lib/vue/{shared → refactor/shared}/cloudobjects/file.vue +4 -4
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/form.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/chatroom-form.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/cloud-object-clone-form.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/cloud-object-file-form.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/email-form.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/notification-form.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/send-cloud-object-file.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/task-form.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/index.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/checks/form.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/checks/index.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/index.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/new.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/apps/show.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/components/associations.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/components/chart.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/components/workflow-form.vue +1 -1
- data/lib/vue/{shared → refactor/shared}/workflows2/components/workflow-status-dropdown.vue +1 -1
- data/lib/vue/refactor/stores/translations.json +60 -0
- data/lib/vue/shared/dashboards/apps/edit.vue +1 -1
- data/lib/vue/shared/dashboards/apps/index.vue +1 -1
- data/lib/vue/shared/dashboards/apps/new.vue +1 -1
- data/lib/vue/shared/dashboards/apps/show.vue +4 -2
- data/lib/vue/shared/dashboards/components/form.vue +1 -1
- data/lib/webpack/base.js +133 -132
- data/lib/webpack/core.js +9 -3
- data/lib/webpack/engines.js +7 -2
- data/lib/webpack/version.js +4 -1
- data/readme.md +7 -5
- metadata +135 -180
- data/app/assets/icons/lesli/cloud-development.svg +0 -1
- data/app/assets/icons/lesli/cloud-letter.svg +0 -1
- data/app/assets/icons/lesli/icon-module.svg +0 -1
- data/app/assets/icons/lesli/logo-android.svg +0 -1
- data/app/assets/icons/lesli/logo-bulma.svg +0 -1
- data/app/assets/icons/lesli/logo-ios.svg +0 -1
- data/app/assets/icons/lesli/logo-linux.svg +0 -1
- data/app/assets/icons/lesli/logo-mac.svg +0 -1
- data/app/assets/icons/lesli/logo-module.svg +0 -1
- data/app/assets/icons/lesli/logo-postgresql.svg +0 -1
- data/app/assets/icons/lesli/logo-rails.svg +0 -1
- data/app/assets/icons/lesli/logo-ruby.svg +0 -1
- data/app/assets/icons/lesli/logo-sass.svg +0 -1
- data/app/assets/icons/lesli/logo-vue.svg +0 -1
- data/app/assets/icons/lesli/logo-web.svg +0 -1
- data/app/assets/icons/lesli/logo-windows.svg +0 -1
- data/app/assets/images/lesli/brand/app-logo2.svg +0 -52
- data/app/assets/javascripts/lesli/users/confirmations.js +0 -32
- data/app/assets/javascripts/lesli/users/passwords.js +0 -742
- data/app/assets/javascripts/lesli/users/registrations.js +0 -742
- data/lib/assets/javascripts/lesli/translations.js +0 -15
- data/lib/sass/lesli/elements/form.scss +0 -43
- data/lib/sass/lesli/elements/header.scss +0 -44
- data/lib/sass/lesli/elements/panel.scss +0 -65
- data/lib/sass/lesli/elements/tab.scss +0 -48
- /data/app/assets/fonts/lesli/Domine/{Domine-VariableFont_wght.ttf → Domine-Variable.ttf} +0 -0
- /data/app/assets/icons/lesli/{cloud-admin.svg → engine-admin.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-audit.svg → engine-audit.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-babel.svg → engine-babel.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-bell.svg → engine-bell.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-books.svg → engine-books.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-lesli.svg → engine-dashboard.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-dispatcher.svg → engine-dispatcher.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-driver.svg → engine-driver.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-focus.svg → engine-focus.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-guard.svg → engine-guard.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-kb.svg → engine-kb.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-leaf.svg → engine-leaf.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-word.svg → engine-letter.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-mailer.svg → engine-mailer.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-one.svg → engine-one.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-profile.svg → engine-profile.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-proposal.svg → engine-proposal.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-scraper.svg → engine-scraper.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-shared.svg → engine-shared.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-storage.svg → engine-storage.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-support.svg → engine-support.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-talk.svg → engine-talk.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-team.svg → engine-team.svg} +0 -0
- /data/app/assets/icons/lesli/{cloud-time.svg → engine-time.svg} +0 -0
- /data/lib/{sass/lesli → scss}/cloud-objects/discussion.scss +0 -0
- /data/lib/{sass/lesli → scss}/cloud-objects/file.scss +0 -0
- /data/lib/{sass/lesli → scss}/components/editor-richtext.scss +0 -0
- /data/lib/{sass/lesli → scss}/components/keypad.scss +0 -0
- /data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/confirmations.scss +0 -0
- /data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/oauth.scss +0 -0
- /data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/passwords.scss +0 -0
- /data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/registrations.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/autocomplete.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/avatar.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/calendar.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/card.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/empty.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/file-uploader.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/gallery.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/input-tag.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/loading.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/map.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/msg.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/navbar.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/table.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/toggle.scss +0 -0
- /data/lib/{sass/lesli → scss}/elements/toolbar.scss +0 -0
- /data/lib/{sass/lesli → scss}/helpers/display.scss +0 -0
- /data/lib/{sass/lesli → scss}/helpers/tooltip.scss +0 -0
- /data/lib/{sass/lesli → scss}/layouts/application-announcements.scss +0 -0
- /data/lib/{sass/lesli → scss}/layouts/application-component.scss +0 -0
- /data/lib/{sass/lesli → scss}/layouts/application-container.scss +0 -0
- /data/lib/{sass/lesli → scss}/layouts/application-engines.scss +0 -0
- /data/lib/{sass/lesli → scss}/layouts/application-footer.scss +0 -0
- /data/lib/{sass/lesli → scss}/layouts/application-navbar.scss +0 -0
- /data/lib/{sass/lesli → scss}/layouts/application-search.scss +0 -0
- /data/lib/{sass/lesli → scss}/overrides/sweetalert.scss +0 -0
- /data/lib/{sass/lesli → scss}/pages/devise-simple.scss +0 -0
- /data/lib/{sass/lesli → scss}/pages/invites.scss +0 -0
- /data/lib/{sass/lesli → scss}/panels/panel-announcements.scss +0 -0
- /data/lib/{sass/lesli → scss}/panels/panel-notification.scss +0 -0
- /data/lib/{sass/lesli → scss}/panels/panel-profile.scss +0 -0
- /data/lib/{sass/lesli → scss}/panels/panel-tasks.scss +0 -0
- /data/lib/{sass/lesli → scss}/panels/panel-ticket.scss +0 -0
- /data/lib/{sass/lesli → scss}/shared/workflow-status-progress.scss +0 -0
- /data/lib/{sass/lesli → scss}/templates/empty.scss +0 -0
- /data/lib/{sass/lesli → scss}/templates/pdf.scss +0 -0
- /data/lib/vue/{stores → refactor/stores}/cloudobjects/action.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/cloudobjects/discussion.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/cloudobjects/file.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/entities/announcements.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/entities/dashboard.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/entities/workflow.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/panels/announcements.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/panels/notification.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/panels/task.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/panels/tickets.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/role.js +0 -0
- /data/lib/vue/{stores → refactor/stores}/users.js +0 -0
- /data/lib/vue/{stores → shared}/services/firebase.js +0 -0
- /data/lib/vue/{stores → shared}/services/translator.js +0 -0
- /data/lib/vue/{stores → shared/stores}/account.js +0 -0
- /data/lib/vue/{stores/search.js → shared/stores/command.js} +0 -0
- /data/lib/vue/{stores → shared/stores}/layout.js +0 -0
@@ -148,6 +148,14 @@ module Lesli
|
|
148
148
|
controller_path.include?("lesli_letter"))
|
149
149
|
end
|
150
150
|
|
151
|
+
# 03.06 Dashboard engine
|
152
|
+
def navigation_engine_dashboard(title: "Dashboard", subtitle: "Smart business assistant")
|
153
|
+
return unless defined? LesliDashboard
|
154
|
+
|
155
|
+
navigation_engine_item(title, subtitle, "dashboard", lesli_dashboard.root_path,
|
156
|
+
controller_path.include?("lesli_dashboard"))
|
157
|
+
end
|
158
|
+
|
151
159
|
# 03.07 Social engine
|
152
160
|
def navigation_engine_social(title: "Social", subtitle: "Team social network")
|
153
161
|
return unless defined? CloudSocial
|
@@ -338,7 +346,7 @@ module Lesli
|
|
338
346
|
|
339
347
|
# render module navigation item :)
|
340
348
|
content_tag(:a, href: path, class: is_active ? "is-active" : nil) do
|
341
|
-
lesli_svg("
|
349
|
+
lesli_svg("engine-#{icon}") << content_tag(:div) do
|
342
350
|
content_tag(:span, title) << content_tag(:p, subtitle)
|
343
351
|
end
|
344
352
|
end
|
data/app/lib/lesli/system.rb
CHANGED
@@ -52,9 +52,9 @@ module AccountInitializer
|
|
52
52
|
limited = self.roles.create({ name: "limited", active: true, object_level_permission: 10, path_default: "/administration/profile" })
|
53
53
|
|
54
54
|
# assign descriptors with appropriate privileges
|
55
|
-
owner.powers.create(:descriptor => descriptor_owner, :plist => true, :pindex => true, :pshow => true, :pcreate => true, :
|
56
|
-
sysadmin.powers.create(:descriptor => descriptor_sysadmin, :plist => true, :pindex => true, :pshow => true, :pcreate => true, :
|
57
|
-
limited.powers.create(:descriptor => descriptor_profile, :plist => true, :pindex => true, :pshow => true, :pcreate => true, :
|
55
|
+
owner.powers.create(:descriptor => descriptor_owner, :plist => true, :pindex => true, :pshow => true, :pcreate => true, :pupdate => true, :pdestroy => true)
|
56
|
+
sysadmin.powers.create(:descriptor => descriptor_sysadmin, :plist => true, :pindex => true, :pshow => true, :pcreate => true, :pupdate => true, :pdestroy => true)
|
57
|
+
limited.powers.create(:descriptor => descriptor_profile, :plist => true, :pindex => true, :pshow => true, :pcreate => true, :pupdate => true, :pdestroy => true)
|
58
58
|
end
|
59
59
|
|
60
60
|
|
@@ -18,7 +18,7 @@ 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 · Ruby on Rails SaaS
|
21
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
22
22
|
|
23
23
|
Made with ♥ by https://www.lesli.tech
|
24
24
|
Building a better future, one line of code at a time.
|
@@ -43,7 +43,8 @@ Building a better future, one line of code at a time.
|
|
43
43
|
|
44
44
|
# set user information
|
45
45
|
@lesli[:current_user] = {
|
46
|
-
id: current_user.id
|
46
|
+
id: current_user.id,
|
47
|
+
name: current_user.first_name
|
47
48
|
}
|
48
49
|
|
49
50
|
|
@@ -65,6 +66,7 @@ end
|
|
65
66
|
|
66
67
|
<% # define @account data for the lesli plugin %>
|
67
68
|
<script>const lesli = <%= @lesli.to_json.html_safe %></script>
|
69
|
+
<script>const Lesli = <%= @lesli.to_json.html_safe %></script>
|
68
70
|
|
69
71
|
<%#
|
70
72
|
@lesli[:revision] = 0
|
@@ -33,12 +33,11 @@ Building a better future, one line of code at a time.
|
|
33
33
|
%>
|
34
34
|
|
35
35
|
<lesli-application-header
|
36
|
-
|
37
|
-
<%= "show-
|
38
|
-
<%= "show-
|
39
|
-
<%= "show-
|
40
|
-
engine-path="<%= lesli_engine(:path)
|
41
|
-
:show-engines="true">
|
36
|
+
:show-engines="true"
|
37
|
+
<%= "show-bell" if defined?(LesliBell) %>
|
38
|
+
<%= "show-focus" if defined?(LesliFocus) %>
|
39
|
+
<%= "show-tickets" if defined?(LesliHelp) %>
|
40
|
+
engine-path="<%= defined?(LesliDashboard) ? lesli_dashboard.root_path : lesli_engine(:path)%>">
|
42
41
|
|
43
42
|
|
44
43
|
<%# language selector %>
|
@@ -46,7 +45,7 @@ Building a better future, one line of code at a time.
|
|
46
45
|
<div class="dropdown is-hoverable header-language-selector">
|
47
46
|
<div class="dropdown-trigger">
|
48
47
|
<span class="icon has-text-link">
|
49
|
-
<%=
|
48
|
+
<%= lesli_svg("locale-#{locale}") %>
|
50
49
|
</span>
|
51
50
|
</div>
|
52
51
|
<div class="dropdown-menu" id="dropdown-menu-locale" role="menu">
|
@@ -55,7 +54,7 @@ Building a better future, one line of code at a time.
|
|
55
54
|
<% next if locale == I18n.locale %>
|
56
55
|
<%= link_to language_url(locale), { :class => "dropdown-item" } do %>
|
57
56
|
<span class="icon has-text-grey-light">
|
58
|
-
<%=
|
57
|
+
<%= lesli_svg("locale-#{locale}") %>
|
59
58
|
</span>
|
60
59
|
<span><%= language_name(locale) %></span>
|
61
60
|
<% end %>
|