odania_core 0.0.6 → 0.0.7

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 (202) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/odania/info.js.coffee +3 -0
  3. data/app/assets/javascripts/odania_core_protected/application.js +16 -0
  4. data/app/assets/stylesheets/odania/info.css.scss +3 -0
  5. data/app/assets/stylesheets/odania_core_protected/application.css +13 -0
  6. data/app/assets/stylesheets/odania_core_protected/style.css.scss +1 -0
  7. data/app/controllers/admin/odania/menu_items_controller.rb +1 -1
  8. data/app/controllers/admin/odania/sites_controller.rb +1 -0
  9. data/app/controllers/admin_controller.rb +1 -1
  10. data/app/controllers/odania/info_controller.rb +35 -0
  11. data/app/controllers/protected/dashboard_controller.rb +4 -0
  12. data/app/controllers/protected_controller.rb +9 -0
  13. data/app/helpers/odania/info_helper.rb +2 -0
  14. data/app/mailers/odania/notify.rb +13 -0
  15. data/app/views/admin/odania/contents/_form.html.erb +1 -11
  16. data/app/views/admin/odania/contents/index.html.erb +2 -2
  17. data/app/views/admin/odania/languages/_form.html.erb +3 -14
  18. data/app/views/admin/odania/languages/index.html.erb +2 -2
  19. data/app/views/admin/odania/menu_items/_form.html.erb +9 -17
  20. data/app/views/admin/odania/menu_items/index.html.erb +2 -2
  21. data/app/views/admin/odania/menus/_form.html.erb +5 -15
  22. data/app/views/admin/odania/menus/index.html.erb +2 -2
  23. data/app/views/admin/odania/shared/_menu.html.erb +1 -1
  24. data/app/views/admin/odania/sites/_form.html.erb +34 -24
  25. data/app/views/admin/odania/sites/index.html.erb +2 -2
  26. data/app/views/layouts/odania_core/application.html.erb +2 -0
  27. data/app/views/layouts/odania_core/protected.html.erb +27 -0
  28. data/app/views/odania/common/_footer.html.erb +15 -0
  29. data/app/views/odania/info/_copyright.html.erb +446 -0
  30. data/app/views/odania/info/contact.html.erb +23 -0
  31. data/app/views/odania/info/contact_send.html.erb +3 -0
  32. data/app/views/odania/info/imprint.html.erb +9 -0
  33. data/app/views/odania/info/terms_and_conditions.html.erb +3 -0
  34. data/app/views/odania/notify/contact_form.html.erb +5 -0
  35. data/app/views/odania/notify/notify_admin.html.erb +3 -0
  36. data/app/views/odania/shared/_errors.html.erb +11 -0
  37. data/app/views/protected/dashboard/index.html.erb +2 -0
  38. data/app/views/protected/odania/shared/_menu.html.erb +10 -0
  39. data/config/locales/de.yml +14 -0
  40. data/config/locales/en.yml +14 -0
  41. data/config/routes.rb +8 -3
  42. data/db/migrate/20140512153554_add_email_info_to_site.rb +6 -0
  43. data/db/migrate/20140512161811_add_imprint_terms_to_site.rb +6 -0
  44. data/lib/odania.rb +10 -1
  45. data/lib/odania/admin.rb +9 -9
  46. data/lib/odania/disabled_background_job.rb +7 -0
  47. data/lib/odania/protected.rb +12 -0
  48. data/{app/models → lib}/odania/target_type.rb +0 -0
  49. data/lib/odania_core/engine.rb +1 -0
  50. data/lib/odania_core/version.rb +1 -1
  51. data/lib/tasks/odania_core_tasks.rake +3 -2
  52. data/test/controllers/admin/odania/dashboard_controller_test.rb +17 -0
  53. data/test/controllers/odania/deliver_controller_test.rb +1 -0
  54. data/test/controllers/protected/odania/dashboard_controller_test.rb +17 -0
  55. data/test/dummy/config/database.yml +5 -0
  56. data/test/dummy/config/environments/development.rb +1 -0
  57. data/test/dummy/db/development.sqlite3 +0 -0
  58. data/test/dummy/db/schema.rb +40 -15
  59. data/test/dummy/db/test.sqlite3 +0 -0
  60. data/test/dummy/log/development.log +8181 -0
  61. data/test/dummy/log/test.log +58765 -0
  62. data/test/dummy/tmp/cache/assets/development/sprockets/050eb77fb84c3d5b11b2c335ffc2066e +0 -0
  63. data/test/dummy/tmp/cache/assets/development/sprockets/071ed495ead612a4b476446e41911790 +0 -0
  64. data/test/dummy/tmp/cache/assets/development/sprockets/1162767bf7dd2fa8a0729a9b74c5d262 +0 -0
  65. data/test/dummy/tmp/cache/assets/development/sprockets/13ebf9a23c7bcd470cced5e3c026b2c6 +0 -0
  66. data/test/dummy/tmp/cache/assets/development/sprockets/1aabd31da5b9fb20f92ccb6aab02693e +0 -0
  67. data/test/dummy/tmp/cache/assets/development/sprockets/31320b4010a117d38d5ae980db673d0f +0 -0
  68. data/test/dummy/tmp/cache/assets/development/sprockets/31bf03ea315906104e90565c1755f93b +0 -0
  69. data/test/dummy/tmp/cache/assets/development/sprockets/51ceb5283b390c7096cb51c446afff14 +0 -0
  70. data/test/dummy/tmp/cache/assets/development/sprockets/542e319febac79296c8eed4cba6b1278 +0 -0
  71. data/test/dummy/tmp/cache/assets/development/sprockets/5546cd8a339e2685f326f6e3aa7137d1 +0 -0
  72. data/test/dummy/tmp/cache/assets/development/sprockets/5896f3bd71adf47dbc97c8b096de89e5 +0 -0
  73. data/test/dummy/tmp/cache/assets/development/sprockets/64ae089382b7b1071cb7f81859a2c7e5 +0 -0
  74. data/test/dummy/tmp/cache/assets/development/sprockets/6a2d6a50e71f610e9622c7b00b89d9fb +0 -0
  75. data/test/dummy/tmp/cache/assets/development/sprockets/6c591a1043d02ec6818da184e63bab27 +0 -0
  76. data/test/dummy/tmp/cache/assets/development/sprockets/6ef2e646e5df37d1a2b8eb4c95227732 +0 -0
  77. data/test/dummy/tmp/cache/assets/development/sprockets/70a571034fb5b24b25ea62e490854fb5 +0 -0
  78. data/test/dummy/tmp/cache/assets/development/sprockets/80c0164f49a2ca6316e174f9cd881828 +0 -0
  79. data/test/dummy/tmp/cache/assets/development/sprockets/89feb1399fd506496e0895a9dcbf266d +0 -0
  80. data/test/dummy/tmp/cache/assets/development/sprockets/8a390d01d219afed891a2ccf558900f9 +0 -0
  81. data/test/dummy/tmp/cache/assets/development/sprockets/91ad661f834d4764233be7b4cd1eced4 +0 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/9257ec40a4a608c323010e1a7a392875 +0 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/a22b9e077056434affa1f7096cac526c +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/a6253055c7af3ad275675a529405f9dc +0 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/a934f78fb9f28b5be1ffaf3ad9c7d679 +0 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/aa2496eee87838cc6a8e82fe1835c7dc +0 -0
  87. data/test/dummy/tmp/cache/assets/development/sprockets/aee29c6618c315a907c84a7244f9a2d5 +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sprockets/b568cecbb1f2095238d9752c06eaad12 +0 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/b94fc2358ebd35d7593676da3994abf7 +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/bb77c7d971ba740bb9555b56a5088922 +0 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/bc22e41c8d34b097603e2810ff80b480 +0 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/c133b830eef0f8ce6c50a77c77db6811 +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/c24ede15fd68a27d8eebc1a5a6bf38f8 +0 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/c7fadd1caf1cf9bb073f2d4084867691 +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/cadf3a38b8b2f76f9ae9c40702c51e94 +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/d555fdabd9f9917902c297ff3eda35d0 +0 -0
  97. data/test/dummy/tmp/cache/assets/development/sprockets/d7607942ea55ac942ea171ffc90e3dd5 +0 -0
  98. data/test/dummy/tmp/cache/assets/development/sprockets/df6de1f873ddd3bab5ffa2351513b502 +0 -0
  99. data/test/dummy/tmp/cache/assets/development/sprockets/e2bc5f3022f0c1b1c5d8a2ec9bdaed19 +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sprockets/e346e8a32395f2f19c4d78d375b1ba43 +0 -0
  101. data/test/dummy/tmp/cache/assets/development/sprockets/e5421896b8e264a2b7ab1292b19bed91 +0 -0
  102. data/test/dummy/tmp/cache/assets/development/sprockets/e57d372b6f0705bbce9d24c6c2eea1b1 +0 -0
  103. data/test/dummy/tmp/cache/assets/development/sprockets/e5c003ee1e62f83c11e2fd7e05aae7a7 +0 -0
  104. data/test/dummy/tmp/cache/assets/development/sprockets/e771808797300a059aa4f25f6eb4a6ee +0 -0
  105. data/test/dummy/tmp/cache/assets/development/sprockets/ea93a450546497582e332129b7ffcf78 +0 -0
  106. data/test/dummy/tmp/cache/assets/development/sprockets/ee73b2f7e7a7da30173f3b379a9f56b5 +0 -0
  107. data/test/dummy/tmp/cache/assets/development/sprockets/f37943f3484e4587c579b17f68a6cfd3 +0 -0
  108. data/test/dummy/tmp/cache/assets/development/sprockets/fa2c538304a3dcad8e7c80d01bd98c60 +0 -0
  109. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_alerts.scssc +0 -0
  110. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_badges.scssc +0 -0
  111. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_breadcrumbs.scssc +0 -0
  112. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_button-groups.scssc +0 -0
  113. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_buttons.scssc +0 -0
  114. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_carousel.scssc +0 -0
  115. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_close.scssc +0 -0
  116. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_code.scssc +0 -0
  117. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_component-animations.scssc +0 -0
  118. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_dropdowns.scssc +0 -0
  119. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_forms.scssc +0 -0
  120. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_glyphicons.scssc +0 -0
  121. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_grid.scssc +0 -0
  122. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_input-groups.scssc +0 -0
  123. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_jumbotron.scssc +0 -0
  124. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_labels.scssc +0 -0
  125. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_list-group.scssc +0 -0
  126. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_media.scssc +0 -0
  127. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_mixins.scssc +0 -0
  128. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_modals.scssc +0 -0
  129. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_navbar.scssc +0 -0
  130. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_navs.scssc +0 -0
  131. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_normalize.scssc +0 -0
  132. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_pager.scssc +0 -0
  133. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_pagination.scssc +0 -0
  134. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_panels.scssc +0 -0
  135. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_popovers.scssc +0 -0
  136. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_print.scssc +0 -0
  137. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_progress-bars.scssc +0 -0
  138. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_responsive-embed.scssc +0 -0
  139. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_responsive-utilities.scssc +0 -0
  140. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_scaffolding.scssc +0 -0
  141. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_tables.scssc +0 -0
  142. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_thumbnails.scssc +0 -0
  143. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_tooltip.scssc +0 -0
  144. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_type.scssc +0 -0
  145. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_utilities.scssc +0 -0
  146. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_variables.scssc +0 -0
  147. data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_wells.scssc +0 -0
  148. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_alerts.scssc +0 -0
  149. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_background-variant.scssc +0 -0
  150. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_border-radius.scssc +0 -0
  151. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_buttons.scssc +0 -0
  152. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_center-block.scssc +0 -0
  153. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_clearfix.scssc +0 -0
  154. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_forms.scssc +0 -0
  155. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_gradients.scssc +0 -0
  156. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_grid-framework.scssc +0 -0
  157. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_grid.scssc +0 -0
  158. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_hide-text.scssc +0 -0
  159. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_image.scssc +0 -0
  160. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_labels.scssc +0 -0
  161. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_list-group.scssc +0 -0
  162. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_nav-divider.scssc +0 -0
  163. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_nav-vertical-align.scssc +0 -0
  164. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_opacity.scssc +0 -0
  165. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_pagination.scssc +0 -0
  166. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_panels.scssc +0 -0
  167. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_progress-bar.scssc +0 -0
  168. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_reset-filter.scssc +0 -0
  169. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_resize.scssc +0 -0
  170. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_responsive-visibility.scssc +0 -0
  171. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_size.scssc +0 -0
  172. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_tab-focus.scssc +0 -0
  173. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_table-row.scssc +0 -0
  174. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_text-emphasis.scssc +0 -0
  175. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_text-overflow.scssc +0 -0
  176. data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_vendor-prefixes.scssc +0 -0
  177. data/test/dummy/tmp/cache/assets/test/sass/c06fcf877e5e9b8d4ce79dea27898637e9ebd9b4/style.css.scssc +0 -0
  178. data/test/dummy/tmp/cache/assets/test/sass/d1478c0804bb496464f45966578d0e36ddcf39be/bootstrap.scssc +0 -0
  179. data/test/dummy/tmp/cache/assets/test/sprockets/00289b41bea74006a2d4648acce101be +0 -0
  180. data/test/dummy/tmp/cache/assets/test/sprockets/0e64b52b8b7f3783434b8fc77ba80746 +0 -0
  181. data/test/dummy/tmp/cache/assets/test/sprockets/14fc0938a29aa79bb2321e823afa2a53 +0 -0
  182. data/test/dummy/tmp/cache/assets/test/sprockets/2628a4fb3534fad4c570f9d7db75f185 +0 -0
  183. data/test/dummy/tmp/cache/assets/test/sprockets/2b87fb40c41ad357ed7e0b82ba32cd03 +0 -0
  184. data/test/dummy/tmp/cache/assets/test/sprockets/340cbee014f1b02efe5524acdc72279e +0 -0
  185. data/test/dummy/tmp/cache/assets/test/sprockets/45c583874d0e047bf054aae066ad66f3 +0 -0
  186. data/test/dummy/tmp/cache/assets/test/sprockets/464e9c589a85f96b8a0c6b4db98b721b +0 -0
  187. data/test/dummy/tmp/cache/assets/test/sprockets/5736e9fa3c5e61402273619daeb9dda4 +0 -0
  188. data/test/dummy/tmp/cache/assets/test/sprockets/610c5b9a96d0a2f6fa708281748fa43a +0 -0
  189. data/test/dummy/tmp/cache/assets/test/sprockets/7b998a880b2b33edff7260851f35b673 +0 -0
  190. data/test/dummy/tmp/cache/assets/test/sprockets/7f77f75866eff4aa14cff532de023873 +0 -0
  191. data/test/dummy/tmp/cache/assets/test/sprockets/8a7112fe0def097e8ce96fcd2ed9ee82 +0 -0
  192. data/test/dummy/tmp/cache/assets/test/sprockets/8d8d40db7c8757a3e15481173abc4d2f +0 -0
  193. data/test/dummy/tmp/cache/assets/test/sprockets/91fc71cf7102d1e9000e63477feccfa8 +0 -0
  194. data/test/dummy/tmp/cache/assets/test/sprockets/aa2496eee87838cc6a8e82fe1835c7dc +0 -0
  195. data/test/dummy/tmp/cache/assets/test/sprockets/b1f2012aef9055f8d4a97dcad14010fe +0 -0
  196. data/test/dummy/tmp/cache/assets/test/sprockets/c24ede15fd68a27d8eebc1a5a6bf38f8 +0 -0
  197. data/test/dummy/tmp/cache/assets/test/sprockets/d8ebcc4e0bb18e81039b7b81b658e1bc +0 -0
  198. data/test/dummy/tmp/cache/assets/test/sprockets/f68a094a9d20eb0f8df24564219ca878 +0 -0
  199. data/test/dummy/tmp/pids/server.pid +1 -0
  200. data/test/integration/disabled_background_job_test.rb +28 -0
  201. data/test/support/test_setup.rb +1 -0
  202. metadata +307 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 61ed856180e939491b2083a9b5e74fb1b1bd7798
