lato_core 1.1.5 → 2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +29 -0
  4. data/Rakefile +1 -22
  5. data/app/assets/config/lato_core_manifest.js +2 -0
  6. data/app/assets/fonts/lato_core/fontawesome-webfont.eot +0 -0
  7. data/app/assets/fonts/lato_core/fontawesome-webfont.svg +2671 -0
  8. data/app/assets/fonts/lato_core/fontawesome-webfont.ttf +0 -0
  9. data/app/assets/fonts/lato_core/fontawesome-webfont.woff +0 -0
  10. data/app/assets/fonts/lato_core/fontawesome-webfont.woff2 +0 -0
  11. data/app/assets/fonts/lato_core/lato-bold-webfont.eot +0 -0
  12. data/app/assets/fonts/lato_core/lato-bold-webfont.svg +4551 -0
  13. data/app/assets/fonts/lato_core/lato-bold-webfont.ttf +0 -0
  14. data/app/assets/fonts/lato_core/lato-bold-webfont.woff +0 -0
  15. data/app/assets/fonts/lato_core/lato-bold-webfont.woff2 +0 -0
  16. data/app/assets/fonts/lato_core/lato-regular-webfont.eot +0 -0
  17. data/app/assets/fonts/lato_core/lato-regular-webfont.svg +4241 -0
  18. data/app/assets/fonts/lato_core/lato-regular-webfont.ttf +0 -0
  19. data/app/assets/fonts/lato_core/lato-regular-webfont.woff +0 -0
  20. data/app/assets/fonts/lato_core/lato-regular-webfont.woff2 +0 -0
  21. data/app/assets/images/lato_core/editor-icons.svg +1 -0
  22. data/app/assets/images/lato_core/logo-negative.svg +13 -0
  23. data/app/assets/images/lato_core/logo.svg +1 -0
  24. data/app/assets/images/lato_core/user.png +0 -0
  25. data/app/assets/javascripts/lato_core/application.js +28 -0
  26. data/app/assets/javascripts/lato_core/initializers/Charts.js +36 -0
  27. data/app/assets/javascripts/lato_core/initializers/Elements.js +67 -0
  28. data/app/assets/javascripts/lato_core/initializers/Inputs.js +201 -0
  29. data/app/assets/javascripts/lato_core/initializers/Layout.js +37 -0
  30. data/app/assets/javascripts/lato_core/initializers/SortableManager.js +66 -0
  31. data/app/assets/javascripts/lato_core/interfaces/Modal.js +28 -0
  32. data/app/assets/javascripts/lato_core/vendors/Sortable.min.js +2 -0
  33. data/app/assets/javascripts/lato_core/vendors/chart.bundle.js +17220 -0
  34. data/app/assets/javascripts/lato_core/vendors/dropzone.js +1767 -0
  35. data/app/assets/javascripts/lato_core/vendors/jquery.datetimepicker.full.js +3243 -0
  36. data/app/assets/javascripts/lato_core/vendors/jquery.floatThead.js +1106 -0
  37. data/app/assets/javascripts/lato_core/vendors/jquery.selectize.js +3829 -0
  38. data/app/assets/javascripts/lato_core/vendors/jquery.trumbowyg.js +1603 -0
  39. data/app/assets/stylesheets/lato_core/application.scss +23 -0
  40. data/app/assets/stylesheets/lato_core/base/_base.scss +35 -0
  41. data/app/assets/stylesheets/lato_core/base/_button.scss +23 -0
  42. data/app/assets/stylesheets/lato_core/base/_grid.scss +258 -0
  43. data/app/assets/stylesheets/lato_core/base/_helpers.scss +29 -0
  44. data/app/assets/stylesheets/lato_core/base/_mixin.scss +37 -0
  45. data/app/assets/stylesheets/lato_core/base/_normalize.scss +424 -0
  46. data/app/assets/stylesheets/lato_core/base/_table.scss +47 -0
  47. data/app/assets/stylesheets/lato_core/base/_typography.scss +23 -0
  48. data/app/assets/stylesheets/lato_core/cells/_cells.scss +4 -0
  49. data/app/assets/stylesheets/lato_core/cells/charts/_bar.scss +3 -0
  50. data/app/assets/stylesheets/lato_core/cells/charts/_charts.scss +2 -0
  51. data/app/assets/stylesheets/lato_core/cells/charts/_general.scss +7 -0
  52. data/app/assets/stylesheets/lato_core/cells/elements/_block.scss +12 -0
  53. data/app/assets/stylesheets/lato_core/cells/elements/_button.scss +132 -0
  54. data/app/assets/stylesheets/lato_core/cells/elements/_buttongroup.scss +25 -0
  55. data/app/assets/stylesheets/lato_core/cells/elements/_code.scss +8 -0
  56. data/app/assets/stylesheets/lato_core/cells/elements/_elements.scss +10 -0
  57. data/app/assets/stylesheets/lato_core/cells/elements/_flash.scss +74 -0
  58. data/app/assets/stylesheets/lato_core/cells/elements/_modal.scss +76 -0
  59. data/app/assets/stylesheets/lato_core/cells/elements/_pagination.scss +64 -0
  60. data/app/assets/stylesheets/lato_core/cells/elements/_row.scss +3 -0
  61. data/app/assets/stylesheets/lato_core/cells/elements/_table.scss +57 -0
  62. data/app/assets/stylesheets/lato_core/cells/elements/_title.scss +32 -0
  63. data/app/assets/stylesheets/lato_core/cells/inputs/_checkbox.scss +42 -0
  64. data/app/assets/stylesheets/lato_core/cells/inputs/_datetime.scss +23 -0
  65. data/app/assets/stylesheets/lato_core/cells/inputs/_dropzone.scss +12 -0
  66. data/app/assets/stylesheets/lato_core/cells/inputs/_editor.scss +3 -0
  67. data/app/assets/stylesheets/lato_core/cells/inputs/_email.scss +3 -0
  68. data/app/assets/stylesheets/lato_core/cells/inputs/_form.scss +3 -0
  69. data/app/assets/stylesheets/lato_core/cells/inputs/_general.scss +51 -0
  70. data/app/assets/stylesheets/lato_core/cells/inputs/_geolocalization.scss +12 -0
  71. data/app/assets/stylesheets/lato_core/cells/inputs/_inputs.scss +14 -0
  72. data/app/assets/stylesheets/lato_core/cells/inputs/_number.scss +3 -0
  73. data/app/assets/stylesheets/lato_core/cells/inputs/_password.scss +3 -0
  74. data/app/assets/stylesheets/lato_core/cells/inputs/_select.scss +47 -0
  75. data/app/assets/stylesheets/lato_core/cells/inputs/_sortableblock.scss +51 -0
  76. data/app/assets/stylesheets/lato_core/cells/inputs/_text.scss +3 -0
  77. data/app/assets/stylesheets/lato_core/cells/inputs/_textarea.scss +25 -0
  78. data/app/assets/stylesheets/lato_core/cells/widgets/_index.scss +74 -0
  79. data/app/assets/stylesheets/lato_core/cells/widgets/_widgets.scss +1 -0
  80. data/app/assets/stylesheets/lato_core/layouts/_admin.scss +352 -0
  81. data/app/assets/stylesheets/lato_core/layouts/_authentication.scss +10 -0
  82. data/app/assets/stylesheets/lato_core/layouts/_layouts.scss +2 -0
  83. data/app/assets/stylesheets/lato_core/pages/_dashboard.scss +35 -0
  84. data/app/assets/stylesheets/lato_core/pages/_login.scss +7 -0
  85. data/app/assets/stylesheets/lato_core/pages/_pages.scss +2 -0
  86. data/app/assets/stylesheets/lato_core/partials/_dynamic_data_to_js.scss +3 -0
  87. data/app/assets/stylesheets/lato_core/partials/_partials.scss +1 -0
  88. data/app/assets/stylesheets/lato_core/theme.scss.erb +127 -0
  89. data/app/assets/stylesheets/lato_core/vendors/_datetimepicker.css +568 -0
  90. data/app/assets/stylesheets/lato_core/vendors/_dropzone.css +388 -0
  91. data/app/assets/stylesheets/lato_core/vendors/_fontawesome.css +2341 -0
  92. data/app/assets/stylesheets/lato_core/vendors/_scrollbar.css +904 -0
  93. data/app/assets/stylesheets/lato_core/vendors/_selectize.css +324 -0
  94. data/app/assets/stylesheets/lato_core/vendors/_trumbowyg.css +584 -0
  95. data/app/assets/stylesheets/lato_core/vendors/_vendors.scss +6 -0
  96. data/app/assets/stylesheets/lato_core/widgets/_systeminfo.scss +21 -0
  97. data/app/assets/stylesheets/lato_core/widgets/_widgets.scss +1 -0
  98. data/app/cells/lato_core/charts/bar/vertical/cell.rb +57 -0
  99. data/app/cells/lato_core/charts/bar/vertical/views/show.html.erb +7 -0
  100. data/app/cells/lato_core/elements/block/cell.rb +39 -0
  101. data/app/cells/lato_core/elements/block/views/close.html.erb +1 -0
  102. data/app/cells/lato_core/elements/block/views/open.html.erb +4 -0
  103. data/app/cells/lato_core/elements/button/cell.rb +59 -0
  104. data/app/cells/lato_core/elements/button/views/button.html.erb +27 -0
  105. data/app/cells/lato_core/elements/button/views/link.html.erb +65 -0
  106. data/app/cells/lato_core/elements/buttongroup/cell.rb +33 -0
  107. data/app/cells/lato_core/elements/buttongroup/views/show.html.erb +7 -0
  108. data/app/cells/lato_core/elements/code/cell.rb +36 -0
  109. data/app/cells/lato_core/elements/code/views/close.html.erb +2 -0
  110. data/app/cells/lato_core/elements/code/views/open.html.erb +2 -0
  111. data/app/cells/lato_core/elements/flash/cell.rb +35 -0
  112. data/app/cells/lato_core/elements/flash/views/show.html.erb +11 -0
  113. data/app/cells/lato_core/elements/icon/cell.rb +31 -0
  114. data/app/cells/lato_core/elements/icon/views/show.html.erb +1 -0
  115. data/app/cells/lato_core/elements/modal/cell.rb +31 -0
  116. data/app/cells/lato_core/elements/modal/views/show.html.erb +21 -0
  117. data/app/cells/lato_core/elements/pagination/cell.rb +68 -0
  118. data/app/cells/lato_core/elements/pagination/views/show.html.erb +59 -0
  119. data/app/cells/lato_core/elements/row/cell.rb +37 -0
  120. data/app/cells/lato_core/elements/row/views/close.html.erb +1 -0
  121. data/app/cells/lato_core/elements/row/views/open.html.erb +3 -0
  122. data/app/cells/lato_core/elements/table/body/cell.rb +37 -0
  123. data/app/cells/lato_core/elements/table/body/views/close.html.erb +1 -0
  124. data/app/cells/lato_core/elements/table/body/views/open.html.erb +3 -0
  125. data/app/cells/lato_core/elements/table/container/cell.rb +41 -0
  126. data/app/cells/lato_core/elements/table/container/views/close.html.erb +2 -0
  127. data/app/cells/lato_core/elements/table/container/views/open.html.erb +7 -0
  128. data/app/cells/lato_core/elements/table/head/cell.rb +33 -0
  129. data/app/cells/lato_core/elements/table/head/views/show.html.erb +7 -0
  130. data/app/cells/lato_core/elements/table/row/cell.rb +49 -0
  131. data/app/cells/lato_core/elements/table/row/views/show.html.erb +35 -0
  132. data/app/cells/lato_core/elements/title/cell.rb +52 -0
  133. data/app/cells/lato_core/elements/title/views/show.html.erb +4 -0
  134. data/app/cells/lato_core/inputs/checkbox/cell.rb +38 -0
  135. data/app/cells/lato_core/inputs/checkbox/views/show.html.erb +20 -0
  136. data/app/cells/lato_core/inputs/datetime/cell.rb +53 -0
  137. data/app/cells/lato_core/inputs/datetime/views/show.html.erb +19 -0
  138. data/app/cells/lato_core/inputs/dropzone/cell.rb +37 -0
  139. data/app/cells/lato_core/inputs/dropzone/views/show.html.erb +24 -0
  140. data/app/cells/lato_core/inputs/editor/cell.rb +37 -0
  141. data/app/cells/lato_core/inputs/editor/views/show.html.erb +12 -0
  142. data/app/cells/lato_core/inputs/email/cell.rb +40 -0
  143. data/app/cells/lato_core/inputs/email/views/show.html.erb +19 -0
  144. data/app/cells/lato_core/inputs/form/cell.rb +39 -0
  145. data/app/cells/lato_core/inputs/form/views/close.html.erb +1 -0
  146. data/app/cells/lato_core/inputs/form/views/open.html.erb +12 -0
  147. data/app/cells/lato_core/inputs/geolocalization/cell.rb +51 -0
  148. data/app/cells/lato_core/inputs/geolocalization/views/show.html.erb +26 -0
  149. data/app/cells/lato_core/inputs/number/cell.rb +44 -0
  150. data/app/cells/lato_core/inputs/number/views/show.html.erb +25 -0
  151. data/app/cells/lato_core/inputs/password/cell.rb +42 -0
  152. data/app/cells/lato_core/inputs/password/views/show.html.erb +21 -0
  153. data/app/cells/lato_core/inputs/select/cell.rb +56 -0
  154. data/app/cells/lato_core/inputs/select/views/show.html.erb +25 -0
  155. data/app/cells/lato_core/inputs/shared/help.html.erb +7 -0
  156. data/app/cells/lato_core/inputs/shared/label.html.erb +11 -0
  157. data/app/cells/lato_core/inputs/sortableblock/cell.rb +39 -0
  158. data/app/cells/lato_core/inputs/sortableblock/views/show.html.erb +40 -0
  159. data/app/cells/lato_core/inputs/text/cell.rb +42 -0
  160. data/app/cells/lato_core/inputs/text/views/show.html.erb +21 -0
  161. data/app/cells/lato_core/inputs/textarea/cell.rb +41 -0
  162. data/app/cells/lato_core/inputs/textarea/views/show.html.erb +16 -0
  163. data/app/cells/lato_core/widgets/index/cell.rb +215 -0
  164. data/app/cells/lato_core/widgets/index/views/partials/new.html.erb +3 -0
  165. data/app/cells/lato_core/widgets/index/views/partials/pagination.html.erb +3 -0
  166. data/app/cells/lato_core/widgets/index/views/partials/search.html.erb +17 -0
  167. data/app/cells/lato_core/widgets/index/views/show.html.erb +45 -0
  168. data/app/controllers/lato_core/api/api_controller.rb +5 -0
  169. data/app/controllers/lato_core/application_controller.rb +9 -1
  170. data/app/controllers/lato_core/back/authentication_controller.rb +33 -99
  171. data/app/controllers/lato_core/back/back_controller.rb +5 -14
  172. data/app/controllers/lato_core/back/dashboard_controller.rb +13 -0
  173. data/app/controllers/lato_core/back/superusers_controller.rb +97 -113
  174. data/app/controllers/lato_core/doc/cells_charts_controller.rb +7 -0
  175. data/app/controllers/lato_core/doc/cells_elements_controller.rb +31 -0
  176. data/app/controllers/lato_core/doc/cells_inputs_controller.rb +33 -0
  177. data/app/controllers/lato_core/doc/cells_widgets_controller.rb +10 -0
  178. data/app/controllers/lato_core/doc/doc_controller.rb +17 -0
  179. data/app/controllers/lato_core/doc/general_controller.rb +13 -0
  180. data/app/helpers/lato_core/application_helper.rb +4 -0
  181. data/app/jobs/lato_core/application_job.rb +4 -0
  182. data/app/mailers/lato_core/application_mailer.rb +2 -5
  183. data/app/models/lato_core/application_record.rb +5 -0
  184. data/app/models/lato_core/superuser.rb +11 -16
  185. data/app/models/lato_core/superuser/entity_helpers.rb +29 -0
  186. data/app/views/lato_core/back/authentication/index.html.erb +25 -0
  187. data/app/views/lato_core/back/dashboard/index.html.erb +29 -0
  188. data/app/views/lato_core/back/superusers/edit.html.erb +10 -15
  189. data/app/views/lato_core/back/superusers/index.html.erb +16 -27
  190. data/app/views/lato_core/back/superusers/new.html.erb +8 -13
  191. data/app/views/lato_core/back/superusers/shared/_form.html.erb +47 -55
  192. data/app/views/lato_core/back/superusers/show.html.erb +65 -1
  193. data/app/views/lato_core/doc/cells_charts/bar_vertical.erb +64 -0
  194. data/app/views/lato_core/doc/cells_elements/block.html.erb +172 -0
  195. data/app/views/lato_core/doc/cells_elements/button.html.erb +375 -0
  196. data/app/views/lato_core/doc/cells_elements/buttongroup.html.erb +101 -0
  197. data/app/views/lato_core/doc/cells_elements/flash_messages.html.erb +123 -0
  198. data/app/views/lato_core/doc/cells_elements/icon.html.erb +58 -0
  199. data/app/views/lato_core/doc/cells_elements/modal.html.erb +89 -0
  200. data/app/views/lato_core/doc/cells_elements/pagination.html.erb +149 -0
  201. data/app/views/lato_core/doc/cells_elements/row.html.erb +62 -0
  202. data/app/views/lato_core/doc/cells_elements/table.html.erb +272 -0
  203. data/app/views/lato_core/doc/cells_elements/table_body.html.erb +118 -0
  204. data/app/views/lato_core/doc/cells_elements/table_head.html.erb +110 -0
  205. data/app/views/lato_core/doc/cells_elements/table_row.html.erb +212 -0
  206. data/app/views/lato_core/doc/cells_elements/title.html.erb +70 -0
  207. data/app/views/lato_core/doc/cells_inputs/checkbox.html.erb +101 -0
  208. data/app/views/lato_core/doc/cells_inputs/datetime.html.erb +178 -0
  209. data/app/views/lato_core/doc/cells_inputs/dropzone.html.erb +114 -0
  210. data/app/views/lato_core/doc/cells_inputs/editor.html.erb +59 -0
  211. data/app/views/lato_core/doc/cells_inputs/email.html.erb +79 -0
  212. data/app/views/lato_core/doc/cells_inputs/form.html.erb +242 -0
  213. data/app/views/lato_core/doc/cells_inputs/geolocalization.html.erb +157 -0
  214. data/app/views/lato_core/doc/cells_inputs/number.html.erb +100 -0
  215. data/app/views/lato_core/doc/cells_inputs/password.html.erb +79 -0
  216. data/app/views/lato_core/doc/cells_inputs/select.html.erb +124 -0
  217. data/app/views/lato_core/doc/cells_inputs/sortableblock.html.erb +72 -0
  218. data/app/views/lato_core/doc/cells_inputs/text.html.erb +204 -0
  219. data/app/views/lato_core/doc/cells_inputs/textarea.html.erb +104 -0
  220. data/app/views/lato_core/doc/cells_widgets/index.html.erb +163 -0
  221. data/app/views/lato_core/doc/doc/index.html.erb +95 -0
  222. data/app/views/lato_core/doc/general/generators.html.erb +60 -0
  223. data/app/views/lato_core/doc/general/installation.html.erb +49 -0
  224. data/app/views/lato_core/doc/general/languages.html.erb +67 -0
  225. data/app/views/lato_core/doc/general/personalization.html.erb +177 -0
  226. data/app/views/lato_core/doc/shared/_modal_content.html.erb +4 -0
  227. data/app/views/lato_core/doc/shared/_sortableblock_partial.html.erb +1 -0
  228. data/app/views/lato_core/partials/_dynamic_data_to_js.html.erb +3 -0
  229. data/app/views/lato_core/partials/_gmaps.html.erb +5 -0
  230. data/app/views/lato_core/widgets/_systeminfo.html.erb +15 -0
  231. data/app/views/layouts/lato_core/admin.html.erb +44 -0
  232. data/app/views/layouts/lato_core/authentication.html.erb +22 -0
  233. data/app/views/layouts/lato_core/partials/_back.html.erb +5 -0
  234. data/app/views/layouts/lato_core/partials/_load_javascript.html.erb +4 -0
  235. data/app/views/layouts/lato_core/partials/_load_partials.html.erb +5 -0
  236. data/app/views/layouts/lato_core/partials/_load_stylesheet.html.erb +4 -0
  237. data/app/views/layouts/lato_core/partials/_logo.html.erb +9 -0
  238. data/app/views/layouts/lato_core/partials/_menu.html.erb +67 -0
  239. data/app/views/layouts/lato_core/partials/_profile.html.erb +19 -0
  240. data/app/views/layouts/lato_core/partials/_title.html.erb +3 -0
  241. data/app/views/layouts/lato_core/partials/_widgets.html.erb +13 -0
  242. data/config/configs.yml +102 -0
  243. data/config/initializers/assets.rb +9 -0
  244. data/config/initializers/init_system.rb +39 -0
  245. data/config/languages/default.yml +63 -0
  246. data/config/languages/it.yml +63 -0
  247. data/config/routes.rb +10 -13
  248. data/config/routes/api.rb +3 -0
  249. data/config/routes/back.rb +10 -0
  250. data/config/routes/doc.rb +48 -0
  251. data/db/migrate/20160224181217_create_lato_core_superusers.rb +8 -2
  252. data/lib/generators/lato_core/crud_generator.rb +26 -0
  253. data/lib/generators/lato_core/initializer_generator.rb +46 -0
  254. data/lib/generators/lato_core/templates/assets/images/logo.svg +13 -0
  255. data/{config/initializers/lists.rb → lib/generators/lato_core/templates/assets/javascripts/application.js} +0 -0
  256. data/lib/generators/lato_core/templates/assets/stylesheets/application.scss +2 -0
  257. data/lib/generators/lato_core/templates/assets/stylesheets/theme.scss.erb +13 -0
  258. data/lib/generators/lato_core/templates/controllers/application_controller.rb +13 -0
  259. data/lib/generators/lato_core/templates/controllers/crud_controller.rb +87 -0
  260. data/lib/generators/lato_core/templates/views/application/index.html.erb +16 -0
  261. data/lib/generators/lato_core/templates/views/crud/edit.html.erb +18 -0
  262. data/lib/generators/lato_core/templates/views/crud/index.html.erb +29 -0
  263. data/lib/generators/lato_core/templates/views/crud/new.html.erb +18 -0
  264. data/lib/generators/lato_core/templates/views/crud/shared/_form.html.erb +25 -0
  265. data/lib/generators/lato_core/templates/views/crud/show.html.erb +16 -0
  266. data/lib/lato_core.rb +6 -5
  267. data/lib/lato_core/cell.rb +28 -0
  268. data/lib/lato_core/engine.rb +16 -13
  269. data/lib/lato_core/helper.rb +11 -0
  270. data/lib/lato_core/helpers/cells.rb +20 -0
  271. data/lib/lato_core/helpers/general.rb +16 -0
  272. data/lib/lato_core/interface.rb +17 -14
  273. data/lib/lato_core/interfaces/apihelpers.rb +39 -0
  274. data/lib/lato_core/interfaces/application.rb +65 -0
  275. data/lib/lato_core/interfaces/authentication.rb +41 -0
  276. data/lib/lato_core/interfaces/cells.rb +41 -0
  277. data/lib/lato_core/interfaces/general.rb +39 -0
  278. data/lib/lato_core/interfaces/layout.rb +213 -0
  279. data/lib/lato_core/interfaces/modules.rb +110 -0
  280. data/lib/lato_core/interfaces/token.rb +25 -0
  281. data/lib/lato_core/version.rb +3 -0
  282. data/lib/tasks/lato_core_tasks.rake +4 -8
  283. data/lib/tasks/lato_tasks.rake +83 -0
  284. metadata +407 -33
  285. data/app/controllers/lato_core/api/v1/api_controller.rb +0 -8
  286. data/app/mailers/lato_core/superusers_mailer.rb +0 -27
  287. data/app/views/lato_core/back/authentication/login.html.erb +0 -45
  288. data/app/views/lato_core/back/authentication/password_edit.html.erb +0 -45
  289. data/app/views/lato_core/back/authentication/password_forget.html.erb +0 -36
  290. data/app/views/lato_core/back/back/home.html.erb +0 -20
  291. data/app/views/lato_core/mailers/layouts/mailer.html.erb +0 -9
  292. data/app/views/lato_core/mailers/layouts/mailer.text.erb +0 -1
  293. data/app/views/lato_core/mailers/superusers/notify.html.erb +0 -2
  294. data/app/views/lato_core/mailers/superusers/recover_password.html.erb +0 -4
  295. data/config/config.yml +0 -8
  296. data/config/example.yml +0 -66
  297. data/config/initializers/init.rb +0 -15
  298. data/config/initializers/ram.rb +0 -14
  299. data/lang/default.yml +0 -61
  300. data/lang/en.yml +0 -61
  301. data/lib/lato_core/interface/authentication.rb +0 -26
  302. data/lib/lato_core/interface/cache.rb +0 -23
  303. data/lib/lato_core/interface/communication.rb +0 -87
  304. data/lib/lato_core/interface/languages.rb +0 -51
  305. data/lib/lato_core/interface/navigation.rb +0 -95
  306. data/lib/lato_core/interface/session.rb +0 -57
  307. 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