qbrick 2.5.0.pre

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 (297) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +423 -0
  3. data/Rakefile +82 -0
  4. data/app/assets/javascripts/ckeditor/plugins/adv_link/LICENSE.txt +674 -0
  5. data/app/assets/javascripts/ckeditor/plugins/adv_link/README.md +62 -0
  6. data/app/assets/javascripts/ckeditor/plugins/adv_link/dialogs/anchor.js.coffee +81 -0
  7. data/app/assets/javascripts/ckeditor/plugins/adv_link/dialogs/link.js.coffee +1353 -0
  8. data/app/assets/javascripts/ckeditor/plugins/adv_link/images/anchor.png +0 -0
  9. data/app/assets/javascripts/ckeditor/plugins/adv_link/images/hidpi/anchor.png +0 -0
  10. data/app/assets/javascripts/ckeditor/plugins/adv_link/lang/de.js +68 -0
  11. data/app/assets/javascripts/ckeditor/plugins/adv_link/lang/en.js +68 -0
  12. data/app/assets/javascripts/ckeditor/plugins/adv_link/plugin.js.coffee +282 -0
  13. data/app/assets/javascripts/kuhsaft/application.js.coffee +7 -0
  14. data/app/assets/javascripts/kuhsaft/cms/application.js.coffee.erb +136 -0
  15. data/app/assets/javascripts/kuhsaft/views/read_more_view.js.coffee +17 -0
  16. data/app/assets/stylesheets/kuhsaft/application.css.sass +1 -0
  17. data/app/assets/stylesheets/kuhsaft/cms/application.css.sass +204 -0
  18. data/app/assets/stylesheets/kuhsaft/modules/_text_brick.css.sass +16 -0
  19. data/app/controllers/kuhsaft/api/pages_controller.rb +14 -0
  20. data/app/controllers/kuhsaft/cms/admin_controller.rb +18 -0
  21. data/app/controllers/kuhsaft/cms/assets_controller.rb +38 -0
  22. data/app/controllers/kuhsaft/cms/bricks_controller.rb +61 -0
  23. data/app/controllers/kuhsaft/cms/ckimages_controller.rb +26 -0
  24. data/app/controllers/kuhsaft/cms/pages_controller.rb +71 -0
  25. data/app/controllers/kuhsaft/pages_controller.rb +38 -0
  26. data/app/controllers/kuhsaft/sitemaps_controller.rb +12 -0
  27. data/app/helpers/cms_helper.rb +27 -0
  28. data/app/helpers/kuhsaft/admin_helper.rb +20 -0
  29. data/app/helpers/kuhsaft/cms/admin_helper.rb +21 -0
  30. data/app/helpers/kuhsaft/cms/pages_helper.rb +17 -0
  31. data/app/helpers/pages_helper.rb +49 -0
  32. data/app/helpers/sitemaps_helper.rb +12 -0
  33. data/app/models/kuhsaft/accordion_brick.rb +15 -0
  34. data/app/models/kuhsaft/accordion_item_brick.rb +21 -0
  35. data/app/models/kuhsaft/anchor_brick.rb +17 -0
  36. data/app/models/kuhsaft/asset.rb +29 -0
  37. data/app/models/kuhsaft/asset_brick.rb +26 -0
  38. data/app/models/kuhsaft/brick.rb +137 -0
  39. data/app/models/kuhsaft/brick_type.rb +7 -0
  40. data/app/models/kuhsaft/brick_type_filter.rb +18 -0
  41. data/app/models/kuhsaft/ckimage.rb +5 -0
  42. data/app/models/kuhsaft/cms.rb +7 -0
  43. data/app/models/kuhsaft/column_brick.rb +22 -0
  44. data/app/models/kuhsaft/image_brick.rb +16 -0
  45. data/app/models/kuhsaft/image_size.rb +51 -0
  46. data/app/models/kuhsaft/link_brick.rb +21 -0
  47. data/app/models/kuhsaft/page.rb +160 -0
  48. data/app/models/kuhsaft/page_type.rb +11 -0
  49. data/app/models/kuhsaft/partition.rb +18 -0
  50. data/app/models/kuhsaft/placeholder_brick.rb +23 -0
  51. data/app/models/kuhsaft/publish_state.rb +24 -0
  52. data/app/models/kuhsaft/slider_brick.rb +18 -0
  53. data/app/models/kuhsaft/text_brick.rb +23 -0
  54. data/app/models/kuhsaft/two_column_brick.rb +46 -0
  55. data/app/models/kuhsaft/video_brick.rb +22 -0
  56. data/app/uploaders/kuhsaft/asset_brick_asset_uploader.rb +43 -0
  57. data/app/uploaders/kuhsaft/asset_uploader.rb +50 -0
  58. data/app/uploaders/kuhsaft/ckimage_uploader.rb +16 -0
  59. data/app/uploaders/kuhsaft/image_brick_image_uploader.rb +35 -0
  60. data/app/views/kuhsaft/accordion_bricks/_accordion_brick.html.haml +3 -0
  61. data/app/views/kuhsaft/accordion_bricks/accordion_brick/_edit.html.haml +0 -0
  62. data/app/views/kuhsaft/accordion_item_bricks/_accordion_item_brick.html.haml +8 -0
  63. data/app/views/kuhsaft/accordion_item_bricks/accordion_item_brick/_edit.html.haml +1 -0
  64. data/app/views/kuhsaft/anchor_bricks/_anchor_brick.html.haml +1 -0
  65. data/app/views/kuhsaft/anchor_bricks/anchor_brick/_edit.html.haml +1 -0
  66. data/app/views/kuhsaft/asset_bricks/_asset_brick.html.haml +2 -0
  67. data/app/views/kuhsaft/asset_bricks/asset_brick/_edit.html.haml +8 -0
  68. data/app/views/kuhsaft/cms/admin/_brick_type_dropdown.html.haml +14 -0
  69. data/app/views/kuhsaft/cms/admin/_content_language_switch.html.haml +7 -0
  70. data/app/views/kuhsaft/cms/admin/_empty_state.html.haml +5 -0
  71. data/app/views/kuhsaft/cms/admin/_flash.html.haml +7 -0
  72. data/app/views/kuhsaft/cms/admin/_main_navigation.html.haml +6 -0
  73. data/app/views/kuhsaft/cms/assets/_form.html.haml +15 -0
  74. data/app/views/kuhsaft/cms/assets/_list.html.haml +11 -0
  75. data/app/views/kuhsaft/cms/assets/edit.html.haml +2 -0
  76. data/app/views/kuhsaft/cms/assets/index.html.haml +3 -0
  77. data/app/views/kuhsaft/cms/assets/new.html.haml +2 -0
  78. data/app/views/kuhsaft/cms/bricks/_brick_header.html.haml +43 -0
  79. data/app/views/kuhsaft/cms/bricks/_brick_item.html.haml +25 -0
  80. data/app/views/kuhsaft/cms/bricks/_brick_list.html.haml +4 -0
  81. data/app/views/kuhsaft/cms/bricks/_new.html.haml +41 -0
  82. data/app/views/kuhsaft/cms/bricks/_sort_form.html.haml +3 -0
  83. data/app/views/kuhsaft/cms/bricks/create.js.erb +11 -0
  84. data/app/views/kuhsaft/cms/bricks/destroy.js.erb +10 -0
  85. data/app/views/kuhsaft/cms/bricks/new.js.erb +14 -0
  86. data/app/views/kuhsaft/cms/bricks/update.js.erb +8 -0
  87. data/app/views/kuhsaft/cms/ckimages/create.html.haml +11 -0
  88. data/app/views/kuhsaft/cms/ckimages/destroy.js.erb +2 -0
  89. data/app/views/kuhsaft/cms/ckimages/index.html.haml +13 -0
  90. data/app/views/kuhsaft/cms/pages/_branch.html.haml +19 -0
  91. data/app/views/kuhsaft/cms/pages/_form.html.haml +45 -0
  92. data/app/views/kuhsaft/cms/pages/edit.html.haml +16 -0
  93. data/app/views/kuhsaft/cms/pages/index.html.haml +14 -0
  94. data/app/views/kuhsaft/cms/pages/new.html.haml +1 -0
  95. data/app/views/kuhsaft/cms/pages/show.html.haml +0 -0
  96. data/app/views/kuhsaft/cms/pages/sort.js.erb +0 -0
  97. data/app/views/kuhsaft/column_bricks/_column_brick.html.haml +3 -0
  98. data/app/views/kuhsaft/column_bricks/column_brick/_edit.html.haml +0 -0
  99. data/app/views/kuhsaft/image_bricks/_image_brick.html.haml +11 -0
  100. data/app/views/kuhsaft/image_bricks/image_brick/_edit.html.haml +13 -0
  101. data/app/views/kuhsaft/link_bricks/_link_brick.html.haml +2 -0
  102. data/app/views/kuhsaft/link_bricks/link_brick/_edit.html.haml +4 -0
  103. data/app/views/kuhsaft/pages/index.html.haml +7 -0
  104. data/app/views/kuhsaft/pages/show.html.haml +11 -0
  105. data/app/views/kuhsaft/placeholder_bricks/_placeholder_brick.html.haml +2 -0
  106. data/app/views/kuhsaft/placeholder_bricks/placeholder_brick/_edit.html.haml +1 -0
  107. data/app/views/kuhsaft/search/_form.html.haml +2 -0
  108. data/app/views/kuhsaft/search/_results.html.haml +8 -0
  109. data/app/views/kuhsaft/search/_results_entry.html.haml +13 -0
  110. data/app/views/kuhsaft/sitemaps/index.xml.haml +9 -0
  111. data/app/views/kuhsaft/slider_bricks/_slider_brick.html.haml +10 -0
  112. data/app/views/kuhsaft/slider_bricks/slider_brick/_edit.html.haml +0 -0
  113. data/app/views/kuhsaft/text_bricks/_text_brick.html.haml +11 -0
  114. data/app/views/kuhsaft/text_bricks/text_brick/_edit.html.haml +2 -0
  115. data/app/views/kuhsaft/two_column_bricks/_two_column_brick.html.haml +3 -0
  116. data/app/views/kuhsaft/two_column_bricks/two_column_brick/_childs.html.haml +5 -0
  117. data/app/views/kuhsaft/two_column_bricks/two_column_brick/_edit.html.haml +1 -0
  118. data/app/views/kuhsaft/video_bricks/_video_brick.html.haml +9 -0
  119. data/app/views/kuhsaft/video_bricks/video_brick/_edit.html.haml +8 -0
  120. data/app/views/layouts/kuhsaft/cms/application.html.haml +25 -0
  121. data/app/views/layouts/kuhsaft/cms/ckimages.html.haml +18 -0
  122. data/config/initializers/simple_form.rb +142 -0
  123. data/config/initializers/simple_form_bootstrap.rb +45 -0
  124. data/config/locales/de.yml +207 -0
  125. data/config/locales/en.yml +211 -0
  126. data/config/locales/models/kuhsaft/accordion_brick/de.yml +4 -0
  127. data/config/locales/models/kuhsaft/accordion_brick/en.yml +4 -0
  128. data/config/locales/models/kuhsaft/accordion_item_brick/de.yml +7 -0
  129. data/config/locales/models/kuhsaft/accordion_item_brick/en.yml +7 -0
  130. data/config/locales/models/kuhsaft/anchor_brick/de.yml +7 -0
  131. data/config/locales/models/kuhsaft/anchor_brick/en.yml +7 -0
  132. data/config/locales/models/kuhsaft/asset_brick/de.yml +9 -0
  133. data/config/locales/models/kuhsaft/asset_brick/en.yml +9 -0
  134. data/config/locales/models/kuhsaft/brick/de.yml +5 -0
  135. data/config/locales/models/kuhsaft/brick/en.yml +5 -0
  136. data/config/locales/models/kuhsaft/column_brick/de.yml +4 -0
  137. data/config/locales/models/kuhsaft/column_brick/en.yml +4 -0
  138. data/config/locales/models/kuhsaft/image_brick/de.yml +11 -0
  139. data/config/locales/models/kuhsaft/image_brick/en.yml +11 -0
  140. data/config/locales/models/kuhsaft/image_size/de.yml +13 -0
  141. data/config/locales/models/kuhsaft/image_size/en.yml +13 -0
  142. data/config/locales/models/kuhsaft/link_brick/de.yml +10 -0
  143. data/config/locales/models/kuhsaft/link_brick/en.yml +10 -0
  144. data/config/locales/models/kuhsaft/page/de.yml +19 -0
  145. data/config/locales/models/kuhsaft/page/en.yml +19 -0
  146. data/config/locales/models/kuhsaft/placeholder_brick/de.yml +8 -0
  147. data/config/locales/models/kuhsaft/placeholder_brick/en.yml +8 -0
  148. data/config/locales/models/kuhsaft/slider_brick/de.yml +4 -0
  149. data/config/locales/models/kuhsaft/slider_brick/en.yml +4 -0
  150. data/config/locales/models/kuhsaft/text_brick/de.yml +11 -0
  151. data/config/locales/models/kuhsaft/text_brick/en.yml +11 -0
  152. data/config/locales/models/kuhsaft/two_column_brick/de.yml +7 -0
  153. data/config/locales/models/kuhsaft/two_column_brick/en.yml +7 -0
  154. data/config/locales/models/kuhsaft/video_brick/de.yml +9 -0
  155. data/config/locales/models/kuhsaft/video_brick/en.yml +9 -0
  156. data/config/locales/simple_form.en.yml +26 -0
  157. data/config/locales/views/kuhsaft/cms/admin/de.yml +13 -0
  158. data/config/locales/views/kuhsaft/cms/admin/en.yml +12 -0
  159. data/config/locales/views/kuhsaft/cms/bricks/de.yml +18 -0
  160. data/config/locales/views/kuhsaft/cms/bricks/en.yml +18 -0
  161. data/config/locales/views/kuhsaft/cms/pages/de.yml +31 -0
  162. data/config/locales/views/kuhsaft/cms/pages/en.yml +31 -0
  163. data/config/locales/views/kuhsaft/image_brick/de.yml +6 -0
  164. data/config/locales/views/kuhsaft/image_brick/en.yml +6 -0
  165. data/config/locales/views/kuhsaft/search/de.yml +12 -0
  166. data/config/locales/views/kuhsaft/search/en.yml +12 -0
  167. data/config/locales/views/kuhsaft/text_brick/de.yml +6 -0
  168. data/config/locales/views/kuhsaft/text_brick/en.yml +6 -0
  169. data/config/locales/views/kuhsaft/video_brick/de.yml +7 -0
  170. data/config/locales/views/kuhsaft/video_brick/en.yml +7 -0
  171. data/config/routes.rb +30 -0
  172. data/db/migrate/01_create_kuhsaft_pages.rb +31 -0
  173. data/db/migrate/02_create_kuhsaft_bricks.rb +23 -0
  174. data/db/migrate/03_create_kuhsaft_brick_types.rb +12 -0
  175. data/db/migrate/04_create_kuhsaft_assets.rb +10 -0
  176. data/db/migrate/05_remove_cms_admin.rb +9 -0
  177. data/db/migrate/06_add_template_name_to_kuhsaft_bricks.rb +7 -0
  178. data/db/migrate/07_add_default_value_to_brick_type_enabled.rb +6 -0
  179. data/db/migrate/08_add_display_styles_to_bricks.rb +5 -0
  180. data/db/migrate/09_add_additional_fields_to_kuhsaft_bricks.rb +6 -0
  181. data/db/migrate/10_add_redirect_url_to_kuhsaft_pages.rb +7 -0
  182. data/db/migrate/11_update_url_and_redirect_url_value.rb +45 -0
  183. data/db/migrate/12_regenerate_fulltext.rb +12 -0
  184. data/db/migrate/13_add_page_title_to_pages.rb +7 -0
  185. data/db/migrate/14_move_kuhsaft_assets.rb +22 -0
  186. data/db/migrate/15_add_alt_text_to_bricks.rb +5 -0
  187. data/db/migrate/16_update_default_value_for_page_type.rb +9 -0
  188. data/db/migrate/17_set_page_type_to_content_for_empty_fields.rb +7 -0
  189. data/db/migrate/18_add_identifier_to_kuhsaft_pages.rb +6 -0
  190. data/db/migrate/19_add_col_count_to_bricks.rb +5 -0
  191. data/db/migrate/20_create_kuhsaft_ckimages.rb +9 -0
  192. data/db/seeds.rb +20 -0
  193. data/lib/generators/kuhsaft/assets/install_generator.rb +25 -0
  194. data/lib/generators/kuhsaft/translations/add_generator.rb +41 -0
  195. data/lib/kuhsaft.rb +22 -0
  196. data/lib/kuhsaft/brick_list.rb +87 -0
  197. data/lib/kuhsaft/engine.rb +27 -0
  198. data/lib/kuhsaft/gridded.rb +20 -0
  199. data/lib/kuhsaft/image_uploader_mounting.rb +22 -0
  200. data/lib/kuhsaft/orderable.rb +71 -0
  201. data/lib/kuhsaft/page_tree.rb +14 -0
  202. data/lib/kuhsaft/partial_extractor.rb +21 -0
  203. data/lib/kuhsaft/searchable.rb +69 -0
  204. data/lib/kuhsaft/touch_placeholders.rb +31 -0
  205. data/lib/kuhsaft/translatable.rb +54 -0
  206. data/lib/kuhsaft/version.rb +3 -0
  207. data/lib/tasks/kuhsaft_tasks.rake +22 -0
  208. data/lib/templates/kuhsaft/assets/ck-config.js.coffee +48 -0
  209. data/lib/templates/kuhsaft/assets/customizations.css.sass +0 -0
  210. data/lib/templates/kuhsaft/assets/customizations.js.coffee +0 -0
  211. data/lib/templates/kuhsaft/translations/add_translation.erb +8 -0
  212. data/spec/controllers/kuhsaft/api/pages_controller_spec.rb +70 -0
  213. data/spec/controllers/kuhsaft/pages_controller_spec.rb +90 -0
  214. data/spec/controllers/kuhsaft/sitemaps_controller_spec.rb +13 -0
  215. data/spec/dummy/Rakefile +7 -0
  216. data/spec/dummy/app/assets/images/spec-image.png +0 -0
  217. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  218. data/spec/dummy/app/assets/javascripts/kuhsaft/cms/ck-config.js.coffee +48 -0
  219. data/spec/dummy/app/assets/javascripts/kuhsaft/cms/customizations.js.coffee +0 -0
  220. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  221. data/spec/dummy/app/assets/stylesheets/kuhsaft/cms/customizations.css.sass +0 -0
  222. data/spec/dummy/app/controllers/application_controller.rb +4 -0
  223. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  224. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  225. data/spec/dummy/bin/bundle +3 -0
  226. data/spec/dummy/bin/rails +4 -0
  227. data/spec/dummy/bin/rake +4 -0
  228. data/spec/dummy/config.ru +4 -0
  229. data/spec/dummy/config/application.rb +26 -0
  230. data/spec/dummy/config/boot.rb +3 -0
  231. data/spec/dummy/config/database.yml +19 -0
  232. data/spec/dummy/config/environment.rb +5 -0
  233. data/spec/dummy/config/environments/development.rb +29 -0
  234. data/spec/dummy/config/environments/production.rb +81 -0
  235. data/spec/dummy/config/environments/test.rb +36 -0
  236. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  237. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  238. data/spec/dummy/config/initializers/inflections.rb +16 -0
  239. data/spec/dummy/config/initializers/kuhsaft.rb +5 -0
  240. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  241. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  242. data/spec/dummy/config/initializers/session_store.rb +3 -0
  243. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  244. data/spec/dummy/config/locales/en.yml +23 -0
  245. data/spec/dummy/config/routes.rb +3 -0
  246. data/spec/dummy/db/.gitkeep +0 -0
  247. data/spec/dummy/lib/assets/.gitkeep +0 -0
  248. data/spec/dummy/log/.gitkeep +0 -0
  249. data/spec/dummy/public/404.html +26 -0
  250. data/spec/dummy/public/422.html +26 -0
  251. data/spec/dummy/public/500.html +25 -0
  252. data/spec/dummy/public/favicon.ico +0 -0
  253. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  254. data/spec/dummy/script/rails +6 -0
  255. data/spec/factories.rb +26 -0
  256. data/spec/features/cms_pages_spec.rb +76 -0
  257. data/spec/features/search_spec.rb +78 -0
  258. data/spec/helpers/kuhsaft/cms/admin_helper_spec.rb +25 -0
  259. data/spec/helpers/kuhsaft/cms/pages_helper_spec.rb +46 -0
  260. data/spec/helpers/kuhsaft/pages_helper_spec.rb +21 -0
  261. data/spec/kuhsaft_spec.rb +7 -0
  262. data/spec/lib/brick_list_spec.rb +50 -0
  263. data/spec/lib/engine_spec.rb +25 -0
  264. data/spec/lib/gridded_spec.rb +24 -0
  265. data/spec/lib/image_uploader_mounting_spec.rb +14 -0
  266. data/spec/lib/page_tree_spec.rb +38 -0
  267. data/spec/lib/searchable_spec.rb +30 -0
  268. data/spec/lib/touch_placeholders_spec.rb +44 -0
  269. data/spec/lib/translatable_spec.rb +155 -0
  270. data/spec/models/accordion_brick_spec.rb +38 -0
  271. data/spec/models/accordion_item_brick_spec.rb +50 -0
  272. data/spec/models/anchor_brick_spec.rb +26 -0
  273. data/spec/models/asset_brick_spec.rb +45 -0
  274. data/spec/models/asset_spec.rb +41 -0
  275. data/spec/models/brick_spec.rb +134 -0
  276. data/spec/models/brick_type_filter_spec.rb +64 -0
  277. data/spec/models/column_brick_spec.rb +32 -0
  278. data/spec/models/image_brick_spec.rb +49 -0
  279. data/spec/models/image_size_spec.rb +36 -0
  280. data/spec/models/link_brick_spec.rb +51 -0
  281. data/spec/models/page_spec.rb +472 -0
  282. data/spec/models/placeholder_brick_spec.rb +46 -0
  283. data/spec/models/publish_state_spec.rb +33 -0
  284. data/spec/models/slider_brick_spec.rb +26 -0
  285. data/spec/models/text_brick_spec.rb +30 -0
  286. data/spec/models/two_column_brick_spec.rb +82 -0
  287. data/spec/models/video_brick_spec.rb +32 -0
  288. data/spec/spec_helper.rb +81 -0
  289. data/spec/support/kuhsaft_spec_helper.rb +8 -0
  290. data/spec/support/write_expectation.rb +57 -0
  291. data/spec/views/kuhsaft/sitemaps/index.xml.haml_spec.rb +67 -0
  292. data/vendor/assets/javascripts/bootstrap-modal-v2.js +376 -0
  293. data/vendor/assets/javascripts/bootstrap-modalmanager.js +423 -0
  294. data/vendor/assets/javascripts/jquery.nestable.js +485 -0
  295. data/vendor/assets/stylesheets/bootstrap_modal.css +214 -0
  296. data/vendor/assets/stylesheets/nestable.css +84 -0
  297. metadata +870 -0
