decidim 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim might be problematic. Click here for more details.

Files changed (360) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc.json +2 -1
  3. data/Gemfile.lock +121 -112
  4. data/README.md +28 -10
  5. data/Rakefile +1 -1
  6. data/decidim-admin/README.md +1 -1
  7. data/decidim-admin/app/assets/stylesheets/decidim/admin/_sidebar.scss +30 -1
  8. data/decidim-admin/app/assets/stylesheets/decidim/admin/_tables.scss +3 -0
  9. data/decidim-admin/app/assets/stylesheets/decidim/admin/application.scss +3 -0
  10. data/decidim-admin/app/commands/decidim/admin/create_participatory_process.rb +4 -1
  11. data/decidim-admin/app/commands/decidim/admin/create_participatory_process_admin.rb +26 -7
  12. data/decidim-admin/app/commands/decidim/admin/create_participatory_process_group.rb +54 -0
  13. data/decidim-admin/app/commands/decidim/admin/create_participatory_process_step.rb +0 -1
  14. data/decidim-admin/app/commands/decidim/admin/destroy_participatory_process_step.rb +3 -1
  15. data/decidim-admin/app/commands/decidim/admin/hide_resource.rb +37 -0
  16. data/decidim-admin/app/commands/decidim/admin/reorder_participatory_process_steps.rb +1 -0
  17. data/decidim-admin/app/commands/decidim/admin/unreport_resource.rb +33 -0
  18. data/decidim-admin/app/commands/decidim/admin/update_participatory_process.rb +4 -2
  19. data/decidim-admin/app/commands/decidim/admin/update_participatory_process_group.rb +57 -0
  20. data/decidim-admin/app/commands/decidim/admin/update_participatory_process_step.rb +1 -2
  21. data/decidim-admin/app/controllers/decidim/admin/application_controller.rb +4 -0
  22. data/decidim-admin/app/controllers/decidim/admin/categories_controller.rb +1 -1
  23. data/decidim-admin/app/controllers/decidim/admin/feature_permissions_controller.rb +2 -2
  24. data/decidim-admin/{lib → app/controllers}/decidim/admin/features/base_controller.rb +0 -0
  25. data/decidim-admin/app/controllers/decidim/admin/moderations_controller.rb +64 -0
  26. data/decidim-admin/app/controllers/decidim/admin/newsletters_controller.rb +1 -1
  27. data/decidim-admin/app/controllers/decidim/admin/participatory_process_groups_controller.rb +86 -0
  28. data/decidim-admin/app/controllers/decidim/admin/participatory_process_publications_controller.rb +1 -1
  29. data/decidim-admin/app/controllers/decidim/admin/participatory_process_step_activations_controller.rb +1 -1
  30. data/decidim-admin/app/controllers/decidim/admin/participatory_process_step_ordering_controller.rb +1 -1
  31. data/decidim-admin/app/controllers/decidim/admin/participatory_process_steps_controller.rb +1 -1
  32. data/decidim-admin/app/controllers/decidim/admin/participatory_process_user_roles_controller.rb +3 -3
  33. data/decidim-admin/app/controllers/decidim/admin/participatory_processes_controller.rb +3 -2
  34. data/decidim-admin/app/forms/decidim/admin/organization_form.rb +1 -0
  35. data/decidim-admin/app/forms/decidim/admin/participatory_process_form.rb +12 -1
  36. data/decidim-admin/app/forms/decidim/admin/participatory_process_group_form.rb +23 -0
  37. data/decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb +0 -1
  38. data/decidim-admin/app/forms/decidim/admin/participatory_process_user_role_form.rb +5 -1
  39. data/decidim-admin/app/helpers/decidim/admin/application_helper.rb +1 -0
  40. data/decidim-admin/app/helpers/decidim/admin/process_groups_for_select_helper.rb +20 -0
  41. data/decidim-admin/app/helpers/decidim/admin/processes_for_select_helper.rb +22 -0
  42. data/decidim-admin/app/models/decidim/admin/abilities/admin_user.rb +2 -0
  43. data/decidim-admin/app/models/decidim/admin/abilities/participatory_process_admin.rb +4 -0
  44. data/decidim-admin/app/models/decidim/admin/participatory_process_user_role.rb +1 -1
  45. data/decidim-admin/app/queries/decidim/admin/process_admins.rb +43 -0
  46. data/decidim-admin/app/views/decidim/admin/moderations/index.html.erb +65 -0
  47. data/decidim-admin/app/views/decidim/admin/organization/_form.html.erb +4 -0
  48. data/decidim-admin/app/views/decidim/admin/participatory_process_groups/_form.html.erb +17 -0
  49. data/decidim-admin/app/views/decidim/admin/participatory_process_groups/edit.html.erb +13 -0
  50. data/decidim-admin/app/views/decidim/admin/participatory_process_groups/index.html.erb +38 -0
  51. data/decidim-admin/app/views/decidim/admin/participatory_process_groups/new.html.erb +11 -0
  52. data/decidim-admin/app/views/decidim/admin/participatory_process_groups/show.html.erb +23 -0
  53. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/_form.html.erb +0 -4
  54. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/show.html.erb +4 -5
  55. data/decidim-admin/app/views/decidim/admin/participatory_process_user_roles/index.html.erb +27 -24
  56. data/decidim-admin/app/views/decidim/admin/participatory_processes/_form.html.erb +10 -1
  57. data/decidim-admin/app/views/decidim/admin/participatory_processes/show.html.erb +15 -1
  58. data/decidim-admin/app/views/layouts/decidim/admin/_header.html.erb +1 -0
  59. data/decidim-admin/app/views/layouts/decidim/admin/_language_chooser.html.erb +14 -0
  60. data/decidim-admin/app/views/layouts/decidim/admin/_sidebar.html.erb +2 -0
  61. data/decidim-admin/app/views/layouts/decidim/admin/participatory_process.html.erb +5 -0
  62. data/decidim-admin/config/i18n-tasks.yml +3 -1
  63. data/decidim-admin/config/locales/ca.yml +83 -3
  64. data/decidim-admin/config/locales/en.yml +81 -1
  65. data/decidim-admin/config/locales/es.yml +81 -1
  66. data/decidim-admin/config/locales/eu.yml +340 -1
  67. data/decidim-admin/config/locales/fi.yml +464 -0
  68. data/decidim-admin/config/routes.rb +8 -0
  69. data/decidim-admin/db/seeds.rb +1 -1
  70. data/decidim-admin/lib/decidim/admin/engine.rb +1 -0
  71. data/decidim-admin/spec/commands/create_participatory_process_admin_spec.rb +10 -4
  72. data/decidim-admin/spec/commands/create_participatory_process_spec.rb +6 -1
  73. data/decidim-admin/spec/commands/hide_resource_spec.rb +41 -0
  74. data/decidim-admin/spec/commands/unreport_resource_spec.rb +42 -0
  75. data/decidim-admin/spec/commands/update_organization_spec.rb +1 -0
  76. data/decidim-admin/spec/features/admin_invite_spec.rb +1 -0
  77. data/decidim-admin/spec/features/admin_manages_feature_permissions_spec.rb +1 -1
  78. data/decidim-admin/spec/features/admin_manages_organization_admins_spec.rb +1 -1
  79. data/decidim-admin/spec/features/admin_manages_participatory_process_groups_spec.rb +107 -0
  80. data/decidim-admin/spec/features/admin_manages_participatory_processes_spec.rb +5 -0
  81. data/decidim-admin/spec/features/admin_manages_user_groups_spec.rb +11 -4
  82. data/decidim-admin/spec/forms/organization_form_spec.rb +2 -0
  83. data/decidim-admin/spec/forms/participatory_process_group_form_spec.rb +86 -0
  84. data/decidim-admin/spec/forms/participatory_process_step_form_spec.rb +0 -10
  85. data/decidim-admin/spec/forms/participatory_process_user_role_form_spec.rb +4 -0
  86. data/decidim-admin/spec/models/abilities/admin_user_spec.rb +3 -2
  87. data/decidim-admin/spec/models/abilities/participatory_process_admin_spec.rb +7 -0
  88. data/decidim-admin/spec/queries/process_admins_spec.rb +23 -0
  89. data/decidim-admin/spec/shared/manage_process_admins_examples.rb +2 -0
  90. data/decidim-admin/spec/shared/manage_process_steps_examples.rb +0 -10
  91. data/decidim-api/decidim-api.gemspec +1 -1
  92. data/decidim-budgets/app/commands/decidim/budgets/add_line_item.rb +9 -1
  93. data/decidim-budgets/app/controllers/decidim/budgets/admin/projects_controller.rb +13 -1
  94. data/decidim-budgets/app/forms/decidim/budgets/admin/project_form.rb +5 -1
  95. data/decidim-budgets/app/models/decidim/budgets/order.rb +3 -0
  96. data/decidim-budgets/app/models/decidim/budgets/project.rb +9 -1
  97. data/decidim-budgets/app/services/decidim/budgets/project_search.rb +0 -5
  98. data/decidim-budgets/app/views/decidim/budgets/admin/projects/_form.html.erb +5 -3
  99. data/decidim-budgets/app/views/decidim/budgets/admin/projects/index.html.erb +9 -0
  100. data/decidim-budgets/app/views/decidim/budgets/line_items/update_budget.js.erb +1 -0
  101. data/decidim-budgets/app/views/decidim/budgets/projects/_filters.html.erb +2 -2
  102. data/decidim-budgets/app/views/decidim/budgets/projects/_filters_small_view.html.erb +18 -0
  103. data/decidim-budgets/app/views/decidim/budgets/projects/_project.html.erb +17 -2
  104. data/decidim-budgets/app/views/decidim/budgets/projects/_project_budget_button.html.erb +2 -2
  105. data/decidim-budgets/app/views/decidim/budgets/projects/_tags.html.erb +1 -1
  106. data/decidim-budgets/app/views/decidim/budgets/projects/index.html.erb +2 -1
  107. data/decidim-budgets/app/views/decidim/budgets/projects/show.html.erb +7 -1
  108. data/decidim-budgets/config/i18n-tasks.yml +1 -0
  109. data/decidim-budgets/config/locales/ca.yml +18 -3
  110. data/decidim-budgets/config/locales/en.yml +15 -0
  111. data/decidim-budgets/config/locales/es.yml +17 -2
  112. data/decidim-budgets/config/locales/eu.yml +97 -1
  113. data/decidim-budgets/config/locales/fi.yml +123 -0
  114. data/decidim-budgets/db/migrate/20170215132708_add_reference_to_projects.rb +7 -0
  115. data/decidim-budgets/lib/decidim/budgets/feature.rb +4 -2
  116. data/decidim-budgets/lib/decidim/budgets/seeds/Exampledocument.pdf +0 -0
  117. data/decidim-budgets/lib/decidim/budgets/seeds/city.jpeg +0 -0
  118. data/decidim-budgets/lib/decidim/budgets/test/factories.rb +21 -1
  119. data/decidim-budgets/spec/commands/add_line_item_spec.rb +10 -1
  120. data/decidim-budgets/spec/features/comments_spec.rb +10 -0
  121. data/decidim-budgets/spec/features/orders_spec.rb +47 -3
  122. data/decidim-budgets/spec/models/project_spec.rb +16 -1
  123. data/decidim-budgets/spec/services/project_search_spec.rb +9 -0
  124. data/decidim-budgets/spec/shared/admin_shared_context.rb +1 -1
  125. data/decidim-budgets/spec/shared/manage_projects_examples.rb +22 -0
  126. data/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +0 -0
  127. data/decidim-comments/app/commands/decidim/comments/create_comment.rb +9 -1
  128. data/decidim-comments/app/frontend/application/icon.component.jsx +1 -1
  129. data/decidim-comments/app/frontend/comments/add_comment_form.component.jsx +11 -10
  130. data/decidim-comments/app/frontend/comments/add_comment_form.component.test.jsx +5 -5
  131. data/decidim-comments/app/frontend/comments/comment.component.jsx +91 -1
  132. data/decidim-comments/app/frontend/comments/comment.component.test.jsx +18 -0
  133. data/decidim-comments/app/frontend/comments/comment_data.fragment.graphql +2 -0
  134. data/decidim-comments/app/frontend/comments/comment_order_selector.component.jsx +4 -5
  135. data/decidim-comments/app/frontend/comments/comments.query.graphql +1 -0
  136. data/decidim-comments/app/mailers/decidim/comments/comment_notification_mailer.rb +8 -0
  137. data/decidim-comments/app/models/decidim/comments/abilities/admin_user.rb +25 -0
  138. data/decidim-comments/app/models/decidim/comments/abilities/process_admin_user.rb +33 -0
  139. data/decidim-comments/app/models/decidim/comments/comment.rb +7 -1
  140. data/decidim-comments/app/models/decidim/comments/comment_vote.rb +3 -1
  141. data/decidim-comments/app/queries/decidim/comments/sorted_comments.rb +1 -0
  142. data/decidim-comments/app/views/decidim/comments/comment_notification_mailer/comment_created.html.erb +1 -1
  143. data/decidim-comments/app/views/decidim/comments/comment_notification_mailer/reply_created.html.erb +1 -1
  144. data/decidim-comments/config/locales/ca.yml +11 -0
  145. data/decidim-comments/config/locales/en.yml +12 -2
  146. data/decidim-comments/config/locales/es.yml +11 -0
  147. data/decidim-comments/config/locales/eu.yml +38 -1
  148. data/decidim-comments/config/locales/fi.yml +66 -0
  149. data/decidim-comments/lib/decidim/comments.rb +2 -0
  150. data/decidim-comments/lib/decidim/comments/admin.rb +9 -0
  151. data/decidim-comments/lib/decidim/comments/admin_engine.rb +22 -0
  152. data/decidim-comments/lib/decidim/comments/api/comment_type.rb +12 -0
  153. data/decidim-comments/lib/decidim/comments/commentable.rb +0 -2
  154. data/decidim-comments/lib/decidim/comments/engine.rb +1 -0
  155. data/decidim-comments/lib/decidim/comments/test/factories.rb +3 -0
  156. data/decidim-comments/spec/commands/create_comment_spec.rb +11 -0
  157. data/decidim-comments/spec/features/admin_manages_comments_spec.rb +23 -0
  158. data/decidim-comments/spec/features/comments_spec.rb +5 -173
  159. data/decidim-comments/spec/features/process_admin_manages_comments_spec.rb +24 -0
  160. data/decidim-comments/spec/features/report_comment_spec.rb +20 -0
  161. data/decidim-comments/spec/models/abilities/admin_user_spec.rb +20 -0
  162. data/decidim-comments/spec/models/abilities/process_admin_user_spec.rb +21 -0
  163. data/decidim-comments/spec/models/comment_spec.rb +1 -0
  164. data/decidim-comments/spec/queries/sorted_comments_spec.rb +11 -0
  165. data/decidim-comments/spec/shared/admin_shared_context.rb +11 -0
  166. data/decidim-comments/spec/types/comment_type_spec.rb +19 -0
  167. data/decidim-dev/config/locales/ca.yml +1 -1
  168. data/decidim-dev/config/locales/en.yml +1 -1
  169. data/decidim-dev/config/locales/es.yml +1 -1
  170. data/decidim-dev/config/locales/eu.yml +1 -1
  171. data/decidim-dev/config/locales/fi.yml +5 -0
  172. data/decidim-dev/decidim-dev.gemspec +3 -1
  173. data/decidim-dev/lib/decidim/dev/test/base_spec_helper.rb +1 -28
  174. data/decidim-dev/lib/decidim/dev/test/rspec_support/feature.rb +11 -0
  175. data/{decidim-meetings/spec/support → decidim-dev/lib/decidim/dev/test/rspec_support}/geocoder.rb +5 -1
  176. data/decidim-dev/lib/decidim/dev/test/rspec_support/html_matchers.rb +6 -0
  177. data/decidim-dev/lib/decidim/dev/test/rspec_support/i18n.rb +3 -0
  178. data/decidim-dev/lib/decidim/dev/test/rspec_support/webmock.rb +2 -0
  179. data/decidim-dev/lib/decidim/dev/test/spec_helper.rb +37 -0
  180. data/decidim-dev/lib/generators/decidim/dummy_generator.rb +5 -0
  181. data/decidim-dev/lib/generators/decidim/templates/autoprefixer.yml +8 -0
  182. data/decidim-dev/lib/generators/decidim/templates/autoprefixer_initializer.rb +16 -0
  183. data/decidim-meetings/app/commands/decidim/meetings/admin/create_meeting.rb +6 -17
  184. data/decidim-meetings/app/commands/decidim/meetings/admin/update_meeting.rb +6 -7
  185. data/decidim-meetings/app/controllers/decidim/meetings/application_controller.rb +1 -0
  186. data/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb +14 -9
  187. data/decidim-meetings/app/forms/decidim/meetings/admin/meeting_form.rb +12 -1
  188. data/decidim-meetings/app/helpers/decidim/meetings/admin/application_helper.rb +1 -1
  189. data/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb +2 -1
  190. data/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb +10 -32
  191. data/decidim-meetings/app/models/decidim/meetings/meeting.rb +2 -1
  192. data/decidim-meetings/app/services/decidim/meetings/meeting_search.rb +0 -5
  193. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/_form.html.erb +5 -3
  194. data/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb +5 -3
  195. data/decidim-meetings/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +1 -1
  196. data/decidim-meetings/app/views/decidim/meetings/meetings/_meetings.html.erb +11 -1
  197. data/decidim-meetings/app/views/decidim/meetings/meetings/_tags.html.erb +1 -1
  198. data/decidim-meetings/app/views/decidim/meetings/meetings/index.html.erb +27 -32
  199. data/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb +2 -2
  200. data/decidim-meetings/app/views/decidim/meetings/meetings/show.html.erb +2 -15
  201. data/decidim-meetings/config/i18n-tasks.yml +1 -1
  202. data/decidim-meetings/config/locales/ca.yml +18 -3
  203. data/decidim-meetings/config/locales/en.yml +20 -3
  204. data/decidim-meetings/config/locales/es.yml +18 -3
  205. data/decidim-meetings/config/locales/eu.yml +75 -1
  206. data/decidim-meetings/config/locales/fi.yml +98 -0
  207. data/decidim-meetings/db/migrate/20170215132546_add_reference_to_meetings.rb +7 -0
  208. data/decidim-meetings/decidim-meetings.gemspec +0 -2
  209. data/decidim-meetings/lib/decidim/meetings/admin_engine.rb +0 -26
  210. data/decidim-meetings/lib/decidim/meetings/list_engine.rb +1 -9
  211. data/decidim-meetings/spec/commands/create_meeting_spec.rb +6 -14
  212. data/decidim-meetings/spec/commands/update_meeting_spec.rb +10 -29
  213. data/decidim-meetings/spec/features/explore_meetings_spec.rb +37 -13
  214. data/decidim-meetings/spec/forms/meeting_form_spec.rb +15 -1
  215. data/decidim-meetings/spec/models/meeting_spec.rb +1 -0
  216. data/decidim-meetings/spec/services/meeting_search_spec.rb +9 -0
  217. data/decidim-meetings/spec/shared/admin_shared_context.rb +1 -1
  218. data/decidim-meetings/spec/shared/manage_meetings_examples.rb +97 -1
  219. data/decidim-meetings/spec/spec_helper.rb +0 -5
  220. data/decidim-pages/app/commands/decidim/pages/admin/update_page.rb +1 -4
  221. data/decidim-pages/app/commands/decidim/pages/create_page.rb +1 -4
  222. data/decidim-pages/app/forms/decidim/pages/admin/page_form.rb +0 -3
  223. data/decidim-pages/app/models/decidim/pages/page.rb +8 -12
  224. data/decidim-pages/app/views/decidim/pages/admin/pages/_form.html.erb +0 -1
  225. data/decidim-pages/app/views/decidim/pages/application/show.html.erb +0 -1
  226. data/decidim-pages/config/locales/ca.yml +0 -1
  227. data/decidim-pages/config/locales/en.yml +0 -1
  228. data/decidim-pages/config/locales/es.yml +0 -1
  229. data/decidim-pages/config/locales/eu.yml +14 -1
  230. data/decidim-pages/config/locales/fi.yml +22 -0
  231. data/decidim-pages/db/migrate/20170220091402_remove_page_feature_titles.rb +5 -0
  232. data/decidim-pages/lib/decidim/pages/engine.rb +1 -0
  233. data/decidim-pages/lib/decidim/pages/feature.rb +4 -1
  234. data/decidim-pages/spec/commands/create_page_spec.rb +1 -2
  235. data/decidim-pages/spec/commands/update_page_spec.rb +0 -1
  236. data/decidim-pages/spec/factories.rb +6 -1
  237. data/decidim-pages/spec/features/admin_spec.rb +1 -17
  238. data/decidim-pages/spec/features/comments_spec.rb +10 -0
  239. data/decidim-pages/spec/features/page_show_spec.rb +1 -10
  240. data/decidim-pages/spec/forms/page_form_spec.rb +0 -21
  241. data/decidim-pages/spec/models/page_spec.rb +2 -4
  242. data/decidim-proposals/app/commands/decidim/proposals/admin/create_proposal.rb +4 -1
  243. data/decidim-proposals/app/commands/decidim/proposals/create_proposal.rb +4 -1
  244. data/decidim-proposals/app/controllers/decidim/proposals/admin/proposals_controller.rb +4 -0
  245. data/decidim-proposals/app/controllers/decidim/proposals/proposals_controller.rb +12 -6
  246. data/decidim-proposals/app/forms/decidim/proposals/admin/proposal_form.rb +13 -2
  247. data/decidim-proposals/app/forms/decidim/proposals/proposal_form.rb +13 -2
  248. data/decidim-proposals/app/helpers/decidim/proposals/application_helper.rb +3 -0
  249. data/decidim-proposals/app/helpers/decidim/proposals/map_helper.rb +19 -0
  250. data/decidim-proposals/app/helpers/decidim/proposals/proposal_order_helper.rb +16 -0
  251. data/decidim-proposals/app/models/decidim/proposals/abilities/admin_user.rb +2 -0
  252. data/decidim-proposals/app/models/decidim/proposals/abilities/current_user.rb +3 -0
  253. data/decidim-proposals/app/models/decidim/proposals/abilities/process_admin_user.rb +2 -1
  254. data/decidim-proposals/app/models/decidim/proposals/proposal.rb +12 -3
  255. data/decidim-proposals/app/services/decidim/proposals/proposal_search.rb +0 -5
  256. data/decidim-proposals/app/views/decidim/proposals/admin/proposal_answers/edit.html.erb +1 -1
  257. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/_form.html.erb +8 -2
  258. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/index.html.erb +12 -14
  259. data/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb +2 -2
  260. data/decidim-proposals/app/views/decidim/proposals/proposals/_filters_small_view.html.erb +1 -1
  261. data/decidim-proposals/app/views/decidim/proposals/proposals/_proposals.html.erb +1 -1
  262. data/decidim-proposals/app/views/decidim/proposals/proposals/_tags.html.erb +1 -1
  263. data/decidim-proposals/app/views/decidim/proposals/proposals/index.html.erb +27 -0
  264. data/decidim-proposals/app/views/decidim/proposals/proposals/new.html.erb +8 -2
  265. data/decidim-proposals/app/views/decidim/proposals/proposals/show.html.erb +18 -1
  266. data/decidim-proposals/config/i18n-tasks.yml +3 -1
  267. data/decidim-proposals/config/locales/ca.yml +11 -8
  268. data/decidim-proposals/config/locales/en.yml +9 -6
  269. data/decidim-proposals/config/locales/es.yml +14 -11
  270. data/decidim-proposals/config/locales/eu.yml +119 -1
  271. data/decidim-proposals/config/locales/fi.yml +143 -0
  272. data/decidim-proposals/db/migrate/20170215113152_create_proposal_reports.rb +14 -0
  273. data/decidim-proposals/db/migrate/20170215131720_add_report_count_to_proposals.rb +5 -0
  274. data/decidim-proposals/db/migrate/20170215132030_add_reference_to_proposals.rb +7 -0
  275. data/decidim-proposals/db/migrate/20170220152416_add_hidden_at_to_proposals.rb +5 -0
  276. data/decidim-proposals/db/migrate/20170228105156_add_geolocalization_fields_to_proposals.rb +7 -0
  277. data/decidim-proposals/db/migrate/20170307085300_migrate_proposal_reports_data_to_reports.rb +26 -0
  278. data/decidim-proposals/decidim-proposals.gemspec +1 -1
  279. data/decidim-proposals/lib/decidim/proposals/feature.rb +4 -3
  280. data/decidim-proposals/lib/decidim/proposals/test/factories.rb +8 -0
  281. data/decidim-proposals/spec/features/admin_manages_proposals_spec.rb +3 -0
  282. data/decidim-proposals/spec/features/comments_spec.rb +11 -0
  283. data/decidim-proposals/spec/features/process_admin_manages_proposals_spec.rb +3 -0
  284. data/decidim-proposals/spec/features/proposals_spec.rb +98 -15
  285. data/decidim-proposals/spec/features/report_proposal_spec.rb +19 -0
  286. data/decidim-proposals/spec/helpers/proposal_order_helper_spec.rb +30 -0
  287. data/decidim-proposals/spec/models/decidim/proposals/proposal_spec.rb +2 -0
  288. data/decidim-proposals/spec/services/decidim/proposals/proposal_search_spec.rb +9 -0
  289. data/decidim-proposals/spec/shared/create_proposal_examples.rb +29 -2
  290. data/decidim-proposals/spec/shared/manage_proposals_examples.rb +95 -26
  291. data/decidim-proposals/spec/shared/proposal_form_examples.rb +29 -1
  292. data/decidim-results/app/forms/decidim/results/admin/result_form.rb +9 -1
  293. data/decidim-results/app/models/decidim/results/result.rb +2 -1
  294. data/decidim-results/app/services/decidim/results/result_search.rb +0 -5
  295. data/decidim-results/app/views/decidim/results/admin/results/_form.html.erb +5 -3
  296. data/decidim-results/app/views/decidim/results/results/_filters.html.erb +2 -2
  297. data/decidim-results/app/views/decidim/results/results/_filters_small_view.html.erb +18 -0
  298. data/decidim-results/app/views/decidim/results/results/_tags.html.erb +1 -1
  299. data/decidim-results/app/views/decidim/results/results/index.html.erb +1 -0
  300. data/decidim-results/app/views/decidim/results/results/show.html.erb +1 -0
  301. data/decidim-results/config/i18n-tasks.yml +2 -0
  302. data/decidim-results/config/locales/ca.yml +15 -2
  303. data/decidim-results/config/locales/en.yml +15 -2
  304. data/decidim-results/config/locales/es.yml +15 -2
  305. data/decidim-results/config/locales/eu.yml +57 -1
  306. data/decidim-results/config/locales/fi.yml +77 -0
  307. data/decidim-results/db/migrate/20170215132624_add_reference_to_results.rb +7 -0
  308. data/decidim-results/lib/decidim/results/test/factories.rb +6 -0
  309. data/decidim-results/spec/features/comments_spec.rb +10 -0
  310. data/decidim-results/spec/features/explore_results_spec.rb +27 -0
  311. data/decidim-results/spec/models/result_spec.rb +1 -0
  312. data/decidim-results/spec/services/result_search_spec.rb +9 -0
  313. data/decidim-results/spec/shared/admin_shared_context.rb +1 -1
  314. data/decidim-system/README.md +45 -8
  315. data/decidim-system/app/commands/decidim/system/register_organization.rb +3 -0
  316. data/decidim-system/app/commands/decidim/system/update_organization.rb +2 -0
  317. data/decidim-system/app/controllers/decidim/system/application_controller.rb +2 -0
  318. data/decidim-system/app/forms/decidim/system/register_organization_form.rb +1 -0
  319. data/decidim-system/app/forms/decidim/system/update_organization_form.rb +18 -0
  320. data/decidim-system/app/views/decidim/system/organizations/edit.html.erb +10 -0
  321. data/decidim-system/app/views/decidim/system/organizations/new.html.erb +33 -19
  322. data/decidim-system/config/locales/ca.yml +3 -0
  323. data/decidim-system/config/locales/en.yml +3 -0
  324. data/decidim-system/config/locales/es.yml +3 -0
  325. data/decidim-system/config/locales/eu.yml +3 -0
  326. data/decidim-system/config/locales/fi.yml +68 -0
  327. data/decidim-system/db/seeds.rb +1 -1
  328. data/decidim-system/decidim-system.gemspec +1 -1
  329. data/decidim-system/lib/decidim/system/engine.rb +1 -0
  330. data/decidim-system/spec/commands/decidim/system/register_organization_spec.rb +3 -0
  331. data/decidim-system/spec/commands/decidim/system/update_organization_spec.rb +53 -0
  332. data/decidim-system/spec/features/organizations_spec.rb +5 -0
  333. data/docs/analytics.md +23 -0
  334. data/docs/how_to_create_a_plugin.md +3 -1
  335. data/lib/generators/decidim/app_generator.rb +4 -0
  336. data/lib/generators/decidim/demo_generator.rb +1 -1
  337. data/lib/generators/decidim/install_generator.rb +8 -1
  338. data/lib/generators/decidim/review_app_generator.rb +53 -0
  339. data/lib/generators/decidim/templates/Gemfile.erb +1 -5
  340. data/lib/generators/decidim/templates/app.json.erb +1 -1
  341. data/lib/generators/decidim/templates/carrierwave.rb +2 -2
  342. data/lib/generators/decidim/templates/decidim_controller.rb.erb +5 -0
  343. data/lib/generators/decidim/templates/initializer.rb +4 -0
  344. data/package.json +4 -4
  345. data/yarn.lock +106 -165
  346. metadata +100 -54
  347. data/decidim-meetings/app/assets/config/decidim_meetings_manifest.js +0 -2
  348. data/decidim-meetings/app/assets/javascripts/decidim/meetings/map.js.es6.erb +0 -97
  349. data/decidim-meetings/app/assets/stylesheets/decidim/meetings/map.css +0 -3
  350. data/decidim-meetings/app/services/decidim/meetings/static_map_generator.rb +0 -50
  351. data/decidim-meetings/app/views/decidim/meetings/meetings/_address_details.html.erb +0 -5
  352. data/decidim-meetings/spec/controllers/meetings_controller_spec.rb +0 -41
  353. data/decidim-meetings/spec/services/static_map_generator_spec.rb +0 -33
  354. data/decidim-meetings/vendor/assets/javascripts/leaflet-svg-icon.js +0 -179
  355. data/decidim-meetings/vendor/assets/javascripts/leaflet-tilelayer-here.js +0 -166
  356. data/decidim-meetings/vendor/assets/javascripts/leaflet.js +0 -9
  357. data/decidim-meetings/vendor/assets/javascripts/leaflet.markercluster.js +0 -7
  358. data/decidim-meetings/vendor/assets/stylesheets/MarkerCluster.Default.css +0 -60
  359. data/decidim-meetings/vendor/assets/stylesheets/MarkerCluster.css +0 -14
  360. data/decidim-meetings/vendor/assets/stylesheets/leaflet.css +0 -624