4
- data.tar.gz: 7bd04630e902690fb8ab84a45732037c099f8bc9
3
+ metadata.gz: 08bde9bd3cf95dd5043372bd8c71fb67c38681b3
4
+ data.tar.gz: 1859007e23882e4720046914b0a86408adea3b4f
5
5
  SHA512:
6
- metadata.gz: 0da684e9a7298c90a391038cecbbb06280ae55370e82aca0f00e15213aad539df683a38562ec902a0f633105934887194335367800f3db1d8e9d835ff08f64da
7
- data.tar.gz: 3f47d19dfd36045385b8d7ea3b07919bcddd8b126a90ac5546d167b6a9bc2087ee85017c4176ee517de1488ea51084321a46b047758552fe29b875c8905e9de0
6
+ metadata.gz: 89ed4e710a7eb2f9a8e7168f4f2f04e4af7e4c92eb029547f2e2af4d063ea0d1a271f306c06da7fb46d6ce83e134cff6e806aef28949f1cdea325c5c6057b1e8
7
+ data.tar.gz: 30931e03f7befd466a51ffb8d906c046afc7b7103212c1624ee04d614d10fd73e345c3fc84ebf11eba182b193b06afcb16dcbef2c8a8b32f242d3d06bde60901
@@ -0,0 +1,3 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -0,0 +1,16 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // the compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require bootstrap
16
+ //= require_tree .
@@ -0,0 +1,3 @@
1
+ // Place all the styles related to the odania/info controller here.
2
+ // They will automatically be included in application.css.
3
+ // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -0,0 +1,13 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require_tree .
13
+ */
@@ -0,0 +1 @@
1
+ @import "bootstrap";
@@ -85,6 +85,6 @@ class Admin::Odania::MenuItemsController < AdminController
85
85
 
