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
@@ -0,0 +1,23 @@
1
+ <h1><%= t('odania.Contact') %></h1>
2
+
3
+ <p>
4
+ <%= form_tag '/contact' do %>
5
+ <p>
6
+ <%= t('odania.name') %>:
7
+ <input type="text" name="<%= @contact_post_name %>[contact_name]" value=""/>
8
+ </p>
9
+
10
+ <p>
11
+ <%= t('odania.email') %>:
12
+ <input type="text" name="<%= @contact_post_name %>[email]" value=""/>
13
+ </p>
14
+
15
+ <p>
16
+ <%= t('odania.ContactText') %>
17
+ <textarea name="<%= @contact_post_name %>[body]" cols="50" rows="10"></textarea>
18
+ </p>
19
+ <p>
20
+ <input type="submit" name="submit" value="<%= t('odania.send') %>"/>
21
+ </p>
22
+ <% end %>
23
+ </p>
@@ -0,0 +1,3 @@
1
+ <h1><%= t('odania.Contact') %></h1>
2
+
3
+ <p><%= t('odania.Your request is send') %></p>
@@ -0,0 +1,9 @@
1
+ <h1><%= t('odania.Imprint') %></h1>
2
+
3
+ <%=raw current_site.imprint %>
4
+
5
+ <h2><%= t('odania.This page is created with the Open Source Portal') %></h2>
6
+ <p><a href="http://www.odania.com">Odania Open Source Portal</a></p>
7
+
8
+ <br/><br/><br/>
9
+ <%= render :partial => 'odania/info/copyright' %>
@@ -0,0 +1,3 @@
1
+ <h1><%= t('odania.Terms and Conditions') %></h1>
2
+
3
+ <%=raw current_site.terms_and_conditions %>
@@ -0,0 +1,5 @@
1
+ Site: <%= link_to @site.name, @site.host %>
2
+ <br/>Name: <%= @data['contact_name'] %>
3
+ <br/>Email: <%= @data['email'] %>
4
+ <br/>Message:
5
+ <p><%= @data['body'] %></p>
@@ -0,0 +1,3 @@
1
+ <br/>Site: <%= link_to @site.name, @site.host %>
2
+ <br/>Message:
3
+ <p><%= @msg %></p>
@@ -0,0 +1,11 @@
1
+ <% if obj.errors.any? %>
2
+ <div id="error_explanation">
3
+ <h2><%= pluralize(obj.errors.count, 'error') %> prohibited this admin_ad_type from being saved:</h2>
4
+
5
+ <ul>
6
+ <% obj.errors.full_messages.each do |msg| %>
7
+ <li><%= msg %></li>
8
+ <% end %>
9
+ </ul>
10
+ </div>
11
+ <% end %>
@@ -0,0 +1,2 @@
1
+ <h1>Protected::Dashboard#index</h1>
2
+ <p>Find me in app/views/protected/dashboard/index.html.erb</p>
@@ -0,0 +1,10 @@
1
+ <div class="container-fluid">
2
+ <div class="nav-collapse">
3
+ <ul class="nav nav-list">
4
+ <li><%= link_to t('Dashboard'), protected_path %></li>
5
+ <% Odania.protected.pages.each do |protected_page| %>
6
+ <li><%= link_to protected_page[:name], protected_page[:path] %></li>
7
+ <% end %>
8
+ </ul>
9
+ </div>
10
+ </div>
@@ -9,3 +9,17 @@ de:
9
9
  Read more: 'Weiter lesen'
10
10
  Language: 'Sprache'
11
11
  No content defined: 'Kein Inhalt definiert'
12
+ Dashboard: 'Dashboard'
13
+ odania:
14
+ save_and_back: 'Speichern & Zurück'
15
+ save: 'Speichern'
16
+ send: 'Senden'
17
+ name: 'Name'
18
+ email: 'Email'
19
+ ContactText: 'Nachricht'
20
+ Contact: 'Kontakt'
21
+ Your request is send: 'Deine Anfrage wurde gesendet'
22
+ Imprint: 'Impressum'
23
+ Terms and Conditions: 'AGB'
24
+ Or you can contact us via this form: 'Oder kontaktiere uns über diese Formular'
25
+ This page is created with the Open Source Portal: 'Diese Seite wurde mit dem Open Source Portal "Odania" erstellt'
@@ -9,3 +9,17 @@ en:
9
9
  Read more: 'Read more'