@@ -0,0 +1,7 @@
1
+ class AddReferenceToMeetings < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :decidim_meetings_meetings, :reference, :string
4
+ Decidim::Meetings::Meeting.find_each(&:save)
5
+ change_column_null :decidim_meetings_meetings, :reference, false
6
+ end
7
+ end
@@ -18,13 +18,11 @@ Gem::Specification.new do |s|
18
18
  s.add_dependency "date_validator", "~> 0.9"
19
19
  s.add_dependency "searchlight", "~> 4.1.0"
20
20
  s.add_dependency "kaminari", "~> 1.0.1"
21
- s.add_dependency "geocoder", "~> 1.4.2"
22
21
  s.add_dependency "httparty", "~> 0.14.0"
23
22
  s.add_dependency "jquery-tmpl-rails", "~> 1.1.0"
24
23
 
25
24
  s.add_development_dependency "decidim-dev", Decidim.version
26
25
  s.add_development_dependency "decidim-proposals", Decidim.version
27
26
  s.add_development_dependency "decidim-admin", Decidim.version
28
- s.add_development_dependency "webmock", "~> 2.3.2"
29
27
  s.add_development_dependency "decidim-results", Decidim.version
30
28
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- require "geocoder"
3
2
 
4
3
  module Decidim
5
4
  module Meetings