86
86
  # Parameter for target data
87
87
  def odania_target_data_params
88
- params.require(:target_data)
88
+ params[:target_data].nil? ? {} : params[:target_data]
89
89
  end
90
90
  end
@@ -55,6 +55,7 @@ class Admin::Odania::SitesController < AdminController
55
55
  # Only allow a trusted parameter "white list" through.
56
56
  def admin_site_params
57
57
  params.require(:odania_site).permit(:name, :host, :is_active, :is_default, :tracking_code, :description,
58
+ :default_from_email, :notify_email_address, :imprint, :terms_and_conditions,
58
59
  :redirect_to_id, :template, :default_language_id, :language_ids => [])
59
60
  end
60
61
  end
@@ -4,7 +4,7 @@ class AdminController < ApplicationController
4
4
  layout :set_admin_layout
5
5
 
6
6
  def set_admin_layout
7
- current_user.admin_layout || Odania.admin.admin_templates.keys.first || 'odania_core/admin'
7
+ current_user.admin_layout || Odania.admin.templates.keys.first || 'odania_core/admin'
8
8
  end
9
9
 
10
10
  def choose_site
@@ -0,0 +1,35 @@
1
+ class Odania::InfoController < ApplicationController
2
+ before_action :valid_site!
3
+
4
+ def imprint
5
+ end
6
+
7
+ def terms_and_conditions
8
+ end
9
+
10
+ def contact
11
+ set_post_name
12
+ end
13
+
14
+ def contact_send
15
+ set_post_name
16
+
17
+ return redirect_to :action => 'index' if params[@contact_post_name].nil?
18
+
19
+ # Send Mail
20
+ Odania::Notify.contact_form(current_site, params[@contact_post_name]).deliver!
21
+
22
+ # Remove cookie
23
+ cookies[:contact_post_name] = nil
24
+ end
25
+
26
+ private
27
+
28
+ def set_post_name
29
+ if cookies[:contact_post_name].nil? or cookies[:contact_post_name].empty?
30
+ cookies[:contact_post_name] = "contact"+rand(100000).to_s
31
+ end
32
+
33
+ @contact_post_name = cookies[:contact_post_name]
34
+ end
35
+ end
@@ -0,0 +1,4 @@
1
+ class Protected::DashboardController < ProtectedController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,9 @@
1
+ class ProtectedController < ApplicationController
2
+ before_action :authenticate_user!, :require_admin_role!
3
+ skip_before_filter :valid_site!
4
+ layout :set_protected_layout
5
+
6
+ def set_protected_layout
7
+ Odania.protected.templates.keys.first || 'odania_core/protected'
8
+ end
9
+ end
@@ -0,0 +1,2 @@
1
+ module Odania::InfoHelper
2
+ end
@@ -0,0 +1,13 @@
1
+ class Odania::Notify < ActionMailer::Base
2
+ def contact_form(site, data)
3
+ @data = data
4
+ @site = site
5
+ mail(to: site.notify_email_address, subject: "Contact form: #{data['contact_name']} (#{site.name})", from: site.default_from_email)
6
+ end
7
+
8
+ def notify_admin(site, msg)
9
+ @msg = msg
10
+ @site = site
11
+ mail(to: site.notify_email_address, subject: "[AdminNotify]: #{msg} (#{site.name})", from: site.default_from_email)
12
+ end
13
+ end
@@ -1,15 +1,5 @@
1
1
  <%= form_for([:admin, @odania_menu, @admin_content]) do |f| %>
