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
@@ -4,7 +4,7 @@
4
4
  ) %>
5
5
 
6
6
  <div class="row column view-header">
7
- <% if current_user.present? %>
7
+ <% if current_user.present? && current_settings.votes_enabled? %>
8
8
  <%= render partial: "budget_summary", locals: { include_heading: false } %>
9
9
  <% end %>
10
10
  <%= link_to projects_path, class: "muted-link" do %>
@@ -22,11 +22,17 @@
22
22
  <span class="definition-data__title"><%= t('.budget') %></span>
23
23
  <span class="definition-data__number"><%= budget_to_currency project.budget %></span>
24
24
  </div>
25
+ <% if current_settings.show_votes? %>
26
+ <div class="card__support__data">
27
+ <span><%= t('decidim.budgets.projects.project.count', count: project.confirmed_orders_count) %></span>
28
+ </div>
29
+ <% end %>
25
30
  <div id="project-<%= project.id %>-budget-button">
26
31
  <%= render partial: 'project_budget_button', locals: { project: project } %>
27
32
  </div>
28
33
  </div>
29
34
  </div>
35
+ <%= feature_reference(project) %>
30
36
  </div>
31
37
  <div class="columns mediumlarge-8 mediumlarge-pull-4">
32
38
  <div class="section">
@@ -3,4 +3,5 @@ locales: [en]
3
3
  ignore_unused:
4
4
  - "decidim.features.budgets.name"
5
5
  - "decidim.features.budgets.settings.*"
6
+ - "decidim.features.budgets.actions.*"
6
7
  - "activemodel.attributes.project.*"
@@ -31,6 +31,8 @@ ca:
31
31
  title: Editar projecte
32
32
  update: Actualitzar projecte
33
33
  index:
34
+ finished_orders: Vots finalitzats
35
+ pending_orders: Vots en procés
34
36
  title: Projectes
35
37
  new:
36
38
  create: Crear projecte
@@ -51,7 +53,7 @@ ca:
51
53
  title: Confirmar vot
52
54
  budget_excess:
53
55
  close: Tancar
54
- description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o votart amb les seves preferències.
56
+ description: Aquest projecte sobrepassa el pressupost màxim i no es pot afegir. Si ho desitges, pots eliminar un projecte ja seleccionat per afegir aquest o donar suport amb les seves preferències.
55
57
  ok: D'acord
56
58
  title: Pressupost superat
57
59
  budget_summary:
@@ -61,7 +63,7 @@ ca:
61
63
  checked_out:
62
64
  description: Ja has votat pel pressupost. Si has canviat d'idea, pots %{cancel_link}.
63
65
  title: Vot pels pressupostos completat
64
- description: En quins projectes creus que hem de destinar el pressupost? Has d'assignar com a mínim %{minimum_budget} als projectes que desitges i votar amb les teves preferències per definir el pressupost.
66
+ description: En quins projectes creus que hem de destinar el pressupost? Has d'assignar com a mínim %{minimum_budget} als projectes que desitges i donar suport amb les teves preferències per definir el pressupost.
65
67
  title: Tu decideixes el pressupost
66
68
  count:
67
69
  projects_count:
@@ -71,8 +73,13 @@ ca:
71
73
  category: Categoria
72
74
  scopes: Àmbits
73
75
  search: Cerca
76
+ filters_small_view:
77
+ close_modal: Tancar finestra
78
+ filter: Filtra
79
+ filter_by: Filtra per
80
+ unfold: Desplegar
74
81
  order_progress:
75
- vote: Votar
82
+ vote: Donar suport
76
83
  order_selected_projects:
77
84
  remove: Esborrar
78
85
  selected_projects:
@@ -81,6 +88,9 @@ ca:
81
88
  view: Veure
82
89
  project:
83
90
  add: Afegir
91
+ count:
92
+ one: 1 suport
93
+ other: "%{count} suports"
84
94
  remove: Esborrar
85
95
  project_budget_button:
86
96
  add: Afegir
@@ -90,6 +100,8 @@ ca:
90
100
  view_all_projects: Veure tots els projectes
91
101
  features:
92
102
  budgets:
103
+ actions:
104
+ vote: Donar suport
93
105
  name: Pressupostos
94
106
  settings:
95
107
  global:
@@ -98,6 +110,7 @@ ca:
98
110
  vote_threshold_percent: Percentatge del pressupost mínim per fer el vot
99
111
  step:
100
112
  comments_blocked: Comentaris bloquejats
113
+ votes_enabled: Suports habilitats
101
114
  orders:
102
115
  checkout:
103
116
  error: S'ha produït un error en processar el teu vot
@@ -105,4 +118,6 @@ ca:
105
118
  destroy:
106
119
  error: S'ha produït un error en cancel·lar el seu vot
107
120
  success: El seu vot ha estat cancel·lat correctament
121
+ index:
122
+ confirmed_orders_count: Nombre de vots
108
123
  total_budget: Pressupost total
@@ -32,6 +32,8 @@ en:
32
32
  title: Edit project
33
33
  update: Update project
34
34
  index:
35
+ finished_orders: Finished orders
36
+ pending_orders: Pending orders
35
37
  title: Projects
36
38
  new:
37
39
  create: Create project
@@ -78,6 +80,11 @@ en:
78
80
  category: Category
79
81
  scopes: Scopes
80
82
  search: Search
83
+ filters_small_view:
84
+ close_modal: Close modal
85
+ filter: Filter
86
+ filter_by: Filter by
87
+ unfold: Unfold
81
88
  order_progress:
82
89
  vote: Vote
83
90
  order_selected_projects:
@@ -88,6 +95,9 @@ en:
88
95
  view: View
89
96
  project:
90
97
  add: Add
98
+ count:
99
+ one: 1 support
100
+ other: "%{count} supports"
91
101
  remove: Remove
92
102
  project_budget_button:
93
103
  add: Add
@@ -97,6 +107,8 @@ en:
97
107
  view_all_projects: View all projects
98
108
  features:
99
109
  budgets:
110
+ actions:
111
+ vote: Vote
100
112
  name: Budgets
101
113
  settings:
102
114
  global:
@@ -105,6 +117,7 @@ en:
105
117
  vote_threshold_percent: Vote threshold percent
106
118
  step:
107
119
  comments_blocked: Comments blocked
120
+ votes_enabled: Votes enabled
108
121
  orders:
109
122
  checkout:
110
123
  error: An error ocurred while processing your vote
@@ -112,4 +125,6 @@ en:
112
125
  destroy:
113
126
  error: An error ocurred while canceling your vote
114
127
  success: Your vote has been canceled successfully
128
+ index:
129
+ confirmed_orders_count: Orders count
115
130
  total_budget: Total budget
@@ -31,6 +31,8 @@ es:
31
31
  title: Editar proyecto
32
32
  update: Actualizar proyecto
33
33
  index:
34
+ finished_orders: Votos finalizados
35
+ pending_orders: Votos pendientes
34
36
  title: Proyectos
35
37
  new:
36
38
  create: Crear proyecto
@@ -51,7 +53,7 @@ es:
51
53
  title: Confirmar voto
52
54
  budget_excess:
53
55
  close: Cerrar
54
- description: Este proyecto sobrepasa el presupuesto máximo y no se puede añadir. Si lo deseas, puede eliminar un proyecto que ya hayas seleccionado o votar con tus preferencias.
56
+ description: Este proyecto sobrepasa el presupuesto máximo y no se puede añadir. Si lo deseas, puede eliminar un proyecto que ya hayas seleccionado o dar apoyo con tus preferencias.
55
57
  ok: De acuerdo
56
58
  title: Presupuesto excedido
57
59
  budget_summary:
@@ -71,8 +73,13 @@ es:
71
73
  category: Categoría
72
74
  scopes: Ámbitos
73
75
  search: Buscar
76
+ filters_small_view:
77
+ close_modal: Cerrar ventana
78
+ filter: Filtrar
79
+ filter_by: Filtrar por
80
+ unfold: Desplegar
74
81
  order_progress:
75
- vote: Votar
82
+ vote: Dar apoyo
76
83
  order_selected_projects:
77
84
  remove: Eliminar
78
85
  selected_projects:
@@ -81,6 +88,9 @@ es:
81
88
  view: Ver
82
89
  project:
83
90
  add: Añadir
91
+ count:
92
+ one: 1 apoyo
93
+ other: "%{count} apoyos"
84
94
  remove: Eliminar
85
95
  project_budget_button:
86
96
  add: Añadir
@@ -90,6 +100,8 @@ es:
90
100
  view_all_projects: Ver todos los proyectos
91
101
  features:
92
102
  budgets:
103
+ actions:
104
+ vote: Dar apoyo
93
105
  name: Presupuestos
94
106
  settings:
95
107
  global:
@@ -98,6 +110,7 @@ es:
98
110
  vote_threshold_percent: Porcentaje mínimo del presupuesto
99
111
  step:
100
112
  comments_blocked: Comentarios bloqueados
113
+ votes_enabled: Votos habilitados
101
114
  orders:
102
115
  checkout:
103
116
  error: Se ha producido un error al procesar tu voto
@@ -105,4 +118,6 @@ es:
105
118
  destroy:
106
119
  error: Ha habido un error al cancelar tu voto
