spina 0.6.11

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of spina might be problematic. Click here for more details.

Files changed (326) hide show
  1. checksums.yaml +7 -0
  2. data/README.rdoc +3 -0
  3. data/Rakefile +40 -0
  4. data/app/assets/images/spina/admin/logo@2x.png +0 -0
  5. data/app/assets/javascripts/spina/admin/account.js.coffee +15 -0
  6. data/app/assets/javascripts/spina/admin/application.js +8 -0
  7. data/app/assets/javascripts/spina/admin/aviary.js.coffee +26 -0
  8. data/app/assets/javascripts/spina/admin/confirm_delete.js.coffee +24 -0
  9. data/app/assets/javascripts/spina/admin/pages.js.coffee +49 -0
  10. data/app/assets/javascripts/spina/application.js +15 -0
  11. data/app/assets/stylesheets/spina/_mixins.css.scss +34 -0
  12. data/app/assets/stylesheets/spina/_normalize.css +396 -0
  13. data/app/assets/stylesheets/spina/admin/application.css.sass +1 -0
  14. data/app/assets/stylesheets/spina/application.css.sass +6 -0
  15. data/app/controllers/spina/admin/accounts_controller.rb +50 -0
  16. data/app/controllers/spina/admin/admin_controller.rb +36 -0
  17. data/app/controllers/spina/admin/attachments_controller.rb +55 -0
  18. data/app/controllers/spina/admin/inquiries_controller.rb +63 -0
  19. data/app/controllers/spina/admin/page_parts_controller.rb +11 -0
  20. data/app/controllers/spina/admin/pages_controller.rb +92 -0
  21. data/app/controllers/spina/admin/photos_controller.rb +77 -0
  22. data/app/controllers/spina/admin/sessions_controller.rb +30 -0
  23. data/app/controllers/spina/admin/users_controller.rb +64 -0
  24. data/app/controllers/spina/application_controller.rb +26 -0
  25. data/app/controllers/spina/inquiries_controller.rb +30 -0
  26. data/app/controllers/spina/pages_controller.rb +47 -0
  27. data/app/controllers/spina/sitemaps_controller.rb +7 -0
  28. data/app/helpers/spina/admin/accounts_helper.rb +6 -0
  29. data/app/helpers/spina/admin/inquiries_helper.rb +6 -0
  30. data/app/helpers/spina/admin/page_parts_helper.rb +6 -0
  31. data/app/helpers/spina/admin/pages_helper.rb +16 -0
  32. data/app/helpers/spina/admin/photos_helper.rb +6 -0
  33. data/app/helpers/spina/admin/sessions_helper.rb +6 -0
  34. data/app/helpers/spina/admin/users_helper.rb +6 -0
  35. data/app/helpers/spina/application_helper.rb +68 -0
  36. data/app/mailers/spina/inquiry_mailer.rb +19 -0
  37. data/app/models/spina/ability.rb +20 -0
  38. data/app/models/spina/account.rb +72 -0
  39. data/app/models/spina/attachment.rb +28 -0
  40. data/app/models/spina/attachment_collection.rb +15 -0
  41. data/app/models/spina/inquiry.rb +41 -0
  42. data/app/models/spina/layout_part.rb +38 -0
  43. data/app/models/spina/line.rb +6 -0
  44. data/app/models/spina/page.rb +125 -0
  45. data/app/models/spina/page_part.rb +38 -0
  46. data/app/models/spina/photo.rb +23 -0
  47. data/app/models/spina/photo_collection.rb +30 -0
  48. data/app/models/spina/photo_collections_photo.rb +6 -0
  49. data/app/models/spina/spina.rb +7 -0
  50. data/app/models/spina/text.rb +6 -0
  51. data/app/models/spina/user.rb +31 -0
  52. data/app/presenters/spina/pages/menu_presenter.rb +82 -0
  53. data/app/uploaders/spina/file_uploader.rb +56 -0
  54. data/app/uploaders/spina/logo_uploader.rb +52 -0
  55. data/app/uploaders/spina/photo_uploader.rb +42 -0
  56. data/app/views/layouts/spina/admin/application.html.haml +37 -0
  57. data/app/views/layouts/spina/admin/media_library.html.haml +14 -0
  58. data/app/views/layouts/spina/admin/messages.html.haml +22 -0
  59. data/app/views/layouts/spina/admin/settings.html.haml +30 -0
  60. data/app/views/layouts/spina/admin/website.html.haml +26 -0
  61. data/app/views/layouts/spina/email.html.erb +124 -0
  62. data/app/views/layouts/spina/login.html.haml +21 -0
  63. data/app/views/spina/admin/accounts/_form.html.haml +55 -0
  64. data/app/views/spina/admin/accounts/analytics.html.haml +21 -0
  65. data/app/views/spina/admin/accounts/edit.html.haml +1 -0
  66. data/app/views/spina/admin/accounts/social.html.haml +23 -0
  67. data/app/views/spina/admin/accounts/style.html.haml +32 -0
  68. data/app/views/spina/admin/attachments/_attachment.html.haml +7 -0
  69. data/app/views/spina/admin/attachments/_attachment_collection.html.haml +2 -0
  70. data/app/views/spina/admin/attachments/_select.html.haml +25 -0
  71. data/app/views/spina/admin/attachments/_select_collection.html.haml +25 -0
  72. data/app/views/spina/admin/attachments/create.js.erb +5 -0
  73. data/app/views/spina/admin/attachments/index.html.haml +19 -0
  74. data/app/views/spina/admin/attachments/insert.js.erb +5 -0
  75. data/app/views/spina/admin/attachments/insert_collection.js.erb +7 -0
  76. data/app/views/spina/admin/attachments/select.js.erb +2 -0
  77. data/app/views/spina/admin/attachments/select_collection.js.erb +2 -0
  78. data/app/views/spina/admin/inquiries/inbox.html.haml +30 -0
  79. data/app/views/spina/admin/inquiries/index.html.haml +36 -0
  80. data/app/views/spina/admin/inquiries/show.html.haml +23 -0
  81. data/app/views/spina/admin/inquiries/spam.html.haml +36 -0
  82. data/app/views/spina/admin/layout_partables/_line_form.html.haml +4 -0
  83. data/app/views/spina/admin/page_partables/_attachment_collection_form.html.haml +9 -0
  84. data/app/views/spina/admin/page_partables/_attachment_form.html.haml +8 -0
  85. data/app/views/spina/admin/page_partables/_line_form.html.haml +2 -0
  86. data/app/views/spina/admin/page_partables/_photo_collection_form.html.haml +12 -0
  87. data/app/views/spina/admin/page_partables/_photo_form.html.haml +11 -0
  88. data/app/views/spina/admin/page_partables/_text_form.html.haml +21 -0
  89. data/app/views/spina/admin/page_parts/_wysihtml5_link.html.haml +12 -0
  90. data/app/views/spina/admin/page_parts/insert_wysihtml5_link.js +5 -0
  91. data/app/views/spina/admin/page_parts/wysihtml5_link.js +2 -0
  92. data/app/views/spina/admin/pages/_attachment_fields.html.haml +8 -0
  93. data/app/views/spina/admin/pages/_form.html.haml +83 -0
  94. data/app/views/spina/admin/pages/_page.html.haml +17 -0
  95. data/app/views/spina/admin/pages/edit.html.haml +11 -0
  96. data/app/views/spina/admin/pages/index.html.haml +37 -0
  97. data/app/views/spina/admin/pages/new.html.haml +11 -0
  98. data/app/views/spina/admin/pages/update.js.coffee +4 -0
  99. data/app/views/spina/admin/photos/_photo.html.haml +7 -0
  100. data/app/views/spina/admin/photos/_photo_collection.html.haml +5 -0
  101. data/app/views/spina/admin/photos/_photo_collection_select.html.haml +20 -0
  102. data/app/views/spina/admin/photos/_photo_link.html.haml +11 -0
  103. data/app/views/spina/admin/photos/_photo_select.html.haml +20 -0
  104. data/app/views/spina/admin/photos/_wysihtml5_select.html.haml +20 -0
  105. data/app/views/spina/admin/photos/create.js.erb +5 -0
  106. data/app/views/spina/admin/photos/enhance.js +0 -0
  107. data/app/views/spina/admin/photos/index.html.haml +7 -0
  108. data/app/views/spina/admin/photos/insert_photo.js.erb +10 -0
  109. data/app/views/spina/admin/photos/insert_photo_collection.js.erb +23 -0
  110. data/app/views/spina/admin/photos/link.js.erb +2 -0
  111. data/app/views/spina/admin/photos/photo_collection_select.js.erb +2 -0
  112. data/app/views/spina/admin/photos/photo_select.js.erb +2 -0
  113. data/app/views/spina/admin/photos/wysihtml5_insert.js.erb +5 -0
  114. data/app/views/spina/admin/photos/wysihtml5_select.js.erb +2 -0
  115. data/app/views/spina/admin/sessions/new.html.haml +4 -0
  116. data/app/views/spina/admin/shared/_navigation.html.haml +16 -0
  117. data/app/views/spina/admin/shared/_notifications.html.haml +16 -0
  118. data/app/views/spina/admin/users/_form.html.haml +54 -0
  119. data/app/views/spina/admin/users/edit.html.haml +1 -0
  120. data/app/views/spina/admin/users/index.html.haml +21 -0
  121. data/app/views/spina/admin/users/new.html.haml +1 -0
  122. data/app/views/spina/inquiries/create.html.haml +2 -0
  123. data/app/views/spina/inquiries/index.html.haml +19 -0
  124. data/app/views/spina/inquiry_mailer/inquiry.html.haml +15 -0
  125. data/app/views/spina/pages/_page.html.haml +3 -0
  126. data/app/views/spina/pages/homepage.html.haml +3 -0
  127. data/app/views/spina/pages/robots.text.erb +4 -0
  128. data/app/views/spina/pages/show.html.haml +1 -0
  129. data/app/views/spina/shared/_admin_bar.html.haml +4 -0
  130. data/app/views/spina/shared/_analytics.html.erb +11 -0
  131. data/app/views/spina/shared/_navigation.html.haml +3 -0
  132. data/app/views/spina/shared/_social.html.haml +5 -0
  133. data/app/views/spina/sitemaps/show.xml.builder +18 -0
  134. data/config/initializers/time_formats.rb +1 -0
  135. data/config/locales/en.yml +10 -0
  136. data/config/locales/nl.yml +213 -0
  137. data/config/routes.rb +88 -0
  138. data/db/migrate/20130412140449_create_spina_pages.rb +15 -0
  139. data/db/migrate/20130412140656_change_columns_pages.rb +6 -0
  140. data/db/migrate/20130412173041_create_spina_users.rb +12 -0
  141. data/db/migrate/20130412175403_create_spina_page_parts.rb +12 -0
  142. data/db/migrate/20130412175531_change_admin_of_users.rb +5 -0
  143. data/db/migrate/20130412180027_create_spina_page_includes.rb +12 -0
  144. data/db/migrate/20130412182257_create_spina_photos.rb +9 -0
  145. data/db/migrate/20130412191946_create_spina_accounts.rb +16 -0
  146. data/db/migrate/20130414145608_create_spina_inquiries.rb +13 -0
  147. data/db/migrate/20130422094248_add_theme_to_spina_accounts.rb +5 -0
  148. data/db/migrate/20130422161041_remove_theme_from_spina_accounts.rb +5 -0
  149. data/db/migrate/20130422194143_change_default_value_column_archived_inquiries.rb +5 -0
  150. data/db/migrate/20130425080630_change_page_includes.rb +8 -0
  151. data/db/migrate/20130426122705_add_parent_id_to_spina_pages.rb +5 -0
  152. data/db/migrate/20130426133425_change_colum_n_spina_pages_again.rb +5 -0
  153. data/db/migrate/20130426133606_bring_out_the_nukes.rb +6 -0
  154. data/db/migrate/20130429092708_add_name_to_spina_pages.rb +5 -0
  155. data/db/migrate/20130429124414_change_column_stomme_onzin.rb +6 -0
  156. data/db/migrate/20130503072744_add_last_logged_in_to_users.rb +5 -0
  157. data/db/migrate/20130503073613_change_column_spina_users.rb +5 -0
  158. data/db/migrate/20130503104857_create_spina_spina_files.rb +9 -0
  159. data/db/migrate/20130503105356_add_file_to_spina_page_parts.rb +5 -0
  160. data/db/migrate/20130503105943_change_columns_spina_files.rb +6 -0
  161. data/db/migrate/20130503110240_fix_namespaces.rb +12 -0
  162. data/db/migrate/20130503133649_create_spina_galleries.rb +10 -0
  163. data/db/migrate/20130504163456_add_seo_title_to_spina_pages.rb +5 -0
  164. data/db/migrate/20130516132913_add_spam_to_spina_inquiries.rb +5 -0
  165. data/db/migrate/20130523132347_add_page_partable_to_spina_page_parts.rb +137 -0
  166. data/db/migrate/20130527124130_remove_deprecated_columns_from_spina_page_parts.rb +11 -0
  167. data/db/migrate/20130715151201_switch_to_nested_sets_instead_of_position_pages.rb +10 -0
  168. data/db/migrate/20130719120007_add_skip_to_first_child_and_templates_to_spina_pages.rb +7 -0
  169. data/db/migrate/20130719121520_add_draft_to_spina_pages.rb +5 -0
  170. data/db/migrate/20130719122139_add_link_url_to_spina_pages.rb +5 -0
  171. data/db/migrate/20130719134545_rename_spina_file_to_attachments.rb +9 -0
  172. data/db/migrate/20130725111749_add_ancestry_to_spina_pages.rb +10 -0
  173. data/db/migrate/20130730185527_add_materialized_path_to_spina_pages.rb +5 -0
  174. data/db/migrate/20130918133920_change_column_page_parts.rb +6 -0
  175. data/db/migrate/20130919074011_create_spina_texts.rb +9 -0
  176. data/db/migrate/20130919074023_create_spina_lines.rb +9 -0
  177. data/db/migrate/20130919074838_remove_column_from_spina_page_parts.rb +5 -0
  178. data/db/migrate/20131210122702_change_column_spina_texts.rb +5 -0
  179. data/db/migrate/20131212080016_add_required_stuff_to_spina_accounts.rb +6 -0
  180. data/db/migrate/20140225141812_create_layout_parts.rb +12 -0
  181. data/db/migrate/20140225151146_add_account_id_to_spina_layout_parts.rb +5 -0
  182. data/db/migrate/20140407095608_add_active_to_spina_pages.rb +5 -0
  183. data/db/migrate/20140711154425_add_robots_allowed_to_spina_accounts.rb +5 -0
  184. data/db/migrate/20140718095419_add_position_to_spina_photo_collections_photos.rb +5 -0
  185. data/db/seeds.rb +14 -0
  186. data/lib/spina.rb +1 -0
  187. data/lib/spina/engine.rb +67 -0
  188. data/lib/spina/plugin.rb +10 -0
  189. data/lib/spina/theme.rb +21 -0
  190. data/lib/spina/version.rb +3 -0
  191. data/lib/tasks/spina_tasks.rake +12 -0
  192. data/test/dummy/README.rdoc +261 -0
  193. data/test/dummy/Rakefile +7 -0
  194. data/test/dummy/app/assets/javascripts/application.js +15 -0
  195. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  196. data/test/dummy/app/controllers/application_controller.rb +3 -0
  197. data/test/dummy/app/helpers/application_helper.rb +2 -0
  198. data/test/dummy/config.ru +4 -0
  199. data/test/dummy/config/application.rb +50 -0
  200. data/test/dummy/config/boot.rb +10 -0
  201. data/test/dummy/config/database.yml +26 -0
  202. data/test/dummy/config/environment.rb +5 -0
  203. data/test/dummy/config/environments/development.rb +41 -0
  204. data/test/dummy/config/environments/production.rb +70 -0
  205. data/test/dummy/config/environments/test.rb +36 -0
  206. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  207. data/test/dummy/config/initializers/inflections.rb +15 -0
  208. data/test/dummy/config/initializers/mime_types.rb +5 -0
  209. data/test/dummy/config/initializers/secret_token.rb +8 -0
  210. data/test/dummy/config/initializers/session_store.rb +8 -0
  211. data/test/dummy/config/initializers/spina.rb +7 -0
  212. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  213. data/test/dummy/config/locales/en.yml +5 -0
  214. data/test/dummy/config/locales/nl.yml +214 -0
  215. data/test/dummy/config/routes.rb +4 -0
  216. data/test/dummy/db/migrate/20130412140523_create_spina_pages.spina.rb +16 -0
  217. data/test/dummy/db/migrate/20130412140723_change_columns_pages.spina.rb +7 -0
  218. data/test/dummy/db/migrate/20130412175127_create_spina_users.spina.rb +13 -0
  219. data/test/dummy/db/migrate/20130412175554_create_spina_page_parts.spina.rb +13 -0
  220. data/test/dummy/db/migrate/20130412175555_change_admin_of_users.spina.rb +6 -0
  221. data/test/dummy/db/migrate/20130412180101_create_spina_page_includes.spina.rb +13 -0
  222. data/test/dummy/db/migrate/20130412182303_create_spina_photos.spina.rb +10 -0
  223. data/test/dummy/db/migrate/20130412191955_create_spina_accounts.spina.rb +17 -0
  224. data/test/dummy/db/migrate/20130414145616_create_spina_inquiries.spina.rb +14 -0
  225. data/test/dummy/db/migrate/20130422094426_add_theme_to_spina_accounts.spina.rb +6 -0
  226. data/test/dummy/db/migrate/20130422161301_remove_theme_from_spina_accounts.spina.rb +6 -0
  227. data/test/dummy/db/migrate/20130422194211_change_default_value_column_archived_inquiries.spina.rb +6 -0
  228. data/test/dummy/db/migrate/20130425080933_change_page_includes.spina.rb +9 -0
  229. data/test/dummy/db/migrate/20130426122731_add_parent_id_to_spina_pages.spina.rb +6 -0
  230. data/test/dummy/db/migrate/20130426132453_change_column_spina_pages.spina.rb +6 -0
  231. data/test/dummy/db/migrate/20130426133450_change_colum_n_spina_pages_again.spina.rb +6 -0
  232. data/test/dummy/db/migrate/20130426133636_bring_out_the_nukes.spina.rb +7 -0
  233. data/test/dummy/db/migrate/20130429092958_add_name_to_spina_pages.spina.rb +6 -0
  234. data/test/dummy/db/migrate/20130503072811_change_column_stomme_onzin.spina.rb +7 -0
  235. data/test/dummy/db/migrate/20130503072850_add_last_logged_in_to_users.spina.rb +6 -0
  236. data/test/dummy/db/migrate/20130503073738_change_column_spina_users.spina.rb +6 -0
  237. data/test/dummy/db/migrate/20130503104917_create_spina_spina_files.spina.rb +10 -0
  238. data/test/dummy/db/migrate/20130503105407_add_file_to_spina_page_parts.spina.rb +6 -0
  239. data/test/dummy/db/migrate/20130503110055_change_columns_spina_files.spina.rb +7 -0
  240. data/test/dummy/db/migrate/20130503110354_fix_namespaces.spina.rb +13 -0
  241. data/test/dummy/db/migrate/20130503135202_create_spina_galleries.spina.rb +11 -0
  242. data/test/dummy/db/migrate/20130504171717_add_seo_title_to_spina_pages.spina.rb +6 -0
  243. data/test/dummy/db/migrate/20130516132920_add_spam_to_spina_inquiries.spina.rb +6 -0
  244. data/test/dummy/db/migrate/20130524104253_add_page_partable_to_spina_page_parts.spina.rb +131 -0
  245. data/test/dummy/db/migrate/20130528195734_remove_deprecated_columns_from_spina_page_parts.spina.rb +14 -0
  246. data/test/dummy/db/migrate/20130715152615_switch_to_nested_sets_instead_of_position_pages.spina.rb +11 -0
  247. data/test/dummy/db/migrate/20130719120131_add_skip_to_first_child_and_templates_to_spina_pages.spina.rb +8 -0
  248. data/test/dummy/db/migrate/20130719121553_add_draft_to_spina_pages.spina.rb +6 -0
  249. data/test/dummy/db/migrate/20130719122158_add_link_url_to_spina_pages.spina.rb +6 -0
  250. data/test/dummy/db/migrate/20130719134709_rename_spina_file_to_attachments.spina.rb +10 -0
  251. data/test/dummy/db/migrate/20130725112244_add_ancestry_to_spina_pages.spina.rb +11 -0
  252. data/test/dummy/db/migrate/20130730185551_add_materialized_path_to_spina_pages.spina.rb +6 -0
  253. data/test/dummy/db/migrate/20130918133920_change_column_page_parts.spina.rb +6 -0
  254. data/test/dummy/db/migrate/20130919074011_create_spina_texts.spina.rb +9 -0
  255. data/test/dummy/db/migrate/20130919074023_create_spina_lines.spina.rb +9 -0
  256. data/test/dummy/db/migrate/20130919074838_remove_column_from_spina_page_parts.spina.rb +5 -0
  257. data/test/dummy/db/migrate/20131210122702_change_column_spina_texts.rb +5 -0
  258. data/test/dummy/db/migrate/20131212080016_add_required_stuff_to_spina_accounts.rb +6 -0
  259. data/test/dummy/db/migrate/20140225141812_create_layout_parts.rb +12 -0
  260. data/test/dummy/db/migrate/20140225151146_add_account_id_to_spina_layout_parts.rb +5 -0
  261. data/test/dummy/db/migrate/20140407095608_add_active_to_spina_pages.rb +5 -0
  262. data/test/dummy/db/schema.rb +141 -0
  263. data/test/dummy/db/seeds.rb +1 -0
  264. data/test/dummy/public/404.html +26 -0
  265. data/test/dummy/public/422.html +26 -0
  266. data/test/dummy/public/500.html +25 -0
  267. data/test/dummy/public/favicon.ico +0 -0
  268. data/test/dummy/script/rails +6 -0
  269. data/test/fixtures/spina/accounts.yml +21 -0
  270. data/test/fixtures/spina/galleries.yml +9 -0
  271. data/test/fixtures/spina/inquiries.yml +15 -0
  272. data/test/fixtures/spina/lines.yml +7 -0
  273. data/test/fixtures/spina/page_includes.yml +13 -0
  274. data/test/fixtures/spina/page_parts.yml +13 -0
  275. data/test/fixtures/spina/pages.yml +19 -0
  276. data/test/fixtures/spina/photo_collection_files.yml +11 -0
  277. data/test/fixtures/spina/photo_collections.yml +11 -0
  278. data/test/fixtures/spina/photos.yml +7 -0
  279. data/test/fixtures/spina/texts.yml +7 -0
  280. data/test/fixtures/spina/users.yml +13 -0
  281. data/test/functional/spina/accounts_controller_test.rb +9 -0
  282. data/test/functional/spina/inquiries_controller_test.rb +9 -0
  283. data/test/functional/spina/page_parts_controller_test.rb +9 -0
  284. data/test/functional/spina/pages_controller_test.rb +9 -0
  285. data/test/functional/spina/photos_controller_test.rb +9 -0
  286. data/test/functional/spina/sessions_controller_test.rb +9 -0
  287. data/test/functional/spina/spina/inquiry_mailer_test.rb +9 -0
  288. data/test/functional/spina/users_controller_test.rb +9 -0
  289. data/test/integration/navigation_test.rb +10 -0
  290. data/test/models/spina/line_test.rb +9 -0
  291. data/test/models/spina/text_test.rb +9 -0
  292. data/test/spina_test.rb +7 -0
  293. data/test/support/images/after sun 2.jpg +0 -0
  294. data/test/support/images/after sun.jpg +0 -0
  295. data/test/support/images/amygdalus.jpg +0 -0
  296. data/test/support/images/at sunset-1.jpg +0 -0
  297. data/test/support/images/colorfull.jpg +0 -0
  298. data/test/support/images/nature tree.jpg +0 -0
  299. data/test/support/images/orchid.jpg +0 -0
  300. data/test/support/images/smooth.jpg +0 -0
  301. data/test/support/images/soft.jpg +0 -0
  302. data/test/support/images/spring memory.jpg +0 -0
  303. data/test/support/images/spring purple.jpg +0 -0
  304. data/test/support/images/spring.jpg +0 -0
  305. data/test/support/images/yew-tree.jpg +0 -0
  306. data/test/test_helper.rb +15 -0
  307. data/test/unit/helpers/spina/accounts_helper_test.rb +6 -0
  308. data/test/unit/helpers/spina/inquiries_helper_test.rb +6 -0
  309. data/test/unit/helpers/spina/page_parts_helper_test.rb +6 -0
  310. data/test/unit/helpers/spina/pages_helper_test.rb +6 -0
  311. data/test/unit/helpers/spina/photos_helper_test.rb +6 -0
  312. data/test/unit/helpers/spina/sessions_helper_test.rb +6 -0
  313. data/test/unit/helpers/spina/users_helper_test.rb +6 -0
  314. data/test/unit/spina/account_test.rb +9 -0
  315. data/test/unit/spina/file_collection_file_test.rb +9 -0
  316. data/test/unit/spina/gallery_test.rb +9 -0
  317. data/test/unit/spina/inquiry_test.rb +9 -0
  318. data/test/unit/spina/page_include_test.rb +9 -0
  319. data/test/unit/spina/page_part_test.rb +9 -0
  320. data/test/unit/spina/page_test.rb +9 -0
  321. data/test/unit/spina/photo_collection_file_test.rb +9 -0
  322. data/test/unit/spina/photo_collection_test.rb +9 -0
  323. data/test/unit/spina/photo_test.rb +9 -0
  324. data/test/unit/spina/spina/file_test.rb +9 -0
  325. data/test/unit/spina/user_test.rb +9 -0
  326. metadata +676 -0