2
- <% if @admin_content.errors.any? %>
3
- <div id="error_explanation">
4
- <h2><%= pluralize(@admin_content.errors.count, "error") %> prohibited this admin_content from being saved:</h2>
5
-
6
- <ul>
7
- <% @admin_content.errors.full_messages.each do |msg| %>
8
- <li><%= msg %></li>
9
- <% end %>
10
- </ul>
11
- </div>
12
- <% end %>
2
+ <%= render partial: 'odania/shared/errors', locals: {obj: @admin_content} %>
13
3
 
14
4
  <div class="field">
15
5
  <%= f.label :site_id %>
@@ -1,6 +1,6 @@
1
1
  <h1>Listing admin_contents</h1>
2
2
 
3
- <table>
3
+ <table class="table">
4
4
  <thead>
5
5
  <tr>
6
6
  <th>Title</th>
@@ -26,6 +26,6 @@
26
26
  </tbody>
27
27
  </table>
28
28
 
29
- <br>
29
+ <br/>
30
30
 
31
31
  <%= link_to 'New Content', new_admin_odania_menu_odania_content_path(@odania_menu) %>
@@ -1,25 +1,14 @@
1
1
  <%= form_for([:admin, @admin_language]) do |f| %>
2
- <% if @admin_language.errors.any? %>
3
- <div id="error_explanation">
4
- <h2><%= pluralize(@admin_language.errors.count, "error") %> prohibited this admin_language from being
5
- saved:</h2>
6
-
7
- <ul>
8
- <% @admin_language.errors.full_messages.each do |msg| %>
9
- <li><%= msg %></li>
10
- <% end %>
11
- </ul>
12
- </div>
13
- <% end %>
2
+ <%= render partial: 'odania/shared/errors', locals: {obj: @admin_language} %>
14
3
 
