dm_event 4.2.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (337) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +23 -0
  3. data/README.md +33 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/images/dm_event/payment_logos/sofort/at/100x38.png +0 -0
  6. data/app/assets/images/dm_event/payment_logos/sofort/at/200x75.png +0 -0
  7. data/app/assets/images/dm_event/payment_logos/sofort/at/250x94.png +0 -0
  8. data/app/assets/images/dm_event/payment_logos/sofort/at/28x7.png +0 -0
  9. data/app/assets/images/dm_event/payment_logos/sofort/at/320x120.png +0 -0
  10. data/app/assets/images/dm_event/payment_logos/sofort/at/42x11.png +0 -0
  11. data/app/assets/images/dm_event/payment_logos/sofort/at/75x28.png +0 -0
  12. data/app/assets/images/dm_event/payment_logos/sofort/at/icon-32x22.png +0 -0
  13. data/app/assets/images/dm_event/payment_logos/sofort/at/icon-32x24.png +0 -0
  14. data/app/assets/images/dm_event/payment_logos/sofort/at/icon-48x32.png +0 -0
  15. data/app/assets/images/dm_event/payment_logos/sofort/at/icon-48x34.png +0 -0
  16. data/app/assets/images/dm_event/payment_logos/sofort/at/icon-64x42.png +0 -0
  17. data/app/assets/images/dm_event/payment_logos/sofort/at/icon-64x44.png +0 -0
  18. data/app/assets/images/dm_event/payment_logos/sofort/be/100x38.png +0 -0
  19. data/app/assets/images/dm_event/payment_logos/sofort/be/200x75.png +0 -0
  20. data/app/assets/images/dm_event/payment_logos/sofort/be/250x94.png +0 -0
  21. data/app/assets/images/dm_event/payment_logos/sofort/be/28x7.png +0 -0
  22. data/app/assets/images/dm_event/payment_logos/sofort/be/320x120.png +0 -0
  23. data/app/assets/images/dm_event/payment_logos/sofort/be/42x11.png +0 -0
  24. data/app/assets/images/dm_event/payment_logos/sofort/be/75x28.png +0 -0
  25. data/app/assets/images/dm_event/payment_logos/sofort/be/icon-32x22.png +0 -0
  26. data/app/assets/images/dm_event/payment_logos/sofort/be/icon-32x24.png +0 -0
  27. data/app/assets/images/dm_event/payment_logos/sofort/be/icon-48x32.png +0 -0
  28. data/app/assets/images/dm_event/payment_logos/sofort/be/icon-48x34.png +0 -0
  29. data/app/assets/images/dm_event/payment_logos/sofort/be/icon-64x42.png +0 -0
  30. data/app/assets/images/dm_event/payment_logos/sofort/be/icon-64x44.png +0 -0
  31. data/app/assets/images/dm_event/payment_logos/sofort/ch/100x38.png +0 -0
  32. data/app/assets/images/dm_event/payment_logos/sofort/ch/200x75.png +0 -0
  33. data/app/assets/images/dm_event/payment_logos/sofort/ch/250x94.png +0 -0
  34. data/app/assets/images/dm_event/payment_logos/sofort/ch/28x7.png +0 -0
  35. data/app/assets/images/dm_event/payment_logos/sofort/ch/320x120.png +0 -0
  36. data/app/assets/images/dm_event/payment_logos/sofort/ch/42x11.png +0 -0
  37. data/app/assets/images/dm_event/payment_logos/sofort/ch/75x28.png +0 -0
  38. data/app/assets/images/dm_event/payment_logos/sofort/ch/icon-32x22.png +0 -0
  39. data/app/assets/images/dm_event/payment_logos/sofort/ch/icon-32x24.png +0 -0
  40. data/app/assets/images/dm_event/payment_logos/sofort/ch/icon-48x32.png +0 -0
  41. data/app/assets/images/dm_event/payment_logos/sofort/ch/icon-48x34.png +0 -0
  42. data/app/assets/images/dm_event/payment_logos/sofort/ch/icon-64x42.png +0 -0
  43. data/app/assets/images/dm_event/payment_logos/sofort/ch/icon-64x44.png +0 -0
  44. data/app/assets/images/dm_event/payment_logos/sofort/de/100x38.png +0 -0
  45. data/app/assets/images/dm_event/payment_logos/sofort/de/200x75.png +0 -0
  46. data/app/assets/images/dm_event/payment_logos/sofort/de/250x94.png +0 -0
  47. data/app/assets/images/dm_event/payment_logos/sofort/de/28x7.png +0 -0
  48. data/app/assets/images/dm_event/payment_logos/sofort/de/320x120.png +0 -0
  49. data/app/assets/images/dm_event/payment_logos/sofort/de/42x11.png +0 -0
  50. data/app/assets/images/dm_event/payment_logos/sofort/de/75x28.png +0 -0
  51. data/app/assets/images/dm_event/payment_logos/sofort/de/icon-32x22.png +0 -0
  52. data/app/assets/images/dm_event/payment_logos/sofort/de/icon-32x24.png +0 -0
  53. data/app/assets/images/dm_event/payment_logos/sofort/de/icon-48x32.png +0 -0
  54. data/app/assets/images/dm_event/payment_logos/sofort/de/icon-48x34.png +0 -0
  55. data/app/assets/images/dm_event/payment_logos/sofort/de/icon-64x42.png +0 -0
  56. data/app/assets/images/dm_event/payment_logos/sofort/de/icon-64x44.png +0 -0
  57. data/app/assets/images/dm_event/payment_logos/sofort/es/100x38.png +0 -0
  58. data/app/assets/images/dm_event/payment_logos/sofort/es/200x75.png +0 -0
  59. data/app/assets/images/dm_event/payment_logos/sofort/es/250x94.png +0 -0
  60. data/app/assets/images/dm_event/payment_logos/sofort/es/28x7.png +0 -0
  61. data/app/assets/images/dm_event/payment_logos/sofort/es/320x120.png +0 -0
  62. data/app/assets/images/dm_event/payment_logos/sofort/es/42x11.png +0 -0
  63. data/app/assets/images/dm_event/payment_logos/sofort/es/75x28.png +0 -0
  64. data/app/assets/images/dm_event/payment_logos/sofort/es/icon-32x22.png +0 -0
  65. data/app/assets/images/dm_event/payment_logos/sofort/es/icon-32x24.png +0 -0
  66. data/app/assets/images/dm_event/payment_logos/sofort/es/icon-48x32.png +0 -0
  67. data/app/assets/images/dm_event/payment_logos/sofort/es/icon-48x34.png +0 -0
  68. data/app/assets/images/dm_event/payment_logos/sofort/es/icon-64x42.png +0 -0
  69. data/app/assets/images/dm_event/payment_logos/sofort/es/icon-64x44.png +0 -0
  70. data/app/assets/images/dm_event/payment_logos/sofort/fr/100x38.png +0 -0
  71. data/app/assets/images/dm_event/payment_logos/sofort/fr/200x75.png +0 -0
  72. data/app/assets/images/dm_event/payment_logos/sofort/fr/250x94.png +0 -0
  73. data/app/assets/images/dm_event/payment_logos/sofort/fr/28x7.png +0 -0
  74. data/app/assets/images/dm_event/payment_logos/sofort/fr/320x120.png +0 -0
  75. data/app/assets/images/dm_event/payment_logos/sofort/fr/42x11.png +0 -0
  76. data/app/assets/images/dm_event/payment_logos/sofort/fr/75x28.png +0 -0
  77. data/app/assets/images/dm_event/payment_logos/sofort/fr/icon-32x22.png +0 -0
  78. data/app/assets/images/dm_event/payment_logos/sofort/fr/icon-32x24.png +0 -0
  79. data/app/assets/images/dm_event/payment_logos/sofort/fr/icon-48x32.png +0 -0
  80. data/app/assets/images/dm_event/payment_logos/sofort/fr/icon-48x34.png +0 -0
  81. data/app/assets/images/dm_event/payment_logos/sofort/fr/icon-64x42.png +0 -0
  82. data/app/assets/images/dm_event/payment_logos/sofort/fr/icon-64x44.png +0 -0
  83. data/app/assets/images/dm_event/payment_logos/sofort/it/100x38.png +0 -0
  84. data/app/assets/images/dm_event/payment_logos/sofort/it/200x75.png +0 -0
  85. data/app/assets/images/dm_event/payment_logos/sofort/it/250x94.png +0 -0
  86. data/app/assets/images/dm_event/payment_logos/sofort/it/28x7.png +0 -0
  87. data/app/assets/images/dm_event/payment_logos/sofort/it/320x120.png +0 -0
  88. data/app/assets/images/dm_event/payment_logos/sofort/it/42x11.png +0 -0
  89. data/app/assets/images/dm_event/payment_logos/sofort/it/75x28.png +0 -0
  90. data/app/assets/images/dm_event/payment_logos/sofort/it/icon-32x22.png +0 -0
  91. data/app/assets/images/dm_event/payment_logos/sofort/it/icon-32x24.png +0 -0
  92. data/app/assets/images/dm_event/payment_logos/sofort/it/icon-48x32.png +0 -0
  93. data/app/assets/images/dm_event/payment_logos/sofort/it/icon-48x34.png +0 -0
  94. data/app/assets/images/dm_event/payment_logos/sofort/it/icon-64x42.png +0 -0
  95. data/app/assets/images/dm_event/payment_logos/sofort/it/icon-64x44.png +0 -0
  96. data/app/assets/images/dm_event/payment_logos/sofort/nl/100x38.png +0 -0
  97. data/app/assets/images/dm_event/payment_logos/sofort/nl/200x75.png +0 -0
  98. data/app/assets/images/dm_event/payment_logos/sofort/nl/250x94.png +0 -0
  99. data/app/assets/images/dm_event/payment_logos/sofort/nl/28x7.png +0 -0
  100. data/app/assets/images/dm_event/payment_logos/sofort/nl/320x120.png +0 -0
  101. data/app/assets/images/dm_event/payment_logos/sofort/nl/42x11.png +0 -0
  102. data/app/assets/images/dm_event/payment_logos/sofort/nl/75x28.png +0 -0
  103. data/app/assets/images/dm_event/payment_logos/sofort/nl/icon-32x22.png +0 -0
  104. data/app/assets/images/dm_event/payment_logos/sofort/nl/icon-32x24.png +0 -0
  105. data/app/assets/images/dm_event/payment_logos/sofort/nl/icon-48x32.png +0 -0
  106. data/app/assets/images/dm_event/payment_logos/sofort/nl/icon-48x34.png +0 -0
  107. data/app/assets/images/dm_event/payment_logos/sofort/nl/icon-64x42.png +0 -0
  108. data/app/assets/images/dm_event/payment_logos/sofort/nl/icon-64x44.png +0 -0
  109. data/app/assets/images/dm_event/payment_logos/sofort/pl/100x38.png +0 -0
  110. data/app/assets/images/dm_event/payment_logos/sofort/pl/200x75.png +0 -0
  111. data/app/assets/images/dm_event/payment_logos/sofort/pl/250x94.png +0 -0
  112. data/app/assets/images/dm_event/payment_logos/sofort/pl/28x7.png +0 -0
  113. data/app/assets/images/dm_event/payment_logos/sofort/pl/320x120.png +0 -0
  114. data/app/assets/images/dm_event/payment_logos/sofort/pl/42x11.png +0 -0
  115. data/app/assets/images/dm_event/payment_logos/sofort/pl/75x28.png +0 -0
  116. data/app/assets/images/dm_event/payment_logos/sofort/pl/icon-32x22.png +0 -0
  117. data/app/assets/images/dm_event/payment_logos/sofort/pl/icon-32x24.png +0 -0
  118. data/app/assets/images/dm_event/payment_logos/sofort/pl/icon-48x32.png +0 -0
  119. data/app/assets/images/dm_event/payment_logos/sofort/pl/icon-48x34.png +0 -0
  120. data/app/assets/images/dm_event/payment_logos/sofort/pl/icon-64x42.png +0 -0
  121. data/app/assets/images/dm_event/payment_logos/sofort/pl/icon-64x44.png +0 -0
  122. data/app/assets/images/dm_event/payment_logos/sofort/uk/100x38.png +0 -0
  123. data/app/assets/images/dm_event/payment_logos/sofort/uk/200x75.png +0 -0
  124. data/app/assets/images/dm_event/payment_logos/sofort/uk/250x94.png +0 -0
  125. data/app/assets/images/dm_event/payment_logos/sofort/uk/28x7.png +0 -0
  126. data/app/assets/images/dm_event/payment_logos/sofort/uk/320x120.png +0 -0
  127. data/app/assets/images/dm_event/payment_logos/sofort/uk/42x11.png +0 -0
  128. data/app/assets/images/dm_event/payment_logos/sofort/uk/75x28.png +0 -0
  129. data/app/assets/images/dm_event/payment_logos/sofort/uk/icon-32x22.png +0 -0
  130. data/app/assets/images/dm_event/payment_logos/sofort/uk/icon-32x24.png +0 -0
  131. data/app/assets/images/dm_event/payment_logos/sofort/uk/icon-48x32.png +0 -0
  132. data/app/assets/images/dm_event/payment_logos/sofort/uk/icon-48x34.png +0 -0
  133. data/app/assets/images/dm_event/payment_logos/sofort/uk/icon-64x42.png +0 -0
  134. data/app/assets/images/dm_event/payment_logos/sofort/uk/icon-64x44.png +0 -0
  135. data/app/assets/javascripts/dm_event/admin.js +94 -0
  136. data/app/assets/stylesheets/dm_event/admin.css +152 -0
  137. data/app/assets/stylesheets/dm_event/application.css +65 -0
  138. data/app/controllers/dm_event/admin/admin_controller.rb +13 -0
  139. data/app/controllers/dm_event/admin/registrations_controller.rb +411 -0
  140. data/app/controllers/dm_event/admin/workshop_prices_controller.rb +73 -0
  141. data/app/controllers/dm_event/admin/workshops_controller.rb +147 -0
  142. data/app/controllers/dm_event/application_controller.rb +23 -0
  143. data/app/controllers/dm_event/payments_controller.rb +83 -0
  144. data/app/controllers/dm_event/registrations_controller.rb +368 -0
  145. data/app/datatables/registration_datatable.rb +117 -0
  146. data/app/helpers/dm_event/application_helper.rb +4 -0
  147. data/app/helpers/dm_event/registrations_helper.rb +14 -0
  148. data/app/helpers/dm_event/workshops_helper.rb +41 -0
  149. data/app/mailers/payment_reminder_mailer.rb +25 -0
  150. data/app/mailers/registration_notify_mailer.rb +31 -0
  151. data/app/models/dm_event/concerns/ability.rb +38 -0
  152. data/app/models/dm_event/concerns/registration_state_email.rb +80 -0
  153. data/app/models/dm_event/concerns/registration_state_machine.rb +218 -0
  154. data/app/models/dm_event/concerns/user_profile.rb +20 -0
  155. data/app/models/dm_event/model_decorators.rb +6 -0
  156. data/app/models/dm_event/permitted_params.rb +35 -0
  157. data/app/models/payment.rb +48 -0
  158. data/app/models/registration.rb +297 -0
  159. data/app/models/workshop.rb +247 -0
  160. data/app/models/workshop_price.rb +118 -0
  161. data/app/presenters/event_common_presenter.rb +31 -0
  162. data/app/presenters/registration_presenter.rb +34 -0
  163. data/app/presenters/workshop_presenter.rb +22 -0
  164. data/app/views/dm_event/admin/registrations/_form.html.erb +297 -0
  165. data/app/views/dm_event/admin/registrations/action_state.js.erb +1 -0
  166. data/app/views/dm_event/admin/registrations/edit.html.erb +1 -0
  167. data/app/views/dm_event/admin/registrations/index.html.erb +0 -0
  168. data/app/views/dm_event/admin/workshop_prices/_form.html.erb +62 -0
  169. data/app/views/dm_event/admin/workshop_prices/edit.html.erb +2 -0
  170. data/app/views/dm_event/admin/workshop_prices/index.html.erb +31 -0
  171. data/app/views/dm_event/admin/workshop_prices/new.html.erb +2 -0
  172. data/app/views/dm_event/admin/workshops/_form.html.erb +61 -0
  173. data/app/views/dm_event/admin/workshops/_header_menu.html.erb +21 -0
  174. data/app/views/dm_event/admin/workshops/_registration_stats.html.erb +58 -0
  175. data/app/views/dm_event/admin/workshops/additional_configuration.html.erb +47 -0
  176. data/app/views/dm_event/admin/workshops/edit.html.erb +2 -0
  177. data/app/views/dm_event/admin/workshops/edit_system_email.html.erb +75 -0
  178. data/app/views/dm_event/admin/workshops/financials.html.erb +179 -0
  179. data/app/views/dm_event/admin/workshops/index.html.erb +100 -0
  180. data/app/views/dm_event/admin/workshops/lost_users.html.erb +44 -0
  181. data/app/views/dm_event/admin/workshops/new.html.erb +2 -0
  182. data/app/views/dm_event/admin/workshops/show.html.erb +47 -0
  183. data/app/views/dm_event/admin/workshops/user_outstanding_balances.html.erb +29 -0
  184. data/app/views/dm_event/liquid_tags/_funding_project_status.html.erb +27 -0
  185. data/app/views/dm_event/payments/_registrations_paypal_standard.html.erb +23 -0
  186. data/app/views/dm_event/payments/_registrations_sofort.html.erb +18 -0
  187. data/app/views/dm_event/registrations/_section_address.html.erb +30 -0
  188. data/app/views/dm_event/registrations/_section_custom_fields.html.erb +7 -0
  189. data/app/views/dm_event/registrations/_section_prices.html.erb +33 -0
  190. data/app/views/dm_event/registrations/_workshop_price.html.erb +18 -0
  191. data/app/views/dm_event/registrations/choose_payment.html.erb +5 -0
  192. data/app/views/dm_event/registrations/closed.html.erb +14 -0
  193. data/app/views/dm_event/registrations/new.html.erb +30 -0
  194. data/app/views/dm_event/registrations/success.html.erb +15 -0
  195. data/app/views/layouts/email_templates/dm_event_email_layout.html.erb +318 -0
  196. data/app/views/layouts/email_templates/dm_event_email_layout.text.erb +1 -0
  197. data/app/views/layouts/email_templates/dm_event_payment_reminder.html.erb +22 -0
  198. data/app/views/layouts/email_templates/dm_event_payment_reminder.text.erb +19 -0
  199. data/app/views/layouts/email_templates/dm_event_registration_notify.html.erb +21 -0
  200. data/app/views/layouts/email_templates/dm_event_registration_notify.text.erb +13 -0
  201. data/config/initializers/dm_event.rb +1 -0
  202. data/config/initializers/liquid_init.rb +2 -0
  203. data/config/locales/ems.cs.yml +51 -0
  204. data/config/locales/ems.de.yml +51 -0
  205. data/config/locales/ems.en.yml +51 -0
  206. data/config/locales/ems.fi.yml +51 -0
  207. data/config/locales/ems.ja.yml +51 -0
  208. data/config/routes.rb +40 -0
  209. data/db/migrate/20130510155617_create_events.rb +98 -0
  210. data/db/migrate/20130516124327_add_locale_to_registration.rb +5 -0
  211. data/db/migrate/20130516204454_add_user_profile_to_registration.rb +11 -0
  212. data/db/migrate/20130518092324_add_require_address.rb +7 -0
  213. data/db/migrate/20130609145812_add_workshop_published.rb +5 -0
  214. data/db/migrate/20130624134506_add_amount_currency.rb +16 -0
  215. data/db/migrate/20130703131515_add_workshop_currency.rb +5 -0
  216. data/db/migrate/20130913083529_add_event_funding_type.rb +6 -0
  217. data/db/migrate/20130914105736_add_enable_payments.rb +5 -0
  218. data/db/migrate/20130916160033_add_sidebar_to_workshop.rb +5 -0
  219. data/db/migrate/20130917161700_add_show_address.rb +5 -0
  220. data/db/migrate/20131116180719_add_default_funding_goal.rb +8 -0
  221. data/db/migrate/20131127165445_add_payment_reminder.rb +5 -0
  222. data/db/migrate/20140122204702_add_event_image.rb +5 -0
  223. data/db/migrate/20140523165342_add_workshop_summary.rb +5 -0
  224. data/db/migrate/20140605052208_add_uuid_to_registration.rb +10 -0
  225. data/db/migrate/20140707152124_add_registration_comment_count.rb +5 -0
  226. data/db/migrate/20140708142312_add_payment_comment.rb +20 -0
  227. data/db/migrate/20150709125105_add_payment_reminder_history.rb +16 -0
  228. data/db/migrate/20160810081542_add_bcc_contact_email.rb +5 -0
  229. data/db/migrate/20160821150120_index_foreign_keys_in_ems_registrations.rb +9 -0
  230. data/db/migrate/20160821150121_index_foreign_keys_in_ems_workshop_price_translations.rb +5 -0
  231. data/db/migrate/20160821150122_index_foreign_keys_in_ems_workshop_prices.rb +6 -0
  232. data/db/migrate/20160821150123_index_foreign_keys_in_ems_workshop_translations.rb +5 -0
  233. data/db/migrate/20160821150124_index_foreign_keys_in_ems_workshops.rb +6 -0
  234. data/lib/dm_event/engine.rb +20 -0
  235. data/lib/dm_event/liquid/tags/funding_project_status.rb +55 -0
  236. data/lib/dm_event.rb +4 -0
  237. data/lib/tasks/dm_event_tasks.rake +4 -0
  238. data/spec/controllers/registrations_controller_spec.rb +152 -0
  239. data/spec/dummy/README.rdoc +28 -0
  240. data/spec/dummy/Rakefile +6 -0
  241. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  242. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  243. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  244. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  245. data/spec/dummy/app/models/ability.rb +10 -0
  246. data/spec/dummy/app/models/user.rb +6 -0
  247. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  248. data/spec/dummy/bin/bundle +3 -0
  249. data/spec/dummy/bin/rails +4 -0
  250. data/spec/dummy/bin/rake +4 -0
  251. data/spec/dummy/config/application.rb +26 -0
  252. data/spec/dummy/config/boot.rb +5 -0
  253. data/spec/dummy/config/database.yml +25 -0
  254. data/spec/dummy/config/environment.rb +5 -0
  255. data/spec/dummy/config/environments/development.rb +37 -0
  256. data/spec/dummy/config/environments/production.rb +82 -0
  257. data/spec/dummy/config/environments/test.rb +39 -0
  258. data/spec/dummy/config/initializers/assets.rb +8 -0
  259. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  260. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  261. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  262. data/spec/dummy/config/initializers/inflections.rb +16 -0
  263. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  264. data/spec/dummy/config/initializers/session_store.rb +3 -0
  265. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  266. data/spec/dummy/config/locales/en.yml +23 -0
  267. data/spec/dummy/config/routes.rb +11 -0
  268. data/spec/dummy/config/secrets.yml +22 -0
  269. data/spec/dummy/config.ru +4 -0
  270. data/spec/dummy/db/development.sqlite3 +0 -0
  271. data/spec/dummy/db/migrate/20141114170927_add_globalize_countries.dm_core.rb +50 -0
  272. data/spec/dummy/db/migrate/20141114170928_devise_create_users.dm_core.rb +46 -0
  273. data/spec/dummy/db/migrate/20141114170929_add_user_fields.dm_core.rb +14 -0
  274. data/spec/dummy/db/migrate/20141114170930_rolify_create_roles.dm_core.rb +20 -0
  275. data/spec/dummy/db/migrate/20141114170931_add_last_access.dm_core.rb +10 -0
  276. data/spec/dummy/db/migrate/20141114170932_create_versions.dm_core.rb +19 -0
  277. data/spec/dummy/db/migrate/20141114170933_add_object_changes_column_to_versions.dm_core.rb +12 -0
  278. data/spec/dummy/db/migrate/20141114170934_create_dm_core_accounts.dm_core.rb +13 -0
  279. data/spec/dummy/db/migrate/20141114170935_add_account_to_users.dm_core.rb +9 -0
  280. data/spec/dummy/db/migrate/20141114170936_create_preferences.dm_core.rb +13 -0
  281. data/spec/dummy/db/migrate/20141114170937_create_comments.dm_core.rb +22 -0
  282. data/spec/dummy/db/migrate/20141114170938_add_activity.dm_core.rb +21 -0
  283. data/spec/dummy/db/migrate/20141114170939_add_type_to_comments.dm_core.rb +9 -0
  284. data/spec/dummy/db/migrate/20141114170940_add_category.dm_core.rb +28 -0
  285. data/spec/dummy/db/migrate/20141114170941_create_email_table.dm_core.rb +26 -0
  286. data/spec/dummy/db/migrate/20141114170942_add_user_profile.dm_core.rb +46 -0
  287. data/spec/dummy/db/migrate/20141114170943_add_profile_email.dm_core.rb +14 -0
  288. data/spec/dummy/db/migrate/20141114170944_create_payment_history.dm_core.rb +37 -0
  289. data/spec/dummy/db/migrate/20141114170945_change_anchor_field.dm_core.rb +10 -0
  290. data/spec/dummy/db/migrate/20141114170946_create_user_site_profile.dm_core.rb +27 -0
  291. data/spec/dummy/db/migrate/20141114170947_add_avatar.dm_core.rb +12 -0
  292. data/spec/dummy/db/migrate/20141114170948_add_notify_to_payment_history.dm_core.rb +8 -0
  293. data/spec/dummy/db/migrate/20141114170949_acts_as_votable_migration.dm_core.rb +28 -0
  294. data/spec/dummy/db/migrate/20141114170950_add_user_site_profile_uuid.dm_core.rb +19 -0
  295. data/spec/dummy/db/migrate/20141114170951_add_invoice_id.dm_core.rb +7 -0
  296. data/spec/dummy/db/migrate/20141114170952_acts_as_follower_migration.dm_core.rb +18 -0
  297. data/spec/dummy/db/migrate/20141114170953_rename_invoice_id.dm_core.rb +12 -0
  298. data/spec/dummy/db/migrate/20141114170954_add_core_addresses.dm_core.rb +18 -0
  299. data/spec/dummy/db/migrate/20141114170955_papertrail_increase_column.dm_core.rb +9 -0
  300. data/spec/dummy/db/migrate/20141114170956_acts_as_taggable_on_migration.dm_core.rb +32 -0
  301. data/spec/dummy/db/migrate/20141114170957_add_missing_unique_indices.dm_core.rb +23 -0
  302. data/spec/dummy/db/migrate/20141114170958_add_taggings_counter_cache_to_tags.dm_core.rb +16 -0
  303. data/spec/dummy/db/migrate/20141114170959_create_custom_fields.dm_core.rb +40 -0
  304. data/spec/dummy/db/migrate/20141114170960_add_missing_taggable_index.dm_core.rb +11 -0
  305. data/spec/dummy/db/migrate/20141119103740_create_cms.dm_cms.rb +92 -0
  306. data/spec/dummy/db/migrate/20141119103741_add_account_to_cms.dm_cms.rb +11 -0
  307. data/spec/dummy/db/migrate/20141119103742_create_blog.dm_cms.rb +62 -0
  308. data/spec/dummy/db/migrate/20141119103743_add_notification_sent.dm_cms.rb +6 -0
  309. data/spec/dummy/db/migrate/20141119103744_add_blog_comment.dm_cms.rb +8 -0
  310. data/spec/dummy/db/migrate/20141119103745_add_blog_image.dm_cms.rb +6 -0
  311. data/spec/dummy/db/migrate/20141119103746_rename_snippet_slug.dm_cms.rb +14 -0
  312. data/spec/dummy/db/migrate/20141119103747_add_requires_subscription_blog.dm_cms.rb +8 -0
  313. data/spec/dummy/db/migrate/20141119103748_add_pages_ranked_model.dm_cms.rb +23 -0
  314. data/spec/dummy/db/migrate/20141119103749_add_blog_owner.dm_cms.rb +7 -0
  315. data/spec/dummy/db/migrate/20141119103750_create_media_files.dm_cms.rb +30 -0
  316. data/spec/dummy/db/migrate/20141119103751_add_cmspage_summary.dm_cms.rb +7 -0
  317. data/spec/dummy/db/migrate/20141119103752_add_blog_image_email_header.dm_cms.rb +6 -0
  318. data/spec/dummy/db/migrate/20141119103753_add_header_image.dm_cms.rb +10 -0
  319. data/spec/dummy/db/migrate/20160128154135_add_favored_locale.dm_core.rb +17 -0
  320. data/spec/dummy/db/migrate/20160128154136_update_papertrail_v4.dm_core.rb +41 -0
  321. data/spec/dummy/db/schema.rb +677 -0
  322. data/spec/dummy/public/404.html +67 -0
  323. data/spec/dummy/public/422.html +67 -0
  324. data/spec/dummy/public/500.html +66 -0
  325. data/spec/dummy/public/favicon.ico +0 -0
  326. data/spec/factories/account_factory.rb +7 -0
  327. data/spec/factories/registration_factory.rb +13 -0
  328. data/spec/factories/workshop_factory.rb +25 -0
  329. data/spec/factories/workshop_price_factory.rb +19 -0
  330. data/spec/models/registration_spec.rb +83 -0
  331. data/spec/models/workshop_spec.rb +26 -0
  332. data/spec/rails_helper.rb +70 -0
  333. data/spec/spec_helper.rb +85 -0
  334. data/spec/support/accounts.rb +17 -0
  335. data/spec/support/devise.rb +44 -0
  336. data/spec/support/fix_locale.rb +57 -0
  337. metadata +520 -0