@@ -22,31 +21,6 @@ module Decidim
22
21
  def load_seed
23
22
  nil
24
23
  end
25
-
26
- initializer "decidim_meetings.geocoder" do |_app|
27
- if Decidim.geocoder.present?
28
- Geocoder.configure(
29
- # geocoding service (see below for supported options):
30
- lookup: :here,
31
-
32
- # IP address geocoding service (see below for supported options):
33
- # :ip_lookup => :maxmind,
34
-
35
- # to use an API key:
36
- api_key: [Decidim.geocoder&.fetch(:here_app_id), Decidim.geocoder&.fetch(:here_app_code)]
37
-
38
- # geocoding service request timeout, in seconds (default 3):
39
- # :timeout => 5,
40
-
41
- # set default units to kilometers:
42
- # :units => :km,
43
-
44
- # caching (see below for details):
45
- # :cache => Redis.new,
46
- # :cache_prefix => "..."
47
- )
48
- end
49
- end
50
24
  end
51
25
  end
52
26
  end
@@ -12,17 +12,9 @@ module Decidim
12
12
  isolate_namespace Decidim::Meetings
13
13
 
14
14
  routes do
15
- resources :meetings, only: [:index, :show] do
16
- member do
17
- get :static_map
18
- end
19
- end
15
+ resources :meetings, only: [:index, :show]
20
16
  root to: "meetings#index"