10
10
  Language: 'Language'
11
11
  No content defined: 'No content defined'
12
+ Dashboard: 'Dashboard'
13
+ odania:
14
+ save_and_back: 'Save & Back'
15
+ save: 'Save'
16
+ send: 'Send'
17
+ name: 'Name'
18
+ email: 'Email'
19
+ ContactText: 'Message'
20
+ Contact: 'Contact'
21
+ Your request is send: 'Your message has been sent'
22
+ Imprint: 'Imprint'
23
+ Terms and Conditions: 'Terms and Conditions'
24
+ Or you can contact us via this form: 'Or you can contact us via this form'
25
+ This page is created with the Open Source Portal: 'This page is created with the Open Source Portal "Odania"'
data/config/routes.rb CHANGED
@@ -3,9 +3,10 @@ Rails.application.routes.draw do
3
3
 
4
4
  match '/deliver/click' => 'odania/deliver#click', via: [:get, :post], as: :deliver_click
5
5
 
6
- get '/imprint' => 'info#imprint'
7
- get '/contact' => 'info#contact'
8
- post '/contact' => 'info#contact_send'
6
+ get 'imprint' => 'odania/info#imprint'
7
+ get 'terms_and_conditions' => 'odania/info#terms_and_conditions'
8
+ get 'contact' => 'odania/info#contact'
9
+ post 'contact' => 'odania/info#contact_send'
9
10
 
10
11
  namespace :admin do
11
12
  namespace :odania do
@@ -29,6 +30,10 @@ Rails.application.routes.draw do
29
30
  get '/' => 'dashboard#index'
30
31
  end
31
32
 
33
+ namespace :protected do
34
+ get '/' => 'dashboard#index'
35
+ end
36
+
32
37
  # Track views
33
38
  match 'track_view/:type/:id' => 'odania/statistics#track_view', :as => :update_views, via: [:get, :post, :put]
34
39
 
@@ -0,0 +1,6 @@
1
+ class AddEmailInfoToSite < ActiveRecord::Migration
2
+ def change
3
+ add_column :odania_sites, :default_from_email, :string
4
+ add_column :odania_sites, :notify_email_address, :string
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class AddImprintTermsToSite < ActiveRecord::Migration
2
+ def change
3
+ add_column :odania_sites, :imprint, :text
4
+ add_column :odania_sites, :terms_and_conditions, :text
5
+ end
6
+ end
data/lib/odania.rb CHANGED
@@ -10,10 +10,13 @@ module Odania
10
10
 
11
11
  autoload :Configuration, 'odania/configuration'
12
12
  autoload :Admin, 'odania/admin'
13
+ autoload :Protected, 'odania/protected'
13
14
  autoload :CoreTargetTypeUtil, 'odania/core_target_type_util'
14
15
  autoload :TextHelper, 'odania/text_helper'
15
16
  autoload :Taggable, 'odania/taggable'
16
17
  autoload :Filter, 'odania/filter'
18
+ autoload :DisabledBackgroundJob, 'odania/disabled_background_job'
19
+ autoload :TargetType, 'odania/target_type'
17
20
 
18
21
  # Define a set of helpers that are called on setup.
19
22
  mattr_reader :helpers
@@ -30,14 +33,16 @@ module Odania
30
33
  def self.setup
31
34
  yield Odania::Configuration
32
35
  @@helpers.each { |h| h.define_helpers(self.config) }
36
+ end
33
37
 
38
+ def self.setup_enqueue
34
39
  # Enqueue for background processing
35
40
  if Odania.config.background_enqueue.blank?
36
41
  Rails.logger.error 'No background_enqueue defined!'
37
42
  Odania.config.background_enqueue = 'puts \'FallbackEnqueue\';puts'
38
43
  end
39
44
  module_eval <<-METHODS, __FILE__, __LINE__ + 1
40
- def self.enqueue(background_type, opts)
45
+ def self.enqueue(background_type, *opts)
41
46
  #{Odania.config.background_enqueue}(background_type, opts)
42
47
  end
43
48
  METHODS
@@ -96,4 +101,8 @@ module Odania
96
101
  def self.admin
97
102
  Odania::Admin
98
103
  end
104
+
105
+ def self.protected
106
+ Odania::Protected
107
+ end
99
108
  end
