integral 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (430) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/logo.png +0 -0
  3. data/app/assets/javascripts/ckeditor/my_config.js.erb +26 -18
  4. data/app/assets/javascripts/ckeditor/plugins/autoembed/lang/lv.js +8 -0
  5. data/app/assets/javascripts/ckeditor/plugins/autoembed/plugin.js +1 -1
  6. data/app/assets/javascripts/ckeditor/plugins/autogrow/plugin.js +14 -14
  7. data/app/assets/javascripts/ckeditor/plugins/autogrow/samples/autogrow.html +8 -8
  8. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +1 -1
  9. data/app/assets/javascripts/ckeditor/plugins/codemirror/icons/autoformat.png +0 -0
  10. data/app/assets/javascripts/ckeditor/plugins/codemirror/icons/searchcode.png +0 -0
  11. data/app/assets/javascripts/ckeditor/plugins/codemirror/icons/uncommentselectedrange.png +0 -0
  12. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/autocomplete.png +0 -0
  13. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/autoformat.png +0 -0
  14. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/commentselectedrange.png +0 -0
  15. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/searchcode.png +0 -0
  16. data/app/assets/javascripts/ckeditor/plugins/codemirror/images/uncommentselectedrange.png +0 -0
  17. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/beautify.min.js +2 -2
  18. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +2 -2
  19. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.search.min.js +1 -1
  20. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +1 -6
  21. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.bbcodemixed.min.js +1 -1
  22. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.handlebars.min.js +1 -0
  23. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.htmlmixed.min.js +2 -2
  24. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.javascript.min.js +1 -1
  25. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.php.min.js +3 -3
  26. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.twig.min.js +1 -1
  27. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/bg.js +7 -7
  28. data/app/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +231 -217
  29. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/darcula.css +46 -0
  30. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/gruvbox-dark.css +34 -0
  31. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/idea.css +42 -0
  32. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/lesser-dark.css +1 -1
  33. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/lucario.css +37 -0
  34. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/monokai.css +5 -0
  35. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/oceanic-next.css +44 -0
  36. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/shadowfox.css +52 -0
  37. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/ssms.css +16 -0
  38. data/app/assets/javascripts/ckeditor/plugins/embedbase/lang/ar.js +15 -0
  39. data/app/assets/javascripts/ckeditor/plugins/embedbase/lang/lv.js +15 -0
  40. data/app/assets/javascripts/ckeditor/plugins/embedbase/plugin.js +1 -1
  41. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/copywidget.png +0 -0
  42. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/editwidget.png +0 -0
  43. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/copywidget.png +0 -0
  44. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/editwidget.png +0 -0
  45. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/removewidget.png +0 -0
  46. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/hidpi/widget.png +0 -0
  47. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/removewidget.png +0 -0
  48. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/icons/widget.png +0 -0
  49. data/app/assets/javascripts/ckeditor/plugins/foundation-callout/plugin.js +86 -0
  50. data/app/assets/javascripts/ckeditor/plugins/image2/dev/assets/image1.jpg +0 -0
  51. data/app/assets/javascripts/ckeditor/plugins/image2/dev/assets/image2.jpg +0 -0
  52. data/app/assets/javascripts/ckeditor/plugins/image2/dev/contents.css +35 -0
  53. data/app/assets/javascripts/ckeditor/plugins/image2/dev/image2.html +339 -0
  54. data/app/assets/javascripts/ckeditor/plugins/image2/dialogs/image2.js +553 -0
  55. data/app/assets/javascripts/ckeditor/plugins/image2/icons/hidpi/image.png +0 -0
  56. data/app/assets/javascripts/ckeditor/plugins/image2/icons/image.png +0 -0
  57. data/app/assets/javascripts/ckeditor/plugins/image2/lang/af.js +21 -0
  58. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ar.js +21 -0
  59. data/app/assets/javascripts/ckeditor/plugins/image2/lang/az.js +21 -0
  60. data/app/assets/javascripts/ckeditor/plugins/image2/lang/bg.js +21 -0
  61. data/app/assets/javascripts/ckeditor/plugins/image2/lang/bn.js +21 -0
  62. data/app/assets/javascripts/ckeditor/plugins/image2/lang/bs.js +21 -0
  63. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ca.js +21 -0
  64. data/app/assets/javascripts/ckeditor/plugins/image2/lang/cs.js +21 -0
  65. data/app/assets/javascripts/ckeditor/plugins/image2/lang/cy.js +21 -0
  66. data/app/assets/javascripts/ckeditor/plugins/image2/lang/da.js +21 -0
  67. data/app/assets/javascripts/ckeditor/plugins/image2/lang/de-ch.js +21 -0
  68. data/app/assets/javascripts/ckeditor/plugins/image2/lang/de.js +21 -0
  69. data/app/assets/javascripts/ckeditor/plugins/image2/lang/el.js +21 -0
  70. data/app/assets/javascripts/ckeditor/plugins/image2/lang/en-au.js +21 -0
  71. data/app/assets/javascripts/ckeditor/plugins/image2/lang/en-ca.js +21 -0
  72. data/app/assets/javascripts/ckeditor/plugins/image2/lang/en-gb.js +21 -0
  73. data/app/assets/javascripts/ckeditor/plugins/image2/lang/en.js +21 -0
  74. data/app/assets/javascripts/ckeditor/plugins/image2/lang/eo.js +21 -0
  75. data/app/assets/javascripts/ckeditor/plugins/image2/lang/es-mx.js +21 -0
  76. data/app/assets/javascripts/ckeditor/plugins/image2/lang/es.js +21 -0
  77. data/app/assets/javascripts/ckeditor/plugins/image2/lang/et.js +21 -0
  78. data/app/assets/javascripts/ckeditor/plugins/image2/lang/eu.js +21 -0
  79. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fa.js +21 -0
  80. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fi.js +21 -0
  81. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fo.js +21 -0
  82. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fr-ca.js +21 -0
  83. data/app/assets/javascripts/ckeditor/plugins/image2/lang/fr.js +21 -0
  84. data/app/assets/javascripts/ckeditor/plugins/image2/lang/gl.js +21 -0
  85. data/app/assets/javascripts/ckeditor/plugins/image2/lang/gu.js +21 -0
  86. data/app/assets/javascripts/ckeditor/plugins/image2/lang/he.js +21 -0
  87. data/app/assets/javascripts/ckeditor/plugins/image2/lang/hi.js +21 -0
  88. data/app/assets/javascripts/ckeditor/plugins/image2/lang/hr.js +21 -0
  89. data/app/assets/javascripts/ckeditor/plugins/image2/lang/hu.js +21 -0
  90. data/app/assets/javascripts/ckeditor/plugins/image2/lang/id.js +21 -0
  91. data/app/assets/javascripts/ckeditor/plugins/image2/lang/is.js +21 -0
  92. data/app/assets/javascripts/ckeditor/plugins/image2/lang/it.js +21 -0
  93. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ja.js +21 -0
  94. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ka.js +21 -0
  95. data/app/assets/javascripts/ckeditor/plugins/image2/lang/km.js +21 -0
  96. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ko.js +21 -0
  97. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ku.js +21 -0
  98. data/app/assets/javascripts/ckeditor/plugins/image2/lang/lt.js +21 -0
  99. data/app/assets/javascripts/ckeditor/plugins/image2/lang/lv.js +21 -0
  100. data/app/assets/javascripts/ckeditor/plugins/image2/lang/mk.js +21 -0
  101. data/app/assets/javascripts/ckeditor/plugins/image2/lang/mn.js +21 -0
  102. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ms.js +21 -0
  103. data/app/assets/javascripts/ckeditor/plugins/image2/lang/nb.js +21 -0
  104. data/app/assets/javascripts/ckeditor/plugins/image2/lang/nl.js +21 -0
  105. data/app/assets/javascripts/ckeditor/plugins/image2/lang/no.js +21 -0
  106. data/app/assets/javascripts/ckeditor/plugins/image2/lang/oc.js +21 -0
  107. data/app/assets/javascripts/ckeditor/plugins/image2/lang/pl.js +21 -0
  108. data/app/assets/javascripts/ckeditor/plugins/image2/lang/pt-br.js +21 -0
  109. data/app/assets/javascripts/ckeditor/plugins/image2/lang/pt.js +21 -0
  110. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ro.js +21 -0
  111. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ru.js +21 -0
  112. data/app/assets/javascripts/ckeditor/plugins/image2/lang/si.js +21 -0
  113. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sk.js +21 -0
  114. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sl.js +21 -0
  115. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sq.js +21 -0
  116. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sr-latn.js +21 -0
  117. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sr.js +21 -0
  118. data/app/assets/javascripts/ckeditor/plugins/image2/lang/sv.js +21 -0
  119. data/app/assets/javascripts/ckeditor/plugins/image2/lang/th.js +21 -0
  120. data/app/assets/javascripts/ckeditor/plugins/image2/lang/tr.js +21 -0
  121. data/app/assets/javascripts/ckeditor/plugins/image2/lang/tt.js +21 -0
  122. data/app/assets/javascripts/ckeditor/plugins/image2/lang/ug.js +21 -0
  123. data/app/assets/javascripts/ckeditor/plugins/image2/lang/uk.js +21 -0
  124. data/app/assets/javascripts/ckeditor/plugins/image2/lang/vi.js +21 -0
  125. data/app/assets/javascripts/ckeditor/plugins/image2/lang/zh-cn.js +21 -0
  126. data/app/assets/javascripts/ckeditor/plugins/image2/lang/zh.js +21 -0
  127. data/app/assets/javascripts/ckeditor/plugins/image2/plugin.js +1720 -0
  128. data/app/assets/javascripts/ckeditor/plugins/image2/samples/assets/image1.jpg +0 -0
  129. data/app/assets/javascripts/ckeditor/plugins/image2/samples/assets/image2.jpg +0 -0
  130. data/app/assets/javascripts/ckeditor/plugins/image2/samples/image2.html +68 -0
  131. data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/copywidget.png +0 -0
  132. data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/editwidget.png +0 -0
  133. data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/copywidget.png +0 -0
  134. data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/editwidget.png +0 -0
  135. data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/removewidget.png +0 -0
  136. data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/hidpi/widget.png +0 -0
  137. data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/removewidget.png +0 -0
  138. data/app/assets/javascripts/ckeditor/plugins/integral-card/icons/widget.png +0 -0
  139. data/app/assets/javascripts/ckeditor/plugins/integral-card/plugin.js +86 -0
  140. data/app/assets/javascripts/ckeditor/plugins/integralrecentposts/dialogs/integralrecentposts.js +40 -0
  141. data/app/assets/javascripts/ckeditor/plugins/integralrecentposts/plugin.js +32 -0
  142. data/app/assets/javascripts/ckeditor/plugins/lineutils/dev/dnd.html +4 -4
  143. data/app/assets/javascripts/ckeditor/plugins/lineutils/dev/magicfinger.html +4 -4
  144. data/app/assets/javascripts/ckeditor/plugins/lineutils/plugin.js +7 -7
  145. data/app/assets/javascripts/ckeditor/plugins/linkballoon/README.md +5 -0
  146. data/app/assets/javascripts/ckeditor/plugins/linkballoon/assets/demo.png +0 -0
  147. data/app/assets/javascripts/ckeditor/plugins/linkballoon/plugin.js +25 -0
  148. data/app/assets/javascripts/ckeditor/plugins/notification/lang/az.js +7 -0
  149. data/app/assets/javascripts/ckeditor/plugins/notification/lang/bg.js +7 -0
  150. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ca.js +7 -0
  151. data/app/assets/javascripts/ckeditor/plugins/notification/lang/cs.js +2 -2
  152. data/app/assets/javascripts/ckeditor/plugins/notification/lang/da.js +2 -2
  153. data/app/assets/javascripts/ckeditor/plugins/notification/lang/de-ch.js +2 -2
  154. data/app/assets/javascripts/ckeditor/plugins/notification/lang/de.js +2 -2
  155. data/app/assets/javascripts/ckeditor/plugins/notification/lang/en-au.js +7 -0
  156. data/app/assets/javascripts/ckeditor/plugins/notification/lang/en.js +2 -2
  157. data/app/assets/javascripts/ckeditor/plugins/notification/lang/eo.js +2 -2
  158. data/app/assets/javascripts/ckeditor/plugins/notification/lang/es-mx.js +7 -0
  159. data/app/assets/javascripts/ckeditor/plugins/notification/lang/es.js +7 -0
  160. data/app/assets/javascripts/ckeditor/plugins/notification/lang/et.js +7 -0
  161. data/app/assets/javascripts/ckeditor/plugins/notification/lang/eu.js +2 -2
  162. data/app/assets/javascripts/ckeditor/plugins/notification/lang/fa.js +7 -0
  163. data/app/assets/javascripts/ckeditor/plugins/notification/lang/fr.js +3 -3
  164. data/app/assets/javascripts/ckeditor/plugins/notification/lang/gl.js +2 -2
  165. data/app/assets/javascripts/ckeditor/plugins/notification/lang/hr.js +7 -0
  166. data/app/assets/javascripts/ckeditor/plugins/notification/lang/hu.js +7 -0
  167. data/app/assets/javascripts/ckeditor/plugins/notification/lang/id.js +2 -2
  168. data/app/assets/javascripts/ckeditor/plugins/notification/lang/it.js +2 -2
  169. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ja.js +7 -0
  170. data/app/assets/javascripts/ckeditor/plugins/notification/lang/km.js +2 -2
  171. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ko.js +2 -2
  172. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ku.js +2 -2
  173. data/app/assets/javascripts/ckeditor/plugins/notification/lang/lv.js +7 -0
  174. data/app/assets/javascripts/ckeditor/plugins/notification/lang/nb.js +2 -2
  175. data/app/assets/javascripts/ckeditor/plugins/notification/lang/nl.js +2 -2
  176. data/app/assets/javascripts/ckeditor/plugins/notification/lang/oc.js +7 -0
  177. data/app/assets/javascripts/ckeditor/plugins/notification/lang/pl.js +2 -2
  178. data/app/assets/javascripts/ckeditor/plugins/notification/lang/pt-br.js +2 -2
  179. data/app/assets/javascripts/ckeditor/plugins/notification/lang/pt.js +2 -2
  180. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ro.js +7 -0
  181. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ru.js +2 -2
  182. data/app/assets/javascripts/ckeditor/plugins/notification/lang/sk.js +7 -0
  183. data/app/assets/javascripts/ckeditor/plugins/notification/lang/sq.js +7 -0
  184. data/app/assets/javascripts/ckeditor/plugins/notification/lang/sv.js +2 -2
  185. data/app/assets/javascripts/ckeditor/plugins/notification/lang/tr.js +2 -2
  186. data/app/assets/javascripts/ckeditor/plugins/notification/lang/ug.js +2 -2
  187. data/app/assets/javascripts/ckeditor/plugins/notification/lang/uk.js +2 -2
  188. data/app/assets/javascripts/ckeditor/plugins/notification/lang/zh-cn.js +3 -3
  189. data/app/assets/javascripts/ckeditor/plugins/notification/lang/zh.js +2 -2
  190. data/app/assets/javascripts/ckeditor/plugins/notification/plugin.js +794 -784
  191. data/app/assets/javascripts/ckeditor/plugins/numericinput/LICENSE.md +363 -0
  192. data/app/assets/javascripts/ckeditor/plugins/numericinput/README.md +16 -0
  193. data/app/assets/javascripts/ckeditor/plugins/numericinput/plugin.js +354 -0
  194. data/app/assets/javascripts/ckeditor/plugins/openlink/README.md +50 -0
  195. data/app/assets/javascripts/ckeditor/plugins/openlink/icons/hidpi/openLink.png +0 -0
  196. data/app/assets/javascripts/ckeditor/plugins/openlink/icons/openLink.png +0 -0
  197. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/bg.js +7 -0
  198. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/de.js +7 -0
  199. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/en.js +7 -0
  200. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/pl.js +7 -0
  201. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/ru.js +7 -0
  202. data/app/assets/javascripts/ckeditor/plugins/openlink/lang/uk.js +7 -0
  203. data/app/assets/javascripts/ckeditor/plugins/openlink/plugin.js +178 -0
  204. data/app/assets/javascripts/ckeditor/plugins/placeholder/dev/placeholder.html +5 -5
  205. data/app/assets/javascripts/ckeditor/plugins/placeholder/dialogs/placeholder.js +2 -2
  206. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/af.js +2 -2
  207. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ar.js +2 -2
  208. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/az.js +2 -2
  209. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/bg.js +5 -5
  210. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ca.js +2 -2
  211. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/cs.js +2 -2
  212. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/cy.js +2 -2
  213. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/da.js +2 -2
  214. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/de-ch.js +2 -2
  215. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/de.js +2 -2
  216. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/el.js +2 -2
  217. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en-au.js +12 -0
  218. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en-gb.js +2 -2
  219. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en.js +2 -2
  220. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/eo.js +2 -2
  221. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/es-mx.js +2 -2
  222. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/es.js +2 -2
  223. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/et.js +2 -2
  224. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/eu.js +2 -2
  225. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fa.js +2 -2
  226. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fi.js +2 -2
  227. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fr-ca.js +2 -2
  228. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/fr.js +2 -2
  229. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/gl.js +2 -2
  230. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/he.js +2 -2
  231. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/hr.js +2 -2
  232. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/hu.js +2 -2
  233. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/id.js +2 -2
  234. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/it.js +2 -2
  235. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ja.js +2 -2
  236. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/km.js +2 -2
  237. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ko.js +2 -2
  238. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ku.js +2 -2
  239. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/lv.js +5 -5
  240. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/nb.js +2 -2
  241. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/nl.js +2 -2
  242. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/no.js +2 -2
  243. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/oc.js +2 -2
  244. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/pl.js +2 -2
  245. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/pt-br.js +2 -2
  246. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/pt.js +2 -2
  247. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ro.js +12 -0
  248. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ru.js +2 -2
  249. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/si.js +2 -2
  250. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sk.js +2 -2
  251. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sl.js +2 -2
  252. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sq.js +2 -2
  253. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/sv.js +2 -2
  254. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/th.js +2 -2
  255. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/tr.js +2 -2
  256. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/tt.js +2 -2
  257. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/ug.js +2 -2
  258. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/uk.js +2 -2
  259. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/vi.js +2 -2
  260. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/zh-cn.js +2 -2
  261. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/zh.js +2 -2
  262. data/app/assets/javascripts/ckeditor/plugins/placeholder/plugin.js +3 -3
  263. data/app/assets/javascripts/ckeditor/plugins/placeholder/samples/placeholder.html +6 -6
  264. data/app/assets/javascripts/ckeditor/plugins/widget/dev/assets/simplebox/dialogs/simplebox.js +4 -4
  265. data/app/assets/javascripts/ckeditor/plugins/widget/dev/assets/simplebox/plugin.js +3 -3
  266. data/app/assets/javascripts/ckeditor/plugins/widget/dev/console.js +2 -2
  267. data/app/assets/javascripts/ckeditor/plugins/widget/dev/nestedwidgets.html +2 -2
  268. data/app/assets/javascripts/ckeditor/plugins/widget/dev/widgetstyles.html +2 -2
  269. data/app/assets/javascripts/ckeditor/plugins/widget/lang/af.js +2 -2
  270. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ar.js +2 -2
  271. data/app/assets/javascripts/ckeditor/plugins/widget/lang/az.js +2 -2
  272. data/app/assets/javascripts/ckeditor/plugins/widget/lang/bg.js +3 -3
  273. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ca.js +2 -2
  274. data/app/assets/javascripts/ckeditor/plugins/widget/lang/cs.js +2 -2
  275. data/app/assets/javascripts/ckeditor/plugins/widget/lang/cy.js +2 -2
  276. data/app/assets/javascripts/ckeditor/plugins/widget/lang/da.js +2 -2
  277. data/app/assets/javascripts/ckeditor/plugins/widget/lang/de-ch.js +2 -2
  278. data/app/assets/javascripts/ckeditor/plugins/widget/lang/de.js +2 -2
  279. data/app/assets/javascripts/ckeditor/plugins/widget/lang/el.js +2 -2
  280. data/app/assets/javascripts/ckeditor/plugins/widget/lang/en-au.js +8 -0
  281. data/app/assets/javascripts/ckeditor/plugins/widget/lang/en-gb.js +2 -2
  282. data/app/assets/javascripts/ckeditor/plugins/widget/lang/en.js +2 -2
  283. data/app/assets/javascripts/ckeditor/plugins/widget/lang/eo.js +2 -2
  284. data/app/assets/javascripts/ckeditor/plugins/widget/lang/es-mx.js +2 -2
  285. data/app/assets/javascripts/ckeditor/plugins/widget/lang/es.js +2 -2
  286. data/app/assets/javascripts/ckeditor/plugins/widget/lang/et.js +8 -0
  287. data/app/assets/javascripts/ckeditor/plugins/widget/lang/eu.js +2 -2
  288. data/app/assets/javascripts/ckeditor/plugins/widget/lang/fa.js +3 -3
  289. data/app/assets/javascripts/ckeditor/plugins/widget/lang/fi.js +2 -2
  290. data/app/assets/javascripts/ckeditor/plugins/widget/lang/fr.js +2 -2
  291. data/app/assets/javascripts/ckeditor/plugins/widget/lang/gl.js +2 -2
  292. data/app/assets/javascripts/ckeditor/plugins/widget/lang/he.js +2 -2
  293. data/app/assets/javascripts/ckeditor/plugins/widget/lang/hr.js +2 -2
  294. data/app/assets/javascripts/ckeditor/plugins/widget/lang/hu.js +2 -2
  295. data/app/assets/javascripts/ckeditor/plugins/widget/lang/id.js +2 -2
  296. data/app/assets/javascripts/ckeditor/plugins/widget/lang/it.js +2 -2
  297. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ja.js +2 -2
  298. data/app/assets/javascripts/ckeditor/plugins/widget/lang/km.js +2 -2
  299. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ko.js +2 -2
  300. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ku.js +2 -2
  301. data/app/assets/javascripts/ckeditor/plugins/widget/lang/lv.js +3 -3
  302. data/app/assets/javascripts/ckeditor/plugins/widget/lang/nb.js +2 -2
  303. data/app/assets/javascripts/ckeditor/plugins/widget/lang/nl.js +2 -2
  304. data/app/assets/javascripts/ckeditor/plugins/widget/lang/no.js +2 -2
  305. data/app/assets/javascripts/ckeditor/plugins/widget/lang/oc.js +2 -2
  306. data/app/assets/javascripts/ckeditor/plugins/widget/lang/pl.js +2 -2
  307. data/app/assets/javascripts/ckeditor/plugins/widget/lang/pt-br.js +2 -2
  308. data/app/assets/javascripts/ckeditor/plugins/widget/lang/pt.js +2 -2
  309. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ro.js +8 -0
  310. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ru.js +2 -2
  311. data/app/assets/javascripts/ckeditor/plugins/widget/lang/sk.js +2 -2
  312. data/app/assets/javascripts/ckeditor/plugins/widget/lang/sl.js +2 -2
  313. data/app/assets/javascripts/ckeditor/plugins/widget/lang/sq.js +3 -3
  314. data/app/assets/javascripts/ckeditor/plugins/widget/lang/sv.js +2 -2
  315. data/app/assets/javascripts/ckeditor/plugins/widget/lang/tr.js +2 -2
  316. data/app/assets/javascripts/ckeditor/plugins/widget/lang/tt.js +2 -2
  317. data/app/assets/javascripts/ckeditor/plugins/widget/lang/ug.js +2 -2
  318. data/app/assets/javascripts/ckeditor/plugins/widget/lang/uk.js +2 -2
  319. data/app/assets/javascripts/ckeditor/plugins/widget/lang/vi.js +2 -2
  320. data/app/assets/javascripts/ckeditor/plugins/widget/lang/zh-cn.js +2 -2
  321. data/app/assets/javascripts/ckeditor/plugins/widget/lang/zh.js +2 -2
  322. data/app/assets/javascripts/ckeditor/plugins/widget/plugin.js +235 -64
  323. data/app/assets/javascripts/ckeditor/plugins/widgetselection/plugin.js +6 -11
  324. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ar.js +1 -0
  325. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/bg.js +17 -0
  326. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ca.js +1 -0
  327. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/cs.js +15 -0
  328. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/da.js +1 -0
  329. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/de.js +1 -0
  330. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/el.js +1 -0
  331. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/en.js +5 -1
  332. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/es.js +1 -0
  333. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/eu.js +17 -0
  334. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fa.js +13 -0
  335. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fi.js +1 -0
  336. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fr.js +1 -0
  337. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/he.js +1 -0
  338. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/hr.js +1 -0
  339. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/hu.js +14 -0
  340. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/it.js +4 -3
  341. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ja.js +5 -5
  342. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ko.js +16 -0
  343. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/nl.js +3 -2
  344. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/no.js +1 -0
  345. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pl.js +4 -3
  346. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pt-br.js +1 -0
  347. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pt.js +1 -0
  348. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ro.js +15 -0
  349. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ru.js +2 -1
  350. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/sk.js +15 -0
  351. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/sv.js +5 -3
  352. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/tr.js +1 -0
  353. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/uk.js +17 -0
  354. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/zh-cn.js +1 -0
  355. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/zh.js +14 -0
  356. data/app/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +485 -302
  357. data/app/assets/javascripts/ckeditor/plugins/wordcount/samples/maxParagraphs.html +26 -0
  358. data/app/assets/javascripts/integral/backend.js +10 -14
  359. data/app/assets/javascripts/integral/frontend.js +0 -2
  360. data/app/assets/javascripts/integral/support/date_picker.coffee +54 -59
  361. data/app/assets/javascripts/integral/support/grid.coffee +11 -4
  362. data/app/assets/javascripts/integral/support/remote_form.coffee +13 -9
  363. data/app/assets/stylesheets/integral/frontend.sass +0 -1
  364. data/app/controllers/integral/application_controller.rb +3 -2
  365. data/app/controllers/integral/backend/activities_controller.rb +1 -1
  366. data/app/controllers/integral/backend/base_controller.rb +160 -24
  367. data/app/controllers/integral/backend/images_controller.rb +16 -49
  368. data/app/controllers/integral/backend/lists_controller.rb +15 -85
  369. data/app/controllers/integral/backend/pages_controller.rb +13 -116
  370. data/app/controllers/integral/backend/posts_controller.rb +21 -108
  371. data/app/controllers/integral/backend/settings_controller.rb +5 -10
  372. data/app/controllers/integral/backend/static_pages_controller.rb +4 -0
  373. data/app/controllers/integral/backend/users_controller.rb +23 -66
  374. data/app/controllers/integral/pages_controller.rb +2 -2
  375. data/app/controllers/integral/posts_controller.rb +2 -6
  376. data/app/decorators/integral/image_decorator.rb +1 -1
  377. data/app/decorators/integral/list_decorator.rb +1 -1
  378. data/app/decorators/integral/page_decorator.rb +1 -1
  379. data/app/decorators/integral/paginating_decorator.rb +6 -0
  380. data/app/decorators/integral/post_decorator.rb +34 -1
  381. data/app/decorators/integral/user_decorator.rb +1 -1
  382. data/app/decorators/integral/version_decorator.rb +1 -1
  383. data/app/helpers/integral/application_helper.rb +7 -0
  384. data/app/helpers/integral/blog_helper.rb +29 -0
  385. data/app/helpers/integral/social_helper.rb +0 -23
  386. data/app/models/integral/list.rb +1 -2
  387. data/app/models/integral/page.rb +1 -1
  388. data/app/models/integral/post.rb +1 -1
  389. data/app/models/integral/user.rb +6 -0
  390. data/app/policies/integral/base_policy.rb +1 -1
  391. data/app/views/devise/sessions/new.haml +2 -2
  392. data/app/views/integral/backend/images/_form.haml +8 -8
  393. data/app/views/integral/backend/images/edit.haml +10 -2
  394. data/app/views/integral/backend/lists/_child_fields.haml +1 -1
  395. data/app/views/integral/backend/lists/_form.haml +1 -1
  396. data/app/views/integral/backend/lists/_item_container.haml +2 -2
  397. data/app/views/integral/backend/lists/_item_modal.haml +1 -1
  398. data/app/views/integral/backend/lists/_list_item_fields.haml +4 -3
  399. data/app/views/integral/backend/lists/edit.haml +15 -1
  400. data/app/views/integral/backend/pages/_form.haml +3 -3
  401. data/app/views/integral/backend/pages/activities.haml +2 -2
  402. data/app/views/integral/backend/pages/activity.haml +1 -1
  403. data/app/views/integral/backend/pages/edit.haml +20 -0
  404. data/app/views/integral/backend/posts/_form.haml +9 -5
  405. data/app/views/integral/backend/posts/activities.haml +2 -2
  406. data/app/views/integral/backend/posts/activity.haml +1 -1
  407. data/app/views/integral/backend/posts/edit.haml +8 -3
  408. data/app/views/integral/backend/settings/sections/_social.haml +1 -3
  409. data/app/views/integral/backend/users/_form.haml +4 -4
  410. data/app/views/integral/backend/users/edit.haml +1 -1
  411. data/app/views/integral/backend/users/show.haml +7 -7
  412. data/app/views/integral/posts/index.haml +2 -1
  413. data/app/views/integral/posts/templates/default.haml +1 -2
  414. data/app/views/integral/shared/_share_modal.haml +0 -3
  415. data/app/views/integral/shared/_social_list_items.haml +6 -12
  416. data/config/locales/en.yml +23 -12
  417. data/lib/generators/templates/app.yml +0 -1
  418. data/lib/integral/engine.rb +1 -0
  419. data/lib/integral/router.rb +3 -1
  420. data/lib/integral/version.rb +1 -1
  421. data/public/integral/ckeditor_demo_content.html +0 -13
  422. metadata +186 -12
  423. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/jp.js +0 -13
  424. data/app/assets/javascripts/integral/support/date_picker/picker.date.js +0 -1435
  425. data/app/assets/javascripts/integral/support/date_picker/picker.js +0 -1132
  426. data/app/assets/stylesheets/integral/support/date-picker.scss +0 -16
  427. data/app/assets/stylesheets/integral/support/date_picker/_default.date.scss +0 -452
  428. data/app/assets/stylesheets/integral/support/date_picker/_default.scss +0 -201
  429. data/app/assets/stylesheets/integral/support/date_picker/materialize_clockpicker.sass +0 -220
  430. data/app/views/integral/backend/pages/edit.html.haml +0 -15