21
17
  end
22
-
23
- initializer "decidim_meetings.assets" do |app|
24
- app.config.assets.precompile += %w(decidim_meetings_manifest.js)
25
- end
26
18
  end
27
19
  end
28
20
  end
@@ -7,6 +7,9 @@ describe Decidim::Meetings::Admin::CreateMeeting do
7
7
  let(:scope) { create :scope, organization: organization }
8
8
  let(:category) { create :category, participatory_process: participatory_process }
9
9
  let(:address) { "address" }
10
+ let(:invalid) { false }
11
+ let(:latitude) { 40.1234 }
12
+ let(:longitude) { 2.1234 }
10
13
  let(:form) do
11
14
  double(
12
15
  :invalid? => invalid,
@@ -17,24 +20,13 @@ describe Decidim::Meetings::Admin::CreateMeeting do
17
20
  start_time: 1.day.from_now,
18
21
  end_time: 1.day.from_now + 1.hour,
19
22
  address: address,
23
+ latitude: latitude,
24
+ longitude: longitude,
20
25
  scope: scope,
21
26
  category: category,
22
27
  current_feature: current_feature
23
28
  )
24
29
  end
25
- let(:invalid) { false }
26
- let(:latitude) { 40.1234 }
27
- let(:longitude) { 2.1234 }
28
-
29
- before do
30
- Decidim.geocoder = {
31
- here_app_id: "1234",
32
- here_app_code: "5678"
33
- }
34
- Geocoder::Lookup::Test.add_stub(address, [
35
- { 'latitude' => latitude, 'longitude' => longitude }
36
- ])
37
- end
38
30
 