@@ -0,0 +1 @@
1
+ @import spina
@@ -0,0 +1,6 @@
1
+ @import normalize
2
+ @import bourbon
3
+ @import mixins
4
+ @import spina/admin_editing
5
+
6
+ // Customize below
@@ -0,0 +1,50 @@
1
+ module Spina
2
+ module Admin
3
+ class AccountsController < AdminController
4
+
5
+ authorize_resource class: Account
6
+
7
+ layout "spina/admin/settings"
8
+
9
+ def edit
10
+ add_breadcrumb "Algemene gegevens", spina.edit_admin_account_path
11
+ end
12
+
13
+ def update
14
+ if current_account.update_attributes(account_params)
15
+ redirect_to :back, notice: "Voorkeuren zijn bijgewerkt"
16
+ else
17
+ redirect_to :back, alert: "Voorkeuren zijn niet bijgewerkt"
18
+ end
19
+ end
20
+
21
+ def analytics
22
+ add_breadcrumb "Statistieken en zoekmachines", spina.analytics_admin_account_path
23
+ end
24
+
25
+ def social
26
+ add_breadcrumb "Social media", spina.social_admin_account_path
27
+ end
28
+
29
+ def style
30
+ add_breadcrumb "Vormgeving", spina.style_admin_account_path
31
+ @themes = ::Spina.themes
32
+ @layout_parts = current_theme.config.layout_parts.map { |layout_part| current_account.layout_part(layout_part) }
33
+ end
34
+
35
+ private
36
+
37
+ def account_params
38
+ params.require(:account).permit(:address, :city, :email, :logo, :name, :phone,
39
+ :postal_code, :preferences, :google_analytics,
40
+ :google_site_verification, :facebook, :twitter, :google_plus,
41
+ :kvk_identifier, :theme, :vat_identifier, :robots_allowed,
42
+ layout_parts_attributes:
43
+ [:id, :layout_partable_type, :layout_partable_id,
44
+ :name, :title, :position, :content, :page_id,
45
+ layout_partable_attributes:
46
+ [:content, :photo_tokens, :attachment_tokens, :id]])
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,36 @@
1
+ module Spina
2
+ module Admin
3
+ class AdminController < ApplicationController
4
+
5
+ before_filter :authorize_user
6
+ before_filter :new_messages
7
+
8
+ layout 'spina/admin/application'
9
+
10
+ private
11
+
12
+ def authorize_user
13
+ redirect_to spina.admin_login_url, flash: {information: "Je zult eerst moeten inloggen."} unless current_user
14
+ end
15
+
16
+ def new_messages
17
+ @new_messages = Inquiry.new_messages.sorted
18
+ end
19
+
20
+ def current_account
21
+ @current_account ||= Account.first
22
+ end
23
+ helper_method :current_account
24
+
25
+ def current_user
26
+ @current_user ||= User.where(id: session[:user_id]).first if session[:user_id]
27
+ end
28
+ helper_method :current_user
29
+
30
+ def current_ability
31
+ @current_ability ||= Ability.new(current_user)
32
+ end
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,55 @@
1
+ module Spina
2
+ module Admin
3
+ class AttachmentsController < AdminController
4
+ before_filter :set_breadcrumbs
5
+
6
+ authorize_resource class: Attachment
7
+
8
+ layout "spina/admin/media_library"
9
+
10
+ def index
11
+ add_breadcrumb "Documenten", spina.admin_attachments_path
12
+ @attachments = Attachment.file_attached.sorted
13
+ @attachment = Attachment.new
14
+ end
15
+
16
+ def create
17
+ @attachment = Attachment.create(attachment_params)
18
+ end
19
+
20
+ def destroy
21
+ @attachment = Attachment.find(params[:id])
22
+ @attachment.destroy
23
+ redirect_to spina.admin_attachments_url
24
+ end
25
+
26
+ def select
27
+ @attachments = Attachment.file_attached.sorted
28
+ @attachment = Attachment.new
29
+ end
30
+
31
+ def insert
32
+ @attachment = Attachment.find(params[:attachment_id])
33
+ end
34
+
35
+ def select_collection
36
+ @attachments = Attachment.file_attached.sorted
37
+ @attachment = Attachment.new
38
+ end
39
+
40
+ def insert_collection
41
+ @attachments = Attachment.find(params[:attachment_ids])
42
+ end
43
+
44
+ private
45
+
46
+ def set_breadcrumbs
47
+ add_breadcrumb "Mediabibliotheek", spina.admin_media_library_path
48
+ end
49
+
50
+ def attachment_params
51
+ params.require(:attachment).permit(:file, :page_id, :_destroy)
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,63 @@
1
+ module Spina
2
+ module Admin
3
+ class InquiriesController < AdminController
4
+
5
+ authorize_resource class: Inquiry
6
+
7
+ layout "spina/admin/messages"
8
+
9
+ def show
10
+ @inquiry = Inquiry.find(params[:id])
11
+ add_breadcrumb "Alle berichten", spina.admin_inquiries_path
12
+ add_breadcrumb @inquiry.name
13
+ end
14
+
15
+ def inbox_show
16
+ @inquiry = Inquiry.find(params[:id])
17
+ add_breadcrumb "Inbox", spina.inbox_admin_inquiries_path
18
+ add_breadcrumb @inquiry.name
19
+ render :show
20
+ end
21
+
22
+ def index
23
+ add_breadcrumb "Alle berichten", spina.admin_inquiries_path
24
+ @inquiries = Inquiry.sorted
25
+ end
26
+
27
+ def inbox
28
+ add_breadcrumb "Inbox", spina.inbox_admin_inquiries_path
29
+ @inquiries = Inquiry.new_messages.sorted
30
+ end
31
+
32
+ def spam
33
+ add_breadcrumb "Alle berichten", spina.admin_inquiries_path
34
+ add_breadcrumb "Spam", spina.spam_admin_inquiries_path
35
+ @inquiries = Inquiry.spam.order('created_at DESC')
36
+ end
37
+
38
+ def mark_as_read
39
+ @inquiry = Inquiry.find(params[:id])
40
+ @inquiry.update_attribute(:archived, true)
41
+ redirect_to spina.inbox_admin_inquiries_path
42
+ end
43
+
44
+ def unmark_spam
45
+ @inquiry = Inquiry.find(params[:id])
46
+ @inquiry.ham!
47
+ redirect_to spina.admin_inquiries_path
48
+ end
49
+
50
+ def destroy
51
+ @inquiry = Inquiry.find(params[:id])
52
+ @inquiry.destroy
53
+ redirect_to spina.admin_inquiries_path, notice: "Het bericht is verwijderd."
54
+ end
55
+
56
+ private
57
+
58
+ def inquiry_params
59
+ params.require(:inquiry).permit(:archived, :email, :message, :name, :phone)
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,11 @@
1
+ module Spina
2
+ module Admin
3
+ class PagePartsController < AdminController
4
+ def wysihtml5_link
5
+ end
6
+
7
+ def insert_wysihtml5_link
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,92 @@
1
+ module Spina
2
+ module Admin
3
+ class PagesController < AdminController
4
+
5
+ before_filter :set_breadcrumb
6
+
7
+ authorize_resource class: Page
8
+
9
+ layout "spina/admin/website"
10
+
11
+ def index
12
+ @pages = Page.active.sorted.roots
13
+ end
14
+
15
+ def new
16
+ @page = Page.new
17
+ if current_theme.new_page_templates.any? { |template| template[0] == params[:view_template] }
18
+ @page.view_template = params[:view_template]
19
+ end
20
+ add_breadcrumb "Nieuwe pagina"
21
+ @page_parts = current_theme.config.page_parts.map { |page_part| @page.page_part(page_part) }
22
+ end
23
+
24
+ def create
25
+ @page = Page.new(page_params)
26
+ add_breadcrumb "Nieuwe pagina"
27
+ if @page.save
28
+ redirect_to spina.admin_pages_url, notice: "#{@page.title} is aangemaakt."
29
+ else
30
+ @page_parts = @page.page_parts
31
+ render :new
32
+ end
33
+ end
34
+
35
+ def edit
36
+ @page = Page.find(params[:id])
37
+ add_breadcrumb @page.title
38
+ @page_parts = current_theme.config.page_parts.map { |page_part| @page.page_part(page_part) }
39
+ end
40
+
41
+ def update
42
+ @page = Page.find(params[:id])
43
+ add_breadcrumb @page.title
44
+ respond_to do |format|
45
+ if @page.update_attributes(page_params)
46
+ format.html { redirect_to spina.admin_pages_url, notice: "#{@page.title} opgeslagen" }
47
+ format.js
48
+ else
49
+ format.html do
50
+ @page_parts = @page.page_parts
51
+ render :edit
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ def sort
58
+ params[:list].each do |id|
59
+ if id[1][:children].present?
60
+ id[1][:children].each do |child|
61
+ child[1][:children].each { |child_child| update_page_position(child_child, child[1][:id]) } if child[1][:children].present?
62
+ update_page_position(child, id[1][:id])
63
+ end
64
+ end
65
+ update_page_position(id, nil)
66
+ end
67
+ render nothing: true
68
+ end
69
+
70
+ def destroy
71
+ @page = Page.find(params[:id])
72
+ @page.destroy
73
+ redirect_to spina.admin_pages_url, notice: "De pagina is verwijderd."
74
+ end
75
+
76
+ private
77
+
78
+ def set_breadcrumb
79
+ add_breadcrumb "Pagina's", spina.admin_pages_path
80
+ end
81
+
82
+ def update_page_position(page, parent_id = nil)
83
+ Page.update(page[1][:id], position: page[0].to_i + 1, parent_id: parent_id )
84
+ end
85
+
86
+ def page_params
87
+ params.require(:page).permit!
88
+ end
89
+
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,77 @@
1
+ module Spina
2
+ module Admin
3
+ class PhotosController < AdminController
4
+ before_filter :set_breadcrumbs
5
+
6
+ authorize_resource class: Photo
7
+
8
+ layout "spina/admin/media_library"
9
+
10
+ def index
11
+ add_breadcrumb "Afbeeldingen", spina.admin_photos_path
12
+ @photos = Photo.sorted
13
+ @photo = Photo.new
14
+ end
15
+
16
+ def create
17
+ @photo = Photo.create(photo_params)
18
+ end
19
+
20
+ def destroy
21
+ @photo = Photo.find(params[:id])
22
+ @photo.destroy
23
+ redirect_to spina.admin_photos_url
24
+ end
25
+
26
+ def enhance
27
+ @photo = Photo.find(params[:id])
28
+ @photo.remote_file_url = params[:new_image]
29
+ @photo.save
30
+ end
31
+
32
+ def link
33
+ @photo = Photo.find(params[:id])
34
+ end
35
+
36
+ def photo_select
37
+ @photos = Photo.sorted
38
+ @photo = Photo.new
39
+ @selected_photo = Photo.find(params[:selected_photo_id]) if params[:selected_photo_id]
40
+ end
41
+
42
+ def photo_collection_select
43
+ @photos = Photo.sorted
44
+ @photo = Photo.new
45
+ @selected_photos = params[:selected_photo_ids] ? Photo.where(id: params[:selected_photo_ids]) : Photo.none
46
+ end
47
+
48
+ def insert_photo
49
+ @photo = Photo.find(params[:photo_id]) if params[:photo_id].present?
50
+ end
51
+
52
+ def insert_photo_collection
53
+ @photos = Photo.find(params[:photo_ids]) if params[:photo_ids].present?
54
+ end
55
+
56
+ def wysihtml5_insert
57
+ @photo = Photo.find(params[:photo_id])
58
+ end
59
+
60
+ def wysihtml5_select
61
+ @photos = Photo.sorted
62
+ @photo = Photo.new
63
+ end
64
+
65
+ private
66
+
67
+ def set_breadcrumbs
68
+ add_breadcrumb "Mediabibliotheek", spina.admin_media_library_path
69
+ end
70
+
71
+ def photo_params
72
+ params.require(:photo).permit(:file)
73
+ end
74
+
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,30 @@
1
+ module Spina
2
+ module Admin
3
+ class SessionsController < AdminController
4
+
5
+ layout "spina/login"
6
+
7
+ skip_before_filter :authorize_user
8
+
9
+ def new
10
+ end
11
+
12
+ def create
13
+ user = User.where(email: params[:email]).first
14
+ if user && user.authenticate(params[:password])
15
+ session[:user_id] = user.id
16
+ user.update_last_logged_in!
17
+ redirect_to spina.admin_root_url
18
+ else
19
+ flash.now[:alert] = "Email of wachtwoord is onjuist"
20
+ render "new"
21
+ end
22
+ end
23
+
24
+ def destroy
25
+ session[:user_id] = nil
26
+ redirect_to "/"
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,64 @@
1
+ module Spina
2
+ module Admin
3
+ class UsersController < AdminController
4
+ before_filter :set_breadcrumbs
5
+
6
+ authorize_resource class: User
7
+
8
+ layout "spina/admin/settings"
9
+
10
+ def index
11
+ @users = User.all
12
+ end
13
+
14
+ def new
15
+ @user = User.new
16
+ add_breadcrumb "Nieuwe gebruiker"
17
+ end
18
+
19
+ def create
20
+ @user = User.new(user_params)
21
+ add_breadcrumb "Nieuwe gebruiker"
22
+ if @user.save
23
+ redirect_to admin_users_url, notice: "Gebruiker #{@user} is aangemaakt."
24
+ else
25
+ flash.now[:alert] = "De gebruiker kan nog niet worden opgeslagen."
26
+ render :new
27
+ end
28
+ end
29
+
30
+ def edit
31
+ @user = User.find(params[:id])
32
+ add_breadcrumb "#{@user}"
33
+ end
34
+
35
+ def update
36
+ @user = User.find(params[:id])
37
+ add_breadcrumb "#{@user}"
38
+ if @user.update_attributes(user_params)
39
+ redirect_to spina.admin_users_url
40
+ else
41
+ flash.now[:alert] = "De gebruiker kan nog worden opgeslagen."
42
+ render :edit
43
+ end
44
+ end
45
+
46
+ def destroy
47
+ @user = User.find(params[:id])
48
+ @user.destroy unless @user == current_user
49
+ redirect_to admin_users_url, notice: "De gebruiker is verwijderd."
50
+ end
51
+
52
+ private
53
+
54
+ def set_breadcrumbs
55
+ add_breadcrumb "Gebruikers", spina.admin_users_path
56
+ end
57
+
58
+ def user_params
59
+ params.require(:user).permit(:admin, :email, :name, :password_digest, :password, :password_confirmation, :last_logged_in)
60
+ end
61
+
62
+ end
63
+ end
64
+ end