@@ -2,52 +2,33 @@ module Integral
2
2
  module Backend
3
3
  # Images controller
4
4
  class ImagesController < BaseController
5
- before_action :set_image, only: %i[edit update destroy show]
6
5
  before_action :authorize_with_klass
7
-
8
- # GET /
9
- # Lists all images
10
- def index
11
- respond_to do |format|
12
- format.html do
13
- set_grid(Integral::Grids::ImagesGrid)
14
- end
15
-
16
- format.json do
17
- if params[:gridview].present?
18
- set_grid(Integral::Grids::ImagesGrid)
19
- render json: { content: render_to_string(partial: 'integral/backend/images/grid', locals: { grid: @grid }) }
20
- else
21
- respond_to_record_selector(Integral::Image)
22
- end
23
- end
24
- end
25
- end
6
+ before_action :set_resource, only: %i[edit update destroy show activities activity]
26
7
 
27
8
  # GET /new
28
9
  # Image creation form
29
10
  def new
30
11
  add_breadcrumb I18n.t('integral.navigation.new'), :new_backend_img_path
31
- @image = Image.new
12
+ @resource = Image.new
32
13
  end
33
14
 
34
15
  # POST /
35
16
  # Image creation
36
17
  def create
37
- @image = Image.new(image_params)
18
+ @resource = Image.new(resource_params)
38
19
 