39
31
  subject { described_class.new(form) }
40
32
 
@@ -68,7 +60,7 @@ describe Decidim::Meetings::Admin::CreateMeeting do
68
60
  expect(meeting.feature).to eq current_feature
69
61
  end
70
62
 
71
- it "geocodes the meeting" do
63
+ it "sets the longitude and latitude" do
72
64
  subject.call
73
65
  last_meeting = Decidim::Meetings::Meeting.last
74
66
  expect(last_meeting.latitude).to eq(latitude)
@@ -6,6 +6,9 @@ describe Decidim::Meetings::Admin::UpdateMeeting do
6
6
  let(:scope) { create :scope, organization: organization }
7
7
  let(:category) { create :category, participatory_process: meeting.feature.participatory_process }
8
8
  let(:address) { meeting.address }
9
+ let(:invalid) { false }
10
+ let(:latitude) { 40.1234 }
11
+ let(:longitude) { 2.1234 }
9
12
  let(:form) do
10
13
  double(
11
14
  :invalid? => invalid,
@@ -17,22 +20,11 @@ describe Decidim::Meetings::Admin::UpdateMeeting do
17
20
  end_time: 1.day.from_now + 1.hour,
18
21
  scope: scope,
19
22
  category: category,
20
- address: address
23
+ address: address,
24
+ latitude: latitude,
25
+ longitude: longitude
21
26
  )
