optimacms 0.1.55 → 0.1.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/optimacms/admin.js +4 -4
  3. data/app/assets/stylesheets/optimacms/admin.css.scss +6 -6
  4. data/app/assets/stylesheets/optimacms/admin_tpl.css.scss +15 -15
  5. data/app/assets/stylesheets/optimacms/bootstrap_and_overrides.css.scss +52 -52
  6. data/app/assets/stylesheets/optimacms/bootstrap_custom.css.scss +49 -49
  7. data/app/assets/stylesheets/optimacms/bootstrap_variables.css.scss +860 -860
  8. data/app/assets/stylesheets/optimacms/colors.css.scss +68 -68
  9. data/app/assets/stylesheets/optimacms/skins/noskin.css.scss +95 -95
  10. data/app/assets/stylesheets/optimacms/tinymce.css.scss +54 -54
  11. data/app/assets/stylesheets/optimacms/tpl.css.scss +309 -309
  12. data/app/controllers/optimacms/admin/admin_base_controller.rb +44 -44
  13. data/app/controllers/optimacms/admin/dashboard_controller.rb +6 -6
  14. data/app/controllers/optimacms/admin/layouts_controller.rb +76 -76
  15. data/app/controllers/optimacms/admin/pages_controller.rb +229 -229
  16. data/app/controllers/optimacms/admin/templates_controller.rb +315 -315
  17. data/app/controllers/optimacms/dev_controller.rb +40 -40
  18. data/app/controllers/optimacms/elfinder_controller.rb +39 -39
  19. data/app/controllers/optimacms/page_base_controller.rb +6 -6
  20. data/app/controllers/optimacms/pages_controller.rb +170 -170
  21. data/app/controllers/optimacms/tinymce_assets_controller.rb +20 -20
  22. data/app/helpers/optimacms/application_helper.rb +111 -106
  23. data/app/helpers/optimacms/forms_helper.rb +75 -75
  24. data/app/inputs/textarea_tinymce_input.rb +27 -27
  25. data/app/models/concerns/optimacms/meta_content.rb +63 -63
  26. data/app/models/optimacms/language.rb +14 -14
  27. data/app/models/optimacms/layout.rb +53 -53
  28. data/app/models/optimacms/mediafile.rb +17 -17
  29. data/app/models/optimacms/page.rb +171 -171
  30. data/app/models/optimacms/page_translation.rb +10 -10
  31. data/app/models/optimacms/template.rb +390 -390
  32. data/app/models/optimacms/template_type.rb +20 -20
  33. data/app/views/optimacms/admin/common/_js_tinymce.html.haml +49 -49
  34. data/app/views/optimacms/admin/common/_modal_div.html.haml +16 -16
  35. data/app/views/optimacms/admin/dashboard/index.html.haml +18 -18
  36. data/app/views/optimacms/admin/layouts/_form.html.haml +22 -22
  37. data/app/views/optimacms/admin/layouts/edit.html.haml +5 -5
  38. data/app/views/optimacms/admin/layouts/index.html.haml +25 -25
  39. data/app/views/optimacms/admin/layouts/main.html.haml +6 -6
  40. data/app/views/optimacms/admin/layouts/new.html.haml +5 -5
  41. data/app/views/optimacms/admin/pages/_form.html.haml +78 -78
  42. data/app/views/optimacms/admin/pages/_form_folder.html.haml +14 -14
  43. data/app/views/optimacms/admin/pages/_form_old.html.haml +107 -107
  44. data/app/views/optimacms/admin/pages/_meta.html.haml +48 -48
  45. data/app/views/optimacms/admin/pages/edit.html.haml +5 -5
  46. data/app/views/optimacms/admin/pages/editfolder.html.haml +15 -15
  47. data/app/views/optimacms/admin/pages/index.html.haml +58 -58
  48. data/app/views/optimacms/admin/pages/new.html.haml +5 -5
  49. data/app/views/optimacms/admin/pages/newfolder.html.haml +15 -15
  50. data/app/views/optimacms/admin/shared/_breadcrumbs.html.haml +7 -7
  51. data/app/views/optimacms/admin/shared/_flash.html.haml +23 -23
  52. data/app/views/optimacms/admin/shared/_footer.html.haml +5 -5
  53. data/app/views/optimacms/admin/shared/_form_errors.html.haml +11 -11
  54. data/app/views/optimacms/admin/shared/_leftmenu.html.haml +49 -49
  55. data/app/views/optimacms/admin/shared/_top.html.haml +33 -33
  56. data/app/views/optimacms/admin/templates/_form.html.haml +61 -61
  57. data/app/views/optimacms/admin/templates/_js_form_modal.html.haml +43 -43
  58. data/app/views/optimacms/admin/templates/create.js.haml +3 -3
  59. data/app/views/optimacms/admin/templates/edit.html.haml +5 -5
  60. data/app/views/optimacms/admin/templates/editfolder.html.haml +31 -31
  61. data/app/views/optimacms/admin/templates/index.html.haml +48 -48
  62. data/app/views/optimacms/admin/templates/new.html.haml +37 -37
  63. data/app/views/optimacms/admin/templates/newattach.html.haml +32 -32
  64. data/app/views/optimacms/admin/templates/newfolder.html.haml +28 -28
  65. data/app/views/optimacms/elfinder/index.html.erb +54 -54
  66. data/config/initializers/assets.rb +2 -2
  67. data/config/initializers/kaminari.rb +10 -10
  68. data/config/initializers/paperclip.rb +11 -11
  69. data/config/initializers/paperclip_media_type_spoof_detector_override.rb +7 -7
  70. data/config/initializers/simple_form.rb +166 -166
  71. data/config/initializers/simple_form_bootstrap.rb +146 -146
  72. data/config/locales/simple_form.en.yml +3 -3
  73. data/config/locales/simple_form.ru.yml +3 -3
  74. data/config/tinymce.yml +6 -6
  75. data/lib/optimacms/fileutils/fileutils.rb +39 -39
  76. data/lib/optimacms/filters/form_filter.rb +226 -226
  77. data/lib/optimacms/mycontroller.rb +84 -82
  78. data/lib/optimacms/page_services/page_data.rb +97 -97
  79. data/lib/optimacms/page_services/page_process_service.rb +32 -32
  80. data/lib/optimacms/page_services/page_route_service.rb +175 -156
  81. data/lib/optimacms/simple_form_extensions/button_components.rb +33 -33
  82. data/lib/optimacms/version.rb +3 -3
  83. data/spec/dummy/app/assets/stylesheets/application.css.scss +11 -11
  84. data/spec/dummy/app/assets/stylesheets/bootstrap_and_overrides.css.scss +3 -3
  85. data/spec/dummy/app/assets/stylesheets/bootstrap_custom.css.scss +49 -49
  86. data/spec/dummy/app/assets/stylesheets/tpl.css.scss +62 -62
  87. data/spec/dummy/app/controllers/home_controller.rb +6 -6
  88. data/spec/dummy/app/controllers/my_controller.rb +6 -6
  89. data/spec/dummy/app/controllers/news_controller.rb +46 -46
  90. data/spec/dummy/app/models/news.rb +7 -7
  91. data/spec/dummy/app/views/home/index.html.haml +18 -18
  92. data/spec/dummy/app/views/my/hello.html.haml +4 -4
  93. data/spec/dummy/app/views/news/index.html.haml +13 -13
  94. data/spec/dummy/app/views/news/show.html.haml +6 -6
  95. data/spec/dummy/app/views/pages/1.html.erb +16 -16
  96. data/spec/dummy/app/views/pages/about.html.erb +12 -12
  97. data/spec/dummy/app/views/pages/text1.html +1 -1
  98. data/spec/dummy/app/views/services/index.html.haml +9 -9
  99. data/spec/dummy/app/views/services/service.html.haml +2 -2
  100. data/spec/dummy/app/views/temp/_part2.html.haml +1 -0
  101. data/spec/dummy/app/views/temp/html1.html +1 -1
  102. data/spec/dummy/app/views/temp/p1.html.haml +6 -6
  103. data/spec/dummy/app/views/temp/t1.html.haml +13 -13
  104. data/spec/dummy/app/views/temp9/t2.html +8 -8
  105. data/spec/dummy/app/views/workers/_breadcrumb_worker.html.haml +11 -11
  106. data/spec/dummy/app/views/workers/_breadcrumb_workers.html.haml +9 -9
  107. data/spec/dummy/app/views/workers/_contacts_our.html.haml +3 -3
  108. data/spec/dummy/app/views/workers/_list_worker.html.haml +46 -46
  109. data/spec/dummy/app/views/workers/_list_workers.html.haml +6 -6
  110. data/spec/dummy/app/views/workers/_share_js.html.haml +22 -22
  111. data/spec/dummy/app/views/workers/_share_worker.html.haml +11 -11
  112. data/spec/dummy/app/views/workers/_show_info.html.haml +53 -53
  113. data/spec/dummy/app/views/workers/_tabs.html.haml +11 -11
  114. data/spec/dummy/app/views/workers/contacts.html.haml +19 -19
  115. data/spec/dummy/app/views/workers/index.html.haml +49 -49
  116. data/spec/dummy/app/views/workers/portfolio.html.haml +20 -20
  117. data/spec/dummy/app/views/workers/services.html.haml +11 -11
  118. data/spec/dummy/app/views/workers/show.html.haml +53 -53
  119. data/spec/dummy/app/views/workers/show_notfound.html.haml +8 -8
  120. data/spec/dummy/app/views/workers/t2.html.haml +1 -1
  121. data/spec/dummy/app/views/workers/work.html.haml +43 -43
  122. data/spec/dummy/config/tinymce.yml +5 -5
  123. data/spec/dummy/db/schema.rb +164 -164
  124. data/spec/dummy/log/development.log +20396 -0
  125. data/spec/dummy/log/test.log +203 -0
  126. data/spec/dummy/tmp/cache/assets/development/sass/0abc660c880b2e10d695d713e519e6a4257cd348/application.css.scssc +0 -0
  127. data/spec/dummy/tmp/cache/assets/development/sass/0abc660c880b2e10d695d713e519e6a4257cd348/bootstrap_and_overrides.css.scssc +0 -0
  128. data/spec/dummy/tmp/cache/assets/development/sass/0abc660c880b2e10d695d713e519e6a4257cd348/bootstrap_custom.css.scssc +0 -0
  129. data/spec/dummy/tmp/cache/assets/development/sass/0abc660c880b2e10d695d713e519e6a4257cd348/bootstrap_variables.css.scssc +0 -0
  130. data/spec/dummy/tmp/cache/assets/development/sass/0abc660c880b2e10d695d713e519e6a4257cd348/tpl.css.scssc +0 -0
  131. data/spec/dummy/tmp/cache/assets/development/sass/18577b7353d72dbc7e81d46af07240af8557f987/_hacks.scssc +0 -0
  132. data/spec/dummy/tmp/cache/assets/development/sass/255a203cf5ecbb5470dfd267d6d4b923c8f1e5f0/_css3.scssc +0 -0
  133. data/spec/dummy/tmp/cache/assets/development/sass/255a203cf5ecbb5470dfd267d6d4b923c8f1e5f0/_support.scssc +0 -0
  134. data/spec/dummy/tmp/cache/assets/development/sass/4b8b59c3cee3225b46cdcaa54f7d0474421be9c6/_bootstrap-sprockets.scssc +0 -0
  135. data/spec/dummy/tmp/cache/assets/development/sass/7f871ea7e3a8127767d5a5868622ef2909611f26/noskin.css.scssc +0 -0
  136. data/spec/dummy/tmp/cache/assets/development/sass/a1b4b92b7663fe8c3e3678ca845c8a0566c3ca13/admin.css.scssc +0 -0
  137. data/spec/dummy/tmp/cache/assets/development/sass/a1b4b92b7663fe8c3e3678ca845c8a0566c3ca13/admin_tpl.css.scssc +0 -0
  138. data/spec/dummy/tmp/cache/assets/development/sass/a1b4b92b7663fe8c3e3678ca845c8a0566c3ca13/bootstrap_and_overrides.css.scssc +0 -0
  139. data/spec/dummy/tmp/cache/assets/development/sass/a1b4b92b7663fe8c3e3678ca845c8a0566c3ca13/bootstrap_custom.css.scssc +0 -0
  140. data/spec/dummy/tmp/cache/assets/development/sass/a1b4b92b7663fe8c3e3678ca845c8a0566c3ca13/bootstrap_variables.css.scssc +0 -0
  141. data/spec/dummy/tmp/cache/assets/development/sass/a1b4b92b7663fe8c3e3678ca845c8a0566c3ca13/colors.css.scssc +0 -0
  142. data/spec/dummy/tmp/cache/assets/development/sass/a1b4b92b7663fe8c3e3678ca845c8a0566c3ca13/tinymce.css.scssc +0 -0
  143. data/spec/dummy/tmp/cache/assets/development/sass/a1b4b92b7663fe8c3e3678ca845c8a0566c3ca13/tpl.css.scssc +0 -0
  144. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_alerts.scssc +0 -0
  145. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_background-variant.scssc +0 -0
  146. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_border-radius.scssc +0 -0
  147. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_buttons.scssc +0 -0
  148. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_center-block.scssc +0 -0
  149. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_clearfix.scssc +0 -0
  150. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_forms.scssc +0 -0
  151. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_gradients.scssc +0 -0
  152. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_grid-framework.scssc +0 -0
  153. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_grid.scssc +0 -0
  154. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_hide-text.scssc +0 -0
  155. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_image.scssc +0 -0
  156. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_labels.scssc +0 -0
  157. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_list-group.scssc +0 -0
  158. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_nav-divider.scssc +0 -0
  159. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_nav-vertical-align.scssc +0 -0
  160. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_opacity.scssc +0 -0
  161. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_pagination.scssc +0 -0
  162. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_panels.scssc +0 -0
  163. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_progress-bar.scssc +0 -0
  164. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_reset-filter.scssc +0 -0
  165. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_resize.scssc +0 -0
  166. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_responsive-visibility.scssc +0 -0
  167. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_size.scssc +0 -0
  168. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_tab-focus.scssc +0 -0
  169. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_table-row.scssc +0 -0
  170. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_text-emphasis.scssc +0 -0
  171. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_text-overflow.scssc +0 -0
  172. data/spec/dummy/tmp/cache/assets/development/sass/bfa17faa2a4aa370d46a5900b72c48f05b4837d1/_vendor-prefixes.scssc +0 -0
  173. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_appearance.scssc +0 -0
  174. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_background-clip.scssc +0 -0
  175. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_background-origin.scssc +0 -0
  176. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_background-size.scssc +0 -0
  177. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_border-radius.scssc +0 -0
  178. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_box-shadow.scssc +0 -0
  179. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_box-sizing.scssc +0 -0
  180. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_box.scssc +0 -0
  181. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_columns.scssc +0 -0
  182. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_filter.scssc +0 -0
  183. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_font-face.scssc +0 -0
  184. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_hyphenation.scssc +0 -0
  185. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_images.scssc +0 -0
  186. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_inline-block.scssc +0 -0
  187. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_opacity.scssc +0 -0
  188. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_regions.scssc +0 -0
  189. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_shared.scssc +0 -0
  190. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_text-shadow.scssc +0 -0
  191. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_transform.scssc +0 -0
  192. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_transition.scssc +0 -0
  193. data/spec/dummy/tmp/cache/assets/development/sass/e04ca948242d213270bfe676c8b96e7b33226468/_user-interface.scssc +0 -0
  194. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_alerts.scssc +0 -0
  195. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_badges.scssc +0 -0
  196. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_breadcrumbs.scssc +0 -0
  197. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_button-groups.scssc +0 -0
  198. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_buttons.scssc +0 -0
  199. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_carousel.scssc +0 -0
  200. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_close.scssc +0 -0
  201. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_code.scssc +0 -0
  202. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_component-animations.scssc +0 -0
  203. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_dropdowns.scssc +0 -0
  204. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_forms.scssc +0 -0
  205. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_glyphicons.scssc +0 -0
  206. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_grid.scssc +0 -0
  207. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_input-groups.scssc +0 -0
  208. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_jumbotron.scssc +0 -0
  209. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_labels.scssc +0 -0
  210. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_list-group.scssc +0 -0
  211. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_media.scssc +0 -0
  212. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_mixins.scssc +0 -0
  213. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_modals.scssc +0 -0
  214. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_navbar.scssc +0 -0
  215. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_navs.scssc +0 -0
  216. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_normalize.scssc +0 -0
  217. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_pager.scssc +0 -0
  218. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_pagination.scssc +0 -0
  219. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_panels.scssc +0 -0
  220. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_popovers.scssc +0 -0
  221. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_print.scssc +0 -0
  222. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_progress-bars.scssc +0 -0
  223. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_responsive-embed.scssc +0 -0
  224. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_responsive-utilities.scssc +0 -0
  225. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_scaffolding.scssc +0 -0
  226. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_tables.scssc +0 -0
  227. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_thumbnails.scssc +0 -0
  228. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_tooltip.scssc +0 -0
  229. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_type.scssc +0 -0
  230. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_utilities.scssc +0 -0
  231. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_variables.scssc +0 -0
  232. data/spec/dummy/tmp/cache/assets/development/sass/e541a95436c6e387d69ff457c2fe7f7bd11c2069/_wells.scssc +0 -0
  233. data/spec/dummy/tmp/cache/assets/development/sass/fc41a79de5ec40d34c8a83221f3f3da2c64f4153/font-awesome.css.erbc +0 -0
  234. data/spec/dummy/tmp/cache/assets/development/sprockets/002bd8f28c62a795a10ce5716ceffc21 +0 -0
  235. data/spec/dummy/tmp/cache/assets/development/sprockets/053f826d1ea01a2fac355de0755e5c40 +0 -0
  236. data/spec/dummy/tmp/cache/assets/development/sprockets/05e27d4921b00a0fdddb47a737a64494 +0 -0
  237. data/spec/dummy/tmp/cache/assets/development/sprockets/0a470277dd21c166b9dfb68b03d34d5c +0 -0
  238. data/spec/dummy/tmp/cache/assets/development/sprockets/0b1671e1bffda60e6a95f72b9176d628 +0 -0
  239. data/spec/dummy/tmp/cache/assets/development/sprockets/0c01383de62960e3667c7bf3788ecdb6 +0 -0
  240. data/spec/dummy/tmp/cache/assets/development/sprockets/0d2f255829ff9f72d98dead4f35ddf02 +0 -0
  241. data/spec/dummy/tmp/cache/assets/development/sprockets/11f54468370774efca0fe1afb2ebf1d9 +0 -0
  242. data/spec/dummy/tmp/cache/assets/development/sprockets/1c0ef71c34dc1d573e1b4b527116e3cc +0 -0
  243. data/spec/dummy/tmp/cache/assets/development/sprockets/2168c08c151d642aa46ea4bc6283929c +0 -0
  244. data/spec/dummy/tmp/cache/assets/development/sprockets/2a9369c8d28de014045a120b692e8139 +0 -0
  245. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  246. data/spec/dummy/tmp/cache/assets/development/sprockets/2f7d38a264678a2db4a0d569a3313cb1 +0 -0
  247. data/spec/dummy/tmp/cache/assets/development/sprockets/3240ef40c1dc9d13156bbd790ec2651a +0 -0
  248. data/spec/dummy/tmp/cache/assets/development/sprockets/332dfe4887cbad3adbd20e6609fa4960 +0 -0
  249. data/spec/dummy/tmp/cache/assets/development/sprockets/3347cc312918facec5bbac684ea65715 +0 -0
  250. data/spec/dummy/tmp/cache/assets/development/sprockets/3cd4037d8c32ad8fcdd5e3bbb8dfc35a +0 -0
  251. data/spec/dummy/tmp/cache/assets/development/sprockets/4016d2fd0b776ceb82fcbfbc5d2e26b1 +0 -0
  252. data/spec/dummy/tmp/cache/assets/development/sprockets/43dc3e92cd09deb0fc54dd97b46935e9 +0 -0
  253. data/spec/dummy/tmp/cache/assets/development/sprockets/452d7e35d5a012ae12fa7346fcf2239b +0 -0
  254. data/spec/dummy/tmp/cache/assets/development/sprockets/49c7cb5dd916ffc9e87ce3b989c92062 +0 -0
  255. data/spec/dummy/tmp/cache/assets/development/sprockets/529a74a4530de52f6c3ebbf107ffe9f2 +0 -0
  256. data/spec/dummy/tmp/cache/assets/development/sprockets/55a2847335c39261e1efe764deb18592 +0 -0
  257. data/spec/dummy/tmp/cache/assets/development/sprockets/56c7eb172a7423728c45d0a751d198e3 +0 -0
  258. data/spec/dummy/tmp/cache/assets/development/sprockets/6789fe765d536063c998330523bb12b9 +0 -0
  259. data/spec/dummy/tmp/cache/assets/development/sprockets/678a2e392e656b8132f0420e4ec28ed6 +0 -0
  260. data/spec/dummy/tmp/cache/assets/development/sprockets/6843f0414f73089579ae0f9fddf7b38f +0 -0
  261. data/spec/dummy/tmp/cache/assets/development/sprockets/6c7c58744c14732af9bf574870fdf07e +0 -0
  262. data/spec/dummy/tmp/cache/assets/development/sprockets/6cdbd6f171a27a578bcb07dd5bfa83a2 +0 -0
  263. data/spec/dummy/tmp/cache/assets/development/sprockets/6e431ed1dfb5bbcbd33a5f9e069dd3ab +0 -0
  264. data/spec/dummy/tmp/cache/assets/development/sprockets/6f943f22c610e6417422e4a13e0bcc0d +0 -0
  265. data/spec/dummy/tmp/cache/assets/development/sprockets/73fbaa501dc0b072cf2c27fa7dfe0d91 +0 -0
  266. data/spec/dummy/tmp/cache/assets/development/sprockets/7c886717bced4d59ab89e012b52f40de +0 -0
  267. data/spec/dummy/tmp/cache/assets/development/sprockets/821470da3272c8b99070972d4f4f58ca +0 -0
  268. data/spec/dummy/tmp/cache/assets/development/sprockets/88d843fcb07453d1057fac1e254fde0d +0 -0
  269. data/spec/dummy/tmp/cache/assets/development/sprockets/8956737a82f17db48d50e13f133aeefc +0 -0
  270. data/spec/dummy/tmp/cache/assets/development/sprockets/8ab512c9b33ac90e699b73469d71f061 +0 -0
  271. data/spec/dummy/tmp/cache/assets/development/sprockets/8b5a7992567ebbeb9a882d074778f8c8 +0 -0
  272. data/spec/dummy/tmp/cache/assets/development/sprockets/8d71fe4f0e2910900097bdc07bf2d6af +0 -0
  273. data/spec/dummy/tmp/cache/assets/development/sprockets/8e1785ddbfab42cd2df0416eb3932253 +0 -0
  274. data/spec/dummy/tmp/cache/assets/development/sprockets/9024d024c62c2668836b1e1b7b3b78cc +0 -0
  275. data/spec/dummy/tmp/cache/assets/development/sprockets/928ed298f875a25727ca516f5c03f344 +0 -0
  276. data/spec/dummy/tmp/cache/assets/development/sprockets/97c1e12a09973e0fb97f23a1dc496443 +0 -0
  277. data/spec/dummy/tmp/cache/assets/development/sprockets/991576185140a77411185839fd0533f1 +0 -0
  278. data/spec/dummy/tmp/cache/assets/development/sprockets/99e8d6370ba85ec4a61d953f5ed261af +0 -0
  279. data/spec/dummy/tmp/cache/assets/development/sprockets/9ee80730ab26986d507820ac7a288d5c +0 -0
  280. data/spec/dummy/tmp/cache/assets/development/sprockets/a3faca31eb11ba1a981535f9c8408282 +0 -0
  281. data/spec/dummy/tmp/cache/assets/development/sprockets/a5c68a2aec806face32c749f380f1e14 +0 -0
  282. data/spec/dummy/tmp/cache/assets/development/sprockets/a64dbcf0e4afe0985b1abd3e209d17cd +0 -0
  283. data/spec/dummy/tmp/cache/assets/development/sprockets/a6d357fbe03dae6f590180f6c5e0e148 +0 -0
  284. data/spec/dummy/tmp/cache/assets/development/sprockets/aa58fb159780a7200a1bc4c6844cc5c4 +0 -0
  285. data/spec/dummy/tmp/cache/assets/development/sprockets/aaba73a43e02d8c6550bae851f17e7a0 +0 -0
  286. data/spec/dummy/tmp/cache/assets/development/sprockets/af26c017afcf68f1edd44a4c9bb942e4 +0 -0
  287. data/spec/dummy/tmp/cache/assets/development/sprockets/b3defd466aec80b128284b8d85324630 +0 -0
  288. data/spec/dummy/tmp/cache/assets/development/sprockets/b48ed8a3de3ca66055ee4fd18b16421f +0 -0
  289. data/spec/dummy/tmp/cache/assets/development/sprockets/ba9859d0d2b7d4d7d5b03ff3a71ed478 +0 -0
  290. data/spec/dummy/tmp/cache/assets/development/sprockets/bcca522c6302f184f12fe0e8a7d7e71a +0 -0
  291. data/spec/dummy/tmp/cache/assets/development/sprockets/be8a0cd6c3605b9d7c22642609316a9f +0 -0
  292. data/spec/dummy/tmp/cache/assets/development/sprockets/c11c6d97cfc7ef7945fa87f14b44445c +0 -0
  293. data/spec/dummy/tmp/cache/assets/development/sprockets/c13fc73ceafa45876a901b3e775b83ae +0 -0
  294. data/spec/dummy/tmp/cache/assets/development/sprockets/c5f3450b5366b6fbdc4172ce089fba48 +0 -0
  295. data/spec/dummy/tmp/cache/assets/development/sprockets/c982bb1e71844744a60dc9b4afcb2f49 +0 -0
  296. data/spec/dummy/tmp/cache/assets/development/sprockets/cf24c3f1bb8adb1f168758f2bd9775c9 +0 -0
  297. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  298. data/spec/dummy/tmp/cache/assets/development/sprockets/d3e5a199890ba7c706fc62c2b891714d +0 -0
  299. data/spec/dummy/tmp/cache/assets/development/sprockets/d584baf83d8a779d945f9668f902fa7c +0 -0
  300. data/spec/dummy/tmp/cache/assets/development/sprockets/d71b820ce5f8b310e466f517bd3a8e4b +0 -0
  301. data/spec/dummy/tmp/cache/assets/development/sprockets/d8dab59d17daf5a5081153e2ad7d09b4 +0 -0
  302. data/spec/dummy/tmp/cache/assets/development/sprockets/dd4a8658311b7a2cd8effa6479827559 +0 -0
  303. data/spec/dummy/tmp/cache/assets/development/sprockets/e11970a225a09526aac3f76d7ee91822 +0 -0
  304. data/spec/dummy/tmp/cache/assets/development/sprockets/e3dd086dd858b5bff9cfd60a031c2091 +0 -0
  305. data/spec/dummy/tmp/cache/assets/development/sprockets/e43bcf201d76cdf6e1fe345195c1cd9e +0 -0
  306. data/spec/dummy/tmp/cache/assets/development/sprockets/e945ca604ee0240455a5652953b3e495 +0 -0
  307. data/spec/dummy/tmp/cache/assets/development/sprockets/ec33505f0e2ed4dd12951ecceffa3695 +0 -0
  308. data/spec/dummy/tmp/cache/assets/development/sprockets/ee287313e28f341f83628dec0a353fa6 +0 -0
  309. data/spec/dummy/tmp/cache/assets/development/sprockets/ee9a23832dc2a49ee6ec6d3f1d6a0e1f +0 -0
  310. data/spec/dummy/tmp/cache/assets/development/sprockets/ef2d6862f5fd690c5387cafd88944a9f +0 -0
  311. data/spec/dummy/tmp/cache/assets/development/sprockets/ef8c3824b85ed745cad651aadda4f2b8 +0 -0
  312. data/spec/dummy/tmp/cache/assets/development/sprockets/f557612d05bb9fea499dce8352b3f0ca +0 -0
  313. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  314. data/spec/dummy/tmp/cache/assets/development/sprockets/f7f3056583a2454471a4a5f7200dcefa +0 -0
  315. data/spec/dummy/tmp/cache/assets/development/sprockets/f9c51fa87975943d31bc1bfd7cb684c6 +0 -0
  316. data/spec/dummy/tmp/cache/assets/development/sprockets/ff9ed89418a3f78032b8f8184dd98e80 +0 -0
  317. data/spec/factories/page.rb +25 -25
  318. data/spec/models/page_spec.rb +92 -92
  319. data/spec/spec_helper.rb +89 -89
  320. data/spec/support/factory_girl.rb +15 -15
  321. metadata +1731 -1345