107
120
  success: Tu voto ha sido cancelado correctamente
121
+ index:
122
+ confirmed_orders_count: Número de votos
108
123
  total_budget: Presupuesto total
@@ -2,4 +2,100 @@ eu:
2
2
  activemodel:
3
3
  attributes:
4
4
  project:
5
- budget: Aurrekontua
5
+ budget: Aurrekontua
6
+ decidim_category_id: Kategoria
7
+ decidim_scope_id: Esparrua
8
+ description: Deskribapena
9
+ proposal_ids: Honekin lotutako proposamenak
10
+ title: Izenburua
11
+ decidim:
12
+ budgets:
13
+ actions:
14
+ attachments: Fitxategi erantsiak
15
+ confirm_destroy: Ziur zaude proiektu hau ezabatu nahi duzula?
16
+ destroy: Garbitu
17
+ edit: Editatu
18
+ new: '%{name} berria'
19
+ title: Ekintzak
20
+ admin:
21
+ models:
22
+ project:
23
+ name: Proiektua
24
+ projects:
25
+ create:
26
+ invalid: Arazo bat izan da proiektu hau sortzean
27
+ success: Proiektua ongi sortu da
28
+ destroy:
29
+ success: Proiektu ongi ezabatu da
30
+ edit:
31
+ title: Editatu proiektua
32
+ update: Eguneratu proiektua
33
+ index:
34
+ title: Proiektuak
35
+ new:
36
+ create: Sortu proiektua
37
+ title: Emaitza berria
38
+ update:
39
+ invalid: Arazo bat izan da proiektu hau eguneratzean
40
+ success: Proiektua zuzen eguneratu da
41
+ models:
42
+ project:
43
+ fields:
44
+ title: Izenburua
45
+ projects:
46
+ budget_confirm:
47
+ are_you_sure: Ados zaude? Behin zure botoa baieztatuta, ezin izanen duzu aldatu.'
48
+ cancel: Utzi
49
+ confirm: Baieztatu
50
+ description: Proiektu hauek hautatu dituzu aurrekontuan sartzeko
51
+ title: Baieztatu botoa
52
+ budget_excess:
53
+ close: Itxi
54
+ description: Proiektu honek gehieneko aurrekontua gainditzen du, eta ezin da gehitu. Nahi baduzu, jada hautatua duzun proiektu bat ezaba dezakezu edo botoa eman zure lehenespenekin bat.
55
+ ok: Ados
56
+ title: Aurrekontua gainditu da.
57
+ budget_summary:
58
+ are_you_sure: Ziur zaude zure botoa ezeztatu nahi duzula?
59
+ assigned: 'Esleituta:'
60
+ checked_out:
61
+ title: Botoa zuzen bidali da
62
+ description: Zure aburuz, proiektuetako zeinei esleitu behar diegu aurrekontua? Gutxienez, %{minimum_budget} esleitu nahi dituzun proiektuei, eta bozkatu aurrekontua zehazteko.
63
+ title: Zure esku dago aurrekontua erabakitzea
64
+ count:
65
+ projects_count:
66
+ one: Proiektu bat
67
+ other: "%{count} proiektu"
68
+ filters:
69
+ category: Kategoria
70
+ scopes: Esparruak
71
+ search: Bilatu
72
+ filters_small_view:
73
+ filter_by: 'Iragazi honen arabera:'
74
+ order_progress:
75
+ vote: Bozkatu
76
+ order_selected_projects:
77
+ remove: Kendu
78
+ selected_projects:
79
+ one: hautatutako proiektua
80
+ other: hautatutako proiektuak
81
+ view: Ikusi
82
+ project:
83
+ add: Gehitu
84
+ remove: Kendu
85
+ project_budget_button:
86
+ add: Gehitu
87
+ added: Erantsita
88
+ show:
89
+ budget: Aurrekontua
90
+ view_all_projects: Ikusi proiektu guztiak
91
+ features:
92
+ budgets:
93
+ name: Aurrekontuak
94
+ orders:
95
+ checkout:
96
+ error: Errorea gertatu da zure botoa prozesatzean
97
+ success: Zure botoa ongi bideratu da
98
+ destroy:
99
+ error: Errorea gertatu da zure botoa ezeztatzean
100
+ success: Zure botua zuzen ezeztatu da
101
+ total_budget: Guztizko aurrekontua
@@ -0,0 +1,123 @@
1
+ fi:
2
+ activemodel:
3
+ attributes:
4
+ project:
5
+ budget: Budjetti
6
+ decidim_category_id: Kategoria
7
+ decidim_scope_id: Konteksti
8
+ description: Kuvaus
9
+ proposal_ids: Liittyvät esitykset
10
+ title: Otsikko
11
+ decidim:
12
+ budgets:
13
+ actions:
14
+ attachments: Liitteet
15
+ confirm_destroy: Haluatko varmasti poistaa tämän projektin?
16
+ destroy: Poista
17
+ edit: Muokkaa
18
+ new: Uusi %{name}
19
+ title: Toiminnot
20
+ admin:
21
+ models:
22
+ project:
23
+ name: Projekti
24
+ projects:
25
+ create:
26
+ invalid: Tämän projektin lisäyksessä tapahtui virhe
27
+ success: Projekti lisätty onnistuneesti
28
+ destroy:
29
+ success: Projekti tuhottu onnistuneesti
30
+ edit:
31
+ title: Muokkaa projektia
32
+ update: Päivitä projektia
33
+ index:
34
+ finished_orders: Valmiit tilaukset
35
+ pending_orders: Odottavat tilaukset
36
+ title: Projektit
37
+ new:
38
+ create: Luo projekti
39
+ title: Uusi tulos
40
+ update:
41
+ invalid: Tämän projektin päivityksessä tapahtui virhe
42
+ success: Projekti päivitetty onnistuneesti
43
+ models:
44
+ project:
45
+ fields:
46
+ title: Otsikko
47
+ projects:
48
+ budget_confirm:
49
+ are_you_sure: Oletko samaa mieltä? Kun olet vahvistanut äänesi, et voi enää muuttaa sitä.
50
+ cancel: Peruuta
51
+ confirm: Vahvista
52
+ description: Olet valinnut nämä projektit osaksi budjettia.
53
+ title: Vahvista ääni
54
+ budget_excess:
55
+ close: Sulje
56
+ description: Tämä projekti ylittää maksimibudjetin, minkä takia sitä ei voida lisätä. Jos haluat, voit poistaa projektin, jonka olet jo valinnut lisättäväksi tai äänestää omien mieltymyksesi mukaisesti.
57
+ ok: OK
58
+ title: Maksimibudjetti ylitetty
59
+ budget_summary:
60
+ are_you_sure: Haluatko varmasti peruuttaa äänesi?
61
+ assigned: 'Varattu:'
62
+ cancel_order: poistaa äänesi ja aloittaa alusta
63
+ checked_out:
64
+ description: Olet jo äänestänyt tätä budjettia. Jos muutit mieltäsi, voit %{cancel_link}.
65
+ title: Budjetin äänestys suoritettu
66
+ description: Mitä projekteja varten sinun mielestäsi budjettia tulisi varata? Varaa vähintään %{minimum_budget} projekteille, jotka haluat toteutettavan ja äänestä mieltymystesi mukaisesti määrittääksesi budjetin.
67
+ title: Voit päättää budjetin
68
+ count:
69
+ projects_count:
70
+ one: 1 projekti
71
+ other: "%{count} projektia"
72
+ filters:
73
+ category: Kategoria
74
+ scopes: Konteksti
75
+ search: Haku
76
+ filters_small_view:
77
+ close_modal: Sulje ikkuna
78
+ filter: Suodata
79
+ filter_by: Suodata
80
+ unfold: Avaa
81
+ order_progress:
82
+ vote: Äänestä
83
+ order_selected_projects:
84
+ remove: Poista
85
+ selected_projects:
86
+ one: projekti valittu
87
+ other: projektia valittu
88
+ view: Näytä
89
+ project:
90
+ add: Lisää
91
+ count:
92
+ one: 1 kannatus
93
+ other: "%{count} kannatusta"
94
+ remove: Poista
95
+ project_budget_button:
96
+ add: Lisää
97
+ added: Lisätty
98
+ show:
99
+ budget: Budjetti
100
+ view_all_projects: Näytä kaikki projektit
101
+ features:
102
+ budgets:
103
+ actions:
104
+ vote: Äänestä
105
+ name: Budjetit
106
+ settings:
107
+ global:
108
+ comments_enabled: Kommentointi sallittu
109
+ total_budget: Koko budjetti
110
+ vote_threshold_percent: Äänestyskynnyksen prosentti
111
+ step:
112
+ comments_blocked: Kommentointi kielletty
113
+ votes_enabled: Äänestys sallittu
114
+ orders:
115
+ checkout:
116
+ error: Äänesi käsittelyssä tapahtui virhe
117
+ success: Äänesi on hyväksytty onnistuneesti
118
+ destroy:
119
+ error: Äänesi peruutuksen yhteydessä tapahtui virhe
120
+ success: Äänesi on peruttu onnistuneesti
121
+ index:
122
+ confirmed_orders_count: Tilauksien määrä
123
+ total_budget: Koko budjetti