22
27
  end
23
- let(:invalid) { false }
24
- let(:latitude) { 40.1234 }
25
- let(:longitude) { 2.1234 }
26
-
27
- before do
28
- Decidim.geocoder = {
29
- here_app_id: "1234",
30
- here_app_code: "5678"
31
- }
32
- Geocoder::Lookup::Test.add_stub(address, [
33
- { 'latitude' => latitude, 'longitude' => longitude }
34
- ])
35
- end
36
28
 
37
29
  subject { described_class.new(form, meeting) }
38
30
 
@@ -60,21 +52,10 @@ describe Decidim::Meetings::Admin::UpdateMeeting do
60
52
  expect(meeting.category).to eq category
61
53
  end
62
54
 
63
- context "when the address has not changed" do
64
- it "doesn't geocode the meeting" do
65
- expect(meeting).not_to receive(:geocode)
66
- subject.call
67
- end
68
- end
69
-
70
- context "when the address has changed" do
71
- let(:address) { "New address" }
72
-
73
- it "geocodes the meeting" do
74
- allow(form).to receive_message_chain(:errors, :add)
75
- expect(meeting).to receive(:geocode)
76
- subject.call
77
- end
55
+ it "sets the latitude and longitude" do
56
+ subject.call
57
+ expect(meeting.latitude).to eq(latitude)
58
+ expect(meeting.longitude).to eq(longitude)
78
59
  end