@@ -1,45 +1,45 @@
1
- module Optimacms
2
- module Admin
3
- class AdminBaseController < ApplicationController
4
- before_action :authenticate_cms_admin_user!
5
-
6
-
7
- layout 'optimacms/admin/layouts/main'
8
-
9
- add_flash_types :success
10
-
11
- helper ApplicationHelper
12
- helper FormsHelper
13
-
14
-
15
- #### modal
16
- def set_layout_modal_old
17
- if @modal==1
18
- self.class.layout false
19
- end
20
-
21
- end
22
-
23
-
24
- ### devise
25
-
26
- def after_sign_in_path_for(resource)
27
- if resource.is_a?(CmsAdminUser)
28
- dashboard_path
29
- else
30
- root_path
31
- end
32
-
33
- end
34
-
35
-
36
- ### redirects
37
- def redirect_to_res(res)
38
- v_res = res ? 1 : 0
39
- redirect_to res_common_path(res: v_res)
40
- end
41
-
42
- end
43
-
44
- end
1
+ module Optimacms
2
+ module Admin
3
+ class AdminBaseController < ApplicationController
4
+ before_action :authenticate_cms_admin_user!
5
+
6
+
7
+ layout 'optimacms/admin/layouts/main'
8
+
9
+ add_flash_types :success
10
+
11
+ helper ApplicationHelper
12
+ helper FormsHelper
13
+
14
+
15
+ #### modal
16
+ def set_layout_modal_old
17
+ if @modal==1
18
+ self.class.layout false
19
+ end
20
+
21
+ end
22
+
23
+
24
+ ### devise
25
+
26
+ def after_sign_in_path_for(resource)
27
+ if resource.is_a?(CmsAdminUser)
28
+ dashboard_path
29
+ else
30
+ root_path
31
+ end
32
+
33
+ end
34
+
35
+
36
+ ### redirects
37
+ def redirect_to_res(res)
38
+ v_res = res ? 1 : 0
39
+ redirect_to res_common_path(res: v_res)
40
+ end
41
+
42
+ end
43
+
44
+ end
45
45
  end
