spina 0.6.11

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 (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,52 @@
1
+ # encoding: utf-8
2
+
3
+ module Spina
4
+ class LogoUploader < CarrierWave::Uploader::Base
5
+
6
+ # Include RMagick or MiniMagick support:
7
+ # include CarrierWave::RMagick
8
+ include CarrierWave::MiniMagick
9
+
10
+ # Choose what kind of storage to use for this uploader:
11
+ storage :file
12
+ # storage :fog
13
+
14
+ # Override the directory where uploaded files will be stored.
15
+ # This is a sensible default for uploaders that are meant to be mounted:
16
+ def store_dir
17
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
18
+ end
19
+
20
+ # Provide a default URL as a default if there hasn't been a file uploaded:
21
+ # def default_url
22
+ # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
23
+ # end
24
+
25
+ # Process files as they are uploaded:
26
+ # process :scale => [200, 300]
27
+ #
28
+ # def scale(width, height)
29
+ # # do something
30
+ # end
31
+
32
+ # Create different versions of your uploaded files:
33
+ # version :thumb do
34
+ # process :scale => [50, 50]
35
+ # end
36
+
37
+ process resize_to_fit: [300, 300]
38
+
39
+ # Add a white list of extensions which are allowed to be uploaded.
40
+ # For images you might use something like this:
41
+ def extension_white_list
42
+ %w(jpg jpeg gif png)
43
+ end
44
+
45
+ # Override the filename of the uploaded files:
46
+ # Avoid using model.id or version_name here, see uploader/store.rb for details.
47
+ # def filename
48
+ # "something.jpg" if original_filename
49
+ # end
50
+
51
+ end
52
+ end
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+ module Spina
3
+ class PhotoUploader < CarrierWave::Uploader::Base
4
+
5
+ # Include RMagick or MiniMagick support:
6
+ # include CarrierWave::RMagick
7
+ include CarrierWave::MiniMagick
8
+
9
+ # Include the Sprockets helpers for Rails 3.1+ asset pipeline compatibility:
10
+ # include Sprockets::Helpers::RailsHelper
11
+ # include Sprockets::Helpers::IsolatedHelper
12
+
13
+ # Choose what kind of storage to use for this uploader:
14
+ storage :file
15
+ # storage :fog
16
+
17
+ # Override the directory where uploaded files will be stored.
18
+ # This is a sensible default for uploaders that are meant to be mounted:
19
+ def store_dir
20
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
21
+ end
22
+
23
+ version :image do
24
+ process resize_to_fit: [800, 800], if: :too_large?
25
+ end
26
+
27
+ # Create different versions of your uploaded files:
28
+ version :thumb do
29
+ process resize_to_fill: [240, 135]
30
+ end
31
+
32
+ def too_large?(new_file)
33
+ new_file.size > 120 * 1000
34
+ end
35
+
36
+ # Add a white list of extensions which are allowed to be uploaded.
37
+ # For images you might use something like this:
38
+ def extension_white_list
39
+ %w(jpg jpeg gif png)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,37 @@
1
+ !!!
2
+ %html{lang: 'nl'}
3
+ %head
4
+ %meta{charset: 'utf-8'}
5
+ %meta{name: 'viewport', content: 'initial-scale=1.0, user-scalable=no'}
6
+ = csrf_meta_tags
7
+
8
+ %title denkWebsite
9
+
10
+ / Stylesheet
11
+ = stylesheet_link_tag "spina/admin/application"
12
+
13
+ /[if lt IE 9]
14
+ = javascript_include_tag "//html5shiv.googlecode.com/svn/trunk/html5.js"
15
+
16
+ / JavaScript
17
+ = javascript_include_tag "http://feather.aviary.com/js/feather.js"
18
+ = javascript_include_tag "spina/admin/application"
19
+ %body
20
+ = render 'spina/admin/shared/navigation'
21
+
22
+ = yield(:secondary_navigation)
23
+
24
+ %section#main
25
+ %header#main_content_header
26
+ = yield(:permanent_notice) if content_for?(:permanent_notice)
27
+ .pull-right
28
+ = link_to "Bekijk je website", "/", class: 'button button-hollow button-round button-small', data: {:"no-turbolink" => true, icon: "W"}
29
+ .breadcrumbs= render_breadcrumbs separator: '<div class="divider"></div>'
30
+ = yield(:tertiary_navigation) if content_for?(:tertiary_navigation)
31
+
32
+ = render 'spina/admin/shared/notifications'
33
+
34
+ = content_for?(:content) ? yield(:content) : yield
35
+
36
+ / Aviary editor
37
+ #injection_site
@@ -0,0 +1,14 @@
1
+ - content_for(:tertiary_navigation) do
2
+ %nav.tabs
3
+ %ul
4
+ %li{class: ('active' if controller_name == "photos")}
5
+ = link_to spina.admin_photos_path do
6
+ Afbeeldingen
7
+ %li{class: ('active' if controller_name == "attachments")}
8
+ = link_to spina.admin_attachments_path do
9
+ Documenten
10
+
11
+ - content_for :website_content do
12
+ = yield
13
+
14
+ = render template: "layouts/spina/admin/website"
@@ -0,0 +1,22 @@
1
+ - content_for :secondary_navigation do
2
+ %nav#secondary
3
+ %h1 Berichten
4
+
5
+ %ul
6
+ %li{class: ('active' if ["inbox", "inbox_show"].include? action_name )}
7
+ = link_to spina.inbox_admin_inquiries_path, data: {icon: 'b'} do
8
+ - if @new_messages.present?
9
+ = "Inbox (#{@new_messages.size})"
10
+ - else
11
+ Inbox
12
+ %small Binnenkomende berichten
13
+
14
+ %li{class: ('active' if ["index", "spam", "show"].include? action_name )}
15
+ = link_to spina.admin_inquiries_path, data: {icon: 'z'} do
16
+ Alle berichten
17
+ %small Alle berichten
18
+
19
+ - content_for :content do
20
+ = yield
21
+
22
+ = render template: "layouts/spina/admin/application"
@@ -0,0 +1,30 @@
1
+ - content_for :secondary_navigation do
2
+ %nav#secondary
3
+ %h1 Voorkeuren
4
+
5
+ %ul
6
+ %li{class: ('active' if params[:action] == 'edit' && params[:controller] == 'spina/admin/accounts')}
7
+ = link_to spina.edit_admin_account_path, data: {icon: 'J'} do
8
+ Algemene gegevens
9
+ %small Persoonlijke instellingen
10
+
11
+ - if can? :manage, Spina::User
12
+ %li{class: ('active' if %w[users].include? controller_name)}
13
+ = link_to spina.admin_users_path, data: {icon: 'K'} do
14
+ Gebruikers
15
+ %small Beheer gebruikers en beheerders
16
+
17
+ %li{class: ('active' if params[:action] == 'social')}
18
+ = link_to spina.social_admin_account_path, data: {icon: 'D'} do
19
+ Social media
20
+ %small Facebook en Twitter accounts
21
+
22
+ %li{class: ('active' if params[:action] == 'analytics')}
23
+ = link_to spina.analytics_admin_account_path, data: {icon: 'E'} do
24
+ Statistieken en zoekmachines
25
+ %small Koppel je account voor real-time statistieken
26
+
27
+ - content_for :content do
28
+ = yield
29
+
30
+ = render template: "layouts/spina/admin/application"
@@ -0,0 +1,26 @@
1
+ - content_for :secondary_navigation do
2
+ %nav#secondary
3
+ %h1 Je website
4
+
5
+ %ul
6
+ %li{class: ('active' if params[:controller] == "spina/admin/pages")}
7
+ = link_to spina.admin_pages_path, data: {icon: 'B'} do
8
+ Pagina's
9
+ %small Alle pagina's op je website
10
+
11
+ %li{class: ('active' if params[:controller] == "spina/admin/photos" || params[:controller] == "spina/admin/attachments")}
12
+ = link_to spina.admin_photos_path, data: {icon: 'N'} do
13
+ Mediabibliotheek
14
+ %small Hier staan al je afbeeldingen, video's en documenten
15
+
16
+ - Spina.plugins(:website_resource).each do |plugin|
17
+ - if current_theme.config.plugins.include? plugin.name.downcase
18
+ %li{class: ('active' if params[:controller] == "spina/admin/#{plugin.config.controller}")}
19
+ = link_to spina.send("admin_#{plugin.config.controller}_path"), data: {icon: plugin.config.spina_icon} do
20
+ = plugin.config.title
21
+ %small= plugin.config.description
22
+
23
+ - content_for(:content) do
24
+ = content_for?(:website_content) ? yield(:website_content) : yield
25
+
26
+ = render template: "layouts/spina/admin/application"
@@ -0,0 +1,124 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
+
6
+ <!-- Facebook sharing information tags -->
7
+ <!-- <meta property="og:title" content="Spina" /> -->
8
+
9
+ <title><%= message.subject %></title>
10
+
11
+ </head>
12
+
13
+ <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" style="width: 100% !important; -webkit-text-size-adjust: none; margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; background-color: #FAFAFA;" bgcolor="#FAFAFA">
14
+ <center>
15
+ <table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" style="height: 100% !important; width: 100% !important; margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; background-color: #FAFAFA;" bgcolor="#FAFAFA">
16
+ <tr>
17
+ <td align="center" valign="top" style="border-collapse: collapse;">
18
+ <table border="0" cellpadding="10" cellspacing="0" width="600" style="background-color: #FAFAFA;" bgcolor="#FAFAFA">
19
+ <tr>
20
+ <td valign="top" class="preheaderContent" style="border-collapse: collapse;"></td>
21
+ </tr>
22
+ </table>
23
+
24
+ <!-- // End Template Preheader \\ -->
25
+ <table border="0" cellpadding="0" cellspacing="0" width="240" style="border-top-color: #dddddd; border-right-color: #dddddd; border-bottom-color: #dddddd; border-left-color: #dddddd; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; background-color: #FFFFFF;" bgcolor="#FFFFFF">
26
+ <tr>
27
+ <td align="left" valign="top" style="border-collapse: collapse;">
28
+ <!-- // Begin Template Header \\ -->
29
+ <table border="0" cellpadding="0" cellspacing="0" width="240" style="background-color: #FFFFFF; border-bottom-width: 0;" bgcolor="#FFFFFF">
30
+ <tr>
31
+ <td class="headerContent" style="border-collapse: collapse; color: #202020; font-family: Arial; font-size: 34px; font-weight: bold; line-height: 100%; text-align: left; vertical-align: middle; padding-top: 20px; padding-right: 0; padding-bottom: 0; padding-left: 20px;" align="left" valign="middle">
32
+ <!-- // Begin Module: Standard Header Image \\ -->
33
+
34
+ <% if attachments['logo.jpg'] %>
35
+ <%= image_tag attachments['logo.jpg'].url, style: 'max-width: 240px; height: auto; line-height: 100%; outline: none; text-decoration: none; border-top-width: 0; border-right-width: 0; border-bottom-width: 0; border-left-width: 0;' %>
36
+ <% end %>
37
+ <!-- // End Module: Standard Header Image \\ -->
38
+ </td>
39
+ </tr>
40
+ </table>
41
+
42
+ <!-- // End Template Header \\ -->
43
+ </td>
44
+ </tr>
45
+
46
+ <tr>
47
+ <td align="center" valign="top" style="border-collapse: collapse;">
48
+ <!-- // Begin Template Body \\ -->
49
+ <table border="0" cellpadding="0" cellspacing="0" width="600">
50
+ <tr>
51
+ <td valign="top" class="bodyContent" style="border-collapse: collapse; background-color: #FFFFFF;" bgcolor="#FFFFFF">
52
+ <!-- // Begin Module: Standard Content \\ -->
53
+ <table border="0" cellpadding="20" cellspacing="0" width="100%">
54
+ <tr>
55
+ <td valign="top" style="border-collapse: collapse;">
56
+ <div mc:edit="std_content00" style="color: #505050; font-family: Arial; font-size: 14px; line-height: 150%; text-align: left;" align="left">
57
+
58
+ <%= yield %>
59
+
60
+ <p> Met vriendelijke groet,</p>
61
+
62
+ <p>
63
+ <% if @current_account.name %>
64
+ <%= @current_account.name %>
65
+ <br/>
66
+ <% end %>
67
+ <% if @current_account.address %>
68
+ <%= @current_account.address %>
69
+ <br/>
70
+ <% end %>
71
+ <% if @current_account.postal_code %>
72
+ <%= @current_account.postal_code %>
73
+ <br/>
74
+ <% end %>
75
+ <% if @current_account.city %>
76
+ <%= @current_account.city %>
77
+ <br/>
78
+ <% end %>
79
+ <% if @current_account.phone %>
80
+ <%= @current_account.phone %>
81
+ <br/>
82
+ <% end %>
83
+ <% if @current_account.email %>
84
+ <%= @current_account.email %>
85
+ <br/>
86
+ <% end %>
87
+ </p>
88
+ <br/>
89
+
90
+ </div>
91
+ </td>
92
+ </tr>
93
+ </table>
94
+ <!-- // End Module: Standard Content \\ -->
95
+ </td>
96
+ </tr>
97
+ </table>
98
+ <!-- // End Template Body \\ -->
99
+ </td>
100
+ </tr>
101
+ </table>
102
+ <br />
103
+ </td>
104
+ </tr>
105
+ </table>
106
+ </center>
107
+
108
+ <style type="text/css">
109
+ body { width: 100% !important; }
110
+ .ReadMsgBody { width: 100% !important; }
111
+ .ExternalClass { width: 100% !important; }
112
+ body { -webkit-text-size-adjust: none !important; }
113
+ body { margin: 0 !important; padding: 0 !important; }
114
+ img { border: 0 !important; height: auto !important; line-height: 100% !important; outline: none !important; text-decoration: none !important; }
115
+ #backgroundTable { height: 100% !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
116
+ body { background-color: #FAFAFA !important; }
117
+ #backgroundTable { background-color: #FAFAFA !important; }
118
+ .preheaderContent div a:visited { color: #336699 !important; font-weight: normal !important; text-decoration: underline !important; }
119
+ .headerContent a:visited { color: #336699 !important; font-weight: normal !important; text-decoration: underline !important; }
120
+ .bodyContent div a:visited { color: #336699 !important; font-weight: normal !important; text-decoration: underline !important; }
121
+ .footerContent div a:visited { color: #336699 !important; font-weight: normal !important; text-decoration: underline !important; }
122
+ </style>
123
+ </body>
124
+ </html>
@@ -0,0 +1,21 @@
1
+ !!!
2
+ %html{lang: 'nl'}
3
+ %head
4
+ %meta{charset: 'utf-8'}
5
+ %meta{name: 'viewport', content: 'initial-scale=1.0, user-scalable=no'}
6
+ = csrf_meta_tags
7
+
8
+ %title denkWebsite
9
+
10
+ / Stylesheet
11
+ = stylesheet_link_tag "spina/admin/application"
12
+
13
+ /[if lt IE 9]
14
+ = javascript_include_tag "//html5shiv.googlecode.com/svn/trunk/html5.js"
15
+
16
+ / JavaScript
17
+ = javascript_include_tag "spina/admin/application"
18
+
19
+ %body
20
+ #login_container
21
+ = yield
@@ -0,0 +1,55 @@
1
+ = form_for [spina, :admin, current_account] do |f|
2
+ .table-container
3
+ %table.table.table-form
4
+ %tr
5
+ %td
6
+ %label Naam website
7
+ %td
8
+ = f.text_field :name, placeholder: "Naam van je website"
9
+
10
+ %tr
11
+ %td
12
+ %label Adres
13
+ %td
14
+ = f.text_field :address, placeholder: "Straat en huisnummer"
15
+
16
+ %tr
17
+ %td
18
+ %label Postcode
19
+ %td
20
+ = f.text_field :postal_code, placeholder: "Postcode"
21
+
22
+ %tr
23
+ %td
24
+ %label Plaats
25
+ %td
26
+ = f.text_field :city, placeholder: "Plaats"
27
+
28
+ %tr
29
+ %td
30
+ %label Telefoonnummer
31
+ %td
32
+ = f.text_field :phone, placeholder: "Telefoonnummer"
33
+
34
+ %tr
35
+ %td
36
+ %label Email
37
+ %td
38
+ = f.text_field :email, placeholder: "Emailadres"
39
+
40
+ %tr
41
+ %td
42
+ %label KvK-nummer
43
+ %small Het is verplicht je KvK-nummer te vermelden op je website
44
+ %td
45
+ = f.text_field :kvk_identifier, placeholder: "KvK-nummer"
46
+
47
+ %tr
48
+ %td
49
+ %label BTW-nummer
50
+ %small Het is verplicht je BTW-nummer te vermelden op je website
51
+ %td
52
+ = f.text_field :vat_identifier, placeholder: "BTW-nummer"
53
+
54
+ %button.button.button-primary{type: 'submit', data: {icon: 'o'}}
55
+ Gegevens opslaan
@@ -0,0 +1,21 @@
1
+ = form_for [spina, :admin, current_account] do |f|
2
+ .table-container
3
+ %table.table.table-form
4
+ %tr
5
+ %td
6
+ %label Website zichtbaar in zoekmachines
7
+ %td
8
+ = f.check_box :robots_allowed, data: {switch: true}
9
+ %tr
10
+ %td
11
+ %label Google Analytics
12
+ %td
13
+ = f.text_field :google_analytics, placeholder: "Google Analytics code"
14
+ %tr
15
+ %td
16
+ %label Google Site Verification
17
+ %td
18
+ = f.text_field :google_site_verification, placeholder: "Google Site Verification code"
19
+
20
+ %button.button.button-primary{type: 'submit', data: {icon: 'o'}}
21
+ Voorkeuren opslaan