@@ -0,0 +1,51 @@
1
+ cs:
2
+ ems:
3
+ registration_subtitle: Registrace
4
+ register_btn: Registrovat
5
+ cancel_btn: Zrušit
6
+ ticket_receipt_arrival: Příjezd
7
+ ticket_receipt_attendee: Účastník
8
+ ticket_receipt_departure: Odjezd
9
+ ticket_receipt_event: Událost
10
+ ticket_receipt_questions: "V případě dalších otázek nás, prosím, kontaktujte na %{value}"
11
+ ticket_receipt_questions_telephone: "nebo zatelefonujte %{value}"
12
+ ticket_receipt_ticket_number: Číslo lístku
13
+ ticket_receipt_price: Cena
14
+ ticket_information: Informace o lístku
15
+ ticket_contact: Kontaktní informace
16
+ ticket_registered_following_event: "byl/a jste přihlášen/a na program:"
17
+ ticket_outstanding_balance: "Podle naší evidence Vám z kurzovného zbývá zaplatit:"
18
+ ticket_payment_link_leadin: "Tuto částku můžete uhradit některým ze způsobů uvedených na následujícím linku"
19
+ ticket_payment_link_text: Způsoby platby
20
+ ticket_payment_reminder_subject: "Připomínka úhrady kurzovného: %{value}"
21
+ ticket_if_already_paid: "Tento e-mail byl automaticky generovaný a odeslaný naším systémem. Pokud jste výše uvedenou částku již dříve zaplatil/a, nebo se domníváte, že tato připomínka není oprávněná, zašlete prosím e-mail na %{value}. Pokud jste platbu provedli v posledních třech dnech, můžete tuto připomínku ignorovat."
22
+ registration_receipt_title: Potvrzení o rezervaci
23
+ registration_email: E-mail
24
+ registration_first_name: Křestní jméno
25
+ registration_last_name: Příjmení
26
+ registration_address: Ulice a číslo
27
+ registration_address2: Ulice a číslo
28
+ registration_city: Město
29
+ registration_state: Stát/provincie/region
30
+ registration_country: Země
31
+ registration_zipcode: Poštovní směrovací číslo
32
+ registration_account_required: 'Abyste se mohli zaregistrovat na tuto událost, musíte se přihlásit na svůj uživatelský účet.'
33
+ registration_closed_heading: Registrace zavřena
34
+ registration_closed_text: "Registrace na kurz '%{title}' nejsou momentálně přijímány."
35
+ registration_closed_email: "V případě jakýchkoli otázek se můžete obrátit na %{email}."
36
+ registration_closed_list: Následující kurzy jsou v současné době otevřen pro registraci
37
+ choose_payment_method: Vyberte si způsob platby
38
+ donate_button: Darovat
39
+ project_goal: Cíl projektu
40
+ amount_raised: Částka Zvýšený
41
+
42
+ login: Přihlášení na účet
43
+ create_account: Vytvořit účet
44
+
45
+ activerecord:
46
+ errors:
47
+ models:
48
+ registration:
49
+ attributes:
50
+ workshop_price_id:
51
+ blank: Vyberte prosím způsob platby
@@ -0,0 +1,51 @@
1
+ de:
2
+ ems:
3
+ registration_subtitle: Anmeldung
4
+ register_btn: Registrieren
5
+ cancel_btn: Stornieren
6
+ ticket_receipt_arrival: Ankunft
7
+ ticket_receipt_attendee: Teilnehmer
8
+ ticket_receipt_departure: Abfahrt
9
+ ticket_receipt_event: Veranstaltung
10
+ ticket_receipt_questions: "Auch bei weiteren Fragen maile uns bitte unter %{value}"
11
+ ticket_receipt_questions_telephone: "oder Telefon %{value}"
12
+ ticket_receipt_ticket_number: Ticketnummer
13
+ ticket_receipt_price: Preis
14
+ ticket_information: Ticket-Informationen
15
+ ticket_contact: Kontakt-Informationen
16
+ ticket_registered_following_event: laut unserem Registrierungssystem bist bzw. warst Du Teilnehmer an der folgenden Veranstaltung
17
+ ticket_outstanding_balance: "Gemäß unserer Buchhaltung ist noch folgender Betrag offen"
18
+ ticket_payment_link_leadin: Du kannst über folgenden Link eine der Zahlungsmethoden auswählen
19
+ ticket_payment_link_text: Jetzt bezahlen
20
+ ticket_payment_reminder_subject: "Zahlungserinnerung: %{value}"
21
+ ticket_if_already_paid: "Diese Email wird automatisch von unserem Buchungssystem generiert und versendet. Falls Du den Betrag bereits überwiesen hast, oder der Meinung bist, dass die Zahlungserinnerung unbegründet ist, setze Dich bitte per Email an %{value} mit uns in Verbindung. Sollte sich diese Erinnerung mit einer Zahlung in den letzten drei Tagen überschnitten haben, ignoriere sie bitte."
22
+ registration_receipt_title: Anmeldebestätigung
23
+ registration_email: E-Mail
24
+ registration_first_name: Vorname
25
+ registration_last_name: Nachname
26
+ registration_address: Adresse
27
+ registration_address2: Adresse
28
+ registration_city: Ort
29
+ registration_state: Bundesland
30
+ registration_country: Land
31
+ registration_zipcode: Postleitzahl
32
+ registration_account_required: 'Um für diese Veranstaltung zu registrieren, müssen Sie in Ihrem Benutzerkonto angemeldet sein.'
33
+ registration_closed_heading: Anmeldung geschlossen
34
+ registration_closed_text: "Eine Registrierung zum Programm '%{title}' ist leider nicht mehr möglich."
35
+ registration_closed_email: "Bei Fragen wende dich bitte an %{email}."
36
+ registration_closed_list: Die folgenden Programme sind derzeit für die Anmeldung geöffnet
37
+ choose_payment_method: Wählen Sie Ihre Zahlungsmethode
38
+ donate_button: Jetzt helfen
39
+ project_goal: Projektziel
40
+ amount_raised: Betrag erhöht
41
+
42
+ login: Anmelden
43
+ create_account: Neues Benutzerkonto anlegen
44
+
45
+ activerecord:
46
+ errors:
47
+ models:
48
+ registration:
49
+ attributes:
50
+ workshop_price_id:
51
+ blank: Bitte wählen Sie eine Zahlungsmethod
@@ -0,0 +1,51 @@
1
+ en:
2
+ ems:
3
+ registration_subtitle: Registration
4
+ register_btn: Register
5
+ cancel_btn: Cancel
6
+ ticket_receipt_arrival: Arrival
7
+ ticket_receipt_attendee: Attendee
8
+ ticket_receipt_departure: Departure
9
+ ticket_receipt_event: Event
10
+ ticket_receipt_questions: "If you have any questions, please email us at %{value}"
11
+ ticket_receipt_questions_telephone: "or telephone %{value}"
12
+ ticket_receipt_ticket_number: Ticket Number
13
+ ticket_receipt_price: Price
14
+ ticket_information: Ticket Information
15
+ ticket_contact: Contact Information
16
+ ticket_registered_following_event: "According to our registration system, you are or were a participant in the following event"
17
+ ticket_outstanding_balance: "According to our accounting, the following amount still needs to be paid"
18
+ ticket_payment_link_leadin: You can make a payment with the following link
19
+ ticket_payment_link_text: Make Payment
20
+ ticket_payment_reminder_subject: "Payment Reminder: %{value}"
21
+ ticket_if_already_paid: "This email is automatically generated and sent by our system. If you have already paid the amount, or believe that the reminder is incorrect, please send an email to %{value}. If you have made a payment in the last three days, please ignore this reminder."
22
+ registration_receipt_title: Reservation Receipt
23
+ registration_email: Email
24
+ registration_first_name: First Name
25
+ registration_last_name: Last Name
26
+ registration_address: Address
27
+ registration_address2: Address
28
+ registration_city: City
29
+ registration_state: State
30
+ registration_country: Country
31
+ registration_zipcode: Zipcode
32
+ registration_account_required: 'In order to register for this event, you must be logged into your user account.'
33
+ registration_closed_heading: Registration Closed
34
+ registration_closed_text: "We are no longer accepting registrations for the course '%{title}'"
35
+ registration_closed_email: "For any questions you may contact %{email}."
36
+ registration_closed_list: The following courses are currently open for registration
37
+ choose_payment_method: Choose Your Payment Method
38
+ donate_button: Donate
39
+ project_goal: Project Goal
40
+ amount_raised: Amount Raised
41
+
42
+ login: Login
43
+ create_account: Create Account
44
+
45
+ activerecord:
46
+ errors:
47
+ models:
48
+ registration:
49
+ attributes:
50
+ workshop_price_id:
51
+ blank: Please select a payment method
@@ -0,0 +1,51 @@
1
+ fi:
2
+ ems:
3
+ registration_subtitle: Rekisteröinti
4
+ register_btn: Rekisteröi
5
+ cancel_btn: Peruuta
6
+ ticket_receipt_arrival: Saapuminen
7
+ ticket_receipt_attendee: Osallistuja
8
+ ticket_receipt_departure: Lähtö
9
+ ticket_receipt_event: Tapahtuma
10
+ ticket_receipt_questions: "Jos sinulla on kysyttävää, lähetä meille sähköpostia osoitteeseen %{value}"
11
+ ticket_receipt_questions_telephone: "tai soita %{value}"
12
+ ticket_receipt_ticket_number: Lipun numero
13
+ ticket_receipt_price: Hinta
14
+ ticket_information: Lipun tiedot
15
+ ticket_contact: Yhteystiedot
16
+ ticket_registered_following_event: Olet juuri rekistöitynyt seuraavaan tapahtumaan
17
+ ticket_outstanding_balance: "Laskujemme mukaan, seuraava summa tulee yhä maksaa"
18
+ ticket_payment_link_leadin: Voit maksaa seuraavan linkin kautta
19
+ ticket_payment_link_text: Maksa
20
+ ticket_payment_reminder_subject: "Maksumuistutus: %{value}"
21
+ ticket_if_already_paid: "Tämä sähköpostiosoite on automaattisesti luotu ja lähetetty järjestelmämme. Jos olet jo maksanut määrän eli uskovat, että muistutus on virheellinen, lähetä sähköpostia osoitteeseen %{value}. Jos olet tehnyt maksun viimeisen kolmen päivän, jätä tämä muistutus."
22
+ registration_receipt_title: Varauksen vastaanottaminen
23
+ registration_email: Sähköposti
24
+ registration_first_name: Etunimi
25
+ registration_last_name: Sukunimi
26
+ registration_address: Osoite
27
+ registration_address2: Osoite
28
+ registration_city: Kaupunki
29
+ registration_state: Alue
30
+ registration_country: Maa
31
+ registration_zipcode: Postinumero
32
+ registration_account_required: 'Ilmoittautuaksesi thän tapahtumaan sinun tulee kirjautua sisään käyttäjätilillesi.'
33
+ registration_closed_heading: Rekisteröinti suljettu
34
+ registration_closed_text: "Emme hyväksy enää uusia rekisteröintejä kurssille '%{title}'"
35
+ registration_closed_email: "Jos sinulla on kysyttävää, ota yhteys %{email}."
36
+ registration_closed_list: Seuraavien kurssien rekisteröinti on yhä avoinna
37
+ choose_payment_method: Valitse maksutapa
38
+ donate_button: Lahjoita
39
+ project_goal: Projektin päämäärä
40
+ amount_raised: Määrä noussut
41
+
42
+ login: Kirjaudu sisään
43
+ create_account: Luo tili
44
+
45
+ activerecord:
46
+ errors:
47
+ models:
48
+ registration:
49
+ attributes:
50
+ workshop_price_id:
51
+ blank: Valitse maksutapa
@@ -0,0 +1,51 @@
1
+ ja:
2
+ ems:
3
+ registration_subtitle: 登録
4
+ register_btn: 申し込む
5
+ cancel_btn: キャンセル
6
+ ticket_receipt_arrival: 到着
7
+ ticket_receipt_attendee: 出席者
8
+ ticket_receipt_departure: 出発
9
+ ticket_receipt_event: イベント
10
+ ticket_receipt_questions: "ご不明な点がございましたら、メールでお問い合わせください %{value}"
11
+ ticket_receipt_questions_telephone: "もしくは、お電話下さい。 %{value}"
12
+ ticket_receipt_ticket_number: チケット番号
13
+ ticket_receipt_price: 料金
14
+ ticket_information: チケット情報
15
+ ticket_contact: 連絡先情報
16
+ ticket_registered_following_event: "According to our registration system, you are or were a participant in the following event"
17
+ ticket_outstanding_balance: "According to our accounting, the following amount still needs to be paid"
18
+ ticket_payment_link_leadin: You can make a payment with the following link
19
+ ticket_payment_link_text: Make Payment
20
+ ticket_payment_reminder_subject: "Payment Reminder: %{value}"
21
+ ticket_if_already_paid: "This email is automatically generated and sent by our system. If you have already paid the amount, or believe that the reminder is incorrect, please send an email to %{value}. If you have made a payment in the last three days, please ignore this reminder."
22
+ registration_receipt_title: 予約受理
23
+ registration_email: Eメール
24
+ registration_first_name: 名
25
+ registration_last_name: 姓
26
+ registration_address: 住所
27
+ registration_address2: 住所2
28
+ registration_city: 市
29
+ registration_state: 都道府県
30
+ registration_country: 国
31
+ registration_zipcode: 郵便番号
32
+ registration_account_required: 'このイベントに登録するためには、あなたはご自分のユーザーアカウントにログインしなければなりません。'
33
+ registration_closed_heading: 登録は締め切られました
34
+ registration_closed_text: "下記の講座への登録はもう受け付けていません '%{title}'"
35
+ registration_closed_email: "ご不明な点がある場合は、下記にご連絡下さい %{email}."
36
+ registration_closed_list: 現在、登録して頂けるのは下記の講座です
37
+ choose_payment_method: お支払い方法を選択して下さい
38
+ donate_button: 申し込む
39
+ project_goal: Project Goal
40
+ amount_raised: Amount Raised
41
+
42
+ login: ログイン
43
+ create_account: アカウントを作成
44
+
45
+ activerecord:
46
+ errors:
47
+ models:
48
+ registration:
49
+ attributes:
50
+ workshop_price_id:
51
+ blank: お支払い方法を選択して下さい。
data/config/routes.rb ADDED
@@ -0,0 +1,40 @@
1
+ DmEvent::Engine.routes.draw do
2
+
3
+ scope ":locale" do
4
+ namespace :admin do
5
+ scope 'ems' do
6
+ resources :workshops do
7
+ member do
8
+ match 'edit_system_email/:email_type', action: 'edit_system_email', as: 'edit_system_email', via: [:get, :post, :patch]
9
+ get 'financials', action: 'financials'
10
+ match 'lost_users', action: 'lost_users', via: [:get, :post, :patch]
11
+ patch 'send_payment_reminder_emails', action: 'send_payment_reminder_emails'
12
+ match 'additional_configuration', action: 'additional_configuration', via: [:get, :patch]
13
+ end
14
+ resources :workshop_prices
15
+ end
16
+ get '/workshop/user_outstanding_balances', controller: :workshops, action: 'user_outstanding_balances'
17
+ resources :registrations do
18
+ member do
19
+ put 'action_state/:state_event', action: 'action_state', as: 'action_state'
20
+ post 'ajax_payment', action: 'ajax_payment'
21
+ patch 'ajax_edit_payment/:payment_id', action: 'ajax_payment', as: 'ajax_edit_payment'
22
+ delete 'ajax_delete_payment/:payment_id', action: 'ajax_delete_payment', as: 'ajax_delete_payment'
23
+ end
24
+ end
25
+ resources :workshop_prices
26
+ post '/workshop_prices/sort', controller: :workshop_prices, action: :sort, as: :workshop_price_sort
27
+ end
28
+ end
29
+
30
+ get '/event/workshop/published_workshops', controller: 'workshops', action: :published_workshops,as: :published_workshops
31
+ get '/event/register/:id/new', controller: 'registrations', action: :new, as: :register_new
32
+ post '/event/register/:id/create', controller: 'registrations', action: :create, as: :register_create, via: :post
33
+ get '/event/register/success/(:uuid)', controller: 'registrations', action: :success, as: :register_success
34
+ get '/event/register/choose_payment/(:uuid)', controller: 'registrations', action: :choose_payment, as: :register_choose_payment
35
+ get '/event/register/payments_return', controller: 'registrations', action: :payments_return, as: :register_payments_return
36
+ post '/event/payment/paypal_ipn', controller: 'payments', action: :paypal_ipn, as: :payment_paypal_ipn
37
+ post '/event/payment/sofort_ipn', controller: 'payments', action: :sofort_ipn, as: :payment_sofort_ipn
38
+ end
39
+
40
+ end
@@ -0,0 +1,98 @@
1
+ class CreateEvents < ActiveRecord::Migration
2
+ def up
3
+ create_table :ems_workshop_translations, :force => true do |t|
4
+ t.integer :ems_workshop_id
5
+ t.string :locale
6
+ t.string :title
7
+ t.text :description
8
+ t.datetime :created_at
9
+ t.datetime :updated_at
10
+ end
11
+
12
+ create_table :ems_workshops, :force => true do |t|
13
+ t.string :slug
14
+ t.datetime :starting_on
15
+ t.datetime :ending_on
16
+ t.date :deadline_on
17
+ t.integer :registrations_count, :default => 0
18
+ t.integer :country_id
19
+ t.string :contact_email, :limit => 60, :default => ""
20
+ t.string :contact_phone, :limit => 20, :default => ""
21
+ t.string :info_url, :default => ""
22
+ t.boolean :require_review, :default => false
23
+ t.boolean :waitlisting, :default => false
24
+ t.text :closed_text
25
+ t.boolean :is_closed
26
+ t.datetime :archived_on
27
+ t.datetime :created_at
28
+ t.datetime :updated_at
29
+ t.integer :account_id
30
+ end
31
+
32
+ add_index :ems_workshops, ["slug"], :name => "workshopname_key"
33
+
34
+ create_table :ems_registrations, :force => true do |t|
35
+ t.integer :workshop_id
36
+ t.integer :user_id
37
+ t.string :receipt_code, :limit => 20
38
+ t.boolean :receipt_requested
39
+ t.integer :workshop_price_id
40
+ t.integer :amount, :default => 0
41
+ t.integer :discount_value
42
+ t.boolean :discount_use_percent
43
+ t.string :payment_comment
44
+ t.datetime :checkin_at
45
+ t.string :aasm_state, :limit => 20
46
+ t.datetime :process_changed_on
47
+ t.datetime :user_updated_at
48
+ t.datetime :archived_on
49
+ t.datetime :confirmed_on
50
+ t.datetime :created_at
51
+ t.datetime :updated_at
52
+ t.integer :account_id
53
+ t.integer :lock_version, :default => 0
54
+ end
55
+
56
+ add_index :ems_registrations, ["receipt_code"], :name => "receipt_code_key"
57
+
58
+ create_table :ems_workshop_price_translations, :force => true do |t|
59
+ t.integer :ems_workshop_price_id
60
+ t.string :locale
61
+ t.string :price_description
62
+ t.text :sub_description
63
+ t.text :payment_details
64
+ t.datetime :created_at
65
+ t.datetime :updated_at
66
+ end
67
+
68
+ create_table :ems_workshop_prices, :force => true do |t|
69
+ t.integer :workshop_id
70
+ t.integer :price_cents
71
+ t.string :price_currency, :limit => 10
72
+ t.integer :alt1_price_cents
73
+ t.string :alt1_price_currency, :limit => 10
74
+ t.integer :alt2_price_cents
75
+ t.string :alt2_price_currency, :limit => 10
76
+ t.boolean :disabled, :default => false, :null => false
77
+ t.date :valid_until
78
+ t.date :valid_starting_on
79
+ t.integer :total_available
80
+ t.integer :recurring_amount
81
+ t.integer :recurring_period
82
+ t.integer :recurring_number
83
+ t.integer :row_order
84
+ t.integer :account_id
85
+ t.datetime :created_at
86
+ t.datetime :updated_at
87
+ end
88
+
89
+ end
90
+
91
+ def down
92
+ drop_table :ems_workshops
93
+ drop_table :ems_workshop_translations
94
+ drop_table :ems_registrations
95
+ drop_table :ems_workshop_prices
96
+ drop_table :ems_workshop_price_translations
97
+ end
98
+ end
@@ -0,0 +1,5 @@
1
+ class AddLocaleToRegistration < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_registrations, :registered_locale, :string, :limit => 5
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ class AddUserProfileToRegistration < ActiveRecord::Migration
2
+ def up
3
+ add_column :ems_registrations, :user_profile_id, :integer
4
+ remove_column :ems_registrations, :user_id
5
+ end
6
+
7
+ def down
8
+ remove_column :ems_registrations, :user_profile_id
9
+ add_column :ems_registrations, :user_id, :integer
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ class AddRequireAddress < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_workshops, :require_account, :boolean
4
+ add_column :ems_workshops, :require_address, :boolean
5
+ add_column :ems_workshops, :require_photo, :boolean
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class AddWorkshopPublished < ActiveRecord::Migration
2
+ def change
3
+ rename_column :ems_workshops, :is_closed, :published
4
+ end
5
+ end
@@ -0,0 +1,16 @@
1
+ class AddAmountCurrency < ActiveRecord::Migration
2
+ def up
3
+ rename_column :ems_registrations, :amount, :amount_paid_cents
4
+ add_column :ems_registrations, :amount_paid_currency, :string
5
+
6
+ Registration.unscoped.all.each do |r|
7
+ Account.current = Account.find(r.account_id)
8
+ r.update_attribute(:amount_paid_currency, r.workshop_price.price_currency)
9
+ end
10
+ end
11
+
12
+ def down
13
+ rename_column :ems_registrations, :amount_paid_cents, :amount
14
+ remove_column :ems_registrations, :amount_paid_currency
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ class AddWorkshopCurrency < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_workshops, :base_currency, :string, :limit => 3
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddEventFundingType < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_workshops, :event_style, :string, :default => 'workshop'
4
+ add_column :ems_workshops, :funding_goal_cents, :integer
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddEnablePayments < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_workshops, :payments_enabled, :boolean
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddSidebarToWorkshop < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_workshop_translations, :sidebar, :text
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddShowAddress < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_workshops, :show_address, :boolean
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ class AddDefaultFundingGoal < ActiveRecord::Migration
2
+ def up
3
+ change_column :ems_workshops, :funding_goal_cents, :integer, :default => 0
4
+ end
5
+
6
+ def down
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ class AddPaymentReminder < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_registrations, :payment_reminder_sent_on, :datetime, :default => nil
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddEventImage < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_workshops, :image, :string
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddWorkshopSummary < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_workshop_translations, :summary, :text
4
+ end
5
+ end
@@ -0,0 +1,10 @@
1
+ class AddUuidToRegistration < ActiveRecord::Migration
2
+ def up
3
+ add_column :ems_registrations, :uuid, :string, limit: 36
4
+ add_index :ems_registrations, :uuid
5
+ Registration.unscoped.each {|r| r.update_attribute(:uuid, SecureRandom.uuid)}
6
+ end
7
+ def down
8
+ remove_column :ems_registrations, :uuid
9
+ end
10
+ end
@@ -0,0 +1,5 @@
1
+ class AddRegistrationCommentCount < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_registrations, :comments_count, :integer
4
+ end
5
+ end
@@ -0,0 +1,20 @@
1
+ class AddPaymentComment < ActiveRecord::Migration
2
+ def up
3
+ add_column :ems_registrations, :payment_comment_id, :integer
4
+ rename_column :ems_registrations, :payment_comment, :payment_comment_old
5
+
6
+ Registration.unscoped.each do |r|
7
+ Account.current = Account.find(r.account_id)
8
+ if !r.payment_comment_old.blank?
9
+ comment = r.private_comments.create(body: r.payment_comment_old, user_id: 1)
10
+ r.reload.update_attribute :payment_comment_id, comment.id
11
+ end
12
+ end
13
+
14
+ remove_column :ems_registrations, :payment_comment_old
15
+ end
16
+ def down
17
+ remove_column :ems_registrations, :payment_comment_id
18
+ add_column :ems_registrations, :payment_comment, :string
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ class AddPaymentReminderHistory < ActiveRecord::Migration
2
+ def up
3
+ add_column :ems_registrations, :payment_reminder_history, :text
4
+
5
+ Registration.unscoped.each do |r|
6
+ Account.current = Account.find(r.account_id)
7
+ if r.payment_reminder_sent_on
8
+ r.update_attribute(:payment_reminder_history, [r.payment_reminder_sent_on])
9
+ end
10
+ end
11
+ end
12
+
13
+ def down
14
+ remove_column :ems_registrations, :payment_reminder_history
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ class AddBccContactEmail < ActiveRecord::Migration
2
+ def change
3
+ add_column :ems_workshops, :bcc_contact_email, :boolean, default: false
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class IndexForeignKeysInEmsRegistrations < ActiveRecord::Migration
2
+ def change
3
+ add_index :ems_registrations, :account_id
4
+ add_index :ems_registrations, :payment_comment_id
5
+ add_index :ems_registrations, :user_profile_id
6
+ add_index :ems_registrations, :workshop_id
7
+ add_index :ems_registrations, :workshop_price_id
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ class IndexForeignKeysInEmsWorkshopPriceTranslations < ActiveRecord::Migration
2
+ def change
3
+ add_index :ems_workshop_price_translations, :ems_workshop_price_id
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class IndexForeignKeysInEmsWorkshopPrices < ActiveRecord::Migration
2
+ def change
3
+ add_index :ems_workshop_prices, :account_id
4
+ add_index :ems_workshop_prices, :workshop_id
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class IndexForeignKeysInEmsWorkshopTranslations < ActiveRecord::Migration
2
+ def change
3
+ add_index :ems_workshop_translations, :ems_workshop_id
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class IndexForeignKeysInEmsWorkshops < ActiveRecord::Migration
2
+ def change
3
+ add_index :ems_workshops, :account_id
4
+ add_index :ems_workshops, :country_id
5
+ end
6
+ end
@@ -0,0 +1,20 @@
1
+ require 'dm_core'
2
+ require 'activemerchant'
3
+
4
+ module DmEvent
5
+ class Engine < ::Rails::Engine
6
+ isolate_namespace DmEvent
7
+
8
+ config.to_prepare do
9
+ require_dependency 'dm_event/model_decorators'
10
+ end
11
+
12
+ config.generators do |g|
13
+ g.test_framework :rspec, :fixture => false
14
+ g.fixture_replacement :factory_girl, :dir => 'spec/factories'
15
+ g.assets false
16
+ g.helper false
17
+ end
18
+
19
+ end
20
+ end