15
4
  <div class="field">
16
5
  <%= f.label :name %>
17
- <br>
6
+ <br/>
18
7
  <%= f.text_field :name %>
19
8
  </div>
20
9
  <div class="field">
21
10
  <%= f.label :iso_639_1 %>
22
- <br>
11
+ <br/>
23
12
  <%= f.text_field :iso_639_1 %>
24
13
  </div>
25
14
  <div class="actions">
@@ -1,6 +1,6 @@
1
1
  <h1>Listing admin_languages</h1>
2
2
 
3
- <table>
3
+ <table class="table">
4
4
  <thead>
5
5
  <tr>
6
6
  <th>Name</th>
@@ -24,6 +24,6 @@
24
24
  </tbody>
25
25
  </table>
26
26
 
27
- <br>
27
+ <br/>
28
28
 
29
29
  <%= link_to 'New Language', new_admin_odania_language_path %>
@@ -1,38 +1,30 @@
1
1
  <%= form_for([:admin, @odania_menu, @odania_menu_item]) do |f| %>
2
- <% if @odania_menu_item.errors.any? %>
3
- <div id="error_explanation">
4
- <h2><%= pluralize(@odania_menu_item.errors.count, "error") %> prohibited this odania_menu_item from being
5
- saved:</h2>
6
-
7
- <ul>
8
- <% @odania_menu_item.errors.full_messages.each do |msg| %>
9
- <li><%= msg %></li>
10
- <% end %>
11
- </ul>
12
- </div>
13
- <% end %>
2
+ <%= render partial: 'odania/shared/errors', locals: {obj: @odania_menu_item} %>
14
3
 