39
20
  if remote_request?
40
- if @image.save
21
+ if @resource.save
41
22
  flash.now[:notice] = notification_message('creation_success')
42
- render json: @image.to_list_item, status: :created
23
+ render json: @resource.to_list_item, status: :created
43
24
  else
44
25
  flash.now[:error] = notification_message('creation_failure')
45
26
  head :unprocessable_entity
46
27
  end
47
- elsif @image.save
48
- respond_successfully(notification_message('creation_success'), edit_backend_img_path(@image))
28
+ elsif @resource.save
29
+ respond_successfully(notification_message('creation_success'), edit_backend_img_path(@resource))
49
30
  else
50
- respond_failure(notification_message('creation_failure'), @image, :new)
31
+ respond_failure(notification_message('creation_failure'), :new)
51
32
  end
52
33
  end
53
34
 
@@ -60,16 +41,16 @@ module Integral
60
41
  # PUT /:id
61
42
  # Updating an image
62
43
  def update
63
- if @image.update(image_params)
44
+ if @resource.update(resource_params)
64
45
  respond_successfully(notification_message('edit_success'), backend_img_index_path)
65
46
  else
66
- respond_failure(notification_message('edit_failure'), @image, :edit)
47
+ respond_failure(notification_message('edit_failure'), :edit)
67
48
  end