data/lib/odania/admin.rb CHANGED
@@ -2,16 +2,16 @@
2
2
  module Odania
3
3
  module Admin
4
4
  # Registered Templates for the admin pages
5
- mattr_reader :admin_templates
6
- @@admin_templates = Hash.new
5
+ mattr_reader :templates
6
+ @@templates = Hash.new
7
7
 
8
8
  # Registered Admin Pages
9
- mattr_accessor :admin_pages
10
- @@admin_pages = Set.new
11
- @@admin_pages << {name: 'Sites', path: '/admin/odania/sites'}
12
- @@admin_pages << {name: 'Contents', path: '/admin/odania/contents'}
13
- @@admin_pages << {name: 'Languages', path: '/admin/odania/languages'}
14
- @@admin_pages << {name: 'Menus', path: '/admin/odania/menus'}
15
- @@admin_pages << {name: 'Menu Items', path: '/admin/odania/menu_items'}
9
+ mattr_accessor :pages
10
+ @@pages = Set.new
11
+ @@pages << {name: 'Sites', path: '/admin/odania/sites'}
12
+ @@pages << {name: 'Contents', path: '/admin/odania/contents'}
13
+ @@pages << {name: 'Languages', path: '/admin/odania/languages'}
14
+ @@pages << {name: 'Menus', path: '/admin/odania/menus'}
15
+ @@pages << {name: 'Menu Items', path: '/admin/odania/menu_items'}
16
16
  end
17
17
  end
@@ -0,0 +1,7 @@
1
+ # This is meant as a fallback/test background processor. It directly executes the action.
2
+ module DisabledBackgroundJob
3
+ def self.enqueue(background_type, opts)
4
+ puts "Directly processing: #{background_type} with options: #{opts}"
5
+ background_type.to_s.constantize.new.perform(*opts)
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ # Administration related information
2
+ module Odania
3
+ module Protected
4
+ # Registered Templates for the protected pages
5
+ mattr_reader :templates
6
+ @@templates = Hash.new
7
+
8
+ # Registered Admin Pages
9
+ mattr_accessor :pages
10
+ @@pages = Set.new
11
+ end
12
+ end
File without changes
@@ -9,6 +9,7 @@ require 'sass-rails'
9
9
  require 'coffee-rails'
10
10
  require 'jquery-rails'
11
11
  require 'bootstrap-sass'
12
+ require 'rails-i18n'
12
13
 
13
14
  # Require internals
14
15
  require 'odania'
@@ -1,3 +1,3 @@
1
1
  module OdaniaCore
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
@@ -32,9 +32,10 @@ namespace :odania do
32
32
  language = Odania::Language.first
33
33
 
34
34
  if language.nil?
35
- puts "Create a language first"
35
+ puts 'Create a language first'
36
36
  elsif site.nil?
37
- site = Odania::Site.create!(default_language_id: language.id, :name => host_name, :host => host_name, :is_default => (Odania::Site.count == 0))
37
+ site = Odania::Site.create!(default_language_id: language.id, :name => host_name, :host => host_name, :is_default => (Odania::Site.count == 0), tracking_code: '')
38
+ site.menus.create!(language_id: language.id, title: language.iso_639_1)
38
39
  puts "Site #{site.host} created!"
39
40
  else
40
41
  puts "Site #{site.host} already exists!"
@@ -0,0 +1,17 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require 'test_helper'
3
+
4
+ class Admin::DashboardControllerTest < ActionController::TestCase
5
+ def setup
6
+ site = create(:default_site)
7
+ @request.host = site.host
8
+ @content = create(:content, site: site)
9
+ @language = create(:language)
10
+ @menu = create(:menu_with_items, site: site, amount: 4, language: site.default_language)
11
+ end
12
+
13
+ test 'test should get index' do
14
+ get :index
15
+ assert_response :success
16
+ end
17
+ end
@@ -23,6 +23,7 @@ class Odania::DeliverControllerTest < ActionController::TestCase
23
23
  Odania.setup do |config|
24
24
  config.background_enqueue = 'TestBackgroundWorker.enqueue'
25
25
  end
26
+ Odania.setup_enqueue
26
27
 
27
28
  get :click, {target: URI.escape(target), id: 'myid', type: 'test-type'}
28
29
  assert_response :redirect