79
60
  end
80
61
  end
@@ -9,12 +9,9 @@ describe "Explore meetings", type: :feature do
9
9
  create_list(:meeting, meetings_count, feature: feature)
10
10
  end
11
11
 
12
- before do
13
- visit_feature
14
- end
15
-
16
12
  context "index" do
17
13
  it "shows all meetings for the given process" do
14
+ visit_feature
18
15
  expect(page).to have_selector("article.card", count: meetings_count)
19
16
 
20
17
  meetings.each do |meeting|
@@ -24,6 +21,7 @@ describe "Explore meetings", type: :feature do
24
21
 
25
22
  context "filtering" do
26
23
  it "allows searching by text" do
24
+ visit_feature
27
25
  within ".filters" do
28
26
  fill_in :filter_search_text, with: translated(meetings.first.title)
29
27
  end
@@ -65,6 +63,35 @@ describe "Explore meetings", type: :feature do
65
63
  expect(page).to have_css(".card--meeting", count: 1)
66
64
  end
67
65
  end
66
+
67
+ context "No upcoming meetings scheduled" do
68
+ let!(:meetings) do
69
+ create_list(:meeting, 2, feature: feature, start_time: Time.current - 4.days, end_time: Time.current - 2.days)
70
+ end
71
+
72
+ it "only shows the past meetings" do
73
+ visit_feature
74
+ expect(page).to have_css(".card--meeting", count: 2)
75
+ end
76
+
77
+ it "shows the correct warning" do
78
+ visit_feature
79
+ within ".callout" do
80
+ expect(page).to have_content("no scheduled meetings")
81
+ end
82
+ end
83
+ end
84
+
85
+ context "No meetings scheduled" do
86
+ let!(:meetings){ [] }
87
+
88
+ it "shows the correct warning" do
89
+ visit_feature
90
+ within ".callout" do
91
+ expect(page).to have_content("any meeting scheduled")
92
+ end
93
+ end
94
+ end
68
95
  end
69
96
 
70
97
  context "show" do
@@ -87,6 +114,7 @@ describe "Explore meetings", type: :feature do
87
114
  expect(page).to have_i18n_content(meeting.location)
88
115
  expect(page).to have_i18n_content(meeting.location_hints)
89
116
  expect(page).to have_content(meeting.address)
117
+ expect(page).to have_content(meeting.reference)
90
118
 
91
119
  within ".section.view-side" do
92
120
  expect(page).to have_content(date.day)
@@ -154,11 +182,11 @@ describe "Explore meetings", type: :feature do
154
182
 
155
183
  before do
156
184
  meeting.link_resources(proposals, "proposals_from_meeting")
157
- visit_feature
158
- click_link translated(meeting.title)
159
185
  end
160
186
 
161
187
  it "shows related proposals" do
188
+ visit_feature
189
+ click_link translated(meeting.title)
162
190
  proposals.each do |proposal|
163
191
  expect(page).to have_content(proposal.title)
164
192
  expect(page).to have_content(proposal.author_name)
@@ -175,11 +203,11 @@ describe "Explore meetings", type: :feature do
175
203
 
176
204
  before do
177
205
  meeting.link_resources(results, "meetings_through_proposals")
178
- visit_feature
179
- click_link translated(meeting.title)
180
206
  end
181
207
 
182
208
  it "shows related results" do
209
+ visit_feature
210
+ click_link translated(meeting.title)
183
211
  results.each do |result|
184
212
  expect(page).to have_i18n_content(result.title)
185
213
  end
@@ -192,13 +220,9 @@ describe "Explore meetings", type: :feature do
192
220
  context "when the meeting is closed" do
193
221
  let!(:meeting) { create(:meeting, :closed, feature: feature) }
194
222
 
195
- before do
196
- meeting
223
+ it "shows the closing report" do
197
224
  visit_feature
198
225
  click_link translated(meeting.title)
199
- end
200
-
201
- it "shows the closing report" do
202
226
  expect(page).to have_i18n_content(meeting.closing_report)
203
227
 
204
228
  within ".definition-data" do
@@ -27,7 +27,9 @@ describe Decidim::Meetings::Admin::MeetingForm do
27
27
  let(:location_hints) do
28
28
  Decidim::Faker::Localized.sentence(3)
29
29
  end
30
- let(:address) { Faker::Lorem.sentence(3) }
30
+ let(:address) { "Carrer Pare Llaurador 113, baixos, 08224 Terrassa" }
31
+ let(:latitude) { 40.1234 }
32
+ let(:longitude) { 2.1234 }
31
33
  let(:start_time) { 2.days.from_now }
32
34
  let(:end_time) { 2.days.from_now + 4.hours }
33
35
  let(:scope) { create :scope, organization: organization }
@@ -49,6 +51,12 @@ describe Decidim::Meetings::Admin::MeetingForm do
49
51
  }
50
52
  end
51
53
 
54
+ before do
55
+ Geocoder::Lookup::Test.add_stub(address, [
56
+ { 'latitude' => latitude, 'longitude' => longitude }
57
+ ])
58
+ end
59
+
52
60
  subject { described_class.from_params(attributes).with_context(context) }
53
61
 
54
62
  it { is_expected.to be_valid }