15
4
  <div class="field">
16
5
  <%= f.label :title %>
17
- <br>
6
+ <br/>
18
7
  <%= f.text_field :title %>
19
8
  </div>
20
9
  <div class="field">
21
10
  <%= f.label :published %>
22
- <br>
11
+ <br/>
23
12
  <%= f.check_box :published %>
24
13
  </div>
25
14
  <div class="field">
26
15
  <%= f.label :target_type %>
27
- <br>
16
+ <br/>
28
17
  <%= f.select :target_type, Odania::TargetType.targets.keys %>
29
18
  </div>
30
19
 
31
- <%= render partial: Odania::TargetType.targets[@odania_menu_item.target_type][:selector], locals: {menu_item: @odania_menu_item} %>
20
+
21
+ <% unless Odania::TargetType.targets[@odania_menu_item.target_type][:selector].blank? %>
22
+ <%= render partial: Odania::TargetType.targets[@odania_menu_item.target_type][:selector], locals: {menu_item: @odania_menu_item} %>
23
+ <% end %>
32
24
 
33
25
  <div class="field">
34
26
  <%= f.label :parent_id %>
35
- <br>
27
+ <br/>
36
28
  <%= f.collection_select :parent_id, Odania::MenuItem.order('title ASC'), :id, :title, {include_blank: true} %>