@@ -0,0 +1,17 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require 'test_helper'
3
+
4
+ class Protected::DashboardControllerTest < ActionController::TestCase
5
+ def setup
6
+ site = create(:default_site)
7
+ @request.host = site.host
8
+ @content = create(:content, site: site)
9
+ @language = create(:language)
10
+ @menu = create(:menu_with_items, site: site, amount: 4, language: site.default_language)
11
+ end
12
+
13
+ test 'test should get index' do
14
+ get :index
15
+ assert_response :success
16
+ end
17
+ end
@@ -7,6 +7,11 @@ development:
7
7
  password: testpw
8
8
  pool: 5
9
9
 
10
+ #development:
11
+ # adapter: sqlite3
12
+ # database: db/development.sqlite3
13
+ # timeout: 5000
14
+
10
15
  test:
11
16
  adapter: sqlite3
12
17
  database: db/test.sqlite3
@@ -14,6 +14,7 @@ Dummy::Application.configure do
14
14
  config.action_controller.perform_caching = false
15
15
 
16
16
  # Don't care if the mailer can't send.
17
+ config.action_mailer.default_url_options = {:host => 'www.lvh.me:3000'}
17
18
  config.action_mailer.raise_delivery_errors = false
18
19
 
19
20
  # Print deprecation notices to the Rails logger.
Binary file
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20140425202800) do
14
+ ActiveRecord::Schema.define(version: 20140512161811) do
15
15
 
16
16
  create_table "ckeditor_assets", force: true do |t|
17
17
  t.string "data_file_name", null: false
@@ -26,8 +26,8 @@ ActiveRecord::Schema.define(version: 20140425202800) do
26
26
  t.datetime "updated_at"
27
27
  end
28
28
 
29
- add_index "ckeditor_assets", ["assetable_type", "assetable_id"], name: "idx_ckeditor_assetable"
30
- add_index "ckeditor_assets", ["assetable_type", "type", "assetable_id"], name: "idx_ckeditor_assetable_type"
29
+ add_index "ckeditor_assets", ["assetable_type", "assetable_id"], name: "idx_ckeditor_assetable", using: :btree
30
+ add_index "ckeditor_assets", ["assetable_type", "type", "assetable_id"], name: "idx_ckeditor_assetable_type", using: :btree
31
31
 
32
32
  create_table "odania_contents", force: true do |t|
33
33
  t.string "title", null: false
@@ -45,15 +45,15 @@ ActiveRecord::Schema.define(version: 20140425202800) do
45
45
  t.datetime "updated_at"
46
46
  end
47
47
 
48
- add_index "odania_contents", ["site_id", "language_id", "is_active"], name: "index_odania_contents_on_site_id_and_language_id_and_is_active"
49
- add_index "odania_contents", ["user_id"], name: "index_odania_contents_on_user_id"
48
+ add_index "odania_contents", ["site_id", "language_id", "is_active"], name: "index_odania_contents_on_site_id_and_language_id_and_is_active", using: :btree
49
+ add_index "odania_contents", ["user_id"], name: "index_odania_contents_on_user_id", using: :btree
50
50
 
51
51
  create_table "odania_languages", force: true do |t|
52
52
  t.string "name"
53
53
  t.string "iso_639_1"
54
54
  end
55
55
 
56
- add_index "odania_languages", ["iso_639_1"], name: "index_odania_languages_on_iso_639_1", unique: true
56
+ add_index "odania_languages", ["iso_639_1"], name: "index_odania_languages_on_iso_639_1", unique: true, using: :btree
57
57
 
58
58
  create_table "odania_menu_items", force: true do |t|
59
59
  t.integer "menu_id"
@@ -66,7 +66,7 @@ ActiveRecord::Schema.define(version: 20140425202800) do
66
66
  t.string "full_path"
67
67
  end
68
68
 
69
- add_index "odania_menu_items", ["menu_id", "full_path"], name: "index_odania_menu_items_on_menu_id_and_full_path"
69
+ add_index "odania_menu_items", ["menu_id", "full_path"], name: "index_odania_menu_items_on_menu_id_and_full_path", using: :btree
70
70
 
71
71
  create_table "odania_menus", force: true do |t|
72
72
  t.string "title"
@@ -78,7 +78,28 @@ ActiveRecord::Schema.define(version: 20140425202800) do
78
78
  t.datetime "updated_at"
79
79
  end
80
80
 