68
49
  end
69
50
 
70
51
  # DELETE /:id
71
52
  def destroy
72
- if @image.destroy
53
+ if @resource.destroy
73
54
  respond_successfully(notification_message('delete_success'), backend_img_index_path)
74
55
  else
75
56
  flash[:error] = notification_message('delete_failure')
@@ -79,29 +60,15 @@ module Integral
79
60
 
80
61
  private
81
62
 
82
- def grid_options
83
- default_grid_options = { 'order' => 'updated_at',
84
- 'page' => 1,
85
- 'descending' => true }
86
- grid_params = params[:grid].present? ? params[:grid].permit(:descending, :order, :page, :title) : {}
87
- grid_params.delete_if { |_k, v| v.empty? }
88
- default_grid_options.merge(grid_params)
63
+ def resource_klass
64
+ Integral::Image
89
65
  end
90
- helper_method :grid_options
91
66
 
92
67
  def remote_request?
93
68
  params[:image][:remote].present?
94
69
  end
95
70
 
96
- def authorize_with_klass
97
- authorize Image
98
- end
99
-
100
- def set_image
101
- @image = Image.find(params[:id])
102
- end
103
-
104
- def image_params
71
+ def resource_params
105
72
  params.require(:image).permit(:title, :description, :file, :lock_version)