@@ -0,0 +1,31 @@
1
+ en:
2
+ kuhsaft:
3
+ cms:
4
+ pages:
5
+ index:
6
+ add_page: 'Add page'
7
+ form:
8
+ tab_metadata: 'Settings'
9
+ tab_content: 'Content'
10
+ hint_keywords: |
11
+ Please enter 2-6 key terms that apply to this page, as search keywords.
12
+ </br>
13
+ <strong>For example:</strong>
14
+ </br>
15
+ <em>
16
+ Keyword1, Keyword2, Keyword3
17
+ </em>
18
+ hint_description: |
19
+ Enter a page description about 140 characters.
20
+ </br>
21
+ The description is often displayed in the search results of search engines.
22
+ </br>
23
+ <strong>For example:</strong>
24
+ </br>
25
+ <em>
26
+ Description of the page content.
27
+ This description is unique and only available on this page. Other pages have their own descriptions.
28
+ </em>
29
+ expand_all: Expand all
30
+ collapse_all: Collapse all
31
+ none: none
@@ -0,0 +1,6 @@
1
+ de:
2
+ kuhsaft:
3
+ image_bricks:
4
+ image_brick:
5
+ edit:
6
+ image_preview: 'Vorschau'
@@ -0,0 +1,6 @@
1
+ en:
2
+ kuhsaft:
3
+ image_bricks:
4
+ image_brick:
5
+ edit:
6
+ image_preview: 'Preview'
@@ -0,0 +1,12 @@
1
+ de:
2
+ kuhsaft:
3
+ search:
4
+ results:
5
+ title: 'Suchresultate'
6
+ number-of-results:
7
+ one: '1 Resultat'
8
+ other: '%{count} Resultate'
9
+ no-results: 'Keine Resultate'
10
+ form:
11
+ placeholder: 'Ihre Suche'
12
+ search: 'Suchen'
@@ -0,0 +1,12 @@
1
+ en:
2
+ kuhsaft:
3
+ search:
4
+ results:
5
+ title: Search results
6
+ number-of-results:
7
+ one: '1 result'
8
+ other: '%{count} results'
9
+ no-results: 'No results'
10
+ form:
11
+ placeholder: 'Search'
12
+ search: 'Search'
@@ -0,0 +1,6 @@
1
+ de:
2
+ kuhsaft:
3
+ text_bricks:
4
+ text_brick:
5
+ read_more: 'Mehr lesen'
6
+ read_less: 'Weniger anzeigen'
@@ -0,0 +1,6 @@
1
+ en:
2
+ kuhsaft:
3
+ text_bricks:
4
+ text_brick:
5
+ read_more: 'Read more'
6
+ read_less: 'Read less'
@@ -0,0 +1,7 @@
1
+ de:
2
+ kuhsaft:
3
+ video_bricks:
4
+ video_brick:
5
+ edit:
6
+ any_source_error: 'Bitte geben Sie mindestens eine Videoquelle an.'
7
+ embed_src_optional: 'Alternativ kann ein HTML Code zum einbetten eines Videos eingefügt werden.'
@@ -0,0 +1,7 @@
1
+ en:
2
+ kuhsaft:
3
+ video_bricks:
4
+ video_brick:
5
+ edit:
6
+ any_source_error: 'Please enter at least one video source.'
7
+ embed_src_optional: 'Alternatively an HTML code can be entered to embed a video.'
data/config/routes.rb ADDED
@@ -0,0 +1,30 @@
1
+ Kuhsaft::Engine.routes.draw do
2
+
3
+ namespace :cms do
4
+ resources :pages, except: :show do
5
+ post :sort, on: :collection
6
+ end
7
+
8
+ resources :bricks, except: [:edit, :index] do
9
+ post :sort, on: :collection
10
+ end
11
+
12
+ resources :assets
13
+ resources :ckimages, only: [:create, :index, :destroy]
14
+ root to: 'pages#index'
15
+ end
16
+
17
+ scope ':locale', locale: /#{I18n.available_locales.join('|')}/ do
18
+ namespace :api, defaults: { format: :json } do
19
+ resources :pages, only: :index
20
+ end
21
+
22
+ resources :pages,
23
+ only: [:index],
24
+ defaults: { locale: I18n.locale }
25
+ get '(*url)' => 'pages#show', as: :page
26
+ end
27
+
28
+ get '/pages/:id' => 'pages#lookup_by_id'
29
+ get '/sitemap.format' => 'sitemaps#index', format: 'xml'
30
+ end
@@ -0,0 +1,31 @@
1
+ class CreateKuhsaftPages < ActiveRecord::Migration
2
+
3
+ def change
4
+ create_table :kuhsaft_pages do |t|
5
+ t.integer :position
6
+ t.string :title_en
7
+ t.string :title_de
8
+ t.string :slug_en
9
+ t.string :slug_de
10
+ t.string :keywords_en
11
+ t.string :keywords_de
12
+ t.text :description_en
13
+ t.text :description_de
14
+ t.text :body_en
15
+ t.text :body_de
16
+ t.integer :published
17
+ t.references :page
18
+ t.text :url_en
19
+ t.text :url_de
20
+ t.string :page_type
21
+ t.text :fulltext_en
22
+ t.text :fulltext_de
23
+ t.string :ancestry
24
+ t.timestamps
25
+ end
26
+
27
+ add_index :kuhsaft_pages, :ancestry
28
+ add_index :kuhsaft_pages, :published
29
+ end
30
+
31
+ end
@@ -0,0 +1,23 @@
1
+ class CreateKuhsaftBricks < ActiveRecord::Migration
2
+
3
+ def change
4
+ create_table :kuhsaft_bricks do |t|
5
+ t.integer :position
6
+ t.references :brick_list, :polymorphic => true # all bricks
7
+ t.string :type # all bricks
8
+ t.string :locale # all bricks
9
+ t.text :text # TextBrick
10
+ t.text :read_more_text # TextBrick
11
+ t.string :caption # LinkBrick, ImageBrick, AccordionItemBrick, AnchorBrick
12
+ t.text :href # LinkBrick, ImageBrick, VideoBrick
13
+ t.string :link_style # LinkBrick
14
+ t.integer :partitioning # TwoColumnBrick
15
+ t.string :image # ImageBrick
16
+ t.string :image_size # ImageBrick
17
+ t.text :embed_src # VideoBrick
18
+ t.string :video # VideoBrick
19
+ t.timestamps
20
+ end
21
+ end
22
+
23
+ end
@@ -0,0 +1,12 @@
1
+ class CreateKuhsaftBrickTypes < ActiveRecord::Migration
2
+
3
+ def change
4
+ create_table :kuhsaft_brick_types do |t|
5
+ t.string :class_name
6
+ t.string :group
7
+ t.boolean :disabled
8
+ t.timestamps
9
+ end
10
+ end
11
+
12
+ end
@@ -0,0 +1,10 @@
1
+ class CreateKuhsaftAssets < ActiveRecord::Migration
2
+
3
+ def change
4
+ create_table :kuhsaft_assets do |t|
5
+ t.string :file
6
+ t.timestamps
7
+ end
8
+ end
9
+
10
+ end
@@ -0,0 +1,9 @@
1
+ class RemoveCmsAdmin < ActiveRecord::Migration
2
+ def change
3
+ if ActiveRecord::Base.connection.table_exists?(:kuhsaft_cms_admins)
4
+ drop_table :kuhsaft_cms_admins
5
+ else
6
+ puts 'kuhsaft_cms_admins table does not exist, not deleting'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ class AddTemplateNameToKuhsaftBricks < ActiveRecord::Migration
2
+ def change
3
+ change_table :kuhsaft_bricks do |t|
4
+ t.string :template_name
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ class AddDefaultValueToBrickTypeEnabled < ActiveRecord::Migration
2
+ def change
3
+ rename_column :kuhsaft_brick_types, :disabled, :enabled
4
+ change_column :kuhsaft_brick_types, :enabled, :boolean, :default => true
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddDisplayStylesToBricks < ActiveRecord::Migration
2
+ def change
3
+ add_column :kuhsaft_bricks, :display_styles, :text
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddAdditionalFieldsToKuhsaftBricks < ActiveRecord::Migration
2
+ def change
3
+ add_column :kuhsaft_bricks, :asset, :string
4
+ add_column :kuhsaft_bricks, :open_in_new_window, :boolean
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ class AddRedirectUrlToKuhsaftPages < ActiveRecord::Migration
2
+ def change
3
+ I18n.available_locales.each do |locale|
4
+ add_column :kuhsaft_pages, "redirect_url_#{locale.to_s.underscore}", :text
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,45 @@
1
+ class UpdateUrlAndRedirectUrlValue < ActiveRecord::Migration
2
+ def up
3
+ @redirect_pages = Kuhsaft::Page.where(:page_type => 'redirect')
4
+ I18n.available_locales.each do |locale|
5
+ move_url_to_redirect_url(locale.to_s.underscore)
6
+ end
7
+ end
8
+
9
+ def down
10
+ @redirect_pages = Kuhsaft::Page.where(:page_type => 'redirect')
11
+ I18n.available_locales.each do |locale|
12
+ move_redirect_url_to_url(locale.to_s.underscore)
13
+ end
14
+
15
+ end
16
+
17
+ def move_url_to_redirect_url(locale)
18
+ I18n.with_locale(locale) do
19
+ @redirect_pages.each do |redirect_page|
20
+ redirect_url = redirect_page.url
21
+ redirect_page.update_attributes(:url => update_url(redirect_page), :redirect_url => redirect_url) if redirect_page
22
+ end
23
+ end
24
+ end
25
+
26
+ def move_redirect_url_to_url(locale)
27
+ I18n.with_locale(locale) do
28
+ @redirect_pages.each do |redirect_page|
29
+ url = redirect_page.redirect_url
30
+ redirect_page.update_attributes(:url => url, :redirect_url => nil, :page_type => nil) if redirect_page
31
+ end
32
+ end
33
+ end
34
+
35
+ def update_url(page)
36
+ complete_slug = ''
37
+ if page.parent.present?
38
+ complete_slug << page.parent.url.to_s
39
+ else
40
+ complete_slug = I18n.locale.to_s.underscore
41
+ end
42
+ complete_slug << "/#{page.slug}"
43
+ complete_slug
44
+ end
45
+ end
@@ -0,0 +1,12 @@
1
+ class RegenerateFulltext < ActiveRecord::Migration
2
+ def up
3
+ Kuhsaft::Page.all.each do |p|
4
+ I18n.available_locales.each do |locale|
5
+ I18n.with_locale do
6
+ puts "Save #{p.locale_attr(:fulltext)} #{p.link}"
7
+ p.save!
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ class AddPageTitleToPages < ActiveRecord::Migration
2
+ def change
3
+ I18n.available_locales.each do |locale|
4
+ add_column :kuhsaft_pages, "page_title_#{locale.to_s.underscore}", :text
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,22 @@
1
+ class MoveKuhsaftAssets < ActiveRecord::Migration
2
+ def old_kuhsaft_assets_dir
3
+ File.join(Rails.root,'public/uploads/kuhsaft')
4
+ end
5
+
6
+ def new_kuhsaft_assets_dir
7
+ File.join(Rails.root,'public/uploads/cms')
8
+ end
9
+
10
+ def up
11
+ if File.exists? old_kuhsaft_assets_dir
12
+ puts "Moving Kuhsaft Assets from #{old_kuhsaft_assets_dir} to #{new_kuhsaft_assets_dir}"
13
+ File.rename old_kuhsaft_assets_dir, new_kuhsaft_assets_dir
14
+ end
15
+ end
16
+
17
+ def down
18
+ if File.exists? new_kuhsaft_assets_dir
19
+ File.rename new_kuhsaft_assets_dir, old_kuhsaft_assets_dir
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,5 @@
1
+ class AddAltTextToBricks < ActiveRecord::Migration
2
+ def change
3
+ add_column :kuhsaft_bricks, :alt_text, :string
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class UpdateDefaultValueForPageType < ActiveRecord::Migration
2
+ def up
3
+ change_column :kuhsaft_pages, :page_type, :string, :default => Kuhsaft::PageType::CONTENT
4
+ end
5
+
6
+ def down
7
+ change_column_default(:kuhsaft_pages, :page_type, nil)
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ class SetPageTypeToContentForEmptyFields < ActiveRecord::Migration
2
+ def change
3
+ Kuhsaft::Page.where( "page_type is NULL or page_type = ''" ).each do |page|
4
+ page.update_attribute(:page_type, Kuhsaft::PageType::CONTENT)
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ class AddIdentifierToKuhsaftPages < ActiveRecord::Migration
2
+ def change
3
+ add_column :kuhsaft_pages, :identifier, :string
4
+ add_index :kuhsaft_pages, :identifier, unique: true
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddColCountToBricks < ActiveRecord::Migration
2
+ def change
3
+ add_column :kuhsaft_bricks, :col_count, :integer, default: 0
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class CreateKuhsaftCkimages < ActiveRecord::Migration
2
+ def change
3
+ create_table :kuhsaft_ckimages do |t|
4
+ t.string :file
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
data/db/seeds.rb ADDED
@@ -0,0 +1,20 @@
1
+ # Add default kuhsaft brick types
2
+ brick_types = [
3
+ { class_name: 'Kuhsaft::TextBrick', group: 'elements' },
4
+ { class_name: 'Kuhsaft::LinkBrick', group: 'elements' },
5
+ { class_name: 'Kuhsaft::VideoBrick', group: 'elements' },
6
+ { class_name: 'Kuhsaft::AccordionBrick', group: 'elements' },
7
+ { class_name: 'Kuhsaft::AccordionItemBrick', group: 'elements' },
8
+ { class_name: 'Kuhsaft::TwoColumnBrick', group: 'layout_elements' },
9
+ { class_name: 'Kuhsaft::SliderBrick', group: 'elements' },
10
+ { class_name: 'Kuhsaft::ImageBrick', group: 'elements' },
11
+ { class_name: 'Kuhsaft::PlaceholderBrick', group: 'elements' },
12
+ { class_name: 'Kuhsaft::AnchorBrick', group: 'elements' },
13
+ { class_name: 'Kuhsaft::AssetBrick', group: 'elements' }
14
+ ]
15
+
16
+ brick_types.each do |bt|
17
+ brick_type = Kuhsaft::BrickType.find_or_create_by(class_name: bt[:class_name])
18
+ brick_type.update! bt
19
+ end
20
+