@@ -1,6 +1,6 @@
1
- class Optimacms::Admin::DashboardController < Optimacms::Admin::AdminBaseController
2
- def index
3
-
4
- end
5
- end
6
-
1
+ class Optimacms::Admin::DashboardController < Optimacms::Admin::AdminBaseController
2
+ def index
3
+
4
+ end
5
+ end
6
+
@@ -1,77 +1,77 @@
1
- module Optimacms
2
- class Admin::LayoutsController < Admin::AdminBaseController
3
-
4
- before_action :set_item, only: [:show, :edit, :update, :destroy]
5
-
6
- def index
7
- @items = model.all
8
-
9
- end
10
-
11
- def show
12
- end
13
-
14
- def new
15
- @article = model.new
16
- end
17
-
18
- def edit
19
- end
20
-
21
- # POST /articles
22
- def create
23
- @item = model.new(item_params)
24
- @res = @item.save
25
-
26
- if @res
27
- redirect_to url_list, success: 'Successfully created'
28
- else
29
- render :new
30
- end
31
- end
32
-
33
- def update
34
- @res = @item.update(item_params)
35
-
36
- if @res
37
- redirect_to url_list, success: 'Successfully updated'
38
- else
39
- render :edit
40
- end
41
- end
42
-
43
- # DELETE /articles/1
44
- def destroy
45
- @item.destroy
46
- redirect_to url_list, success: 'Successfully destroyed'
47
- end
48
-
49
-
50
-
51
- private
52
- def model
53
- Layout
54
- end
55
- def model_name
56
- :layout
57
- end
58
-
59
- def url_list
60
- layouts_url
61
- end
62
-
63
- # Use callbacks to share common setup or constraints between actions.
64
- def set_item
65
- @item = model.find(params[:id])
66
-
67
- @url_back = url_list
68
- end
69
-
70
- def item_params
71
- #params.require(model_name).permit(:title)
72
- params.require(model_name).permit!
73
- end
74
- end
75
-
76
-
1
+ module Optimacms
2
+ class Admin::LayoutsController < Admin::AdminBaseController
3
+
4
+ before_action :set_item, only: [:show, :edit, :update, :destroy]
5
+
6
+ def index
7
+ @items = model.all
8
+
9
+ end
10
+
11
+ def show
12
+ end
13
+
14
+ def new
15
+ @article = model.new
16
+ end
17
+
18
+ def edit
19
+ end
20
+
21
+ # POST /articles
22
+ def create
23
+ @item = model.new(item_params)
24
+ @res = @item.save
25
+
26
+ if @res
27
+ redirect_to url_list, success: 'Successfully created'
28
+ else
29
+ render :new
30
+ end
31
+ end
32
+
33
+ def update
34
+ @res = @item.update(item_params)
35
+
36
+ if @res
37
+ redirect_to url_list, success: 'Successfully updated'
38
+ else
39
+ render :edit
40
+ end
41
+ end
42
+
43
+ # DELETE /articles/1
44
+ def destroy
45
+ @item.destroy
46
+ redirect_to url_list, success: 'Successfully destroyed'
47
+ end
48
+
49
+
50
+
51
+ private
52
+ def model
53
+ Layout
54
+ end
55
+ def model_name
56
+ :layout
57
+ end
58
+
59
+ def url_list
60
+ layouts_url
61
+ end
62
+
63
+ # Use callbacks to share common setup or constraints between actions.
64
+ def set_item
65
+ @item = model.find(params[:id])
66
+
67
+ @url_back = url_list
68
+ end
69
+
70
+ def item_params
71
+ #params.require(model_name).permit(:title)
72
+ params.require(model_name).permit!
73
+ end
74
+ end
75
+
76
+
77
77
  end
