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,4 @@
1
+ <% unless current_account.robots_allowed? %>
2
+ User-agent: *
3
+ Disallow: /
4
+ <% end %>
@@ -0,0 +1 @@
1
+ = render 'page'
@@ -0,0 +1,4 @@
1
+ - if current_user.present?
2
+ #admin_bar
3
+ = link_to "Bewerk je website", spina.admin_root_url, data: {icon: 'q', :"no-turbolink" => true}, class: 'button button-hollow button-round button-small'
4
+ = link_to "Uitloggen", spina.admin_logout_path, data: {icon: 'h'}, class: 'button button-hollow button-round button-small'
@@ -0,0 +1,11 @@
1
+ <script type="text/javascript">
2
+ var _gaq = _gaq || [];
3
+ _gaq.push(['_setAccount', '<%= current_account.google_analytics %>']);
4
+ _gaq.push(['_trackPageview']);
5
+
6
+ (function() {
7
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
8
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
9
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
10
+ })();
11
+ </script>
@@ -0,0 +1,3 @@
1
+ - pages = current_user.present? ? Spina::Page.active : Spina::Page.live
2
+ - menu = Spina::Pages::MenuPresenter.new(pages.in_menu.arrange(order: :position), self, @page)
3
+ = menu.to_html
@@ -0,0 +1,5 @@
1
+ - if current_account.facebook.present?
2
+ = link_to "", current_account.facebook, class: 'facebook-button', data: {:"no-turbolink" => true}
3
+
4
+ - if current_account.twitter.present?
5
+ = link_to "", current_account.twitter, class: 'twitter-button', data: {:"no-turbolink" => true}
@@ -0,0 +1,18 @@
1
+ xml.instruct!
2
+
3
+ xml.urlset "xmlns" => "http://www.google.com/schemas/sitemap/0.84" do
4
+ xml.url do
5
+ xml.loc "http://#{request.host}/"
6
+ xml.lastmod Time.now.to_s(:w3c)
7
+ xml.changefreq "always"
8
+ end
9
+
10
+ @pages.each do |page|
11
+ xml.url do
12
+ xml.loc "http://#{request.host}#{page.materialized_path}"
13
+ xml.lastmod page.updated_at.to_date
14
+ xml.changefreq "weekly"
15
+ xml.priority 0.9
16
+ end
17
+ end
18
+ end
@@ -0,0 +1 @@
1
+ Time::DATE_FORMATS[:w3c] = lambda {|time| time.utc.strftime("%Y-%m-%dT%H:%M:%S+00:00") }
@@ -0,0 +1,10 @@
1
+ en:
2
+ text: Text
3
+ photo: Photo
4
+ line: Line of text
5
+
6
+ misc:
7
+ messages:
8
+ zero: "No messages"
9
+ one: "One message"
10
+ other: "%{count} messages"
@@ -0,0 +1,213 @@
1
+ nl:
2
+ text: Tekst
3
+ photo: Foto
4
+ line: Tekstregel
5
+
6
+ misc:
7
+ messages:
8
+ zero: "0 nieuwe berichten"
9
+ one: "1 nieuw bericht"
10
+ other: "%{count} nieuwe berichten"
11
+
12
+ date:
13
+ abbr_day_names:
14
+ - zo
15
+ - ma
16
+ - di
17
+ - wo
18
+ - do
19
+ - vr
20
+ - za
21
+ abbr_month_names:
22
+ -
23
+ - jan
24
+ - feb
25
+ - mar
26
+ - apr
27
+ - mei
28
+ - jun
29
+ - jul
30
+ - aug
31
+ - sep
32
+ - okt
33
+ - nov
34
+ - dec
35
+ day_names:
36
+ - zondag
37
+ - maandag
38
+ - dinsdag
39
+ - woensdag
40
+ - donderdag
41
+ - vrijdag
42
+ - zaterdag
43
+ formats:
44
+ default: ! '%d/%m/%Y'
45
+ long: ! '%e %B %Y'
46
+ short: ! '%e %b'
47
+ month_names:
48
+ -
49
+ - januari
50
+ - februari
51
+ - maart
52
+ - april
53
+ - mei
54
+ - juni
55
+ - juli
56
+ - augustus
57
+ - september
58
+ - oktober
59
+ - november
60
+ - december
61
+ order:
62
+ - :day
63
+ - :month
64
+ - :year
65
+ datetime:
66
+ distance_in_words:
67
+ about_x_hours:
68
+ one: ongeveer een uur
69
+ other: ongeveer %{count} uur
70
+ about_x_months:
71
+ one: ongeveer een maand
72
+ other: ongeveer %{count} maanden
73
+ about_x_years:
74
+ one: ongeveer een jaar
75
+ other: ongeveer %{count} jaar
76
+ almost_x_years:
77
+ one: bijna een jaar
78
+ other: bijna %{count} jaar
79
+ half_a_minute: een halve minuut
80
+ less_than_x_minutes:
81
+ one: minder dan een minuut
82
+ other: minder dan %{count} minuten
83
+ less_than_x_seconds:
84
+ one: minder dan een seconde
85
+ other: minder dan %{count} seconden
86
+ over_x_years:
87
+ one: meer dan een jaar
88
+ other: meer dan %{count} jaar
89
+ x_days:
90
+ one: 1 dag
91
+ other: ! '%{count} dagen'
92
+ x_minutes:
93
+ one: 1 minuut
94
+ other: ! '%{count} minuten'
95
+ x_months:
96
+ one: 1 maand
97
+ other: ! '%{count} maanden'
98
+ x_seconds:
99
+ one: 1 seconde
100
+ other: ! '%{count} seconden'
101
+ prompts:
102
+ day: dag
103
+ hour: uur
104
+ minute: minuut
105
+ month: maand
106
+ second: seconde
107
+ year: jaar
108
+ errors: &errors
109
+ format: ! '%{attribute} %{message}'
110
+ messages:
111
+ accepted: moet worden geaccepteerd
112
+ blank: moet opgegeven zijn
113
+ confirmation: komt niet met de bevestiging overeen
114
+ empty: moet opgegeven zijn
115
+ equal_to: moet gelijk zijn aan %{count}
116
+ even: moet even zijn
117
+ exclusion: is niet beschikbaar
118
+ greater_than: moet groter zijn dan %{count}
119
+ greater_than_or_equal_to: moet groter dan of gelijk zijn aan %{count}
120
+ inclusion: is niet in de lijst opgenomen
121
+ invalid: is ongeldig
122
+ less_than: moet minder zijn dan %{count}
123
+ less_than_or_equal_to: moet minder dan of gelijk zijn aan %{count}
124
+ not_a_number: is geen getal
125
+ not_an_integer: moet een geheel getal zijn
126
+ odd: moet oneven zijn
127
+ record_invalid: ! 'Validatie mislukt: %{errors}'
128
+ taken: is al in gebruik
129
+ too_long: is te lang (maximaal %{count} tekens)
130
+ too_short: is te kort (minimaal %{count} tekens)
131
+ wrong_length: heeft onjuiste lengte (moet %{count} tekens lang zijn)
132
+ not_saved:
133
+ one: "1 fout zorgde ervoor dat %{resource} niet kon worden opgeslagen:"
134
+ other: "%{count} fouten zorgde ervoor dat %{resource} niet kon worden opgeslagen:"
135
+
136
+ template:
137
+ body: ! 'Controleer de volgende velden:'
138
+ header:
139
+ one: ! '%{model} niet opgeslagen: 1 fout gevonden'
140
+ other: ! '%{model} niet opgeslagen: %{count} fouten gevonden'
141
+ helpers:
142
+ select:
143
+ prompt: Selecteer
144
+ submit:
145
+ create: ! '%{model} toevoegen'
146
+ submit: ! '%{model} opslaan'
147
+ update: ! '%{model} bewaren'
148
+ number:
149
+ currency:
150
+ format:
151
+ delimiter: .
152
+ format: ! '%u%n'
153
+ precision: 2
154
+ separator: ! ','
155
+ significant: false
156
+ strip_insignificant_zeros: false
157
+ unit: €
158
+ format:
159
+ delimiter: .
160
+ precision: 2
161
+ separator: ! ','
162
+ significant: false
163
+ strip_insignificant_zeros: false
164
+ human:
165
+ decimal_units:
166
+ format: ! '%n %u'
167
+ units:
168
+ billion: miljard
169
+ million: miljoen
170
+ quadrillion: biljard
171
+ thousand: duizend
172
+ trillion: biljoen
173
+ unit: ''
174
+ format:
175
+ delimiter: ''
176
+ precision: 3
177
+ significant: true
178
+ strip_insignificant_zeros: true
179
+ storage_units:
180
+ format: ! '%n %u'
181
+ units:
182
+ byte:
183
+ one: Byte
184
+ other: Bytes
185
+ gb: GB
186
+ kb: KB
187
+ mb: MB
188
+ tb: TB
189
+ percentage:
190
+ format:
191
+ delimiter: ''
192
+ precision:
193
+ format:
194
+ delimiter: ''
195
+ support:
196
+ array:
197
+ last_word_connector: ! ' en '
198
+ two_words_connector: ! ' en '
199
+ words_connector: ! ', '
200
+ time:
201
+ am: ! '''s ochtends'
202
+ formats:
203
+ default: ! '%a %d %b %Y %H:%M:%S %Z'
204
+ long: ! '%d %B %Y %H:%M'
205
+ short: ! '%d %b %H:%M'
206
+ pm: ! '''s middags'
207
+ # remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
208
+ activemodel:
209
+ errors:
210
+ <<: *errors
211
+ activerecord:
212
+ errors:
213
+ <<: *errors
data/config/routes.rb ADDED
@@ -0,0 +1,88 @@
1
+ Spina::Engine.routes.draw do
2
+
3
+ # Backend
4
+ namespace :admin do
5
+ root to: "pages#index"
6
+
7
+ resource :account do
8
+ member do
9
+ get :style
10
+ get :analytics
11
+ get :social
12
+ end
13
+ end
14
+
15
+ resources :users
16
+
17
+ # Sessions
18
+ resources :sessions
19
+ get "login" => "sessions#new"
20
+ get "logout" => "sessions#destroy"
21
+
22
+ # Media library
23
+ get 'media_library' => 'photos#index', as: "media_library"
24
+
25
+ resources :pages do
26
+ post :sort, on: :collection
27
+ end
28
+
29
+ resources :page_parts do
30
+ collection do
31
+ get 'wysihtml5_link/:object_id' => 'page_parts#wysihtml5_link', as: :wysihtml5_link
32
+ post 'wysihtml5_link/:object_id' => 'page_parts#insert_wysihtml5_link'
33
+ end
34
+ end
35
+
36
+ resources :attachments do
37
+ collection do
38
+ get 'select/:page_part_id' => 'attachments#select', as: :select
39
+ post 'insert/:page_part_id' => 'attachments#insert', as: :insert
40
+ get 'select_collection/:page_part_id' => 'attachments#select_collection', as: :select_collection
41
+ post 'insert_collection/:page_part_id' => 'attachments#insert_collection', as: :insert_collection
42
+ end
43
+ end
44
+
45
+ resources :photos do
46
+ collection do
47
+ get 'wysihtml5_select/:object_id' => 'photos#wysihtml5_select', as: :wysihtml5_select
48
+ post 'wysihtml5_insert/:object_id' => 'photos#wysihtml5_insert', as: :wysihtml5_insert
49
+ get 'photo_select/:page_part_id' => 'photos#photo_select', as: :photo_select
50
+ get 'photo_collection_select/:page_part_id' => 'photos#photo_collection_select', as: :photo_collection_select
51
+ post 'insert_photo/:page_part_id' => 'photos#insert_photo', as: :insert_photo
52
+ post 'insert_photo_collection/:page_part_id' => 'photos#insert_photo_collection', as: :insert_photo_collection
53
+ end
54
+ member do
55
+ post :enhance
56
+ get :link
57
+ end
58
+ end
59
+
60
+ resources :inquiries, only: [:index, :show, :destroy] do
61
+ collection do
62
+ get :inbox
63
+ get :spam
64
+ end
65
+ member do
66
+ get :inbox_show
67
+ patch :mark_as_read
68
+ patch :unmark_spam
69
+ end
70
+ end
71
+ end
72
+
73
+ # Inquiries
74
+ resources :inquiries
75
+
76
+ # Sitemap
77
+ resource :sitemap
78
+
79
+ # Robots.txt
80
+ get '/robots', to: 'pages#robots', format: :txt
81
+
82
+ # Frontend
83
+ root to: "pages#homepage"
84
+
85
+ get ':root/:subpage/:id' => "pages#show", as: "third_level_page"
86
+ get ':root/:id' => "pages#show", as: "subpage"
87
+ get ':id' => "pages#show", as: "page"
88
+ end
@@ -0,0 +1,15 @@
1
+ class CreateSpinaPages < ActiveRecord::Migration
2
+ def change
3
+ create_table :spina_pages do |t|
4
+ t.string :title
5
+ t.string :menu_title
6
+ t.string :description
7
+ t.boolean :show_in_menu
8
+ t.string :position
9
+ t.string :slug
10
+ t.integer :deletable
11
+
12
+ t.timestamps
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,6 @@
1
+ class ChangeColumnsPages < ActiveRecord::Migration
2
+ def change
3
+ change_column :spina_pages, :show_in_menu, :boolean, default: true
4
+ change_column :spina_pages, :deletable, :boolean, default: true
5
+ end
6
+ end
@@ -0,0 +1,12 @@
1
+ class CreateSpinaUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table :spina_users do |t|
4
+ t.string :name
5
+ t.string :email
6
+ t.string :password_digest
7
+ t.boolean :admin
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateSpinaPageParts < ActiveRecord::Migration
2
+ def change
3
+ create_table :spina_page_parts do |t|
4
+ t.string :name
5
+ t.integer :position, default: 0
6
+ t.string :content_type
7
+ t.string :tag
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ class ChangeAdminOfUsers < ActiveRecord::Migration
2
+ def change
3
+ change_column :spina_users, :admin, :boolean, default: false
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ class CreateSpinaPageIncludes < ActiveRecord::Migration
2
+ def change
3
+ create_table :spina_page_includes do |t|
4
+ t.text :content
5
+ t.integer :page_id
6
+ t.integer :page_part_id
7
+ t.integer :photo_id
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end