@@ -124,4 +132,10 @@ describe Decidim::Meetings::Admin::MeetingForm do
124
132
 
125
133
  it { is_expected.not_to be_valid }
126
134
  end
135
+
136
+ it "validates address and store its coordinates" do
137
+ expect(subject).to be_valid
138
+ expect(subject.latitude).to eq(latitude)
139
+ expect(subject.longitude).to eq(longitude)
140
+ end
127
141
  end
@@ -15,6 +15,7 @@ module Decidim
15
15
  include_examples "has feature"
16
16
  include_examples "has scope"
17
17
  include_examples "has category"
18
+ include_examples "has reference"
18
19
 
19
20
  context "without a title" do
20
21
  let(:meeting) { build :meeting, title: nil }
@@ -101,6 +101,15 @@ describe Decidim::Meetings::MeetingSearch do
101
101
  expect(subject.results).to match_array [meeting1, meeting2]
102
102
  end
103
103
  end
104
+
105
+ context "when `global` is being sent" do
106
+ let!(:resource_without_scope) { create(:meeting, feature: current_feature, scope: nil)}
107
+ let(:params) { default_params.merge(scope_id: ["global"]) }
108
+
109
+ it "returns resources without a scope" do
110
+ expect(subject.results).to eq [resource_without_scope]
111
+ end
112
+ end
104
113
  end
105
114
 
106
115
  context "category_id" do
@@ -1,6 +1,6 @@
1
1
  RSpec.shared_context "admin" do
2
2
  let(:organization) { create(:organization) }
3
- let!(:user) { create(:user, :admin, :confirmed, organization: organization, email: "admin@decidim.org") }
3
+ let!(:user) { create(:user, :admin, :confirmed, organization: organization, email: "admin@example.org") }
4
4
  let(:participatory_process) { create(:participatory_process, organization: organization) }
5
5
  let(:process_admin) { create :user, :confirmed, organization: organization }
6
6
  let!(:user_role) { create :participatory_process_user_role, user: process_admin, participatory_process: participatory_process }
@@ -1,6 +1,16 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # frozen_string_literal: true
3
3
  RSpec.shared_examples "manage meetings" do
4
+ let(:address) { "Carrer Pare Llaurador 113, baixos, 08224 Terrassa" }
5
+ let(:latitude) { 40.1234 }
6
+ let(:longitude) { 2.1234 }
7
+
8
+ before do
9
+ Geocoder::Lookup::Test.add_stub(address, [
10
+ { 'latitude' => latitude, 'longitude' => longitude }
11
+ ])
12
+ end
13
+
4
14
  it "updates a meeting" do
5
15
  within find("tr", text: translated(meeting.title)) do
6
16
  click_link "Edit"
@@ -14,6 +24,7 @@ RSpec.shared_examples "manage meetings" do
14
24
  es: "Mi nuevo título",
15
25
  ca: "El meu nou títol"
16
26
  )
27
+ fill_in :meeting_address, with: address
17
28
 
18
29
  find("*[type=submit]").click
19
30
  end
@@ -71,7 +82,7 @@ RSpec.shared_examples "manage meetings" do
71
82
  ca: "Descripció més llarga"
72
83
  )
73
84
 
74
- fill_in :meeting_address, with: "Address"
85
+ fill_in :meeting_address, with: address
75
86
  fill_in :meeting_start_time, with: 1.day.from_now
76
87
  fill_in :meeting_end_time, with: 1.day.from_now + 2.hours
77
88
 
@@ -112,6 +123,91 @@ RSpec.shared_examples "manage meetings" do
112
123
  end
113
124
  end
114
125
 
126
+ context "when geocoding is disabled" do
127
+ before do
128
+ allow(Decidim).to receive(:geocoder).and_return(nil)
129
+ end
130
+
131
+ it "updates a meeting" do
132
+ within find("tr", text: translated(meeting.title)) do
133
+ click_link "Edit"
134
+ end
135
+
136
+ within ".edit_meeting" do
137
+ fill_in_i18n(
138
+ :meeting_title,
139
+ "#title-tabs",
140
+ en: "My new title",
141
+ es: "Mi nuevo título",
142
+ ca: "El meu nou títol"
143
+ )
144
+ fill_in :meeting_address, with: address
145
+
146
+ find("*[type=submit]").click
147
+ end
148
+
149
+ within ".flash" do
150
+ expect(page).to have_content("successfully")
151
+ end
152
+
153
+ within "table" do
154
+ expect(page).to have_content("My new title")
155
+ end
156
+ end
157
+
158
+ it "creates a new meeting" do
159
+ find(".actions .new").click
160
+
161
+ within ".new_meeting" do
162
+ fill_in_i18n(
163
+ :meeting_title,
164
+ "#title-tabs",
165
+ en: "My meeting",
166
+ es: "Mi meeting",
167
+ ca: "El meu meeting"
168
+ )
169
+ fill_in_i18n(
170
+ :meeting_location,
171
+ "#location-tabs",
172
+ en: "Location",
173
+ es: "Location",
174
+ ca: "Location"
175
+ )
176
+ fill_in_i18n(
177
+ :meeting_location_hints,
178
+ "#location_hints-tabs",
179
+ en: "Location hints",
180
+ es: "Location hints",
181
+ ca: "Location hints"
182
+ )
183
+ fill_in_i18n_editor(
184
+ :meeting_description,
185
+ "#description-tabs",
186
+ en: "A longer description",
187
+ es: "Descripción más larga",
188
+ ca: "Descripció més llarga"
189
+ )
190
+
191
+ fill_in :meeting_address, with: address
192
+ fill_in :meeting_start_time, with: 1.day.from_now
193
+ fill_in :meeting_end_time, with: 1.day.from_now + 2.hours
194
+
195
+ select scope.name, from: :meeting_decidim_scope_id
196
+ select translated(category.name), from: :meeting_decidim_category_id
197
+
198
+ find("*[type=submit]").click
199
+ end
200
+
201
+ within ".flash" do
202
+ expect(page).to have_content("successfully")
203
+ end
204
+
205
+ within "table" do
206
+ expect(page).to have_content("My meeting")
207
+ end
208
+ end
209
+ end
210
+
115
211
  context "closing a meeting" do
116
212
  let(:proposal_feature) do
117
213
  create(:feature, manifest_name: :proposals, participatory_process: meeting.feature.participatory_process)