37
29
  </div>
38
30
  <div class="actions">
@@ -1,6 +1,6 @@
1
1
  <h1>Listing odania_menu_items</h1>
2
2
 
3
- <table>
3
+ <table class="table">
4
4
  <thead>
5
5
  <tr>
6
6
  <th></th>
@@ -32,6 +32,6 @@
32
32
  </tbody>
33
33
  </table>
34
34
 
35
- <br>
35
+ <br/>
36
36
 
37
37
  <%= link_to 'New Menu item', new_admin_odania_menu_odania_menu_item_path %>
@@ -1,34 +1,24 @@
1
1
  <%= form_for([:admin, @admin_menu]) do |f| %>
2
- <% if @admin_menu.errors.any? %>
3
- <div id="error_explanation">
4
- <h2><%= pluralize(@admin_menu.errors.count, "error") %> prohibited this admin_menu from being saved:</h2>
5
-
6
- <ul>
7
- <% @admin_menu.errors.full_messages.each do |msg| %>
8
- <li><%= msg %></li>
9
- <% end %>
10
- </ul>
11
- </div>
12
- <% end %>
2
+ <%= render partial: 'odania/shared/errors', locals: {obj: @admin_menu} %>
13
3
 
14
4
  <div class="field">
15
5
  <%= f.label :title %>
16
- <br>
6
+ <br/>
17
7
  <%= f.text_field :title %>
18
8
  </div>
19
9
  <div class="field">
20
10
  <%= f.label :published %>
21
- <br>
11
+ <br/>
22
12
  <%= f.check_box :published %>
23
13
  </div>
24
14
  <div class="field">
25
15
  <%= f.label :site %>
26
- <br>
16
+ <br/>
27
17
  <%= f.collection_select :site_id, Odania::Site.order('name ASC'), :id, :name %>
28
18
  </div>
29
19
  <div class="field">
30
20
  <%= f.label :language_id %>
31
- <br>
21
+ <br/>
32
22
  <%= f.collection_select :language_id, Odania::Language.order('name ASC'), :id, :name %>
33
23
  </div>
34
24
  <div class="actions">
@@ -1,6 +1,6 @@
1
1
  <h1>Listing admin_menus</h1>
2
2
 
3
- <table>
3
+ <table class="table">
4
4
  <thead>
5
5
  <tr>
6
6
  <th>Title</th>
