lato_core 1.1.5 → 2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +20 -0
- data/README.md +29 -0
- data/Rakefile +1 -22
- data/app/assets/config/lato_core_manifest.js +2 -0
- data/app/assets/fonts/lato_core/fontawesome-webfont.eot +0 -0
- data/app/assets/fonts/lato_core/fontawesome-webfont.svg +2671 -0
- data/app/assets/fonts/lato_core/fontawesome-webfont.ttf +0 -0
- data/app/assets/fonts/lato_core/fontawesome-webfont.woff +0 -0
- data/app/assets/fonts/lato_core/fontawesome-webfont.woff2 +0 -0
- data/app/assets/fonts/lato_core/lato-bold-webfont.eot +0 -0
- data/app/assets/fonts/lato_core/lato-bold-webfont.svg +4551 -0
- data/app/assets/fonts/lato_core/lato-bold-webfont.ttf +0 -0
- data/app/assets/fonts/lato_core/lato-bold-webfont.woff +0 -0
- data/app/assets/fonts/lato_core/lato-bold-webfont.woff2 +0 -0
- data/app/assets/fonts/lato_core/lato-regular-webfont.eot +0 -0
- data/app/assets/fonts/lato_core/lato-regular-webfont.svg +4241 -0
- data/app/assets/fonts/lato_core/lato-regular-webfont.ttf +0 -0
- data/app/assets/fonts/lato_core/lato-regular-webfont.woff +0 -0
- data/app/assets/fonts/lato_core/lato-regular-webfont.woff2 +0 -0
- data/app/assets/images/lato_core/editor-icons.svg +1 -0
- data/app/assets/images/lato_core/logo-negative.svg +13 -0
- data/app/assets/images/lato_core/logo.svg +1 -0
- data/app/assets/images/lato_core/user.png +0 -0
- data/app/assets/javascripts/lato_core/application.js +28 -0
- data/app/assets/javascripts/lato_core/initializers/Charts.js +36 -0
- data/app/assets/javascripts/lato_core/initializers/Elements.js +67 -0
- data/app/assets/javascripts/lato_core/initializers/Inputs.js +201 -0
- data/app/assets/javascripts/lato_core/initializers/Layout.js +37 -0
- data/app/assets/javascripts/lato_core/initializers/SortableManager.js +66 -0
- data/app/assets/javascripts/lato_core/interfaces/Modal.js +28 -0
- data/app/assets/javascripts/lato_core/vendors/Sortable.min.js +2 -0
- data/app/assets/javascripts/lato_core/vendors/chart.bundle.js +17220 -0
- data/app/assets/javascripts/lato_core/vendors/dropzone.js +1767 -0
- data/app/assets/javascripts/lato_core/vendors/jquery.datetimepicker.full.js +3243 -0
- data/app/assets/javascripts/lato_core/vendors/jquery.floatThead.js +1106 -0
- data/app/assets/javascripts/lato_core/vendors/jquery.selectize.js +3829 -0
- data/app/assets/javascripts/lato_core/vendors/jquery.trumbowyg.js +1603 -0
- data/app/assets/stylesheets/lato_core/application.scss +23 -0
- data/app/assets/stylesheets/lato_core/base/_base.scss +35 -0
- data/app/assets/stylesheets/lato_core/base/_button.scss +23 -0
- data/app/assets/stylesheets/lato_core/base/_grid.scss +258 -0
- data/app/assets/stylesheets/lato_core/base/_helpers.scss +29 -0
- data/app/assets/stylesheets/lato_core/base/_mixin.scss +37 -0
- data/app/assets/stylesheets/lato_core/base/_normalize.scss +424 -0
- data/app/assets/stylesheets/lato_core/base/_table.scss +47 -0
- data/app/assets/stylesheets/lato_core/base/_typography.scss +23 -0
- data/app/assets/stylesheets/lato_core/cells/_cells.scss +4 -0
- data/app/assets/stylesheets/lato_core/cells/charts/_bar.scss +3 -0
- data/app/assets/stylesheets/lato_core/cells/charts/_charts.scss +2 -0
- data/app/assets/stylesheets/lato_core/cells/charts/_general.scss +7 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_block.scss +12 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_button.scss +132 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_buttongroup.scss +25 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_code.scss +8 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_elements.scss +10 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_flash.scss +74 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_modal.scss +76 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_pagination.scss +64 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_row.scss +3 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_table.scss +57 -0
- data/app/assets/stylesheets/lato_core/cells/elements/_title.scss +32 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_checkbox.scss +42 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_datetime.scss +23 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_dropzone.scss +12 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_editor.scss +3 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_email.scss +3 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_form.scss +3 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_general.scss +51 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_geolocalization.scss +12 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_inputs.scss +14 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_number.scss +3 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_password.scss +3 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_select.scss +47 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_sortableblock.scss +51 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_text.scss +3 -0
- data/app/assets/stylesheets/lato_core/cells/inputs/_textarea.scss +25 -0
- data/app/assets/stylesheets/lato_core/cells/widgets/_index.scss +74 -0
- data/app/assets/stylesheets/lato_core/cells/widgets/_widgets.scss +1 -0
- data/app/assets/stylesheets/lato_core/layouts/_admin.scss +352 -0
- data/app/assets/stylesheets/lato_core/layouts/_authentication.scss +10 -0
- data/app/assets/stylesheets/lato_core/layouts/_layouts.scss +2 -0
- data/app/assets/stylesheets/lato_core/pages/_dashboard.scss +35 -0
- data/app/assets/stylesheets/lato_core/pages/_login.scss +7 -0
- data/app/assets/stylesheets/lato_core/pages/_pages.scss +2 -0
- data/app/assets/stylesheets/lato_core/partials/_dynamic_data_to_js.scss +3 -0
- data/app/assets/stylesheets/lato_core/partials/_partials.scss +1 -0
- data/app/assets/stylesheets/lato_core/theme.scss.erb +127 -0
- data/app/assets/stylesheets/lato_core/vendors/_datetimepicker.css +568 -0
- data/app/assets/stylesheets/lato_core/vendors/_dropzone.css +388 -0
- data/app/assets/stylesheets/lato_core/vendors/_fontawesome.css +2341 -0
- data/app/assets/stylesheets/lato_core/vendors/_scrollbar.css +904 -0
- data/app/assets/stylesheets/lato_core/vendors/_selectize.css +324 -0
- data/app/assets/stylesheets/lato_core/vendors/_trumbowyg.css +584 -0
- data/app/assets/stylesheets/lato_core/vendors/_vendors.scss +6 -0
- data/app/assets/stylesheets/lato_core/widgets/_systeminfo.scss +21 -0
- data/app/assets/stylesheets/lato_core/widgets/_widgets.scss +1 -0
- data/app/cells/lato_core/charts/bar/vertical/cell.rb +57 -0
- data/app/cells/lato_core/charts/bar/vertical/views/show.html.erb +7 -0
- data/app/cells/lato_core/elements/block/cell.rb +39 -0
- data/app/cells/lato_core/elements/block/views/close.html.erb +1 -0
- data/app/cells/lato_core/elements/block/views/open.html.erb +4 -0
- data/app/cells/lato_core/elements/button/cell.rb +59 -0
- data/app/cells/lato_core/elements/button/views/button.html.erb +27 -0
- data/app/cells/lato_core/elements/button/views/link.html.erb +65 -0
- data/app/cells/lato_core/elements/buttongroup/cell.rb +33 -0
- data/app/cells/lato_core/elements/buttongroup/views/show.html.erb +7 -0
- data/app/cells/lato_core/elements/code/cell.rb +36 -0
- data/app/cells/lato_core/elements/code/views/close.html.erb +2 -0
- data/app/cells/lato_core/elements/code/views/open.html.erb +2 -0
- data/app/cells/lato_core/elements/flash/cell.rb +35 -0
- data/app/cells/lato_core/elements/flash/views/show.html.erb +11 -0
- data/app/cells/lato_core/elements/icon/cell.rb +31 -0
- data/app/cells/lato_core/elements/icon/views/show.html.erb +1 -0
- data/app/cells/lato_core/elements/modal/cell.rb +31 -0
- data/app/cells/lato_core/elements/modal/views/show.html.erb +21 -0
- data/app/cells/lato_core/elements/pagination/cell.rb +68 -0
- data/app/cells/lato_core/elements/pagination/views/show.html.erb +59 -0
- data/app/cells/lato_core/elements/row/cell.rb +37 -0
- data/app/cells/lato_core/elements/row/views/close.html.erb +1 -0
- data/app/cells/lato_core/elements/row/views/open.html.erb +3 -0
- data/app/cells/lato_core/elements/table/body/cell.rb +37 -0
- data/app/cells/lato_core/elements/table/body/views/close.html.erb +1 -0
- data/app/cells/lato_core/elements/table/body/views/open.html.erb +3 -0
- data/app/cells/lato_core/elements/table/container/cell.rb +41 -0
- data/app/cells/lato_core/elements/table/container/views/close.html.erb +2 -0
- data/app/cells/lato_core/elements/table/container/views/open.html.erb +7 -0
- data/app/cells/lato_core/elements/table/head/cell.rb +33 -0
- data/app/cells/lato_core/elements/table/head/views/show.html.erb +7 -0
- data/app/cells/lato_core/elements/table/row/cell.rb +49 -0
- data/app/cells/lato_core/elements/table/row/views/show.html.erb +35 -0
- data/app/cells/lato_core/elements/title/cell.rb +52 -0
- data/app/cells/lato_core/elements/title/views/show.html.erb +4 -0
- data/app/cells/lato_core/inputs/checkbox/cell.rb +38 -0
- data/app/cells/lato_core/inputs/checkbox/views/show.html.erb +20 -0
- data/app/cells/lato_core/inputs/datetime/cell.rb +53 -0
- data/app/cells/lato_core/inputs/datetime/views/show.html.erb +19 -0
- data/app/cells/lato_core/inputs/dropzone/cell.rb +37 -0
- data/app/cells/lato_core/inputs/dropzone/views/show.html.erb +24 -0
- data/app/cells/lato_core/inputs/editor/cell.rb +37 -0
- data/app/cells/lato_core/inputs/editor/views/show.html.erb +12 -0
- data/app/cells/lato_core/inputs/email/cell.rb +40 -0
- data/app/cells/lato_core/inputs/email/views/show.html.erb +19 -0
- data/app/cells/lato_core/inputs/form/cell.rb +39 -0
- data/app/cells/lato_core/inputs/form/views/close.html.erb +1 -0
- data/app/cells/lato_core/inputs/form/views/open.html.erb +12 -0
- data/app/cells/lato_core/inputs/geolocalization/cell.rb +51 -0
- data/app/cells/lato_core/inputs/geolocalization/views/show.html.erb +26 -0
- data/app/cells/lato_core/inputs/number/cell.rb +44 -0
- data/app/cells/lato_core/inputs/number/views/show.html.erb +25 -0
- data/app/cells/lato_core/inputs/password/cell.rb +42 -0
- data/app/cells/lato_core/inputs/password/views/show.html.erb +21 -0
- data/app/cells/lato_core/inputs/select/cell.rb +56 -0
- data/app/cells/lato_core/inputs/select/views/show.html.erb +25 -0
- data/app/cells/lato_core/inputs/shared/help.html.erb +7 -0
- data/app/cells/lato_core/inputs/shared/label.html.erb +11 -0
- data/app/cells/lato_core/inputs/sortableblock/cell.rb +39 -0
- data/app/cells/lato_core/inputs/sortableblock/views/show.html.erb +40 -0
- data/app/cells/lato_core/inputs/text/cell.rb +42 -0
- data/app/cells/lato_core/inputs/text/views/show.html.erb +21 -0
- data/app/cells/lato_core/inputs/textarea/cell.rb +41 -0
- data/app/cells/lato_core/inputs/textarea/views/show.html.erb +16 -0
- data/app/cells/lato_core/widgets/index/cell.rb +215 -0
- data/app/cells/lato_core/widgets/index/views/partials/new.html.erb +3 -0
- data/app/cells/lato_core/widgets/index/views/partials/pagination.html.erb +3 -0
- data/app/cells/lato_core/widgets/index/views/partials/search.html.erb +17 -0
- data/app/cells/lato_core/widgets/index/views/show.html.erb +45 -0
- data/app/controllers/lato_core/api/api_controller.rb +5 -0
- data/app/controllers/lato_core/application_controller.rb +9 -1
- data/app/controllers/lato_core/back/authentication_controller.rb +33 -99
- data/app/controllers/lato_core/back/back_controller.rb +5 -14
- data/app/controllers/lato_core/back/dashboard_controller.rb +13 -0
- data/app/controllers/lato_core/back/superusers_controller.rb +97 -113
- data/app/controllers/lato_core/doc/cells_charts_controller.rb +7 -0
- data/app/controllers/lato_core/doc/cells_elements_controller.rb +31 -0
- data/app/controllers/lato_core/doc/cells_inputs_controller.rb +33 -0
- data/app/controllers/lato_core/doc/cells_widgets_controller.rb +10 -0
- data/app/controllers/lato_core/doc/doc_controller.rb +17 -0
- data/app/controllers/lato_core/doc/general_controller.rb +13 -0
- data/app/helpers/lato_core/application_helper.rb +4 -0
- data/app/jobs/lato_core/application_job.rb +4 -0
- data/app/mailers/lato_core/application_mailer.rb +2 -5
- data/app/models/lato_core/application_record.rb +5 -0
- data/app/models/lato_core/superuser.rb +11 -16
- data/app/models/lato_core/superuser/entity_helpers.rb +29 -0
- data/app/views/lato_core/back/authentication/index.html.erb +25 -0
- data/app/views/lato_core/back/dashboard/index.html.erb +29 -0
- data/app/views/lato_core/back/superusers/edit.html.erb +10 -15
- data/app/views/lato_core/back/superusers/index.html.erb +16 -27
- data/app/views/lato_core/back/superusers/new.html.erb +8 -13
- data/app/views/lato_core/back/superusers/shared/_form.html.erb +47 -55
- data/app/views/lato_core/back/superusers/show.html.erb +65 -1
- data/app/views/lato_core/doc/cells_charts/bar_vertical.erb +64 -0
- data/app/views/lato_core/doc/cells_elements/block.html.erb +172 -0
- data/app/views/lato_core/doc/cells_elements/button.html.erb +375 -0
- data/app/views/lato_core/doc/cells_elements/buttongroup.html.erb +101 -0
- data/app/views/lato_core/doc/cells_elements/flash_messages.html.erb +123 -0
- data/app/views/lato_core/doc/cells_elements/icon.html.erb +58 -0
- data/app/views/lato_core/doc/cells_elements/modal.html.erb +89 -0
- data/app/views/lato_core/doc/cells_elements/pagination.html.erb +149 -0
- data/app/views/lato_core/doc/cells_elements/row.html.erb +62 -0
- data/app/views/lato_core/doc/cells_elements/table.html.erb +272 -0
- data/app/views/lato_core/doc/cells_elements/table_body.html.erb +118 -0
- data/app/views/lato_core/doc/cells_elements/table_head.html.erb +110 -0
- data/app/views/lato_core/doc/cells_elements/table_row.html.erb +212 -0
- data/app/views/lato_core/doc/cells_elements/title.html.erb +70 -0
- data/app/views/lato_core/doc/cells_inputs/checkbox.html.erb +101 -0
- data/app/views/lato_core/doc/cells_inputs/datetime.html.erb +178 -0
- data/app/views/lato_core/doc/cells_inputs/dropzone.html.erb +114 -0
- data/app/views/lato_core/doc/cells_inputs/editor.html.erb +59 -0
- data/app/views/lato_core/doc/cells_inputs/email.html.erb +79 -0
- data/app/views/lato_core/doc/cells_inputs/form.html.erb +242 -0
- data/app/views/lato_core/doc/cells_inputs/geolocalization.html.erb +157 -0
- data/app/views/lato_core/doc/cells_inputs/number.html.erb +100 -0
- data/app/views/lato_core/doc/cells_inputs/password.html.erb +79 -0
- data/app/views/lato_core/doc/cells_inputs/select.html.erb +124 -0
- data/app/views/lato_core/doc/cells_inputs/sortableblock.html.erb +72 -0
- data/app/views/lato_core/doc/cells_inputs/text.html.erb +204 -0
- data/app/views/lato_core/doc/cells_inputs/textarea.html.erb +104 -0
- data/app/views/lato_core/doc/cells_widgets/index.html.erb +163 -0
- data/app/views/lato_core/doc/doc/index.html.erb +95 -0
- data/app/views/lato_core/doc/general/generators.html.erb +60 -0
- data/app/views/lato_core/doc/general/installation.html.erb +49 -0
- data/app/views/lato_core/doc/general/languages.html.erb +67 -0
- data/app/views/lato_core/doc/general/personalization.html.erb +177 -0
- data/app/views/lato_core/doc/shared/_modal_content.html.erb +4 -0
- data/app/views/lato_core/doc/shared/_sortableblock_partial.html.erb +1 -0
- data/app/views/lato_core/partials/_dynamic_data_to_js.html.erb +3 -0
- data/app/views/lato_core/partials/_gmaps.html.erb +5 -0
- data/app/views/lato_core/widgets/_systeminfo.html.erb +15 -0
- data/app/views/layouts/lato_core/admin.html.erb +44 -0
- data/app/views/layouts/lato_core/authentication.html.erb +22 -0
- data/app/views/layouts/lato_core/partials/_back.html.erb +5 -0
- data/app/views/layouts/lato_core/partials/_load_javascript.html.erb +4 -0
- data/app/views/layouts/lato_core/partials/_load_partials.html.erb +5 -0
- data/app/views/layouts/lato_core/partials/_load_stylesheet.html.erb +4 -0
- data/app/views/layouts/lato_core/partials/_logo.html.erb +9 -0
- data/app/views/layouts/lato_core/partials/_menu.html.erb +67 -0
- data/app/views/layouts/lato_core/partials/_profile.html.erb +19 -0
- data/app/views/layouts/lato_core/partials/_title.html.erb +3 -0
- data/app/views/layouts/lato_core/partials/_widgets.html.erb +13 -0
- data/config/configs.yml +102 -0
- data/config/initializers/assets.rb +9 -0
- data/config/initializers/init_system.rb +39 -0
- data/config/languages/default.yml +63 -0
- data/config/languages/it.yml +63 -0
- data/config/routes.rb +10 -13
- data/config/routes/api.rb +3 -0
- data/config/routes/back.rb +10 -0
- data/config/routes/doc.rb +48 -0
- data/db/migrate/20160224181217_create_lato_core_superusers.rb +8 -2
- data/lib/generators/lato_core/crud_generator.rb +26 -0
- data/lib/generators/lato_core/initializer_generator.rb +46 -0
- data/lib/generators/lato_core/templates/assets/images/logo.svg +13 -0
- data/{config/initializers/lists.rb → lib/generators/lato_core/templates/assets/javascripts/application.js} +0 -0
- data/lib/generators/lato_core/templates/assets/stylesheets/application.scss +2 -0
- data/lib/generators/lato_core/templates/assets/stylesheets/theme.scss.erb +13 -0
- data/lib/generators/lato_core/templates/controllers/application_controller.rb +13 -0
- data/lib/generators/lato_core/templates/controllers/crud_controller.rb +87 -0
- data/lib/generators/lato_core/templates/views/application/index.html.erb +16 -0
- data/lib/generators/lato_core/templates/views/crud/edit.html.erb +18 -0
- data/lib/generators/lato_core/templates/views/crud/index.html.erb +29 -0
- data/lib/generators/lato_core/templates/views/crud/new.html.erb +18 -0
- data/lib/generators/lato_core/templates/views/crud/shared/_form.html.erb +25 -0
- data/lib/generators/lato_core/templates/views/crud/show.html.erb +16 -0
- data/lib/lato_core.rb +6 -5
- data/lib/lato_core/cell.rb +28 -0
- data/lib/lato_core/engine.rb +16 -13
- data/lib/lato_core/helper.rb +11 -0
- data/lib/lato_core/helpers/cells.rb +20 -0
- data/lib/lato_core/helpers/general.rb +16 -0
- data/lib/lato_core/interface.rb +17 -14
- data/lib/lato_core/interfaces/apihelpers.rb +39 -0
- data/lib/lato_core/interfaces/application.rb +65 -0
- data/lib/lato_core/interfaces/authentication.rb +41 -0
- data/lib/lato_core/interfaces/cells.rb +41 -0
- data/lib/lato_core/interfaces/general.rb +39 -0
- data/lib/lato_core/interfaces/layout.rb +213 -0
- data/lib/lato_core/interfaces/modules.rb +110 -0
- data/lib/lato_core/interfaces/token.rb +25 -0
- data/lib/lato_core/version.rb +3 -0
- data/lib/tasks/lato_core_tasks.rake +4 -8
- data/lib/tasks/lato_tasks.rake +83 -0
- metadata +407 -33
- data/app/controllers/lato_core/api/v1/api_controller.rb +0 -8
- data/app/mailers/lato_core/superusers_mailer.rb +0 -27
- data/app/views/lato_core/back/authentication/login.html.erb +0 -45
- data/app/views/lato_core/back/authentication/password_edit.html.erb +0 -45
- data/app/views/lato_core/back/authentication/password_forget.html.erb +0 -36
- data/app/views/lato_core/back/back/home.html.erb +0 -20
- data/app/views/lato_core/mailers/layouts/mailer.html.erb +0 -9
- data/app/views/lato_core/mailers/layouts/mailer.text.erb +0 -1
- data/app/views/lato_core/mailers/superusers/notify.html.erb +0 -2
- data/app/views/lato_core/mailers/superusers/recover_password.html.erb +0 -4
- data/config/config.yml +0 -8
- data/config/example.yml +0 -66
- data/config/initializers/init.rb +0 -15
- data/config/initializers/ram.rb +0 -14
- data/lang/default.yml +0 -61
- data/lang/en.yml +0 -61
- data/lib/lato_core/interface/authentication.rb +0 -26
- data/lib/lato_core/interface/cache.rb +0 -23
- data/lib/lato_core/interface/communication.rb +0 -87
- data/lib/lato_core/interface/languages.rb +0 -51
- data/lib/lato_core/interface/navigation.rb +0 -95
- data/lib/lato_core/interface/session.rb +0 -57
- data/lib/lato_core/interface/superusers.rb +0 -134
@@ -1,26 +0,0 @@
|
|
1
|
-
module LatoCore
|
2
|
-
# This module contains functions for authetication.
|
3
|
-
module Interface::Authentication
|
4
|
-
|
5
|
-
# This function check if user is logged and redirect to login path if
|
6
|
-
# is not logged.
|
7
|
-
def core_controlUser
|
8
|
-
redirect_to lato_core.login_path unless core_controlSession
|
9
|
-
end
|
10
|
-
|
11
|
-
# This function search current user on database and return it if is
|
12
|
-
# logged.
|
13
|
-
def core_getCurrentUser
|
14
|
-
user = LatoCore::Superuser.find(session[:user])
|
15
|
-
return user if session[:user] && session[:session_code] && user
|
16
|
-
end
|
17
|
-
|
18
|
-
# This function control if current user has a permission level like
|
19
|
-
# value set as params and return a boolean value.
|
20
|
-
def core_controlPermission(permission)
|
21
|
-
user = core_getCurrentUser
|
22
|
-
user && user.permission >= permission
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
module LatoCore
|
2
|
-
# This module contains functions for cache information.
|
3
|
-
module Interface::Cache
|
4
|
-
|
5
|
-
# This function return a string with the path of cache directory on
|
6
|
-
# main project.
|
7
|
-
def core_getCacheDirectory
|
8
|
-
# directories for assets
|
9
|
-
dirname = "#{Rails.root}/app/assets/images/lato"
|
10
|
-
FileUtils.mkdir_p(dirname) unless File.exist?(dirname)
|
11
|
-
dirname = "#{Rails.root}/app/assets/stylesheets/lato"
|
12
|
-
FileUtils.mkdir_p(dirname) unless File.exist?(dirname)
|
13
|
-
dirname = "#{Rails.root}/app/assets/javascripts/lato"
|
14
|
-
FileUtils.mkdir_p(dirname) unless File.exist?(dirname)
|
15
|
-
# main cache directory
|
16
|
-
dirname = "#{Rails.root}/config/lato"
|
17
|
-
FileUtils.mkdir_p(dirname) unless File.exist?(dirname)
|
18
|
-
# return directory
|
19
|
-
return dirname
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
end
|
@@ -1,87 +0,0 @@
|
|
1
|
-
module LatoCore
|
2
|
-
# This module contains functions for the communication with other modules.
|
3
|
-
module Interface::Communication
|
4
|
-
|
5
|
-
# This function return the login root set for the application (the url
|
6
|
-
# where user is redirect after login).
|
7
|
-
def core_getApplicationLoginRoot
|
8
|
-
return CORE_APPLOGINROOT if defined? CORE_APPLOGINROOT
|
9
|
-
directory = core_getCacheDirectory
|
10
|
-
if File.exist? "#{directory}/config.yml"
|
11
|
-
config = YAML.load(
|
12
|
-
File.read(File.expand_path("#{directory}/config.yml", __FILE__))
|
13
|
-
)
|
14
|
-
return config['login_home'] if config && config['login_home']
|
15
|
-
else
|
16
|
-
return false
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
# This function return the application name.
|
21
|
-
def core_getApplicationName
|
22
|
-
return CORE_APPNAME if defined? CORE_APPNAME
|
23
|
-
directory = core_getCacheDirectory
|
24
|
-
if File.exist? "#{directory}/config.yml"
|
25
|
-
config = YAML.load(
|
26
|
-
File.read(File.expand_path("#{directory}/config.yml", __FILE__))
|
27
|
-
)
|
28
|
-
if config && config['app_name']
|
29
|
-
return config['app_name']
|
30
|
-
else
|
31
|
-
return 'Lato'
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
# This function return the application url set on the config file.
|
37
|
-
def core_getApplicationURL
|
38
|
-
return CORE_APPURL if defined? CORE_APPURL
|
39
|
-
directory = core_getCacheDirectory
|
40
|
-
if File.exist? "#{directory}/config.yml"
|
41
|
-
config = YAML.load(
|
42
|
-
File.read(File.expand_path("#{directory}/config.yml", __FILE__))
|
43
|
-
)
|
44
|
-
if config && config['root_url']
|
45
|
-
return config['root_url']
|
46
|
-
else
|
47
|
-
return 'http://localhost:3000'
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
# This function return the default service email set on the config file.
|
53
|
-
def core_getApplicationServiceEmail
|
54
|
-
return CORE_APPSERVICEMAIL if defined? CORE_APPSERVICEMAIL
|
55
|
-
directory = core_getCacheDirectory
|
56
|
-
if File.exist? "#{directory}/config.yml"
|
57
|
-
config = YAML.load(
|
58
|
-
File.read(File.expand_path("#{directory}/config.yml", __FILE__))
|
59
|
-
)
|
60
|
-
if config && config['service_email']
|
61
|
-
return config['service_email']
|
62
|
-
else
|
63
|
-
return 'service@lato.com'
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
# This function return the list of lato gems used by the application.
|
69
|
-
def core_getLatoGems
|
70
|
-
gems = core_getGems
|
71
|
-
lato_gems = []
|
72
|
-
# check every gem
|
73
|
-
gems.each do |name|
|
74
|
-
lato_gems.push(name) if name.start_with? 'lato'
|
75
|
-
end
|
76
|
-
# return result
|
77
|
-
lato_gems
|
78
|
-
end
|
79
|
-
|
80
|
-
# This function return the list of gems used by the application.
|
81
|
-
def core_getGems
|
82
|
-
require 'bundler'
|
83
|
-
Bundler.load.specs.map { |spec| spec.name }
|
84
|
-
end
|
85
|
-
|
86
|
-
end
|
87
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
module LatoCore
|
2
|
-
# This module contains functions used to get languages info.
|
3
|
-
module Interface::Languages
|
4
|
-
|
5
|
-
# This function return a boolean value to tells if applications has
|
6
|
-
# languages set to config file.
|
7
|
-
def core_applicationHasLanguages
|
8
|
-
return (CORE_APPLANGUAGES.length > 1) if defined? CORE_APPLANGUAGES
|
9
|
-
languages = core_getApplicationLanguages
|
10
|
-
return languages.length > 1
|
11
|
-
end
|
12
|
-
|
13
|
-
# This function return an array of languages used by application.
|
14
|
-
def core_getApplicationLanguages
|
15
|
-
return CORE_APPLANGUAGES if defined? CORE_APPLANGUAGES
|
16
|
-
languages = false
|
17
|
-
if File.exist? "#{Rails.root}/config/lato/config.yml"
|
18
|
-
config = YAML.load(
|
19
|
-
File.read(File.expand_path("#{Rails.root}/config/lato/config.yml", __FILE__))
|
20
|
-
)
|
21
|
-
if config['languages']
|
22
|
-
languages = config['languages'].split(',')
|
23
|
-
|
24
|
-
languages.each do |language|
|
25
|
-
language.downcase.delete(' ')
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
# return result
|
30
|
-
return languages
|
31
|
-
end
|
32
|
-
|
33
|
-
# This function load and return the languages for a lato module.
|
34
|
-
def core_loadModuleLanguages(module_name)
|
35
|
-
module_root = module_name.camelize.constantize::Engine.root
|
36
|
-
application_lang = Rails.application.config.i18n.default_locale
|
37
|
-
if File.exist? "#{module_root}/lang/#{application_lang}.yml"
|
38
|
-
return YAML.load(
|
39
|
-
File.read(File.expand_path("#{module_root}/lang/#{application_lang}.yml",
|
40
|
-
__FILE__))
|
41
|
-
)
|
42
|
-
else
|
43
|
-
return YAML.load(
|
44
|
-
File.read(File.expand_path("#{module_root}/lang/default.yml",
|
45
|
-
__FILE__))
|
46
|
-
)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
end
|
@@ -1,95 +0,0 @@
|
|
1
|
-
module LatoCore
|
2
|
-
# This module contains funtions used for the navigation inside the application.
|
3
|
-
module Interface::Navigation
|
4
|
-
|
5
|
-
# This function return an array with navbar voices.
|
6
|
-
def core_getNavbarItems
|
7
|
-
return CORE_NAVIGATION if defined? CORE_NAVIGATION
|
8
|
-
getApplicationNavbarItems + getLatoNavbarItems
|
9
|
-
end
|
10
|
-
|
11
|
-
# This function return an array with lato navbar voices.
|
12
|
-
private def getLatoNavbarItems
|
13
|
-
# inizializzo la lista delle voci della navbar
|
14
|
-
navbar_items = []
|
15
|
-
# identifico la lista di gemme del progetto Lato usate dalla
|
16
|
-
# applicazione
|
17
|
-
gems = core_getLatoGems
|
18
|
-
# per ogni gemma estraggo i dati necessari a riempire la navbar
|
19
|
-
gems.each do |name|
|
20
|
-
module_name = name.camelize
|
21
|
-
module_root = module_name.constantize::Engine.root
|
22
|
-
|
23
|
-
next unless File.exist? "#{module_root}/config/config.yml"
|
24
|
-
# accedo al config.yml
|
25
|
-
config = YAML.load(
|
26
|
-
File.read(File.expand_path("#{module_root}/config/config.yml",
|
27
|
-
__FILE__))
|
28
|
-
)
|
29
|
-
# estraggo i dati dallo yaml
|
30
|
-
data = getConfigNavbarData(config)
|
31
|
-
# aggiungo i dati nella risposta
|
32
|
-
data.each do |single_voice|
|
33
|
-
navbar_items.push(single_voice)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
# ritorno il risultato
|
37
|
-
navbar_items
|
38
|
-
end
|
39
|
-
|
40
|
-
# This function return an array with application navbar voices.
|
41
|
-
private def getApplicationNavbarItems
|
42
|
-
directory = core_getCacheDirectory
|
43
|
-
# inizializzo la lista delle voci della navbar
|
44
|
-
navbar_items = []
|
45
|
-
|
46
|
-
if File.exist? "#{directory}/config.yml"
|
47
|
-
# accedo al config.yml
|
48
|
-
directory = core_getCacheDirectory
|
49
|
-
config = YAML.load(
|
50
|
-
File.read(File.expand_path("#{directory}/config.yml", __FILE__))
|
51
|
-
)
|
52
|
-
# estraggo i dati dallo yaml
|
53
|
-
data = getConfigNavbarData(config)
|
54
|
-
# aggiungo i dati nella risposta
|
55
|
-
data.each do |single_voice|
|
56
|
-
navbar_items.push(single_voice)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
# ritorno il risultato
|
60
|
-
navbar_items
|
61
|
-
end
|
62
|
-
|
63
|
-
# This function read and return config datas about navbar from a config file.
|
64
|
-
private def getConfigNavbarData(config)
|
65
|
-
# inizializzo la lista di dati
|
66
|
-
results = []
|
67
|
-
# se il file e' formattato correttamente esamino ogni sua voce
|
68
|
-
if config and config['menu']
|
69
|
-
config['menu'].each do |voice|
|
70
|
-
# estraggo i dati
|
71
|
-
unique_name = voice[0]
|
72
|
-
name = voice[1]['name'].capitalize
|
73
|
-
url = voice[1]['url'].downcase
|
74
|
-
icon = voice[1]['icon'].downcase
|
75
|
-
position = voice[1]['position']
|
76
|
-
permission = voice[1]['permission']
|
77
|
-
# genero l'oggetto con le informazioni di output
|
78
|
-
output_voice = {
|
79
|
-
unique_name: unique_name,
|
80
|
-
name: name,
|
81
|
-
url: url,
|
82
|
-
icon: icon,
|
83
|
-
position: position,
|
84
|
-
permission: permission
|
85
|
-
}
|
86
|
-
# aggiungo la voce al risultato
|
87
|
-
results.push(output_voice)
|
88
|
-
end
|
89
|
-
end
|
90
|
-
# ritorno il risultato
|
91
|
-
results
|
92
|
-
end
|
93
|
-
|
94
|
-
end
|
95
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
module LatoCore
|
2
|
-
# This module contains functions used to get information about user session.
|
3
|
-
module Interface::Session
|
4
|
-
|
5
|
-
# This function create a new session for user with username and
|
6
|
-
# password received as params.
|
7
|
-
def core_createSession(username, password)
|
8
|
-
user = LatoCore::Superuser.find_by(username: username)
|
9
|
-
if user && user.authenticate(password)
|
10
|
-
# genero un session_code
|
11
|
-
code = SecureRandom.urlsafe_base64
|
12
|
-
# memorizzo il session_code sul db
|
13
|
-
user.update_attribute('session_code', code)
|
14
|
-
# genero le sessioni
|
15
|
-
session[:user] = user.id
|
16
|
-
session[:session_code] = code
|
17
|
-
# ritorno true
|
18
|
-
return true
|
19
|
-
else
|
20
|
-
# ritorno false
|
21
|
-
return false
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
# This function destroy the current user session.
|
26
|
-
def core_destroySession
|
27
|
-
if session[:user] && session[:session_code]
|
28
|
-
# determino l'utente della sessione
|
29
|
-
user = LatoCore::Superuser.find(session[:user])
|
30
|
-
# se l'utente esiste elimino il suo session_code dal db
|
31
|
-
user.update_attribute('session_code', nil) if user
|
32
|
-
# elimino le sessioni
|
33
|
-
session[:user] = nil
|
34
|
-
session[:session_code] = nil
|
35
|
-
# ritorno true
|
36
|
-
return true
|
37
|
-
else
|
38
|
-
# ritorno false
|
39
|
-
return false
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
# This function check if user session is valid.
|
44
|
-
def core_controlSession
|
45
|
-
user = LatoCore::Superuser.find(session[:user]) if session[:user]
|
46
|
-
|
47
|
-
if user && session[:session_code] &&
|
48
|
-
user.session_code === session[:session_code] &&
|
49
|
-
!user.session_code.nil?
|
50
|
-
return true
|
51
|
-
else
|
52
|
-
return false
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
57
|
-
end
|
@@ -1,134 +0,0 @@
|
|
1
|
-
module LatoCore
|
2
|
-
# This module contains function used to manage superusers.
|
3
|
-
module Interface::Superusers
|
4
|
-
|
5
|
-
# This function send a notification email to user with title and
|
6
|
-
# description.
|
7
|
-
def core_notifyUser(user, title, message)
|
8
|
-
# richiamo mailer corretto
|
9
|
-
LatoCore::SuperusersMailer.notify(user, title, message).deliver
|
10
|
-
end
|
11
|
-
|
12
|
-
# This function return a list of possible permissions for superusers with
|
13
|
-
# the string name for every permission.
|
14
|
-
def core_getUsersPermissions
|
15
|
-
# definisco permessi iniziali
|
16
|
-
initial_permissions = (1...11).to_a
|
17
|
-
|
18
|
-
unpermitted = core_getHideUsersPermissionsSettings
|
19
|
-
permitted_permissions = initial_permissions
|
20
|
-
permitted_permissions = initial_permissions - unpermitted if unpermitted
|
21
|
-
|
22
|
-
permissions = []
|
23
|
-
names = core_getUsersPermissionsNamesSettings
|
24
|
-
return permitted_permissions if !names
|
25
|
-
|
26
|
-
permitted_permissions.each do |permission|
|
27
|
-
names.each do |name|
|
28
|
-
permissions.push([permission, name.last]) if permission === name.first.to_i
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
return permissions
|
33
|
-
end
|
34
|
-
|
35
|
-
# This function return an array that tells how some users can't see
|
36
|
-
# other users with a specific permission value.
|
37
|
-
def core_getHideUsersSettings
|
38
|
-
return CORE_SUPERUSERSHIDESETTINGS if defined? CORE_SUPERUSERSHIDESETTINGS
|
39
|
-
# accedo al config.yml
|
40
|
-
directory = core_getCacheDirectory
|
41
|
-
config = YAML.load(
|
42
|
-
File.read(File.expand_path("#{directory}/config.yml", __FILE__))
|
43
|
-
)
|
44
|
-
# controllo che il file di configurazione esista e abbia i dati necessari
|
45
|
-
return false if !config['hide_users'] || config['hide_users'].nil?
|
46
|
-
# estraggo lista impostazioni utenti da nascondere
|
47
|
-
settings = config['hide_users'].split(',')
|
48
|
-
# definisco output
|
49
|
-
output = []
|
50
|
-
# riempio file di output
|
51
|
-
settings.each do |setting|
|
52
|
-
setting.slice! ' '
|
53
|
-
if setting
|
54
|
-
values = setting.split('to')
|
55
|
-
raise 'Permission value not correct on hide_users config' unless (1..11).to_a.include? values.first.to_i
|
56
|
-
raise 'Permission value not correct on hide_users config' unless (1..11).to_a.include? values.last.to_i
|
57
|
-
output.push([values.first, values.last])
|
58
|
-
end
|
59
|
-
end
|
60
|
-
# ritorno l'output
|
61
|
-
return output
|
62
|
-
end
|
63
|
-
|
64
|
-
# This function return an array of permissions value that must be hidden
|
65
|
-
# from the user interface.
|
66
|
-
def core_getHideUsersPermissionsSettings
|
67
|
-
return CORE_SUPERUSERSPERMISSIONSHIDESETTINGS if defined? CORE_SUPERUSERSPERMISSIONSHIDESETTINGS
|
68
|
-
# accedo al config.yml
|
69
|
-
directory = core_getCacheDirectory
|
70
|
-
config = YAML.load(
|
71
|
-
File.read(File.expand_path("#{directory}/config.yml", __FILE__))
|
72
|
-
)
|
73
|
-
# controllo che il file di configurazione esista e abbia i dati necessari
|
74
|
-
return false if !config['hide_users_permissions'] || config['hide_users_permissions'].nil?
|
75
|
-
# estraggo lista impostazioni utenti da nascondere
|
76
|
-
settings = config['hide_users_permissions'].to_s.split(',')
|
77
|
-
# definisco output
|
78
|
-
output = []
|
79
|
-
# riempio file di output
|
80
|
-
settings.each do |setting|
|
81
|
-
setting.slice! ' '
|
82
|
-
if setting
|
83
|
-
raise 'Permission value not correct on hide_users_permissions config' unless (1..11).to_a.include? setting.to_i
|
84
|
-
output.push(setting.to_i)
|
85
|
-
end
|
86
|
-
end
|
87
|
-
# ritorno l'output
|
88
|
-
return output
|
89
|
-
end
|
90
|
-
|
91
|
-
# This function return an array with correct name fr every permission
|
92
|
-
# if name is set on config file.
|
93
|
-
def core_getUsersPermissionsNamesSettings
|
94
|
-
return CORE_SUPERUSERSPERMISSIONSNAMESSETTINGS if defined? CORE_SUPERUSERSPERMISSIONSNAMESSETTINGS
|
95
|
-
# accedo al config.yml
|
96
|
-
directory = core_getCacheDirectory
|
97
|
-
config = YAML.load(
|
98
|
-
File.read(File.expand_path("#{directory}/config.yml", __FILE__))
|
99
|
-
)
|
100
|
-
# controllo che il file di configurazione esista e abbia i dati necessari
|
101
|
-
return false if !config['rename_users_permissions'] || config['rename_users_permissions'].nil?
|
102
|
-
# estraggo lista impostazioni utenti da nascondere
|
103
|
-
settings = config['rename_users_permissions'].split(',')
|
104
|
-
# definisco output
|
105
|
-
output = []
|
106
|
-
# riempio file di output
|
107
|
-
settings.each do |setting|
|
108
|
-
setting.slice! ' '
|
109
|
-
if setting
|
110
|
-
values = setting.split('-')
|
111
|
-
raise 'Permission value not correct on rename_users_permissions config' unless (1..11).to_a.include? values.first.to_i
|
112
|
-
output.push([values.first, values.last])
|
113
|
-
end
|
114
|
-
end
|
115
|
-
# ritorno l'output
|
116
|
-
return output
|
117
|
-
end
|
118
|
-
|
119
|
-
# This function tells if is possible for user to recover his password.
|
120
|
-
def core_getRecoveryPasswordPermission
|
121
|
-
return CORE_RECOVERYPASSWORDPERMISSION if defined? CORE_RECOVERYPASSWORDPERMISSION
|
122
|
-
# accedo al config.yml
|
123
|
-
directory = core_getCacheDirectory
|
124
|
-
config = YAML.load(
|
125
|
-
File.read(File.expand_path("#{directory}/config.yml", __FILE__))
|
126
|
-
)
|
127
|
-
# controllo che il file di configurazione esista e abbia i dati necessari
|
128
|
-
return false if !config['recovery_password'] || config['recovery_password'].nil?
|
129
|
-
# ritorno valore letto
|
130
|
-
return config['recovery_password']
|
131
|
-
end
|
132
|
-
|
133
|
-
end
|
134
|
-
end
|