106
73
  end
107
74
 
@@ -110,8 +77,8 @@ module Integral
110
77
  add_breadcrumb I18n.t('integral.navigation.images'), :backend_img_index_path
111
78
  end
112
79
 
113
- def notification_message(namespace_type)
114
- super('images', namespace_type)
80
+ def white_listed_grid_params
81
+ %i[descending order page user action object title]
115
82
  end
116
83
  end
117
84
  end
@@ -2,9 +2,9 @@ module Integral
2
2
  module Backend
3
3
  # List controller
4
4
  class ListsController < BaseController
5
- before_action :set_list, only: %i[edit update destroy clone]
5
+ before_action :set_resource, only: %i[edit update destroy duplicate]
6
6
  before_action :authorize_with_klass
7
- before_action -> { set_grid(Integral::Grids::ListsGrid) }, only: [:index]
7
+ before_action -> { set_grid }, only: [:index]
8
8
 
9
9
  # GET /
10
10
  # Lists all lists
@@ -17,91 +17,30 @@ module Integral
17
17
  end
18
18
  end
19
19
 
20
- # GET /new
21
- # List creation form
22
- def new
23
- add_breadcrumb I18n.t('integral.breadcrumbs.new'), :new_backend_list_path
24
- @list = List.new
25
- end
26
-
27
- # POST /
28
- # List creation
29
- def create
30
- @list = List.new(list_params)
31
-
32
- if @list.save
33
- respond_successfully(notification_message('creation_success'), edit_backend_list_path(@list))
34
- else
35
- respond_failure(notification_message('creation_failure'), @list, :new)
36
- end
37
- end
38
-
39
- # GET /:id/edit
40
- # List edit form
41
- def edit
42
- @list = List.find(params[:id])
43
-
44
- add_breadcrumb I18n.t('integral.breadcrumbs.edit'), :edit_backend_list_path
45
- end
46
-
47
- # GET /:id/clone
48
- # Clone a list
49
- def clone
50
- title = params[:title].present? ? params[:title] : "#{@list.title} Copy"
51
- title = "#{title} #{SecureRandom.hex[1..5]}" if Integral::List.find_by_title(title).present?
52
-
53
- cloned_list = @list.dup(title)
54
-
55
- if cloned_list.save
56
- respond_successfully(notification_message('creation_success'), backend_list_path(cloned_list))
57
- else
58
- respond_failure(notification_message('creation_failure'), @list, :edit)
59
- end
60
- end
61
-
62
- # PUT /:id
63
- # Updating an list
64
- def update
65
- if @list.update(list_params)
66
- respond_successfully(notification_message('edit_success'), edit_backend_list_path(@list))
67
- else
68
- respond_failure(notification_message('edit_failure'), @list, :edit)
69
- end
70
- end
71
-
72
- # DELETE /:id
73
- def destroy
74
- if @list.destroy
75
- respond_successfully(notification_message('delete_success'), backend_lists_path)
76
- else
77
- error_message = @list.errors.full_messages.to_sentence
78
- flash[:error] = "#{notification_message('delete_failure')} - #{error_message}"
79
- redirect_to backend_lists_path
20
+ # POST /:id/duplicate
21
+ # Duplicate a resource
22
+ def duplicate
23
+ super do |cloned_resource|
24
+ cloned_resource.title = "Copy #{@resource.title}"
80
25
  end
