lesli 5.0.12 → 5.0.14
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 +3 -6
- data/app/assets/images/lesli/brand/app-icon.svg +45 -39
- data/app/assets/images/lesli/brand/app-logo.png +0 -0
- data/app/assets/javascripts/lesli/application.js +1 -0
- data/app/controllers/lesli/abouts_controller.rb +16 -14
- data/app/controllers/lesli/application_controller.rb +14 -0
- data/app/controllers/lesli/application_devise_controller.rb +10 -12
- data/app/controllers/lesli/application_lesli_controller.rb +12 -11
- data/app/controllers/lesli/apps_controller.rb +6 -0
- data/app/controllers/lesli/roles_controller.rb +2 -2
- data/app/helpers/lesli/assets_helper.rb +24 -6
- data/app/helpers/lesli/general_helper.rb +18 -5
- data/app/helpers/lesli/html_helper.rb +8 -0
- data/app/helpers/lesli/navigation_helper.rb +43 -20
- data/app/helpers/lesli/system_helper.rb +2 -2
- data/app/helpers/lesli/turbo_helper.rb +58 -0
- data/app/interfaces/lesli/customization_interface.rb +42 -0
- data/app/interfaces/lesli/requester_interface.rb +103 -0
- data/app/interfaces/lesli/responder_interface.rb +127 -0
- data/app/lib/date2.rb +1 -191
- data/app/lib/lesli/courier.rb +54 -0
- data/app/mailers/lesli/application_lesli_mailer.rb +32 -59
- data/app/mailers/lesli/devise_mailer.rb +16 -8
- data/app/models/concerns/account_initializer.rb +27 -68
- data/app/models/concerns/lesli/has_activities.rb +29 -0
- data/app/models/concerns/user_extensions.rb +34 -13
- data/app/models/concerns/user_security.rb +4 -4
- data/app/models/lesli/account.rb +13 -20
- data/{lib/scss/layouts/application-container.scss → app/models/lesli/item/activity.rb} +11 -8
- data/app/models/lesli/role/{power.rb → action.rb} +6 -4
- data/app/models/lesli/role.rb +7 -15
- data/app/models/lesli/shared/catalog.rb +20 -0
- data/app/models/lesli/shared/dashboard.rb +1 -1
- data/app/models/lesli/user/activity.rb +5 -0
- data/app/models/lesli/user/detail.rb +5 -5
- data/app/models/lesli/user/{log.rb → journal.rb} +3 -3
- data/app/models/lesli/user/{power.rb → role.rb} +2 -3
- data/app/models/lesli/user/session.rb +3 -4
- data/app/models/lesli/user.rb +50 -46
- data/app/operators/lesli/controller_operator.rb +7 -2
- data/app/operators/lesli/{role_descriptor_operator.rb → role_operator.rb} +51 -28
- data/app/operators/lesli/user_registration_operator.rb +3 -2
- data/app/services/lesli/application_lesli_service.rb +8 -4
- data/app/services/lesli/role/action_service.rb +58 -0
- data/app/services/lesli/role_service.rb +232 -0
- data/app/services/lesli/{user_session_service.rb → user/session_service.rb} +23 -14
- data/app/services/lesli/user_service.rb +86 -2
- data/app/views/lesli/apps/show.html.erb +52 -0
- data/app/views/lesli/layouts/application-devise.html.erb +5 -7
- data/app/views/lesli/layouts/application-lesli.html.erb +18 -22
- data/app/views/lesli/partials/_application-analytics.html.erb +2 -2
- data/app/views/lesli/partials/_application-data.html.erb +5 -79
- data/app/views/lesli/partials/_application-head.html.erb +7 -4
- data/app/views/lesli/partials/_application-lesli-annoouncements.html.erb +49 -0
- data/app/views/lesli/partials/_application-lesli-header.html.erb +88 -39
- data/app/views/lesli/partials/_application-lesli-javascript.html.erb +5 -18
- data/app/views/lesli/partials/_application-lesli-navigation.html.erb +17 -7
- data/app/views/lesli/partials/{_application-lesli-notices.html.erb → _application-lesli-notifications.html.erb} +10 -8
- data/app/views/lesli/partials/_application-lesli-scss.html.erb +3 -3
- data/app/views/lesli/partials/_application-lesli-sidebar.html.erb +1 -1
- data/app/views/lesli/partials/_application-public-javascript.html.erb +1 -4
- data/app/views/lesli/shared/dashboards/_show.html.erb +63 -0
- data/app/views/lesli/wrappers/_application-devise-simple.erb +1 -1
- data/app/views/lesli/wrappers/_application-devise.html.erb +4 -6
- data/config/importmap.rb +14 -0
- data/config/initializers/lesli.rb +27 -13
- data/config/initializers/lesli_migration_helpers.rb +61 -0
- data/config/locales/translations.en.yml +1 -24
- data/config/locales/translations.es.yml +1 -24
- data/config/locales/translations.fr.yml +1 -24
- data/config/locales/translations.it.yml +1 -24
- data/config/locales/translations.pt.yml +1 -24
- data/config/routes.rb +3 -1
- data/db/migrate/v1/{0010000110_create_lesli_accounts.rb → 0000000110_create_lesli_accounts.rb} +13 -12
- data/db/migrate/v1/0000000210_create_lesli_roles.rb +65 -0
- data/db/migrate/v1/0000000310_create_lesli_users.rb +99 -0
- data/db/migrate/v1/{0010000610_create_lesli_system_controllers.rb → 0000100110_create_lesli_system_controllers.rb} +3 -3
- data/db/migrate/v1/{0010000710_create_lesli_system_controller_actions.rb → 0000100210_create_lesli_system_controller_actions.rb} +3 -4
- data/db/{seed/production.rb → migrate/v1/0000110310_create_lesli_account_settings.rb} +6 -3
- data/{app/models/lesli/user/agent.rb → db/migrate/v1/0000110410_create_lesli_account_activities.rb} +3 -3
- data/db/migrate/v1/0000120210_create_lesli_role_actions.rb +45 -0
- data/db/migrate/v1/{0010001410_create_lesli_account_logs.rb → 0000120310_create_lesli_role_privileges.rb} +8 -8
- data/db/{tables/0010003810_create_user_shortcuts.rb → migrate/v1/0000130210_create_lesli_user_roles.rb} +9 -12
- data/db/migrate/v1/0000130310_create_lesli_user_sessions.rb +56 -0
- data/db/migrate/v1/0000130410_create_lesli_user_activities.rb +37 -0
- data/db/{tables/0010001110_create_account_locations.rb → migrate2/0000100510_create_lesli_account_locations.rb} +6 -6
- data/db/{tables/0010001510_create_account_currencies.rb → migrate2/0000100610_create_lesli_account_currencies.rb} +4 -4
- data/db/seed/{development/accounts.rb → accounts.rb} +6 -2
- data/db/seed/{production/users.rb → users.rb} +4 -10
- data/db/seed/{tools.rb → xyz.rb} +2 -7
- data/db/seeds.rb +3 -2
- data/db/structure/00000020_catalogs.json +0 -0
- data/lib/generators/application_lesli_generator_base.rb +164 -0
- data/lib/generators/lesli/spec/USAGE +8 -0
- data/lib/generators/lesli/spec/spec_generator.rb +25 -0
- data/lib/generators/lesli/spec/templates/spec-factory.template +17 -0
- data/lib/generators/lesli/spec/templates/spec-model.template +70 -0
- data/lib/generators/lesli/view/USAGE +8 -0
- data/lib/generators/lesli/view/templates/spec-factory.template +17 -0
- data/lib/generators/lesli/view/templates/spec-model.template +70 -0
- data/lib/generators/lesli/view/view_generator.rb +25 -0
- data/lib/lesli/configuration.rb +8 -11
- data/lib/lesli/engine.rb +24 -6
- data/lib/lesli/r_spec.rb +43 -0
- data/lib/lesli/routing.rb +90 -0
- data/lib/lesli/version.rb +2 -2
- data/lib/lesli.rb +13 -0
- data/lib/migrate/common.rb +94 -0
- data/lib/migrate/items/action_structure.rb +51 -0
- data/{db/migrate/v1/0010001210_create_lesli_account_activities.rb → lib/migrate/items/activity_structure.rb} +18 -16
- data/lib/migrate/items/attachment_structure.rb +62 -0
- data/{app/views/lesli/partials/_application-lesli-engines.html.erb → lib/migrate/items/discussion_structure.rb} +19 -27
- data/lib/migrate/items/subscriber_structure.rb +49 -0
- data/lib/migrate/items/version_structure.rb +53 -0
- data/lib/migrate/shared/account_structure.rb +21 -0
- data/lib/migrate/shared/catalog_structure.rb +30 -0
- data/lib/migrate/shared/dashboard_structure.rb +54 -0
- data/lib/migrate/shared/setting_structure.rb +20 -0
- data/lib/rspec/config/spec_coverage.rb +95 -0
- data/{db/migrate/v1/0010001110_create_lesli_account_settings.rb → lib/rspec/factories/lesli_account.rb} +10 -7
- data/{db/seed/development.rb → lib/rspec/factories/lesli_role.rb} +30 -3
- data/{db/seed/test.rb → lib/rspec/factories/lesli_user.rb} +32 -3
- data/lib/rspec/fixtures/files/lesli-icon.png +0 -0
- data/lib/rspec/fixtures/files/test_file_1.docx +0 -0
- data/{db/tables/0010001610_create_account_currency_exchange_rates.rb → lib/rspec/helpers/lesli_helper.rb} +21 -21
- data/lib/rspec/helpers/rails_helper.rb +134 -0
- data/lib/rspec/helpers/response_request_helper.rb +214 -0
- data/lib/rspec/helpers/response_service_helper.rb +66 -0
- data/lib/rspec/helpers/spec_helper.rb +99 -0
- data/lib/rspec/lesli_api_tester.rb +133 -0
- data/lib/rspec/lesli_service_tester.rb +46 -0
- data/{db/tables/0010001410_create_account_files.rb → lib/rspec/testers/controller.rb} +31 -20
- data/lib/rspec/testers/model.rb +36 -0
- data/lib/rspec/testers/request.rb +84 -0
- data/lib/tasks/lesli/db.rake +5 -3
- data/lib/tasks/lesli/git.rake +28 -32
- data/lib/tasks/lesli/github.rake +89 -0
- data/lib/tasks/lesli_tasks.rake +6 -6
- data/readme.md +28 -17
- metadata +132 -399
- data/app/assets/fonts/lesli/Domine/Domine-Variable.ttf +0 -0
- data/app/assets/fonts/lesli/Domine/OFL.txt +0 -97
- data/app/assets/fonts/lesli/MaterialDesign/icons.woff2 +0 -0
- data/app/assets/fonts/lesli/Montserrat/Montserrat-Variable.ttf +0 -0
- data/app/assets/fonts/lesli/OpenSans/OpenSans-Variable.ttf +0 -0
- data/app/assets/fonts/lesli/Remix/remixicon.eot +0 -0
- data/app/assets/fonts/lesli/Remix/remixicon.glyph.json +0 -1
- data/app/assets/fonts/lesli/Remix/remixicon.svg +0 -7633
- data/app/assets/fonts/lesli/Remix/remixicon.symbol.svg +0 -11
- data/app/assets/fonts/lesli/Remix/remixicon.ttf +0 -0
- data/app/assets/fonts/lesli/Remix/remixicon.woff +0 -0
- data/app/assets/fonts/lesli/Remix/remixicon.woff2 +0 -0
- data/app/assets/fonts/lesli/Roboto/LICENSE.txt +0 -202
- data/app/assets/fonts/lesli/Roboto/Roboto-Black.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-BlackItalic.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-Bold.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-BoldItalic.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-Italic.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-Light.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-LightItalic.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-Medium.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-MediumItalic.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-Regular.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-Thin.ttf +0 -0
- data/app/assets/fonts/lesli/Roboto/Roboto-ThinItalic.ttf +0 -0
- data/app/assets/icons/lesli/engine-admin.svg +0 -1
- data/app/assets/icons/lesli/engine-audit.svg +0 -1
- data/app/assets/icons/lesli/engine-babel.svg +0 -1
- data/app/assets/icons/lesli/engine-bell.svg +0 -1
- data/app/assets/icons/lesli/engine-books.svg +0 -1
- data/app/assets/icons/lesli/engine-calendar.svg +0 -1
- data/app/assets/icons/lesli/engine-dashboard.svg +0 -1
- data/app/assets/icons/lesli/engine-dispatcher.svg +0 -1
- data/app/assets/icons/lesli/engine-focus.svg +0 -1
- data/app/assets/icons/lesli/engine-kb.svg +0 -1
- data/app/assets/icons/lesli/engine-leaf.svg +0 -1
- data/app/assets/icons/lesli/engine-lesli.svg +0 -1
- data/app/assets/icons/lesli/engine-letter.svg +0 -1
- data/app/assets/icons/lesli/engine-mailer.svg +0 -1
- data/app/assets/icons/lesli/engine-one.svg +0 -1
- data/app/assets/icons/lesli/engine-profile.svg +0 -1
- data/app/assets/icons/lesli/engine-proposal.svg +0 -1
- data/app/assets/icons/lesli/engine-scraper.svg +0 -1
- data/app/assets/icons/lesli/engine-security.svg +0 -1
- data/app/assets/icons/lesli/engine-shared.svg +0 -1
- data/app/assets/icons/lesli/engine-shield.svg +0 -1
- data/app/assets/icons/lesli/engine-storage.svg +0 -1
- data/app/assets/icons/lesli/engine-support.svg +0 -1
- data/app/assets/icons/lesli/engine-talk.svg +0 -1
- data/app/assets/icons/lesli/engine-team.svg +0 -1
- data/app/assets/icons/lesli/engine-time.svg +0 -1
- data/app/assets/icons/lesli/locale-en.svg +0 -1
- data/app/assets/icons/lesli/locale-es.svg +0 -1
- data/app/assets/icons/lesli/locale-fr.svg +0 -1
- data/app/assets/icons/lesli/locale-it.svg +0 -1
- data/app/assets/icons/lesli/locale-pt.svg +0 -1
- data/app/assets/icons/readme.md +0 -10
- data/app/assets/stylesheets/lesli/templates/application.css +0 -23499
- data/app/assets/stylesheets/lesli/templates/public.css +0 -19098
- data/app/assets/stylesheets/lesli/users/confirmations.css +0 -19219
- data/app/assets/stylesheets/lesli/users/passwords.css +0 -19202
- data/app/assets/stylesheets/lesli/users/registrations.css +0 -19594
- data/app/assets/stylesheets/lesli/users/sessions.css +0 -19594
- data/app/controllers/lesli/interfaces/application/authorization.rb +0 -107
- data/app/controllers/lesli/interfaces/application/customization.rb +0 -46
- data/app/controllers/lesli/interfaces/application/logger.rb +0 -134
- data/app/controllers/lesli/interfaces/application/requester.rb +0 -84
- data/app/controllers/lesli/interfaces/application/responder.rb +0 -132
- data/app/controllers/lesli/interfaces/controllers/actions.rb +0 -250
- data/app/controllers/lesli/interfaces/controllers/activities.rb +0 -215
- data/app/controllers/lesli/interfaces/controllers/discussions.rb +0 -270
- data/app/controllers/lesli/interfaces/controllers/files.rb +0 -467
- data/app/controllers/lesli/interfaces/controllers/subscribers.rb +0 -234
- data/app/lib/lesli/system.rb +0 -98
- data/app/models/lesli/cloud_object/action.rb +0 -70
- data/app/models/lesli/cloud_object/activity.rb +0 -311
- data/app/models/lesli/cloud_object/custom_field.rb +0 -158
- data/app/models/lesli/cloud_object/discussion.rb +0 -219
- data/app/models/lesli/cloud_object/subscriber.rb +0 -186
- data/app/operators/lesli/descriptor_privilege_operator.rb +0 -75
- data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +0 -23
- data/app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb +0 -23
- data/app/views/lesli/partials/_application-lesli-icons.html.erb +0 -1
- data/config/initializers/devise.rb +0 -336
- data/db/seed/development/users.rb +0 -52
- data/db/seed/production/accounts.rb +0 -50
- data/db/structure/00000000_people.json +0 -34
- data/db/structure/00000003_actions.json +0 -14
- data/db/structure/00000004_activities.json +0 -20
- data/db/structure/00000005_discussions.json +0 -8
- data/db/structure/00000006_files.json +0 -32
- data/db/structure/00000007_subscribers.json +0 -11
- data/db/structure/00000501_dashboards.json +0 -14
- data/db/structure/00000502_dashboard_components.json +0 -23
- data/db/tables/0010003410_create_user_activities.rb +0 -51
- data/db/tables/0010003710_create_user_codes.rb +0 -43
- data/db/tables/0010004110_create_user_tokens.rb +0 -45
- data/db/tables/0010005610_create_role_activities.rb +0 -50
- data/db/tables/0010009010_create_feedbacks.rb +0 -56
- data/lib/mailer_previews/devise_mailer_preview.rb +0 -49
- data/lib/scss/bulma/loader.scss +0 -92
- data/lib/scss/cloud-objects/discussion.scss +0 -80
- data/lib/scss/cloud-objects/file.scss +0 -138
- data/lib/scss/components/keypad.scss +0 -109
- data/lib/scss/elements/autocomplete.scss +0 -72
- data/lib/scss/elements/card.scss +0 -37
- data/lib/scss/elements/empty.scss +0 -43
- data/lib/scss/elements/file-uploader.scss +0 -74
- data/lib/scss/elements/gallery.scss +0 -98
- data/lib/scss/elements/input-tag.scss +0 -73
- data/lib/scss/elements/loading.scss +0 -63
- data/lib/scss/elements/map.scss +0 -107
- data/lib/scss/elements/navbar.scss +0 -115
- data/lib/scss/elements/table.scss +0 -118
- data/lib/scss/elements/toolbar.scss +0 -66
- data/lib/scss/fonts/families.scss +0 -47
- data/lib/scss/fonts/mdicons.scss +0 -82
- data/lib/scss/fonts/remixicons.scss +0 -2602
- data/lib/scss/helpers/display.scss +0 -44
- data/lib/scss/helpers/tooltip.scss +0 -91
- data/lib/scss/layouts/application-announcements.scss +0 -40
- data/lib/scss/layouts/application-component.scss +0 -39
- data/lib/scss/layouts/application-engines.scss +0 -125
- data/lib/scss/layouts/application-footer.scss +0 -102
- data/lib/scss/layouts/application-header.scss +0 -163
- data/lib/scss/layouts/application-navbar.scss +0 -62
- data/lib/scss/layouts/application-search.scss +0 -71
- data/lib/scss/layouts/application-sidebar.scss +0 -219
- data/lib/scss/overrides/notification.scss +0 -75
- data/lib/scss/overrides/sweetalert.scss +0 -106
- data/lib/scss/pages/devise-simple.scss +0 -89
- data/lib/scss/pages/devise.scss +0 -179
- data/lib/scss/pages/invites.scss +0 -81
- data/lib/scss/panels/panel-announcements.scss +0 -56
- data/lib/scss/panels/panel-notification.scss +0 -67
- data/lib/scss/panels/panel-profile.scss +0 -62
- data/lib/scss/panels/panel-support-ticket.scss +0 -56
- data/lib/scss/panels/panel-tasks.scss +0 -41
- data/lib/scss/settings/variables.scss +0 -148
- data/lib/scss/shared/workflow-status-progress.scss +0 -135
- data/lib/scss/templates/application.scss +0 -156
- data/lib/scss/templates/component.scss +0 -39
- data/lib/scss/templates/dashboards.scss +0 -53
- data/lib/scss/templates/empty.scss +0 -42
- data/lib/scss/templates/pdf.scss +0 -45
- data/lib/scss/templates/public.scss +0 -70
- data/lib/vue/application.js +0 -283
- data/lib/vue/cloudobjects/discussion/content.vue +0 -62
- data/lib/vue/cloudobjects/discussion/element.vue +0 -170
- data/lib/vue/cloudobjects/discussion/filters.vue +0 -108
- data/lib/vue/cloudobjects/discussion/new.vue +0 -134
- data/lib/vue/cloudobjects/discussion.vue +0 -99
- data/lib/vue/cloudobjects/stores/discussion.js +0 -212
- data/lib/vue/layouts/application-announcements.vue +0 -78
- data/lib/vue/layouts/application-component.vue +0 -38
- data/lib/vue/layouts/application-container.vue +0 -48
- data/lib/vue/layouts/application-engines.vue +0 -66
- data/lib/vue/layouts/application-footer.vue +0 -123
- data/lib/vue/layouts/application-header.vue +0 -231
- data/lib/vue/layouts/application-navbar.vue +0 -110
- data/lib/vue/layouts/application-search.vue +0 -86
- data/lib/vue/layouts/application-sidebar.vue +0 -63
- data/lib/vue/pages/errors/app.js +0 -32
- data/lib/vue/pages/invites/app.js +0 -76
- data/lib/vue/pages/mfas/application.js +0 -77
- data/lib/vue/pages/onboarding/application.js +0 -45
- data/lib/vue/pages/onboarding/components/address.vue +0 -120
- data/lib/vue/pages/onboarding/components/buttons.vue +0 -67
- data/lib/vue/pages/onboarding/components/contact.vue +0 -148
- data/lib/vue/pages/onboarding/components/date-time.vue +0 -265
- data/lib/vue/pages/onboarding/components/finish.vue +0 -62
- data/lib/vue/pages/onboarding/components/general-info.vue +0 -93
- data/lib/vue/pages/onboarding/components/indicators.vue +0 -78
- data/lib/vue/pages/onboarding/components/welcome.vue +0 -66
- data/lib/vue/pages/onboarding/show.vue +0 -67
- data/lib/vue/pages/onboarding/store.js +0 -165
- data/lib/vue/pages/otps/application.js +0 -90
- data/lib/vue/pages/passes/application.js +0 -80
- data/lib/vue/pages/websites/application.js +0 -34
- data/lib/vue/panels/panel-announcements.vue +0 -248
- data/lib/vue/panels/panel-bell-notifications.vue +0 -102
- data/lib/vue/panels/panel-files.vue +0 -281
- data/lib/vue/panels/panel-profile.vue +0 -76
- data/lib/vue/panels/panel-support-tickets.vue +0 -161
- data/lib/vue/panels/panel-tasks.vue +0 -124
- data/lib/vue/panels/stores/bell-notifications.js +0 -46
- data/lib/vue/panels/stores/support-tickets.js +0 -103
- data/lib/vue/public.js +0 -83
- data/lib/vue/refactor/shared/cloudobjects/action.vue +0 -193
- data/lib/vue/refactor/shared/cloudobjects/file/grid.vue +0 -215
- data/lib/vue/refactor/shared/cloudobjects/file/list.vue +0 -106
- data/lib/vue/refactor/shared/cloudobjects/file.vue +0 -145
- data/lib/vue/refactor/shared/workflows2/apps/actions/form.vue +0 -232
- data/lib/vue/refactor/shared/workflows2/apps/actions/forms/chatroom-form.vue +0 -103
- data/lib/vue/refactor/shared/workflows2/apps/actions/forms/cloud-object-clone-form.vue +0 -125
- data/lib/vue/refactor/shared/workflows2/apps/actions/forms/cloud-object-file-form.vue +0 -102
- data/lib/vue/refactor/shared/workflows2/apps/actions/forms/email-form.vue +0 -190
- data/lib/vue/refactor/shared/workflows2/apps/actions/forms/notification-form.vue +0 -124
- data/lib/vue/refactor/shared/workflows2/apps/actions/forms/send-cloud-object-file.vue +0 -170
- data/lib/vue/refactor/shared/workflows2/apps/actions/forms/task-form.vue +0 -258
- data/lib/vue/refactor/shared/workflows2/apps/actions/index.vue +0 -146
- data/lib/vue/refactor/shared/workflows2/apps/checks/form.vue +0 -200
- data/lib/vue/refactor/shared/workflows2/apps/checks/index.vue +0 -160
- data/lib/vue/refactor/shared/workflows2/apps/index.vue +0 -177
- data/lib/vue/refactor/shared/workflows2/apps/new.vue +0 -97
- data/lib/vue/refactor/shared/workflows2/apps/show.vue +0 -146
- data/lib/vue/refactor/shared/workflows2/components/associations.vue +0 -215
- data/lib/vue/refactor/shared/workflows2/components/chart.vue +0 -91
- data/lib/vue/refactor/shared/workflows2/components/workflow-form.vue +0 -466
- data/lib/vue/refactor/shared/workflows2/components/workflow-status-dropdown.vue +0 -129
- data/lib/vue/refactor/stores/cloudobjects/action.js +0 -181
- data/lib/vue/refactor/stores/cloudobjects/file.js +0 -205
- data/lib/vue/refactor/stores/entities/announcements.js +0 -75
- data/lib/vue/refactor/stores/entities/dashboard.js +0 -251
- data/lib/vue/refactor/stores/entities/workflow.js +0 -185
- data/lib/vue/refactor/stores/panels/announcements.js +0 -153
- data/lib/vue/refactor/stores/panels/notification.js +0 -114
- data/lib/vue/refactor/stores/panels/task.js +0 -66
- data/lib/vue/refactor/stores/panels/tickets.js +0 -129
- data/lib/vue/refactor/stores/role.js +0 -243
- data/lib/vue/refactor/stores/translations.json +0 -60
- data/lib/vue/refactor/stores/users.js +0 -98
- data/lib/vue/shared/dashboards/apps/edit.vue +0 -215
- data/lib/vue/shared/dashboards/apps/index.vue +0 -112
- data/lib/vue/shared/dashboards/apps/new.vue +0 -89
- data/lib/vue/shared/dashboards/apps/show.vue +0 -88
- data/lib/vue/shared/dashboards/components/form.vue +0 -246
- data/lib/vue/shared/services/firebase.js +0 -163
- data/lib/vue/shared/services/translator.js +0 -87
- data/lib/vue/shared/stores/command.js +0 -154
- data/lib/vue/shared/stores/dashboard.js +0 -253
- data/lib/vue/shared/stores/layout.js +0 -61
- data/lib/vue/shared/stores/systemController.js +0 -67
- data/lib/vue/shared/stores/users.js +0 -57
- data/lib/vue/stores/translations.json +0 -167
- data/lib/vue/translation.js +0 -45
- data/lib/webpack/base.js +0 -186
- data/lib/webpack/core.js +0 -91
- data/lib/webpack/engines.js +0 -165
- data/lib/webpack/version.js +0 -41
- data/vendor/bulma/LICENSE +0 -21
- data/vendor/bulma/bulma.sass +0 -10
- data/vendor/bulma/css/bulma-rtl.css +0 -11851
- data/vendor/bulma/css/bulma-rtl.min.css +0 -1
- data/vendor/bulma/css/bulma.css +0 -11851
- data/vendor/bulma/css/bulma.min.css +0 -1
- data/vendor/bulma/sass/base/_all.sass +0 -6
- data/vendor/bulma/sass/base/animations.sass +0 -5
- data/vendor/bulma/sass/base/generic.sass +0 -145
- data/vendor/bulma/sass/base/helpers.sass +0 -1
- data/vendor/bulma/sass/base/minireset.sass +0 -79
- data/vendor/bulma/sass/components/_all.sass +0 -15
- data/vendor/bulma/sass/components/breadcrumb.sass +0 -77
- data/vendor/bulma/sass/components/card.sass +0 -103
- data/vendor/bulma/sass/components/dropdown.sass +0 -83
- data/vendor/bulma/sass/components/level.sass +0 -79
- data/vendor/bulma/sass/components/media.sass +0 -59
- data/vendor/bulma/sass/components/menu.sass +0 -59
- data/vendor/bulma/sass/components/message.sass +0 -101
- data/vendor/bulma/sass/components/modal.sass +0 -117
- data/vendor/bulma/sass/components/navbar.sass +0 -446
- data/vendor/bulma/sass/components/pagination.sass +0 -167
- data/vendor/bulma/sass/components/panel.sass +0 -121
- data/vendor/bulma/sass/components/tabs.sass +0 -176
- data/vendor/bulma/sass/elements/_all.sass +0 -16
- data/vendor/bulma/sass/elements/box.sass +0 -26
- data/vendor/bulma/sass/elements/button.sass +0 -357
- data/vendor/bulma/sass/elements/container.sass +0 -29
- data/vendor/bulma/sass/elements/content.sass +0 -162
- data/vendor/bulma/sass/elements/form.sass +0 -1
- data/vendor/bulma/sass/elements/icon.sass +0 -46
- data/vendor/bulma/sass/elements/image.sass +0 -73
- data/vendor/bulma/sass/elements/notification.sass +0 -52
- data/vendor/bulma/sass/elements/other.sass +0 -31
- data/vendor/bulma/sass/elements/progress.sass +0 -73
- data/vendor/bulma/sass/elements/table.sass +0 -134
- data/vendor/bulma/sass/elements/tag.sass +0 -140
- data/vendor/bulma/sass/elements/title.sass +0 -70
- data/vendor/bulma/sass/form/_all.sass +0 -9
- data/vendor/bulma/sass/form/checkbox-radio.sass +0 -22
- data/vendor/bulma/sass/form/file.sass +0 -184
- data/vendor/bulma/sass/form/input-textarea.sass +0 -66
- data/vendor/bulma/sass/form/select.sass +0 -88
- data/vendor/bulma/sass/form/shared.sass +0 -60
- data/vendor/bulma/sass/form/tools.sass +0 -215
- data/vendor/bulma/sass/grid/_all.sass +0 -5
- data/vendor/bulma/sass/grid/columns.sass +0 -513
- data/vendor/bulma/sass/grid/tiles.sass +0 -36
- data/vendor/bulma/sass/helpers/_all.sass +0 -12
- data/vendor/bulma/sass/helpers/color.sass +0 -39
- data/vendor/bulma/sass/helpers/flexbox.sass +0 -35
- data/vendor/bulma/sass/helpers/float.sass +0 -10
- data/vendor/bulma/sass/helpers/other.sass +0 -14
- data/vendor/bulma/sass/helpers/overflow.sass +0 -2
- data/vendor/bulma/sass/helpers/position.sass +0 -7
- data/vendor/bulma/sass/helpers/spacing.sass +0 -31
- data/vendor/bulma/sass/helpers/typography.sass +0 -103
- data/vendor/bulma/sass/helpers/visibility.sass +0 -122
- data/vendor/bulma/sass/layout/_all.sass +0 -6
- data/vendor/bulma/sass/layout/footer.sass +0 -11
- data/vendor/bulma/sass/layout/hero.sass +0 -153
- data/vendor/bulma/sass/layout/section.sass +0 -17
- data/vendor/bulma/sass/utilities/_all.sass +0 -9
- data/vendor/bulma/sass/utilities/animations.sass +0 -1
- data/vendor/bulma/sass/utilities/controls.sass +0 -49
- data/vendor/bulma/sass/utilities/derived-variables.sass +0 -114
- data/vendor/bulma/sass/utilities/extends.sass +0 -25
- data/vendor/bulma/sass/utilities/functions.sass +0 -135
- data/vendor/bulma/sass/utilities/initial-variables.sass +0 -79
- data/vendor/bulma/sass/utilities/mixins.sass +0 -303
- data/vendor/lesli-css/_index.scss +0 -34
- data/vendor/lesli-css/lesli.scss +0 -51
- data/vendor/lesli-css/license +0 -28
- data/vendor/lesli-css/src/base/fonts.scss +0 -50
- data/vendor/lesli-css/src/base/normalize.scss +0 -118
- data/vendor/lesli-css/src/components/blockquote.scss +0 -61
- data/vendor/lesli-css/src/components/columns.scss +0 -92
- data/vendor/lesli-css/src/components/container.scss +0 -47
- data/vendor/lesli-css/src/components/navigation.scss +0 -59
- data/vendor/lesli-css/src/functions/colors.scss +0 -184
- data/vendor/lesli-css/src/helpers/units.scss +0 -44
- data/vendor/lesli-css/src/mixins/breakpoint.scss +0 -184
- data/vendor/lesli-css/src/mixins/flex.scss +0 -80
- data/vendor/lesli-css/src/mixins/scrollbar.scss +0 -46
- data/vendor/lesli-css/src/settings/variables.scss +0 -26
- data/vendor/lesli-css/tests/base/normalize.spec.scss +0 -125
- data/vendor/lesli-css/tests/functions/colors.spec.scss +0 -117
- data/vendor/lesli-css/tests/mixins/breakpoint.spec.scss +0 -429
- data/vendor/lesli-css/tests/mixins/scrollbar.spec.scss +0 -82
- data/vendor/lesli-css/vendor/normalize.scss +0 -351
- data/vendor/remixicon/License +0 -201
- data/vendor/remixicon/fonts/remixicon.css +0 -2583
- /data/{vendor/lesli-css/src/components/grid.scss → app/assets/stylesheets/lesli/application.css} +0 -0
- /data/db/migrate/v1/{0010001010_create_lesli_account_details.rb → 0000110210_create_lesli_account_details.rb} +0 -0
- /data/db/structure/{00000008_custom_fields.json → 00000300_custom_fields.json} +0 -0
- /data/lib/assets/javascripts/lesli/{i18n.js → i18n_js} +0 -0
@@ -1,165 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Lesli
|
3
|
-
|
4
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
5
|
-
|
6
|
-
This program is free software: you can redistribute it and/or modify
|
7
|
-
it under the terms of the GNU General Public License as published by
|
8
|
-
the Free Software Foundation, either version 3 of the License, or
|
9
|
-
(at your option) any later version.
|
10
|
-
|
11
|
-
This program is distributed in the hope that it will be useful,
|
12
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
GNU General Public License for more details.
|
15
|
-
|
16
|
-
You should have received a copy of the GNU General Public License
|
17
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
18
|
-
|
19
|
-
Lesli · Your Smart Business Assistant.
|
20
|
-
|
21
|
-
Made with ♥ by https://www.lesli.tech
|
22
|
-
Building a better future, one line of code at a time.
|
23
|
-
|
24
|
-
@contact hello@lesli.tech
|
25
|
-
@website https://lesli.tech
|
26
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
27
|
-
|
28
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
29
|
-
// ·
|
30
|
-
*/
|
31
|
-
|
32
|
-
|
33
|
-
// ·
|
34
|
-
import { defineStore } from "pinia";
|
35
|
-
|
36
|
-
// ·
|
37
|
-
export const useOnboarding = defineStore("onboarding", {
|
38
|
-
state: () => {
|
39
|
-
return {
|
40
|
-
view: 0,
|
41
|
-
companyInfo: {
|
42
|
-
company_name: null,
|
43
|
-
company_name_legal: null,
|
44
|
-
company_tag_line: null,
|
45
|
-
address: null,
|
46
|
-
country: null,
|
47
|
-
region: null,
|
48
|
-
public_email: null,
|
49
|
-
phone_number_1: null,
|
50
|
-
github: null,
|
51
|
-
twitter: null,
|
52
|
-
youtube: null,
|
53
|
-
linkedin: null,
|
54
|
-
facebook: null,
|
55
|
-
city: null,
|
56
|
-
postal_code: null
|
57
|
-
},
|
58
|
-
settings: {
|
59
|
-
datetime_format_date: null,
|
60
|
-
datetime_format_time: null,
|
61
|
-
datetime_format_date_words: null,
|
62
|
-
datetime_format_date_time: null,
|
63
|
-
datetime_format_date_time_words: null,
|
64
|
-
datetime_time_zone: null,
|
65
|
-
|
66
|
-
},
|
67
|
-
translations: {
|
68
|
-
core: {
|
69
|
-
onboardings: I18n.t("core.onboardings"),
|
70
|
-
shared: I18n.t("core.shared"),
|
71
|
-
account_settings: I18n.t("core.account/settings")
|
72
|
-
},
|
73
|
-
},
|
74
|
-
options: {
|
75
|
-
countries: [],
|
76
|
-
regions: [],
|
77
|
-
time_zones: []
|
78
|
-
}
|
79
|
-
}
|
80
|
-
},
|
81
|
-
actions: {
|
82
|
-
// Function to handle when the user clicks on continue while completing the onboarding process
|
83
|
-
next() {
|
84
|
-
this.view++
|
85
|
-
},
|
86
|
-
back(){
|
87
|
-
this.view = 1
|
88
|
-
},
|
89
|
-
// Function to handle when the user skip onboarding process
|
90
|
-
skip() {
|
91
|
-
this.dialog
|
92
|
-
.confirmation({
|
93
|
-
title: this.translations.core.onboardings.view_text_skip_onboarding_body,
|
94
|
-
text: this.translations.core.onboardings.view_text_skip_onboarding_info,
|
95
|
-
confirmText: this.translations.core.onboardings.view_text_skip_process,
|
96
|
-
cancelText: this.translations.core.onboardings.view_btn_continue
|
97
|
-
})
|
98
|
-
.then(({ isConfirmed }) => {
|
99
|
-
if (isConfirmed) {
|
100
|
-
this.saveConfiguration(true)
|
101
|
-
}
|
102
|
-
})
|
103
|
-
},
|
104
|
-
// Get options for showing in lesli select component for regions and countries
|
105
|
-
getOptions (){
|
106
|
-
this.loading = true
|
107
|
-
this.http.get(this.url.admin("account/options")).then(result => {
|
108
|
-
this.options.countries = result.countries.map((country)=> {
|
109
|
-
return {
|
110
|
-
label: country.name,
|
111
|
-
value: country.id
|
112
|
-
}
|
113
|
-
} )
|
114
|
-
this.options.regions = result.regions.map((region)=> {
|
115
|
-
return {
|
116
|
-
label: region.value,
|
117
|
-
value: region.key
|
118
|
-
}
|
119
|
-
} )
|
120
|
-
}).catch(error => {
|
121
|
-
this.msg.danger(this.translations.core.shared.messages_danger_internal_error)
|
122
|
-
}).finally(() => {
|
123
|
-
this.loading = false
|
124
|
-
})
|
125
|
-
// Get options for time zone selection
|
126
|
-
this.http.get(this.url.admin("account/settings/options")).then(result => {
|
127
|
-
this.options.time_zones = result.time_zones.map((time_zone)=> {
|
128
|
-
return {
|
129
|
-
label: time_zone.text,
|
130
|
-
value: time_zone.value
|
131
|
-
}
|
132
|
-
} )
|
133
|
-
}).catch(error => {
|
134
|
-
this.msg.danger(this.translations.core.shared.messages_danger_internal_error)
|
135
|
-
})
|
136
|
-
},
|
137
|
-
// Save configuration from onboarding
|
138
|
-
saveConfiguration(skipped = false) {
|
139
|
-
if (skipped) {
|
140
|
-
this.msg.info(this.translations.core.onboardings.messages_info_onboarding_process_skipped)
|
141
|
-
this.http.post(this.url.root("onboarding"), {
|
142
|
-
account: {
|
143
|
-
status: 2
|
144
|
-
},
|
145
|
-
account_settings: this.settings
|
146
|
-
}).then(result => {
|
147
|
-
this.msg.success(this.translations.core.account_settings.messages_success_settings_saved_successfully)
|
148
|
-
this.url.go()
|
149
|
-
}).catch(error => {
|
150
|
-
this.msg.danger(this.translations.core.shared.messages_danger_internal_error)
|
151
|
-
})
|
152
|
-
} else {
|
153
|
-
this.http.post(this.url.root("onboarding"), {
|
154
|
-
account: this.companyInfo,
|
155
|
-
account_settings: this.settings
|
156
|
-
}).then(result => {
|
157
|
-
this.msg.success(this.translations.core.account_settings.messages_success_settings_saved_successfully)
|
158
|
-
this.url.go()
|
159
|
-
}).catch(error => {
|
160
|
-
this.msg.danger(this.translations.core.shared.messages_danger_internal_error)
|
161
|
-
})
|
162
|
-
}
|
163
|
-
},
|
164
|
-
},
|
165
|
-
});
|
@@ -1,90 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Lesli
|
3
|
-
|
4
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
5
|
-
|
6
|
-
This program is free software: you can redistribute it and/or modify
|
7
|
-
it under the terms of the GNU General Public License as published by
|
8
|
-
the Free Software Foundation, either version 3 of the License, or
|
9
|
-
(at your option) any later version.
|
10
|
-
|
11
|
-
This program is distributed in the hope that it will be useful,
|
12
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
GNU General Public License for more details.
|
15
|
-
|
16
|
-
You should have received a copy of the GNU General Public License
|
17
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
18
|
-
|
19
|
-
Lesli · Your Smart Business Assistant.
|
20
|
-
|
21
|
-
Made with ♥ by https://www.lesli.tech
|
22
|
-
Building a better future, one line of code at a time.
|
23
|
-
|
24
|
-
@contact hello@lesli.tech
|
25
|
-
@website https://lesli.tech
|
26
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
27
|
-
|
28
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
29
|
-
// ·
|
30
|
-
*/
|
31
|
-
|
32
|
-
|
33
|
-
// ·
|
34
|
-
import application from "Lesli/public"
|
35
|
-
|
36
|
-
|
37
|
-
// ·
|
38
|
-
application({
|
39
|
-
|
40
|
-
data() {
|
41
|
-
return {
|
42
|
-
translations: {
|
43
|
-
main: I18n.t("core.otps/show")
|
44
|
-
},
|
45
|
-
otp: {
|
46
|
-
t: "",
|
47
|
-
email: ""
|
48
|
-
},
|
49
|
-
validate_otp: false,
|
50
|
-
notification: {
|
51
|
-
message: "",
|
52
|
-
show: false,
|
53
|
-
type: "is-danger"
|
54
|
-
}
|
55
|
-
}
|
56
|
-
},
|
57
|
-
methods: {
|
58
|
-
|
59
|
-
// Request OTP
|
60
|
-
postOtp(e) {
|
61
|
-
this.otp.t=""
|
62
|
-
e.preventDefault();
|
63
|
-
this.http.post("/otp", this.otp).then(result => {
|
64
|
-
this.validate_otp = true
|
65
|
-
this.showNotification(this.translations.main.notification_reset_password_instructions_sent, "is-success")
|
66
|
-
}).catch(error => {
|
67
|
-
this.showNotification(error.message)
|
68
|
-
})
|
69
|
-
},
|
70
|
-
|
71
|
-
// Validate OTP
|
72
|
-
putOtp(e) {
|
73
|
-
this.otp.email=""
|
74
|
-
e.preventDefault();
|
75
|
-
this.http.put("/otp", this.otp).then(result => {
|
76
|
-
this.url.go(result.default_path)
|
77
|
-
}).catch(error => {
|
78
|
-
this.showNotification(error.message)
|
79
|
-
})
|
80
|
-
},
|
81
|
-
|
82
|
-
showNotification(message, type="is-danger"){
|
83
|
-
this.notification.message = message;
|
84
|
-
this.notification.type = type;
|
85
|
-
this.notification.show = true;
|
86
|
-
}
|
87
|
-
|
88
|
-
}
|
89
|
-
|
90
|
-
})
|
@@ -1,80 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Lesli
|
3
|
-
|
4
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
5
|
-
|
6
|
-
This program is free software: you can redistribute it and/or modify
|
7
|
-
it under the terms of the GNU General Public License as published by
|
8
|
-
the Free Software Foundation, either version 3 of the License, or
|
9
|
-
(at your option) any later version.
|
10
|
-
|
11
|
-
This program is distributed in the hope that it will be useful,
|
12
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
GNU General Public License for more details.
|
15
|
-
|
16
|
-
You should have received a copy of the GNU General Public License
|
17
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
18
|
-
|
19
|
-
Lesli · Your Smart Business Assistant.
|
20
|
-
|
21
|
-
Made with ♥ by https://www.lesli.tech
|
22
|
-
Building a better future, one line of code at a time.
|
23
|
-
|
24
|
-
@contact hello@lesli.tech
|
25
|
-
@website https://lesli.tech
|
26
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
27
|
-
|
28
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
29
|
-
// ·
|
30
|
-
*/
|
31
|
-
|
32
|
-
|
33
|
-
// ·
|
34
|
-
import application from "Lesli/public"
|
35
|
-
|
36
|
-
|
37
|
-
// ·
|
38
|
-
application({
|
39
|
-
|
40
|
-
data() {
|
41
|
-
return {
|
42
|
-
loading: false,
|
43
|
-
translations: {
|
44
|
-
main: I18n.t("core.passes/new")
|
45
|
-
},
|
46
|
-
pass: {
|
47
|
-
email: ""
|
48
|
-
},
|
49
|
-
notification: {
|
50
|
-
message: "",
|
51
|
-
show: false,
|
52
|
-
type: "is-danger"
|
53
|
-
}
|
54
|
-
}
|
55
|
-
},
|
56
|
-
methods: {
|
57
|
-
|
58
|
-
postPass(event) {
|
59
|
-
this.loading = true
|
60
|
-
event.preventDefault();
|
61
|
-
|
62
|
-
this.http.post("/pass", this.pass).then(result => {
|
63
|
-
this.showNotification(I18n.t("core.passes.messages_info_you_will_received_email"), "success")
|
64
|
-
}).catch(error => {
|
65
|
-
this.showNotification(error.message)
|
66
|
-
}).finally(() => {
|
67
|
-
this.pass.email = ""
|
68
|
-
this.loading = false
|
69
|
-
})
|
70
|
-
},
|
71
|
-
|
72
|
-
showNotification(message, type="is-danger"){
|
73
|
-
this.notification.message = message;
|
74
|
-
this.notification.type = type;
|
75
|
-
this.notification.show = true;
|
76
|
-
}
|
77
|
-
|
78
|
-
}
|
79
|
-
|
80
|
-
})
|
@@ -1,34 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Lesli
|
3
|
-
|
4
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
5
|
-
|
6
|
-
This program is free software: you can redistribute it and/or modify
|
7
|
-
it under the terms of the GNU General Public License as published by
|
8
|
-
the Free Software Foundation, either version 3 of the License, or
|
9
|
-
(at your option) any later version.
|
10
|
-
|
11
|
-
This program is distributed in the hope that it will be useful,
|
12
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
GNU General Public License for more details.
|
15
|
-
|
16
|
-
You should have received a copy of the GNU General Public License
|
17
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
18
|
-
|
19
|
-
Lesli · Your Smart Business Assistant.
|
20
|
-
|
21
|
-
Made with ♥ by https://www.lesli.tech
|
22
|
-
Building a better future, one line of code at a time.
|
23
|
-
|
24
|
-
@contact hello@lesli.tech
|
25
|
-
@website https://lesli.tech
|
26
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
27
|
-
|
28
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
29
|
-
// ·
|
30
|
-
*/
|
31
|
-
|
32
|
-
|
33
|
-
// ·
|
34
|
-
console.info("Lesli")
|
@@ -1,248 +0,0 @@
|
|
1
|
-
<script setup>
|
2
|
-
/*
|
3
|
-
|
4
|
-
Lesli
|
5
|
-
|
6
|
-
Copyright (c) 2023, Lesli Technologies, S. A.
|
7
|
-
|
8
|
-
This program is free software: you can redistribute it and/or modify
|
9
|
-
it under the terms of the GNU General Public License as published by
|
10
|
-
the Free Software Foundation, either version 3 of the License, or
|
11
|
-
(at your option) any later version.
|
12
|
-
|
13
|
-
This program is distributed in the hope that it will be useful,
|
14
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
-
GNU General Public License for more details.
|
17
|
-
|
18
|
-
You should have received a copy of the GNU General Public License
|
19
|
-
along with this program. If not, see http://www.gnu.org/licenses/.
|
20
|
-
|
21
|
-
Lesli · Your Smart Business Assistant.
|
22
|
-
|
23
|
-
Made with ♥ by https://www.lesli.tech
|
24
|
-
Building a better future, one line of code at a time.
|
25
|
-
|
26
|
-
@contact hello@lesli.tech
|
27
|
-
@website https://lesli.tech
|
28
|
-
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
29
|
-
|
30
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
31
|
-
// ·
|
32
|
-
|
33
|
-
*/
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
// · import vue tools
|
38
|
-
import { inject, watch, onMounted } from "vue"
|
39
|
-
import { useRouter, useRoute } from 'vue-router'
|
40
|
-
|
41
|
-
|
42
|
-
// · import store
|
43
|
-
import { useLayout } from "Lesli/vue/stores/layout"
|
44
|
-
import { useAnnouncements } from "Lesli/vue/stores/panels/announcements"
|
45
|
-
|
46
|
-
|
47
|
-
// · initialize/inject plugins
|
48
|
-
const router = useRouter()
|
49
|
-
const url = inject("url")
|
50
|
-
|
51
|
-
|
52
|
-
// · implement stores
|
53
|
-
const storeLayout = useLayout()
|
54
|
-
const storeAnnouncementsPanel = useAnnouncements()
|
55
|
-
|
56
|
-
|
57
|
-
// ·
|
58
|
-
import { editorRichText } from "lesli-vue/components"
|
59
|
-
|
60
|
-
|
61
|
-
// · defining translations
|
62
|
-
const translations = {
|
63
|
-
core: {
|
64
|
-
shared: I18n.t("core.shared")
|
65
|
-
},
|
66
|
-
bell: {
|
67
|
-
notifications: I18n.t("bell.notifications"),
|
68
|
-
announcements: I18n.t("bell.announcements")
|
69
|
-
}
|
70
|
-
}
|
71
|
-
|
72
|
-
|
73
|
-
// ·
|
74
|
-
const closeOptions = {
|
75
|
-
yes: {
|
76
|
-
label: "yes",
|
77
|
-
value: true
|
78
|
-
},
|
79
|
-
no: {
|
80
|
-
label: "no",
|
81
|
-
value: false
|
82
|
-
}
|
83
|
-
}
|
84
|
-
|
85
|
-
|
86
|
-
// ·
|
87
|
-
const selectOptions = [
|
88
|
-
{ label: "Info", value: "info"},
|
89
|
-
{ label: "Alert", value: "danger"},
|
90
|
-
{ label: "Success", value: "success"},
|
91
|
-
{ label: "Warning", value: "warning"}
|
92
|
-
]
|
93
|
-
|
94
|
-
|
95
|
-
// ·
|
96
|
-
const columns = [{
|
97
|
-
field: "name",
|
98
|
-
label: translations.bell.announcements.column_name
|
99
|
-
}, {
|
100
|
-
field: "category",
|
101
|
-
label: translations.bell.announcements.column_category
|
102
|
-
}, {
|
103
|
-
field: "user_creator",
|
104
|
-
label: translations.bell.announcements.column_users_id
|
105
|
-
}]
|
106
|
-
|
107
|
-
|
108
|
-
// ·
|
109
|
-
watch(() => storeLayout.showAnnouncements, () => {
|
110
|
-
if(storeLayout.showAnnouncements){
|
111
|
-
storeAnnouncementsPanel.getAnnouncements()
|
112
|
-
}
|
113
|
-
})
|
114
|
-
</script>
|
115
|
-
|
116
|
-
<template>
|
117
|
-
<lesli-panel class="lesli-panel-announcements" v-model:open="storeLayout.showAnnouncements">
|
118
|
-
<template #header>
|
119
|
-
{{translations.bell.announcements.view_title_creating_announcement}}
|
120
|
-
</template>
|
121
|
-
<template #default>
|
122
|
-
<div class="form">
|
123
|
-
<form @submit.prevent="storeAnnouncementsPanel.formSubmit()">
|
124
|
-
<div class="columns">
|
125
|
-
<div class="column is-4">
|
126
|
-
<label class="label">
|
127
|
-
{{ translations.bell.announcements.column_name }}
|
128
|
-
<sup class="has-text-danger">*</sup>
|
129
|
-
</label>
|
130
|
-
</div>
|
131
|
-
<div class="column">
|
132
|
-
<div class="control is-clearfix">
|
133
|
-
<input
|
134
|
-
type="text"
|
135
|
-
autocomplete="on"
|
136
|
-
name="subject"
|
137
|
-
required
|
138
|
-
class="input"
|
139
|
-
v-model="storeAnnouncementsPanel.announcement.name"
|
140
|
-
/>
|
141
|
-
</div>
|
142
|
-
</div>
|
143
|
-
</div>
|
144
|
-
|
145
|
-
<div class="columns">
|
146
|
-
<div class="column is-4">
|
147
|
-
<label class="label">
|
148
|
-
{{translations.bell.announcements.column_message}}
|
149
|
-
<sup class="has-text-danger">*</sup>
|
150
|
-
</label>
|
151
|
-
</div>
|
152
|
-
<div class="column">
|
153
|
-
<div class="control is-clearfix">
|
154
|
-
<editor-rich-text mode="small" v-model="storeAnnouncementsPanel.announcement.message">
|
155
|
-
</editor-rich-text>
|
156
|
-
</div>
|
157
|
-
</div>
|
158
|
-
</div>
|
159
|
-
|
160
|
-
<div class="columns">
|
161
|
-
<div class="column is-4">
|
162
|
-
<label class="label">{{translations.bell.announcements.column_start_at}}</label>
|
163
|
-
</div>
|
164
|
-
<div class="column">
|
165
|
-
<input class="input is-info" type="date" v-model="storeAnnouncementsPanel.announcement.start_at">
|
166
|
-
</div>
|
167
|
-
</div>
|
168
|
-
|
169
|
-
<div class="columns">
|
170
|
-
<div class="column is-4">
|
171
|
-
<label class="label">{{translations.bell.announcements.column_end_at}}</label>
|
172
|
-
</div>
|
173
|
-
<div class="column">
|
174
|
-
<input class="input is-info" type="date" v-model="storeAnnouncementsPanel.announcement.end_at">
|
175
|
-
</div>
|
176
|
-
</div>
|
177
|
-
|
178
|
-
|
179
|
-
<div class="columns">
|
180
|
-
<div class="column is-4">
|
181
|
-
<label class="label">
|
182
|
-
{{translations.bell.announcements.column_kind}}
|
183
|
-
</label>
|
184
|
-
</div>
|
185
|
-
<div class="column">
|
186
|
-
<div class="control is-clearfix">
|
187
|
-
<lesli-select
|
188
|
-
v-model = "storeAnnouncementsPanel.announcement.category"
|
189
|
-
:options="selectOptions">
|
190
|
-
</lesli-select>
|
191
|
-
</div>
|
192
|
-
</div>
|
193
|
-
</div>
|
194
|
-
|
195
|
-
<div class="columns">
|
196
|
-
<div class="column is-7">
|
197
|
-
<label class="label">
|
198
|
-
{{translations.bell.announcements.column_can_be_closed}}
|
199
|
-
<sup class="has-text-danger">*</sup>
|
200
|
-
</label>
|
201
|
-
</div>
|
202
|
-
<div class="column">
|
203
|
-
<label :for="option.label" class="radio" v-for="option in closeOptions" :key="option">
|
204
|
-
<input
|
205
|
-
name="user_salutation"
|
206
|
-
type="radio"
|
207
|
-
:id="option.label"
|
208
|
-
:value="option.value"
|
209
|
-
v-model="storeAnnouncementsPanel.announcement.can_be_closed"
|
210
|
-
/>
|
211
|
-
{{option.label}}
|
212
|
-
</label>
|
213
|
-
</div>
|
214
|
-
</div>
|
215
|
-
|
216
|
-
<div class="px-3 ql-bg-blue">
|
217
|
-
<lesli-button icon="save">
|
218
|
-
{{ translations.core.shared.view_btn_save }}
|
219
|
-
</lesli-button>
|
220
|
-
</div>
|
221
|
-
|
222
|
-
</form>
|
223
|
-
</div>
|
224
|
-
<div class="announcements" v-if="storeAnnouncementsPanel.announcements.length > 0">
|
225
|
-
<lesli-table
|
226
|
-
:columns="columns"
|
227
|
-
:records="storeAnnouncementsPanel.announcements"
|
228
|
-
@click="storeAnnouncementsPanel.showAnnouncement"
|
229
|
-
:loading="storeAnnouncementsPanel.loading"
|
230
|
-
>
|
231
|
-
|
232
|
-
<template #options="{ record, value }">
|
233
|
-
<a class="dropdown-item" @click="storeAnnouncementsPanel.deleteAnnouncement(record.id)">
|
234
|
-
<span class="material-icons">
|
235
|
-
delete
|
236
|
-
</span>
|
237
|
-
<span>
|
238
|
-
delete
|
239
|
-
</span>
|
240
|
-
</a>
|
241
|
-
</template>
|
242
|
-
|
243
|
-
</lesli-table>
|
244
|
-
</div>
|
245
|
-
|
246
|
-
</template>
|
247
|
-
</lesli-panel>
|
248
|
-
</template>
|