@@ -28,6 +28,6 @@
28
28
  </tbody>
29
29
  </table>
30
30
 
31
- <br>
31
+ <br/>
32
32
 
33
33
  <%= link_to 'New Menu', new_admin_odania_menu_path %>
@@ -13,7 +13,7 @@
13
13
 
14
14
  <div class="nav-collapse">
15
15
  <ul class="nav nav-list">
16
- <% Odania.admin.admin_pages.each do |admin_page| %>
16
+ <% Odania.admin.pages.each do |admin_page| %>
17
17
  <li><%= link_to admin_page[:name], admin_page[:path] %></li>
18
18
  <% end %>
19
19
  </ul>
@@ -1,61 +1,71 @@
1
1
  <%= form_for([:admin, @admin_site]) do |f| %>
2
- <% if @admin_site.errors.any? %>
3
- <div id="error_explanation">
4
- <h2><%= pluralize(@admin_site.errors.count, "error") %> prohibited this admin_site from being saved:</h2>
5
-
6
- <ul>
7
- <% @admin_site.errors.full_messages.each do |msg| %>
8
- <li><%= msg %></li>
9
- <% end %>
10
- </ul>
11
- </div>
12
- <% end %>
2
+ <%= render partial: 'odania/shared/errors', locals: {obj: @admin_site} %>
13
3
 
14
4
  <div class="field">
15
5
  <%= f.label :name %>
16
- <br>
6
+ <br/>
17
7
  <%= f.text_field :name %>
18
8
  </div>
19
9
  <div class="field">
20
10
  <%= f.label :host %>
21
- <br>
11
+ <br/>
22
12
  <%= f.text_field :host %>
23
13
  </div>
24
14
  <div class="field">
25
15
  <%= f.label :is_active %>
26
- <br>
16
+ <br/>
27
17
  <%= f.check_box :is_active %>
28
18
  </div>
29
19
  <div class="field">
30
20
  <%= f.label :is_default %>
31
- <br>
21
+ <br/>
32
22
  <%= f.check_box :is_default %>
33
23
  </div>
34
- <div class="field">
35
- <%= f.label :tracking_code %>
36
- <br>
37
- <%= f.text_area :tracking_code %>
38
- </div>
39
24
  <div class="field">
40
25
  <%= f.label :description %>
41
- <br>
26
+ <br/>
42
27
  <%= f.text_area :description %>
43
28
  </div>
44
29
  <div class="field">
45
30
  <%= f.label :default_language_id %>
46
- <br>
31
+ <br/>
47
32
  <%= f.collection_select :default_language_id, Odania::Language.order('name ASC'), :id, :name %>
48
33
  </div>
34
+ <div class="field">
35
+ <%= f.label :default_from_email %>
36
+ <br/>
37
+ <%= f.text_field :default_from_email %>
38
+ </div>
39
+ <div class="field">
40
+ <%= f.label :notify_email_address %>
41
+ <br/>
42
+ <%= f.text_field :notify_email_address %>
43
+ </div>
49
44
  <div class="field">
50
45
  <%= f.label :redirect_to_id %>
51
- <br>
46
+ <br/>
52
47
  <%= f.collection_select :redirect_to_id, Odania::Site.order('name ASC'), :id, :name, {include_blank: true} %>
53
48
  </div>
54
49
  <div class="field">
55
50
  <%= f.label :template %>
56
- <br>
51
+ <br/>
57
52
  <%= f.select :template, Odania.templates_for_select, {include_blank: true} %>
58
53
  </div>
54
+ <div class="field">
55
+ <%= f.label :tracking_code %>
56
+ <br/>
57
+ <%= f.text_area :tracking_code %>
58
+ </div>
59
+ <div class="field">
60
+ <%= f.label :imprint %>
61
+ <br/>
62
+ <%= f.text_area :imprint %>
63
+ </div>
64
+ <div class="field">
65
+ <%= f.label :terms_and_conditions %>
66
+ <br/>
67
+ <%= f.text_area :terms_and_conditions %>
68
+ </div>
59
69
  <div class="actions">
60
70
  <%= f.submit %>
61
71
  </div>