81
- add_index "odania_menus", ["site_id", "language_id"], name: "index_odania_menus_on_site_id_and_language_id", unique: true
81
+ add_index "odania_menus", ["site_id", "language_id"], name: "index_odania_menus_on_site_id_and_language_id", unique: true, using: :btree
82
+
83
+ create_table "odania_omniauth_identities", force: true do |t|
84
+ t.string "email"
85
+ t.string "name"
86
+ t.string "password_digest"
87
+ t.datetime "created_at"
88
+ t.datetime "updated_at"
89
+ end
90
+
91
+ add_index "odania_omniauth_identities", ["email"], name: "omniauth_identities_email", using: :btree
92
+
93
+ create_table "odania_omniauth_user_authentications", force: true do |t|
94
+ t.integer "user_id"
95
+ t.string "provider"
96
+ t.string "uid"
97
+ t.datetime "created_at"
98
+ t.datetime "updated_at"
99
+ end
100
+
101
+ add_index "odania_omniauth_user_authentications", ["provider", "uid"], name: "omniauth_authentications_provider_uid", using: :btree
102
+ add_index "odania_omniauth_user_authentications", ["user_id", "provider"], name: "omniauth_authentications_user_id_provider", using: :btree
82
103
 
83
104
  create_table "odania_sites", force: true do |t|
84
105
  t.string "name"
@@ -88,12 +109,16 @@ ActiveRecord::Schema.define(version: 20140425202800) do
88
109
  t.text "tracking_code"
89
110
  t.text "description"
90
111
  t.string "template"
91
- t.boolean "user_signup_allowed", default: false
112
+ t.boolean "user_signup_allowed", default: false
92
113
  t.integer "default_language_id"
93
114
  t.integer "redirect_to_id"
115
+ t.string "default_from_email"
116
+ t.string "notify_email_address"
117
+ t.text "imprint"
118
+ t.text "terms_and_conditions"
94
119
  end
95
120
 
96
- add_index "odania_sites", ["host"], name: "index_odania_sites_on_host", unique: true
121
+ add_index "odania_sites", ["host"], name: "index_odania_sites_on_host", unique: true, using: :btree
97
122
 
98
123
  create_table "odania_tag_xrefs", force: true do |t|
99
124
  t.integer "tag_id"
@@ -102,8 +127,8 @@ ActiveRecord::Schema.define(version: 20140425202800) do
102
127
  t.string "context", limit: 128
103
128
  end
104
129
 
105
- add_index "odania_tag_xrefs", ["ref_type", "ref_id", "context"], name: "index_odania_tag_xrefs_on_ref_type_and_ref_id_and_context"
106
- add_index "odania_tag_xrefs", ["tag_id", "context"], name: "index_odania_tag_xrefs_on_tag_id_and_context"
130
+ add_index "odania_tag_xrefs", ["ref_type", "ref_id", "context"], name: "index_odania_tag_xrefs_on_ref_type_and_ref_id_and_context", using: :btree
131
+ add_index "odania_tag_xrefs", ["tag_id", "context"], name: "index_odania_tag_xrefs_on_tag_id_and_context", using: :btree
107
132
 
108
133
  create_table "odania_tags", force: true do |t|
109
134
  t.string "name", null: false
@@ -112,18 +137,18 @@ ActiveRecord::Schema.define(version: 20140425202800) do
112
137
  t.integer "language_id"
113
138
  end
114
139
 
115
- add_index "odania_tags", ["site_id", "language_id", "name"], name: "index_odania_tags_on_site_id_and_language_id_and_name", unique: true
140
+ add_index "odania_tags", ["site_id", "name"], name: "index_odania_tags_on_site_id_and_name", unique: true, using: :btree
116
141
 
117
142
  create_table "odania_user_roles", force: true do |t|
118
143
  t.integer "user_id"
119
144
  t.integer "role", default: 0
120
145
  end
121
146
 
122
- add_index "odania_user_roles", ["user_id"], name: "index_odania_user_roles_on_user_id"
147
+ add_index "odania_user_roles", ["user_id"], name: "index_odania_user_roles_on_user_id", using: :btree
123
148
 
124
149
  create_table "odania_users", force: true do |t|
125
150
  t.string "name"
126
- t.string "email"
151
+ t.string "email", null: false
127
152
  t.string "admin_layout"
128
153
  t.string "ip"
129
154
  t.datetime "last_login"