81
26
  end
82
27
 
83
28
  private
84
29
 
85
- def grid_options
86
- default_grid_options = { 'order' => 'updated_at',
87
- 'page' => 1,
88
- 'descending' => true }
89
- grid_params = params[:grid].present? ? params[:grid].permit(:descending, :order, :page, :title) : {}
90
- grid_params.delete_if { |_k, v| v.empty? }
91
- default_grid_options.merge(grid_params)
30
+ def white_listed_grid_params
31
+ %i[descending order page user action object title]
92
32
  end
93
- helper_method :grid_options
94
33
 
95
- def authorize_with_klass
96
- authorize List
34
+ def resource_klass
35
+ Integral::List
97
36
  end
98
37
 
99
- def set_list
100
- @list = List.find(params[:id])
101
- @list.list_items&.order(:priority)
38
+ def set_resource
39
+ @resource = List.find(params[:id])
40
+ @resource.list_items&.order(:priority)
102
41
  end
103
42
 
104
- def list_params
43
+ def resource_params
105
44
  params.require(:list).permit(
106
45
  :title, :description, :html_id, :html_classes, :lock_version, :children, :list_item_limit,
107
46
  list_items_attributes: [
@@ -118,15 +57,6 @@ module Integral
118
57
  target priority description subtitle html_classes _destroy
119
58
  ]
120
59
  end
121
-
122
- def set_breadcrumbs
123
- add_breadcrumb I18n.t('integral.breadcrumbs.dashboard'), :backend_dashboard_path
124
- add_breadcrumb I18n.t('integral.breadcrumbs.lists'), :backend_lists_path
125
- end
126
-
127
- def notification_message(namespace_type)
128
- super('lists', namespace_type)
129
- end
130
60
  end
131
61
  end
132
62
  end
@@ -2,90 +2,18 @@ module Integral
2
2
  module Backend
3
3
  # Pages controller
4
4
  class PagesController < BaseController
5
- before_action :set_page, only: %i[edit update destroy activities activity]
6
5
  before_action :authorize_with_klass, only: %i[index new create edit update destroy]
7
-
8
- # GET /
9
- # Lists all pages
10
- def index
11
- respond_to do |format|
12
- format.html do
13
- set_grid(Integral::Grids::PagesGrid)
14
- end
15
-
16
- format.json do
17
- if params[:gridview].present?
18
- set_grid(Integral::Grids::PagesGrid)
19
- render json: { content: render_to_string(partial: 'integral/backend/pages/grid', locals: { grid: @grid }) }
20
- else
21
- respond_to_record_selector(Integral::Page)
22
- end
23
- end
24
- end
25
- end
26
-
27
- # GET /new
28
- # Page creation form
29
- def new
30
- add_breadcrumb I18n.t('integral.navigation.new'), :new_backend_page_path
31
- @page = Page.new
32
- end
33
-
34
- # POST /
35
- # Page creation
36
- def create
37
- @page = Page.new(page_params)
38
-
39
- if @page.save
40
- respond_successfully(notification_message('creation_success'), edit_backend_page_path(@page))
41
- else
42
- respond_failure(notification_message('creation_failure'), @page, :new)
43
- end
44
- end
45
-
46
- # GET /:id/edit
47
- # Page edit form
48
- def edit
49
- # add_breadcrumb @page.title, backend_page_url(@page)
50
- add_breadcrumb I18n.t('integral.navigation.edit'), :edit_backend_page_path
51
- end
52
-
53
- # PUT /:id
54
- # Updating an page
55
- def update
56
- if @page.update(page_params)
57
- respond_successfully(notification_message('edit_success'), edit_backend_page_path(@page))
58
- else
59
- respond_failure(notification_message('edit_failure'), @page, :edit)
60
- end
61
- end
62
-
63
- # DELETE /:id
64
- def destroy
65
- if @page.destroy
66
- respond_successfully(notification_message('delete_success'), backend_pages_path)
67
- else
68
- error_message = @page.errors.full_messages.to_sentence
69
- flash[:error] = "#{notification_message('delete_failure')} - #{error_message}"
70
- redirect_to backend_pages_path
6
+ before_action :set_resource, only: %i[edit update destroy show activities activity duplicate]
7
+
8
+ # POST /:id/duplicate
9
+ # Duplicate a resource
10
+ def duplicate
11
+ super do |cloned_resource|
12
+ cloned_resource.title = "Copy #{@resource.title[0...Integral.title_length_maximum - 5]}"
13
+ cloned_resource.path += "-#{SecureRandom.hex[1..5]}"
71
14
  end
72
15
  end
73
16
 
74
- # GET /:id/activities
75
- def activities
76
- respond_with_activities(:edit_backend_page_url)
77
- end
78
-
79
- # GET /:id/activities/:id
80
- def activity
81
- authorize Version
82
-
83
- add_breadcrumb I18n.t('integral.navigation.activity'), :activities_backend_page_url
84
- add_breadcrumb I18n.t('integral.actions.view')
85
-
86
- @activity = PageVersion.find(params[:activity_id]).decorate
87
- end
88
-
89
17
  # @return [BasePolicy] current authorization policy
90
18
  def current_policy
91
19
  return policy(@page) if @page
@@ -95,47 +23,16 @@ module Integral
95
23
 
96
24
  private
97
25
 
98
- def grid_options
99
- default_grid_options = { 'order' => 'updated_at',
100
- 'page' => 1,
101
- 'descending' => true }
102
- grid_params = params[:grid].present? ? params[:grid].permit(:descending, :order, :page, :title, :status) : {}
103
- grid_params.delete_if { |_k, v| v.empty? }
104
- default_grid_options.merge(grid_params)
105
- end
106
- helper_method :grid_options
107
-
108
- def activity_grid_options
109
- default_grid_options = { 'order' => 'date',
110
- 'page' => 1,
111
- 'descending' => true,
112
- 'item_id' => @page&.id,
113
- 'object' => 'Integral::Page' }
114
- grid_params = params[:grid].present? ? params[:grid].permit(:descending, :order, :page, :user, :action, :object) : {}
115
- grid_params.delete_if { |_k, v| v.empty? }
116
- default_grid_options.merge(grid_params)
117
- end
118
- helper_method :activity_grid_options
119
-
120
- def authorize_with_klass
121
- authorize Page
122
- end
123
-
124
- def set_page
125
- @page = Page.find(params[:id])
126
- end
127
-
128
- def page_params
26
+ def resource_params
129
27
  params.require(:page).permit(current_policy.permitted_attributes)
130
28
  end
131
29
 
132
- def set_breadcrumbs
133
- add_breadcrumb I18n.t('integral.navigation.dashboard'), :backend_dashboard_path
134
- add_breadcrumb I18n.t('integral.navigation.pages'), :backend_pages_path
30
+ def white_listed_grid_params
31
+ %i[descending order page user action object title status]
135
32
  end
136
33
 
137
- def notification_message(namespace_type)
138
- super('pages', namespace_type)
34
+ def resource_klass
35
+ Integral::Page
139
36
  end
140
37
  end
141
38
  end
@@ -2,130 +2,43 @@ module Integral
2
2
  module Backend
3
3
  # Post management
4
4
  class PostsController < BaseController
5
- before_action :set_post, only: %i[edit update destroy show activities activity]
6
-
7
- # GET /
8
- # Lists all posts
9
- def index
10
- respond_to do |format|
11
- format.html do
12
- set_grid(Integral::Grids::PostsGrid)
13
- end
14
-
15
- format.json do
16
- if params[:gridview].present?
17
- set_grid(Integral::Grids::PostsGrid)
18
- render json: { content: render_to_string(partial: 'integral/backend/posts/grid', locals: { grid: @grid }) }
19
- else
20
- respond_to_record_selector(Integral::Post)
21
- end
22
- end
5
+ before_action :authorize_with_klass, only: %i[index new create edit update destroy]
6
+ before_action :set_resource, only: %i[edit update destroy show activities activity duplicate]
7
+
8
+ # POST /:id/duplicate
9
+ # Duplicate a resource
10
+ def duplicate
11
+ super do |cloned_resource|
12
+ cloned_resource.title = "Copy #{@resource.title[0...Integral.title_length_maximum - 5]}"
13
+ cloned_resource.view_count = 0
14
+ cloned_resource.tag_list = @resource.tag_list_on(@resource.tag_context)
15
+ cloned_resource.slug = @resource.slug
16
+ cloned_resource.status = :draft
23
17
  end
24
18
  end
25
19
 
26
20
  # GET /new
27
- # Post creation form
21
+ # Post creation screen
28
22
  def new
29
- add_breadcrumb I18n.t('integral.navigation.new'), :new_backend_post_path
30
- @post = Post.new
31
- end
32
-
33
- # POST /
34
- # Post creation
35
- def create
36
- @post = Post.new(post_params)
37
- @post.user = current_user
38
-
39
- if @post.save
40
- respond_successfully(notification_message('creation_success'), edit_backend_post_path(@post.id))
41
- else
42
- respond_failure(notification_message('creation_failure'), @post, :new)
43
- end
44
- end
45
-
46
- # GET /:id/edit
47
- # Post edit form
48
- def edit
49
- add_breadcrumb I18n.t('integral.navigation.edit'), :edit_backend_post_path
50
- end
51
-
52
- # PUT /:id
53
- # Updating a post
54
- def update
55
- if @post.update(post_params)
56
- respond_successfully(notification_message('edit_success'), edit_backend_post_path(@post.id))
57
- else
58
- respond_failure(notification_message('edit_failure'), @post, :edit)
59
- end
60
- end
61
-
62
- # DELETE /:id
63
- def destroy
64
- if @post.destroy
65
- respond_successfully(notification_message('delete_success'), backend_posts_path)
66
- else
67
- flash[:error] = notification_message('delete_failure')
68
- redirect_to backend_posts_path
69
- end
70
- end
71
-
72
- # GET /:id/activities
73
- def activities
74
- respond_with_activities(:edit_backend_post_url)
75
- end
76
-
77
- # GET /:id/activities/:id
78
- def activity
79
- authorize Version
80
-
81
- add_breadcrumb I18n.t('integral.navigation.activity'), :activities_backend_post_url
82
- add_breadcrumb I18n.t('integral.actions.view')
83
-
84
- @activity = PostVersion.find(params[:activity_id]).decorate
23
+ super
24
+ @resource.user = current_user
85
25
  end
86
26
 
87
27
  private
88
28
 
89
- def grid_options
90
- default_grid_options = { 'order' => 'updated_at',
91
- 'page' => 1,
92
- 'descending' => true }
93
- grid_params = params[:grid].present? ? params[:grid].permit(:descending, :order, :page, :title, :user, :status) : {}
94
- grid_params.delete_if { |_k, v| v.empty? }
95
- default_grid_options.merge(grid_params)
96
- end
97
- helper_method :grid_options
98
-
99
- def activity_grid_options
100
- default_grid_options = { 'order' => 'date',
101
- 'page' => 1,
102
- 'descending' => true,
103
- 'item_id' => @post.id,
104
- 'object' => 'Integral::Post' }
105
- grid_params = params[:grid].present? ? params[:grid].permit(:descending, :order, :page, :user, :action, :object) : {}
106
- grid_params.delete_if { |_k, v| v.empty? }
107
- default_grid_options.merge(grid_params)
108
- end
109
- helper_method :activity_grid_options
110
-
111
- def set_post
112
- @post = Post.find(params[:id])
113
- end
114
-
115
- def post_params
116
- permitted_post_params = %i[title slug body description tag_list image_id preview_image_id status lock_version]
29
+ def resource_params
30
+ permitted_post_params = %i[title slug body description tag_list image_id preview_image_id status lock_version user_id]
117
31
 
118
32
  permitted_post_params.concat Integral.additional_post_params
119
33
  params.require(:post).permit(*permitted_post_params)
120
34
  end
121
35
 
122
- def set_breadcrumbs
123
- add_breadcrumb I18n.t('integral.navigation.dashboard'), :backend_dashboard_path
124
- add_breadcrumb I18n.t('integral.navigation.posts'), :backend_posts_path
36
+ def white_listed_grid_params
37
+ %i[descending order page user action object title status]
125
38
  end
126
39
 
127
- def notification_message(namespace_type)
128
- super('posts', namespace_type)
40
+ def resource_klass
41
+ Integral::Post
129
42
  end
130
43
  end
131
44
  end