@@ -1,229 +1,229 @@
1
- #require_dependency "../../../../lib/optimacms/filters/form_filter.rb"
2
-
3
- module Optimacms
4
- class Admin::PagesController < Admin::AdminBaseController
5
-
6
- before_action :set_item, only: [:show, :edit, :update, :destroy, :editfolder, :updatefolder]
7
- before_action :init_data_form, only: [:edit, :new]
8
-
9
-
10
- def index
11
- @items = model.includes(:template).by_filter(@filter)
12
- #@items = model.where(@filter.where).order(@filter.order_string).page(@filter.page)
13
-
14
- #
15
- @parent_id = @filter.v('parent_id')
16
- #@parent_id = (@parent_id || 0).to_i
17
- @parent = Page.find(@parent_id) rescue nil
18
-
19
- end
20
-
21
- def search_old
22
- redirect_to pages_path
23
- end
24
-
25
-
26
-
27
- def url_list
28
- pages_url
29
- end
30
-
31
-
32
- search_filter :index, {save_session: true, search_method: :post_and_redirect, url: :pages_url, search_url: :search_pages_url} do
33
- default_order "created_at", 'desc'
34
-
35
- # fields
36
- field :title, :string, :text, {label: '', default_value: '', condition: :like_full}
37
- field :parent_id, :int, :hidden, {label: '', default_value: 0, ignore_value: -1}
38
- end
39
-
40
-
41
- def init_filter_old
42
-
43
- # input
44
- @pg = params[:pg].to_i || 1
45
-
46
- #
47
- @filter = Filters::FormFilter.new(session, 'admin_pages')
48
-
49
- # set filter fields
50
- @filter.add_fields_from_array(
51
- [
52
- #{name: 'uid', type: 'text', dbtype: FormFilter::DBTYPE_STRING, title: 'UID', def:'', opt: {width: 80}},
53
- #{name: 'status', type: 'text', dbtype: FormFilter::DBTYPE_STRING, title: 'Status', def: '', opt: {width: 120}},
54
- {name: 'title', type: 'text', dbtype: Filters::FormFilter::DBTYPE_STRING, title: 'Title', def: '', opt: {width: 120}},
55
- {name: 'parent_id', type: 'int', dbtype: Filters::FormFilter::FIELD_TYPE_HIDDEN, title: '', def: 0},
56
- #{name: 'client_id', type: FormFilter::FIELD_TYPE_HIDDEN, dbtype: FormFilter::DBTYPE_INT, title: 'Client', def: 0, opt: {width: 120}},
57
- #{name: 'client', type: FormFilter::FIELD_TYPE_SELECT_AUTO, dbtype: FormFilter::DBTYPE_STRING, title: 'Client', def: '', opt: {width: 120, field_id:'client_id', url_query: clients_url(:action=>'list')}},
58
-
59
- #{name: 'status_id', type: FormFilter::FIELD_TYPE_HIDDEN, dbtype: FormFilter::DBTYPE_INT, title: 'Status', def: 0, opt: {width: 120}},
60
- #{name: 'status', type: FormFilter::FIELD_TYPE_SELECT_AUTO, dbtype: FormFilter::DBTYPE_STRING, title: 'Status', def: '', opt: {width: 120, field_id:'status_id', url_query: statuses_url(:action=>'list')}},
61
-
62
- ]
63
- )
64
-
65
- #
66
- if params.has_key? :parent_id
67
- @filter.set 'parent_id', params[:parent_id]
68
- end
69
- #@filter.set 'owner_id', current_user.owner_id
70
-
71
- #
72
- @cmd = params[:cmd] || ''
73
-
74
-
75
- # post
76
- if request.post? && params[:filter]
77
- if params[:cmd]=='clear'
78
- @filter.clear_data
79
-
80
- redirect_to url_list and return
81
- else
82
- @filter.set_data_from_form(params[:filter] || [])
83
- redirect_to url_list and return
84
- end
85
-
86
- end
87
-
88
- # order
89
- @filter.set_order_default('created_at' ,'desc')
90
- #@filter.set_order('created_at' ,'desc')
91
-
92
- if @cmd=='order'
93
- @filter.set_order params[:orderby], params[:orderdir]
94
- redirect_to url_list and return
95
- end
96
-
97
-
98
- end
99
-
100
- def show
101
- end
102
-
103
- def new
104
- @item = model.new
105
- @item.build_translations
106
- @item[:parent_id] = params.fetch(:parent_id, nil)
107
-
108
- @url_back = url_list
109
- end
110
-
111
- def edit
112
- @item.build_translations
113
-
114
- @url_back = url_list
115
- end
116
-
117
-
118
- def create
119
- @item = model.new(item_params)
120
- @res = @item.save
121
-
122
- if @res
123
- redirect_to url_list, success: 'Successfully created'
124
- else
125
- render :new
126
- end
127
- end
128
-
129
- def update
130
- @res = @item.update(item_params)
131
-
132
- if @res
133
- redirect_to url_list, success: 'Successfully updated'
134
- else
135
- render :edit
136
- end
137
- end
138
-
139
-
140
- def destroy
141
- @item.destroy
142
- redirect_to url_list, success: 'Successfully destroyed'
143
- end
144
-
145
- def init_data_form
146
- @layouts = Template.layouts.all
147
- @languages = Language.list_with_default
148
- end
149
-
150
- def newfolder
151
- @item = model.new(:is_folder=>true)
152
- @item.parent_id = params.fetch(:parent_id, nil)
153
-
154
- @url_back = url_list
155
- end
156
-
157
- def createfolder
158
- item_params = params.require(model_name).permit!
159
- @item = model.new(item_params)
160
- @res = @item.save
161
-
162
- if @res
163
- redirect_to url_list, success: 'Successfully created'
164
- else
165
- render :newfolder
166
- end
167
- end
168
-
169
-
170
- def editfolder
171
- return url_list if @item.nil?
172
-
173
- @url_back = url_list
174
- end
175
-
176
- def updatefolder
177
- @res = @item.update_attributes(item_params)
178
-
179
- if @res
180
- redirect_to url_list, success: 'Successfully updated'
181
- else
182
- render :editfolder
183
- end
184
- end
185
-
186
-
187
-
188
-
189
-
190
-
191
- def table_columns
192
-
193
- @table_columns = [
194
- {name: "id", title: "##"},
195
- {name: "title", title: "title"},
196
- ]
197
- end
198
-
199
-
200
- private
201
- def model
202
- Page
203
- end
204
- def model_name
205
- :page
206
- end
207
-
208
- def url_list
209
- pages_url
210
- end
211
-
212
- # Use callbacks to share common setup or constraints between actions.
213
- def set_item
214
- @item = model.find(params[:id])
215
-
216
- @url_back = url_list
217
- end
218
-
219
- def item_params
220
- #params.require(model_name).permit(:title)
221
- params.require(model_name).except(:template).permit!
222
- #item_params[:page].delete(:template)
223
- end
224
-
225
-
226
- end
227
-
228
-
229
- end
1
+ #require_dependency "../../../../lib/optimacms/filters/form_filter.rb"
2
+
3
+ module Optimacms
4
+ class Admin::PagesController < Admin::AdminBaseController
5
+
6
+ before_action :set_item, only: [:show, :edit, :update, :destroy, :editfolder, :updatefolder]
7
+ before_action :init_data_form, only: [:edit, :new]
8
+
9
+
10
+ def index
11
+ @items = model.includes(:template).by_filter(@filter)
12
+ #@items = model.where(@filter.where).order(@filter.order_string).page(@filter.page)
13
+
14
+ #
15
+ @parent_id = @filter.v('parent_id')
16
+ #@parent_id = (@parent_id || 0).to_i
17
+ @parent = Page.find(@parent_id) rescue nil
18
+
19
+ end
20
+
21
+ def search_old
22
+ redirect_to pages_path
23
+ end
24
+
25
+
26
+
27
+ def url_list
28
+ pages_url
29
+ end
30
+
31
+
32
+ search_filter :index, {save_session: true, search_method: :post_and_redirect, url: :pages_url, search_url: :search_pages_url} do
33
+ default_order "created_at", 'desc'
34
+
35
+ # fields
36
+ field :title, :string, :text, {label: '', default_value: '', condition: :like_full}
37
+ field :parent_id, :int, :hidden, {label: '', default_value: 0, ignore_value: -1}
38
+ end
39
+
40
+
41
+ def init_filter_old
42
+
43
+ # input
44
+ @pg = params[:pg].to_i || 1
45
+
46
+ #
47
+ @filter = Filters::FormFilter.new(session, 'admin_pages')
48
+
49
+ # set filter fields
50
+ @filter.add_fields_from_array(
51
+ [
52
+ #{name: 'uid', type: 'text', dbtype: FormFilter::DBTYPE_STRING, title: 'UID', def:'', opt: {width: 80}},
53
+ #{name: 'status', type: 'text', dbtype: FormFilter::DBTYPE_STRING, title: 'Status', def: '', opt: {width: 120}},
54
+ {name: 'title', type: 'text', dbtype: Filters::FormFilter::DBTYPE_STRING, title: 'Title', def: '', opt: {width: 120}},
55
+ {name: 'parent_id', type: 'int', dbtype: Filters::FormFilter::FIELD_TYPE_HIDDEN, title: '', def: 0},
56
+ #{name: 'client_id', type: FormFilter::FIELD_TYPE_HIDDEN, dbtype: FormFilter::DBTYPE_INT, title: 'Client', def: 0, opt: {width: 120}},
57
+ #{name: 'client', type: FormFilter::FIELD_TYPE_SELECT_AUTO, dbtype: FormFilter::DBTYPE_STRING, title: 'Client', def: '', opt: {width: 120, field_id:'client_id', url_query: clients_url(:action=>'list')}},
58
+
59
+ #{name: 'status_id', type: FormFilter::FIELD_TYPE_HIDDEN, dbtype: FormFilter::DBTYPE_INT, title: 'Status', def: 0, opt: {width: 120}},
60
+ #{name: 'status', type: FormFilter::FIELD_TYPE_SELECT_AUTO, dbtype: FormFilter::DBTYPE_STRING, title: 'Status', def: '', opt: {width: 120, field_id:'status_id', url_query: statuses_url(:action=>'list')}},
61
+
62
+ ]
63
+ )
64
+
65
+ #
66
+ if params.has_key? :parent_id
67
+ @filter.set 'parent_id', params[:parent_id]
68
+ end
69
+ #@filter.set 'owner_id', current_user.owner_id
70
+
71
+ #
72
+ @cmd = params[:cmd] || ''
73
+
74
+
75
+ # post
76
+ if request.post? && params[:filter]
77
+ if params[:cmd]=='clear'
78
+ @filter.clear_data
79
+
80
+ redirect_to url_list and return
81
+ else
82
+ @filter.set_data_from_form(params[:filter] || [])
83
+ redirect_to url_list and return
84
+ end
85
+
86
+ end
87
+
88
+ # order
89
+ @filter.set_order_default('created_at' ,'desc')
90
+ #@filter.set_order('created_at' ,'desc')
91
+
92
+ if @cmd=='order'
93
+ @filter.set_order params[:orderby], params[:orderdir]
94
+ redirect_to url_list and return
95
+ end
96
+
97
+
98
+ end
99
+
100
+ def show
101
+ end
102
+
103
+ def new
104
+ @item = model.new
105
+ @item.build_translations
106
+ @item[:parent_id] = params.fetch(:parent_id, nil)
107
+
108
+ @url_back = url_list
109
+ end
110
+
111
+ def edit
112
+ @item.build_translations
113
+
114
+ @url_back = url_list
115
+ end
116
+
117
+
118
+ def create
119
+ @item = model.new(item_params)
120
+ @res = @item.save
121
+
122
+ if @res
123
+ redirect_to url_list, success: 'Successfully created'
124
+ else
125
+ render :new
126
+ end
127
+ end
128
+
129
+ def update
130
+ @res = @item.update(item_params)
131
+
132
+ if @res
133
+ redirect_to url_list, success: 'Successfully updated'
134
+ else
135
+ render :edit
136
+ end
137
+ end
138
+
139
+
140
+ def destroy
141
+ @item.destroy
142
+ redirect_to url_list, success: 'Successfully destroyed'
143
+ end
144
+
145
+ def init_data_form
146
+ @layouts = Template.layouts.all
147
+ @languages = Language.list_with_default
148
+ end
149
+
150
+ def newfolder
151
+ @item = model.new(:is_folder=>true)
152
+ @item.parent_id = params.fetch(:parent_id, nil)
153
+
154
+ @url_back = url_list
155
+ end
156
+
157
+ def createfolder
158
+ item_params = params.require(model_name).permit!
159
+ @item = model.new(item_params)
160
+ @res = @item.save
161
+
162
+ if @res
163
+ redirect_to url_list, success: 'Successfully created'
164
+ else
165
+ render :newfolder
166
+ end
167
+ end
168
+
169
+
170
+ def editfolder
171
+ return url_list if @item.nil?
172
+
173
+ @url_back = url_list
174
+ end
175
+
176
+ def updatefolder
177
+ @res = @item.update_attributes(item_params)
178
+
179
+ if @res
180
+ redirect_to url_list, success: 'Successfully updated'
181
+ else
182
+ render :editfolder
183
+ end
184
+ end
185
+
186
+
187
+
188
+
189
+
190
+
191
+ def table_columns
192
+
193
+ @table_columns = [
194
+ {name: "id", title: "##"},
195
+ {name: "title", title: "title"},
196
+ ]
197
+ end
198
+
199
+
200
+ private
201
+ def model
202
+ Page
203
+ end
204
+ def model_name
205
+ :page
206
+ end
207
+
208
+ def url_list
209
+ pages_url
210
+ end
211
+
212
+ # Use callbacks to share common setup or constraints between actions.
213
+ def set_item
214
+ @item = model.find(params[:id])
215
+
216
+ @url_back = url_list
217
+ end
218
+
219
+ def item_params
220
+ #params.require(model_name).permit(:title)
221
+ params.require(model_name).except(:template).permit!
222
+ #item_params[:page].delete(:template)
223
+ end
224
+
225
+
226
+ end
227
+
228
+
229
+ end