decidim 0.0.2 → 0.0.3

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 (439) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -0
  3. data/Dockerfile +2 -0
  4. data/Gemfile.lock +80 -54
  5. data/README.md +15 -2
  6. data/decidim-admin/app/assets/javascripts/decidim/admin/application.js.es6 +3 -2
  7. data/decidim-admin/app/assets/javascripts/decidim/admin/tab_focus.js.es6 +1 -1
  8. data/decidim-admin/app/assets/stylesheets/decidim/admin/_foundation_and_overrides.scss +1 -1
  9. data/decidim-admin/app/commands/decidim/admin/{create_participatory_process_attachment.rb → create_attachment.rb} +6 -7
  10. data/decidim-admin/app/commands/decidim/admin/create_participatory_process.rb +12 -3
  11. data/decidim-admin/app/commands/decidim/admin/{update_participatory_process_attachment.rb → update_attachment.rb} +7 -6
  12. data/decidim-admin/app/commands/decidim/admin/update_feature.rb +2 -1
  13. data/decidim-admin/app/commands/decidim/admin/update_organization.rb +1 -0
  14. data/decidim-admin/app/commands/decidim/admin/update_participatory_process.rb +16 -4
  15. data/decidim-admin/app/constraints/decidim/admin/organization_dashboard_constraint.rb +1 -1
  16. data/decidim-admin/app/controllers/decidim/admin/application_controller.rb +2 -2
  17. data/decidim-admin/app/controllers/decidim/admin/concerns/has_attachments.rb +116 -0
  18. data/decidim-admin/app/controllers/decidim/admin/participatory_process_attachments_controller.rb +5 -67
  19. data/decidim-admin/app/controllers/decidim/admin/users_controller.rb +5 -5
  20. data/decidim-admin/app/forms/decidim/admin/{participatory_process_attachment_form.rb → attachment_form.rb} +2 -2
  21. data/decidim-admin/app/forms/decidim/admin/feature_form.rb +1 -0
  22. data/decidim-admin/app/forms/decidim/admin/organization_form.rb +1 -0
  23. data/decidim-admin/app/forms/decidim/admin/participatory_process_form.rb +8 -1
  24. data/decidim-admin/app/helpers/decidim/admin/application_helper.rb +1 -0
  25. data/decidim-admin/app/helpers/decidim/admin/feature_settings_helper.rb +29 -0
  26. data/decidim-admin/app/models/decidim/admin/abilities/admin_user.rb +4 -4
  27. data/decidim-admin/app/models/decidim/admin/abilities/base.rb +3 -3
  28. data/decidim-admin/app/models/decidim/admin/abilities/participatory_process_admin.rb +15 -7
  29. data/decidim-admin/app/views/decidim/admin/{participatory_process_attachments → attachments}/_form.html.erb +0 -0
  30. data/decidim-admin/app/views/decidim/admin/attachments/edit.html.erb +9 -0
  31. data/decidim-admin/app/views/decidim/admin/attachments/index.html.erb +37 -0
  32. data/decidim-admin/app/views/decidim/admin/attachments/new.html.erb +9 -0
  33. data/decidim-admin/app/views/decidim/admin/attachments/show.html.erb +25 -0
  34. data/decidim-admin/app/views/decidim/admin/features/_form.html.erb +1 -0
  35. data/decidim-admin/app/views/decidim/admin/features/_settings_fields.html.erb +6 -3
  36. data/decidim-admin/app/views/decidim/admin/organization/_form.html.erb +4 -0
  37. data/decidim-admin/app/views/decidim/admin/participatory_processes/_form.html.erb +16 -0
  38. data/decidim-admin/app/views/decidim/admin/participatory_processes/show.html.erb +11 -1
  39. data/decidim-admin/app/views/layouts/decidim/admin/_header.html.erb +2 -2
  40. data/decidim-admin/app/views/layouts/decidim/admin/_sidebar.html.erb +1 -1
  41. data/decidim-admin/app/views/layouts/decidim/admin/participatory_process.html.erb +2 -2
  42. data/decidim-admin/config/locales/ca.yml +29 -27
  43. data/decidim-admin/config/locales/en.yml +29 -27
  44. data/decidim-admin/config/locales/es.yml +29 -27
  45. data/decidim-admin/config/routes.rb +1 -1
  46. data/decidim-admin/db/migrate/20170128112958_change_user_groups_verified_to_timestamp.rb +9 -0
  47. data/decidim-admin/decidim-admin.gemspec +0 -1
  48. data/decidim-admin/lib/decidim/admin/engine.rb +2 -2
  49. data/decidim-admin/lib/decidim/admin/test/manage_attachments_examples.rb +103 -0
  50. data/decidim-admin/spec/commands/create_category_spec.rb +1 -1
  51. data/decidim-admin/spec/commands/create_feature_spec.rb +1 -1
  52. data/decidim-admin/spec/commands/create_participatory_process_spec.rb +32 -2
  53. data/decidim-admin/spec/commands/create_static_page_spec.rb +1 -1
  54. data/decidim-admin/spec/commands/destroy_category_spec.rb +1 -1
  55. data/decidim-admin/spec/commands/destroy_feature_spec.rb +2 -2
  56. data/decidim-admin/spec/commands/destroy_participatory_process_step_spec.rb +1 -1
  57. data/decidim-admin/spec/commands/update_category_spec.rb +1 -1
  58. data/decidim-admin/spec/commands/update_feature_spec.rb +3 -1
  59. data/decidim-admin/spec/commands/update_organization_spec.rb +12 -2
  60. data/decidim-admin/spec/commands/update_static_page_spec.rb +1 -1
  61. data/decidim-admin/spec/features/admin_manages_organization_admins_spec.rb +1 -1
  62. data/decidim-admin/spec/features/admin_manages_organization_scopes_spec.rb +1 -1
  63. data/decidim-admin/spec/features/admin_manages_participatory_processes_spec.rb +1 -1
  64. data/decidim-admin/spec/features/static_pages_spec.rb +1 -1
  65. data/decidim-admin/spec/forms/participatory_process_form_spec.rb +32 -2
  66. data/decidim-admin/spec/forms/participatory_process_step_form_spec.rb +3 -3
  67. data/decidim-admin/spec/forms/scope_form_spec.rb +2 -2
  68. data/decidim-admin/spec/forms/static_page_form_spec.rb +2 -2
  69. data/decidim-admin/spec/helpers/feature_settings_helper_spec.rb +56 -0
  70. data/decidim-admin/spec/models/abilities/admin_user_spec.rb +7 -6
  71. data/decidim-admin/spec/models/abilities/participatory_process_admin_spec.rb +5 -8
  72. data/decidim-admin/spec/shared/manage_process_admins_examples.rb +1 -1
  73. data/decidim-admin/spec/shared/manage_process_attachments_examples.rb +4 -94
  74. data/decidim-admin/spec/shared/manage_process_categories_examples.rb +2 -1
  75. data/decidim-admin/spec/shared/manage_process_steps_examples.rb +1 -1
  76. data/decidim-admin/spec/shared/manage_processes_examples.rb +4 -3
  77. data/decidim-admin/spec/views/decidim/static_pages/_form.html.erb_spec.rb +2 -2
  78. data/decidim-api/app/views/layouts/decidim/api/documentation.html.erb +1 -1
  79. data/decidim-api/decidim-api.gemspec +1 -1
  80. data/decidim-api/lib/decidim/api.rb +1 -0
  81. data/decidim-api/lib/decidim/api/schema.rb +5 -0
  82. data/decidim-api/lib/decidim/api/test/type_context.rb +1 -0
  83. data/decidim-api/lib/decidim/api/types/author_interface.rb +13 -0
  84. data/decidim-api/spec/types/query_type_spec.rb +1 -1
  85. data/decidim-api/spec/types/translated_field_type_spec.rb +1 -1
  86. data/decidim-budgets/.gitignore +7 -0
  87. data/decidim-budgets/README.md +23 -0
  88. data/decidim-budgets/Rakefile +2 -0
  89. data/decidim-budgets/app/assets/config/decidim_budgets_manifest.js +1 -0
  90. data/decidim-budgets/app/assets/images/decidim/budgets/icon.svg +4 -0
  91. data/decidim-budgets/app/assets/javascripts/decidim/budgets/projects.js.es6 +28 -0
  92. data/decidim-budgets/app/assets/stylesheets/decidim/budgets/_budgets.scss +1 -0
  93. data/decidim-budgets/app/assets/stylesheets/decidim/budgets/budget/_budget-list.scss +32 -0
  94. data/decidim-budgets/app/assets/stylesheets/decidim/budgets/budget/_budget-meter.scss +78 -0
  95. data/decidim-budgets/app/assets/stylesheets/decidim/budgets/budget/_progress.scss +17 -0
  96. data/decidim-budgets/app/commands/decidim/budgets/add_line_item.rb +43 -0
  97. data/decidim-budgets/app/commands/decidim/budgets/admin/create_project.rb +52 -0
  98. data/decidim-budgets/app/commands/decidim/budgets/admin/update_project.rb +56 -0
  99. data/decidim-budgets/app/commands/decidim/budgets/cancel_order.rb +36 -0
  100. data/decidim-budgets/app/commands/decidim/budgets/checkout.rb +34 -0
  101. data/decidim-budgets/app/commands/decidim/budgets/remove_line_item.rb +35 -0
  102. data/decidim-budgets/app/controllers/concerns/decidim/budgets/needs_current_order.rb +27 -0
  103. data/decidim-budgets/app/controllers/decidim/budgets/admin/application_controller.rb +14 -0
  104. data/decidim-budgets/app/controllers/decidim/budgets/admin/projects_controller.rb +69 -0
  105. data/decidim-budgets/app/controllers/decidim/budgets/application_controller.rb +13 -0
  106. data/decidim-budgets/app/controllers/decidim/budgets/line_items_controller.rb +43 -0
  107. data/decidim-budgets/app/controllers/decidim/budgets/orders_controller.rb +38 -0
  108. data/decidim-budgets/app/controllers/decidim/budgets/projects_controller.rb +44 -0
  109. data/decidim-budgets/app/forms/decidim/budgets/admin/project_form.rb +44 -0
  110. data/decidim-budgets/app/helpers/decidim/budgets/application_helper.rb +12 -0
  111. data/decidim-budgets/app/helpers/decidim/budgets/projects_helper.rb +29 -0
  112. data/decidim-budgets/app/models/decidim/budgets/application_record.rb +9 -0
  113. data/decidim-budgets/app/models/decidim/budgets/line_item.rb +20 -0
  114. data/decidim-budgets/app/models/decidim/budgets/order.rb +52 -0
  115. data/decidim-budgets/app/models/decidim/budgets/project.rb +15 -0
  116. data/decidim-budgets/app/services/decidim/budgets/project_search.rb +58 -0
  117. data/decidim-budgets/app/views/decidim/budgets/admin/projects/_form.html.erb +31 -0
  118. data/decidim-budgets/app/views/decidim/budgets/admin/projects/edit.html.erb +9 -0
  119. data/decidim-budgets/app/views/decidim/budgets/admin/projects/index.html.erb +27 -0
  120. data/{decidim-admin/app/views/decidim/admin/participatory_process_attachments → decidim-budgets/app/views/decidim/budgets/admin/projects}/new.html.erb +0 -0
  121. data/decidim-budgets/app/views/decidim/budgets/line_items/update_budget.js.erb +21 -0
  122. data/decidim-budgets/app/views/decidim/budgets/projects/_budget_confirm.html.erb +30 -0
  123. data/decidim-budgets/app/views/decidim/budgets/projects/_budget_excess.html.erb +14 -0
  124. data/decidim-budgets/app/views/decidim/budgets/projects/_budget_summary.html.erb +46 -0
  125. data/decidim-budgets/app/views/decidim/budgets/projects/_count.html.erb +1 -0
  126. data/decidim-budgets/app/views/decidim/budgets/projects/_filters.html.erb +24 -0
  127. data/decidim-budgets/app/views/decidim/budgets/projects/_linked_projects.html.erb +12 -0
  128. data/decidim-budgets/app/views/decidim/budgets/projects/_order_progress.html.erb +34 -0
  129. data/decidim-budgets/app/views/decidim/budgets/projects/_order_selected_projects.html.erb +25 -0
  130. data/decidim-budgets/app/views/decidim/budgets/projects/_order_total_budget.html.erb +1 -0
  131. data/decidim-budgets/app/views/decidim/budgets/projects/_project.html.erb +40 -0
  132. data/decidim-budgets/app/views/decidim/budgets/projects/_project_budget_button.html.erb +9 -0
  133. data/decidim-budgets/app/views/decidim/budgets/projects/_projects.html.erb +8 -0
  134. data/decidim-budgets/app/views/decidim/budgets/projects/_tags.html.erb +10 -0
  135. data/decidim-budgets/app/views/decidim/budgets/projects/index.html.erb +26 -0
  136. data/decidim-budgets/app/views/decidim/budgets/projects/index.js.erb +2 -0
  137. data/decidim-budgets/app/views/decidim/budgets/projects/show.html.erb +48 -0
  138. data/decidim-budgets/bin/rails +14 -0
  139. data/decidim-budgets/config/i18n-tasks.yml +4 -0
  140. data/decidim-budgets/config/locales/ca.yml +84 -0
  141. data/decidim-budgets/config/locales/en.yml +95 -0
  142. data/decidim-budgets/config/locales/es.yml +84 -0
  143. data/decidim-budgets/db/migrate/20170127114122_create_projects.rb +15 -0
  144. data/decidim-budgets/db/migrate/20170130095615_create_orders.rb +13 -0
  145. data/decidim-budgets/db/migrate/20170130101825_create_line_items.rb +10 -0
  146. data/decidim-budgets/decidim-budgets.gemspec +24 -0
  147. data/decidim-budgets/lib/decidim/budgets.rb +11 -0
  148. data/decidim-budgets/lib/decidim/budgets/admin.rb +9 -0
  149. data/decidim-budgets/lib/decidim/budgets/admin_engine.rb +22 -0
  150. data/decidim-budgets/lib/decidim/budgets/feature.rb +59 -0
  151. data/decidim-budgets/lib/decidim/budgets/list_engine.rb +30 -0
  152. data/decidim-budgets/lib/decidim/budgets/test/factories.rb +43 -0
  153. data/decidim-budgets/spec/commands/add_line_item_spec.rb +48 -0
  154. data/decidim-budgets/spec/commands/cancel_order_spec.rb +42 -0
  155. data/decidim-budgets/spec/commands/checkout_spec.rb +45 -0
  156. data/decidim-budgets/spec/commands/create_project_spec.rb +72 -0
  157. data/decidim-budgets/spec/commands/remove_line_item_spec.rb +31 -0
  158. data/decidim-budgets/spec/commands/update_project_spec.rb +65 -0
  159. data/decidim-budgets/spec/factories.rb +4 -0
  160. data/decidim-budgets/spec/features/admin_manages_projects_spec.rb +16 -0
  161. data/decidim-budgets/spec/features/orders_spec.rb +149 -0
  162. data/decidim-budgets/spec/features/process_admin_manages_projects_spec.rb +17 -0
  163. data/decidim-budgets/spec/forms/project_form_spec.rb +115 -0
  164. data/decidim-budgets/spec/models/line_item_spec.rb +35 -0
  165. data/decidim-budgets/spec/models/order_spec.rb +45 -0
  166. data/decidim-budgets/spec/models/project_spec.rb +30 -0
  167. data/decidim-budgets/spec/services/project_search_spec.rb +97 -0
  168. data/decidim-budgets/spec/shared/admin_shared_context.rb +11 -0
  169. data/decidim-budgets/spec/shared/manage_projects_examples.rb +104 -0
  170. data/decidim-budgets/spec/spec_helper.rb +2 -0
  171. data/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +0 -0
  172. data/decidim-comments/app/commands/decidim/comments/create_comment.rb +2 -1
  173. data/decidim-comments/app/forms/decidim/comments/comment_form.rb +1 -0
  174. data/decidim-comments/app/frontend/application/apollo_client.js +1 -1
  175. data/decidim-comments/app/frontend/application/application.component.jsx +1 -1
  176. data/decidim-comments/app/frontend/comments/add_comment_form.component.jsx +76 -20
  177. data/decidim-comments/app/frontend/comments/add_comment_form.component.test.jsx +77 -22
  178. data/decidim-comments/app/frontend/comments/add_comment_form.fragment.graphql +6 -0
  179. data/decidim-comments/app/frontend/comments/add_comment_form.mutation.graphql +2 -2
  180. data/decidim-comments/app/frontend/comments/comment.component.jsx +15 -15
  181. data/decidim-comments/app/frontend/comments/comment.component.test.jsx +42 -41
  182. data/decidim-comments/app/frontend/comments/comment_order_selector.component.jsx +1 -1
  183. data/decidim-comments/app/frontend/comments/comment_thread.component.jsx +7 -7
  184. data/decidim-comments/app/frontend/comments/comment_thread.component.test.jsx +21 -19
  185. data/decidim-comments/app/frontend/comments/comments.component.jsx +21 -17
  186. data/decidim-comments/app/frontend/comments/comments.component.test.jsx +47 -32
  187. data/decidim-comments/app/frontend/comments/comments.query.graphql +6 -3
  188. data/decidim-comments/app/frontend/comments/down_vote_button.component.jsx +21 -10
  189. data/decidim-comments/app/frontend/comments/up_vote_button.component.jsx +23 -12
  190. data/decidim-comments/app/frontend/comments/vote_button.component.jsx +15 -7
  191. data/decidim-comments/app/frontend/comments/vote_button_component.test.jsx +7 -2
  192. data/decidim-comments/app/frontend/entry.js +1 -8
  193. data/decidim-comments/app/frontend/support/generate_user_data.js +13 -0
  194. data/decidim-comments/app/frontend/support/generate_user_group_data.js +14 -0
  195. data/decidim-comments/app/helpers/decidim/comments/comments_helper.rb +10 -15
  196. data/decidim-comments/app/models/decidim/comments/comment.rb +5 -7
  197. data/decidim-comments/app/types/decidim/comments/comment_type.rb +5 -1
  198. data/decidim-comments/config/locales/ca.yml +5 -1
  199. data/decidim-comments/config/locales/en.yml +4 -1
  200. data/decidim-comments/config/locales/es.yml +5 -1
  201. data/decidim-comments/db/migrate/20170123102043_add_user_group_id_to_comments.rb +5 -0
  202. data/decidim-comments/decidim-comments.gemspec +0 -1
  203. data/decidim-comments/lib/decidim/comments/engine.rb +0 -1
  204. data/decidim-comments/lib/decidim/comments/mutation_extensions.rb +2 -1
  205. data/decidim-comments/spec/commands/create_comment_spec.rb +6 -3
  206. data/decidim-comments/spec/commands/vote_comment_spec.rb +4 -4
  207. data/decidim-comments/spec/features/comments_spec.rb +27 -3
  208. data/decidim-comments/spec/forms/comment_form_spec.rb +6 -3
  209. data/decidim-comments/spec/models/comment_spec.rb +25 -32
  210. data/decidim-comments/spec/queries/comments_with_replies_spec.rb +2 -2
  211. data/decidim-comments/spec/types/comment_type_spec.rb +2 -2
  212. data/decidim-comments/spec/types/query_type_spec.rb +5 -5
  213. data/decidim-dev/app/views/decidim/dummy_resource/_linked_dummys.html.erb +5 -0
  214. data/decidim-dev/config/locales/en.yml +5 -0
  215. data/decidim-dev/decidim-dev.gemspec +3 -3
  216. data/decidim-dev/lib/decidim/dev/assets/avatar.jpg +0 -0
  217. data/decidim-dev/lib/decidim/dev/assets/icon.png +0 -0
  218. data/decidim-dev/lib/decidim/dev/test/base_spec_helper.rb +1 -0
  219. data/decidim-dev/lib/decidim/dev/test/rspec_support/action_mailer.rb +1 -1
  220. data/decidim-dev/lib/decidim/dev/test/rspec_support/engine_routes.rb +9 -5
  221. data/decidim-dev/lib/decidim/dev/test/rspec_support/feature.rb +24 -0
  222. data/decidim-meetings/app/assets/config/decidim_meetings_manifest.js +2 -0
  223. data/decidim-meetings/app/assets/javascripts/decidim/meetings/map.js.es6.erb +92 -0
  224. data/decidim-meetings/app/assets/stylesheets/decidim/meetings/map.css +1 -0
  225. data/decidim-meetings/app/commands/decidim/meetings/admin/close_meeting.rb +53 -0
  226. data/decidim-meetings/app/commands/decidim/meetings/admin/create_meeting.rb +15 -3
  227. data/decidim-meetings/app/commands/decidim/meetings/admin/update_meeting.rb +15 -3
  228. data/decidim-meetings/app/controllers/decidim/meetings/admin/application_controller.rb +9 -0
  229. data/decidim-meetings/app/controllers/decidim/meetings/admin/attachments_controller.rb +29 -0
  230. data/decidim-meetings/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +38 -0
  231. data/decidim-meetings/app/controllers/decidim/meetings/admin/meetings_controller.rb +0 -12
  232. data/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb +11 -9
  233. data/decidim-meetings/app/forms/decidim/meetings/admin/close_meeting_form.rb +31 -0
  234. data/decidim-meetings/app/forms/decidim/meetings/admin/meeting_form.rb +0 -2
  235. data/decidim-meetings/app/helpers/decidim/meetings/admin/application_helper.rb +12 -0
  236. data/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb +1 -0
  237. data/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb +46 -0
  238. data/decidim-meetings/app/models/decidim/meetings/meeting.rb +11 -15
  239. data/decidim-meetings/app/services/decidim/meetings/meeting_search.rb +0 -1
  240. data/decidim-meetings/app/services/decidim/meetings/static_map_generator.rb +50 -0
  241. data/decidim-meetings/app/views/decidim/meetings/admin/meeting_closes/_form.html.erb +23 -0
  242. data/decidim-meetings/app/views/decidim/meetings/admin/meeting_closes/edit.html.erb +9 -0
  243. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/_form.html.erb +2 -6
  244. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/index.html.erb +14 -0
  245. data/decidim-meetings/app/views/decidim/meetings/meetings/_datetime.html.erb +8 -0
  246. data/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb +2 -2
  247. data/decidim-meetings/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +18 -0
  248. data/decidim-meetings/app/views/decidim/meetings/meetings/_linked_meetings.html.erb +22 -0
  249. data/decidim-meetings/app/views/decidim/meetings/meetings/_meetings.html.erb +3 -10
  250. data/decidim-meetings/app/views/decidim/meetings/meetings/index.html.erb +42 -0
  251. data/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb +6 -0
  252. data/decidim-meetings/app/views/decidim/meetings/meetings/show.html.erb +33 -7
  253. data/decidim-meetings/bin/rails +1 -1
  254. data/decidim-meetings/config/i18n-tasks.yml +2 -0
  255. data/decidim-meetings/config/locales/ca.yml +37 -4
  256. data/decidim-meetings/config/locales/en.yml +34 -1
  257. data/decidim-meetings/config/locales/es.yml +36 -3
  258. data/decidim-meetings/db/migrate/20170110142105_close_a_meeting.rb +9 -0
  259. data/decidim-meetings/db/migrate/20170123151650_add_latitude_and_longitude_to_meetings.rb +6 -0
  260. data/decidim-meetings/db/migrate/20170129153716_remove_short_description_from_meetings.rb +5 -0
  261. data/decidim-meetings/decidim-meetings.gemspec +7 -0
  262. data/decidim-meetings/lib/decidim/meetings/admin_engine.rb +31 -1
  263. data/decidim-meetings/lib/decidim/meetings/feature.rb +20 -6
  264. data/decidim-meetings/lib/decidim/meetings/list_engine.rb +10 -1
  265. data/decidim-meetings/lib/decidim/meetings/seeds/Exampledocument.pdf +0 -0
  266. data/decidim-meetings/lib/decidim/meetings/seeds/city.jpeg +0 -0
  267. data/decidim-meetings/lib/decidim/meetings/test/factories.rb +23 -0
  268. data/decidim-meetings/spec/commands/close_meeting_spec.rb +78 -0
  269. data/decidim-meetings/spec/commands/create_meeting_spec.rb +22 -3
  270. data/decidim-meetings/spec/commands/update_meeting_spec.rb +32 -3
  271. data/decidim-meetings/spec/controllers/meetings_controller_spec.rb +41 -0
  272. data/decidim-meetings/spec/factories.rb +3 -13
  273. data/decidim-meetings/spec/features/admin_manages_meetings_attachments_spec.rb +10 -0
  274. data/decidim-meetings/spec/features/explore_meetings_spec.rb +55 -1
  275. data/decidim-meetings/spec/features/process_admin_manages_meetings_attachments_spec.rb +12 -0
  276. data/decidim-meetings/spec/forms/close_meeting_form_spec.rb +90 -0
  277. data/decidim-meetings/spec/forms/meeting_form_spec.rb +1 -7
  278. data/decidim-meetings/spec/models/meeting_spec.rb +42 -24
  279. data/decidim-meetings/spec/services/meeting_search_spec.rb +1 -17
  280. data/decidim-meetings/spec/services/static_map_generator_spec.rb +33 -0
  281. data/decidim-meetings/spec/shared/manage_attachments_examples.rb +17 -0
  282. data/decidim-meetings/spec/shared/manage_meetings_examples.rb +58 -8
  283. data/decidim-meetings/spec/spec_helper.rb +5 -0
  284. data/decidim-meetings/spec/support/geocoder.rb +7 -0
  285. data/decidim-meetings/vendor/assets/javascripts/leaflet-svg-icon.js +179 -0
  286. data/decidim-meetings/vendor/assets/javascripts/leaflet-tilelayer-here.js +166 -0
  287. data/decidim-meetings/vendor/assets/javascripts/leaflet.js +9 -0
  288. data/decidim-meetings/vendor/assets/stylesheets/leaflet.css +624 -0
  289. data/decidim-pages/app/models/decidim/pages/page.rb +10 -1
  290. data/decidim-pages/app/views/decidim/pages/application/show.html.erb +2 -1
  291. data/decidim-pages/spec/commands/create_page_spec.rb +2 -2
  292. data/decidim-pages/spec/commands/destroy_page_spec.rb +1 -1
  293. data/decidim-pages/spec/commands/update_page_spec.rb +1 -1
  294. data/decidim-pages/spec/factories.rb +1 -1
  295. data/decidim-pages/spec/features/admin_spec.rb +1 -0
  296. data/decidim-pages/spec/models/page_spec.rb +15 -0
  297. data/decidim-proposals/app/assets/stylesheets/decidim/proposals/social_share.css.scss +5 -0
  298. data/decidim-proposals/app/commands/decidim/proposals/admin/answer_proposal.rb +43 -0
  299. data/decidim-proposals/app/commands/decidim/proposals/create_proposal.rb +1 -0
  300. data/decidim-proposals/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +37 -0
  301. data/decidim-proposals/app/controllers/decidim/proposals/admin/proposals_controller.rb +1 -0
  302. data/decidim-proposals/app/controllers/decidim/proposals/proposal_votes_controller.rb +18 -7
  303. data/decidim-proposals/app/controllers/decidim/proposals/proposals_controller.rb +8 -7
  304. data/decidim-proposals/app/forms/decidim/proposals/admin/proposal_answer_form.rb +18 -0
  305. data/decidim-proposals/app/forms/decidim/proposals/proposal_form.rb +1 -0
  306. data/decidim-proposals/app/helpers/decidim/proposals/application_helper.rb +17 -0
  307. data/decidim-proposals/app/helpers/decidim/proposals/proposal_votes_helper.rb +19 -0
  308. data/decidim-proposals/app/models/decidim/proposals/abilities/current_user.rb +59 -0
  309. data/decidim-proposals/app/models/decidim/proposals/proposal.rb +30 -33
  310. data/decidim-proposals/app/models/decidim/proposals/proposal_vote.rb +2 -0
  311. data/decidim-proposals/app/services/decidim/proposals/proposal_search.rb +11 -0
  312. data/decidim-proposals/app/views/decidim/proposals/admin/proposal_answers/edit.html.erb +15 -0
  313. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/index.html.erb +8 -0
  314. data/decidim-proposals/app/views/decidim/proposals/proposal_votes/update_buttons_and_counters.js.erb +20 -0
  315. data/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb +3 -1
  316. data/decidim-proposals/app/views/decidim/proposals/proposals/_filters_small_view.html.erb +18 -0
  317. data/decidim-proposals/app/views/decidim/proposals/proposals/_linked_proposals.html.erb +27 -0
  318. data/decidim-proposals/app/views/decidim/proposals/proposals/_proposal.html.erb +3 -2
  319. data/decidim-proposals/app/views/decidim/proposals/proposals/_proposal_badge.html.erb +3 -0
  320. data/decidim-proposals/app/views/decidim/proposals/proposals/_remaining_votes_count.html.erb +1 -0
  321. data/decidim-proposals/app/views/decidim/proposals/proposals/_share.html.erb +1 -1
  322. data/decidim-proposals/app/views/decidim/proposals/proposals/_vote_button.html.erb +16 -4
  323. data/decidim-proposals/app/views/decidim/proposals/proposals/_votes_limit.html.erb +23 -0
  324. data/decidim-proposals/app/views/decidim/proposals/proposals/index.html.erb +13 -3
  325. data/decidim-proposals/app/views/decidim/proposals/proposals/new.html.erb +6 -0
  326. data/decidim-proposals/app/views/decidim/proposals/proposals/show.html.erb +15 -2
  327. data/decidim-proposals/config/i18n-tasks.yml +3 -0
  328. data/decidim-proposals/config/locales/ca.yml +54 -1
  329. data/decidim-proposals/config/locales/en.yml +54 -0
  330. data/decidim-proposals/config/locales/es.yml +54 -1
  331. data/decidim-proposals/db/migrate/20170120151202_add_user_group_id_to_proposals.rb +5 -0
  332. data/decidim-proposals/db/migrate/20170131092413_add_answers_to_proposals.rb +7 -0
  333. data/decidim-proposals/decidim-proposals.gemspec +3 -0
  334. data/decidim-proposals/lib/decidim/proposals/admin_engine.rb +3 -1
  335. data/decidim-proposals/lib/decidim/proposals/engine.rb +7 -1
  336. data/decidim-proposals/lib/decidim/proposals/feature.rb +28 -1
  337. data/decidim-proposals/lib/decidim/proposals/test/factories.rb +83 -0
  338. data/decidim-proposals/spec/commands/decidim/proposals/admin_create_proposal_spec.rb +14 -0
  339. data/decidim-proposals/spec/commands/decidim/proposals/answer_proposal_spec.rb +53 -0
  340. data/decidim-proposals/spec/commands/decidim/proposals/create_proposal_spec.rb +3 -56
  341. data/decidim-proposals/spec/controllers/decidim/admin/proposal_answers_controller_spec.rb +45 -0
  342. data/decidim-proposals/spec/controllers/decidim/proposal_votes_controller_spec.rb +113 -0
  343. data/decidim-proposals/spec/controllers/decidim/proposals_controller_spec.rb +53 -0
  344. data/decidim-proposals/spec/factories.rb +1 -23
  345. data/decidim-proposals/spec/features/proposals_spec.rb +201 -38
  346. data/decidim-proposals/spec/features/vote_proposal_spec.rb +83 -11
  347. data/decidim-proposals/spec/forms/decidim/proposals/admin_proposal_form_spec.rb +13 -0
  348. data/decidim-proposals/spec/forms/decidim/proposals/proposal_answer_form_spec.rb +50 -0
  349. data/decidim-proposals/spec/forms/decidim/proposals/proposal_form_spec.rb +5 -93
  350. data/decidim-proposals/spec/helpers/application_helper_spec.rb +33 -0
  351. data/decidim-proposals/spec/helpers/proposal_votes_helper_spec.rb +53 -0
  352. data/decidim-proposals/spec/lib/decidim/proposals/feature_spec.rb +1 -1
  353. data/decidim-proposals/spec/models/decidim/proposals/proposal_spec.rb +21 -19
  354. data/decidim-proposals/spec/models/decidim/proposals/proposal_vote_spec.rb +19 -1
  355. data/decidim-proposals/spec/services/decidim/proposals/proposal_search_spec.rb +66 -25
  356. data/decidim-proposals/spec/shared/create_proposal_examples.rb +69 -0
  357. data/decidim-proposals/spec/shared/manage_proposals_examples.rb +49 -0
  358. data/decidim-proposals/spec/shared/proposal_form_examples.rb +100 -0
  359. data/decidim-results/.gitignore +7 -0
  360. data/decidim-results/README.md +23 -0
  361. data/decidim-results/Rakefile +2 -0
  362. data/decidim-results/app/assets/images/decidim/results/icon.svg +1 -0
  363. data/decidim-results/app/commands/decidim/results/admin/create_result.rb +65 -0
  364. data/decidim-results/app/commands/decidim/results/admin/update_result.rb +69 -0
  365. data/decidim-results/app/controllers/decidim/results/admin/application_controller.rb +14 -0
  366. data/decidim-results/app/controllers/decidim/results/admin/results_controller.rb +69 -0
  367. data/decidim-results/app/controllers/decidim/results/application_controller.rb +13 -0
  368. data/decidim-results/app/controllers/decidim/results/results_controller.rb +42 -0
  369. data/decidim-results/app/forms/decidim/results/admin/result_form.rb +40 -0
  370. data/decidim-results/app/helpers/decidim/results/application_helper.rb +11 -0
  371. data/decidim-results/app/models/decidim/results/application_record.rb +9 -0
  372. data/decidim-results/app/models/decidim/results/result.rb +15 -0
  373. data/decidim-results/app/services/decidim/results/result_search.rb +44 -0
  374. data/decidim-results/app/services/decidim/results/result_stats_calculator.rb +51 -0
  375. data/decidim-results/app/views/decidim/results/admin/results/_form.html.erb +23 -0
  376. data/decidim-results/app/views/decidim/results/admin/results/edit.html.erb +9 -0
  377. data/decidim-results/app/views/decidim/results/admin/results/index.html.erb +27 -0
  378. data/decidim-results/app/views/decidim/results/admin/results/new.html.erb +9 -0
  379. data/decidim-results/app/views/decidim/results/results/_count.html.erb +1 -0
  380. data/decidim-results/app/views/decidim/results/results/_filters.html.erb +22 -0
  381. data/decidim-results/app/views/decidim/results/results/_linked_results.html.erb +12 -0
  382. data/decidim-results/app/views/decidim/results/results/_results.html.erb +16 -0
  383. data/decidim-results/app/views/decidim/results/results/_tags.html.erb +10 -0
  384. data/decidim-results/app/views/decidim/results/results/index.html.erb +22 -0
  385. data/decidim-results/app/views/decidim/results/results/index.js.erb +2 -0
  386. data/decidim-results/app/views/decidim/results/results/show.html.erb +52 -0
  387. data/decidim-results/bin/rails +14 -0
  388. data/decidim-results/config/i18n-tasks.yml +5 -0
  389. data/decidim-results/config/locales/ca.yml +61 -0
  390. data/decidim-results/config/locales/en.yml +62 -0
  391. data/decidim-results/config/locales/es.yml +61 -0
  392. data/decidim-results/db/migrate/20170116104125_create_results.rb +14 -0
  393. data/decidim-results/db/migrate/20170129164553_remove_short_description_from_results.rb +5 -0
  394. data/decidim-results/decidim-results.gemspec +26 -0
  395. data/decidim-results/lib/decidim/results.rb +11 -0
  396. data/decidim-results/lib/decidim/results/admin.rb +9 -0
  397. data/decidim-results/lib/decidim/results/admin_engine.rb +22 -0
  398. data/decidim-results/lib/decidim/results/feature.rb +52 -0
  399. data/decidim-results/lib/decidim/results/list_engine.rb +19 -0
  400. data/decidim-results/lib/decidim/results/test/factories.rb +11 -0
  401. data/decidim-results/spec/commands/create_result_spec.rb +90 -0
  402. data/decidim-results/spec/commands/update_result_spec.rb +83 -0
  403. data/decidim-results/spec/factories.rb +6 -0
  404. data/decidim-results/spec/features/admin_manages_results_spec.rb +16 -0
  405. data/decidim-results/spec/features/explore_results_spec.rb +186 -0
  406. data/decidim-results/spec/features/process_admin_manages_results_spec.rb +17 -0
  407. data/decidim-results/spec/forms/result_form_spec.rb +91 -0
  408. data/decidim-results/spec/models/result_spec.rb +18 -0
  409. data/decidim-results/spec/services/result_search_spec.rb +97 -0
  410. data/decidim-results/spec/services/result_stats_calculator_spec.rb +93 -0
  411. data/decidim-results/spec/shared/admin_shared_context.rb +11 -0
  412. data/decidim-results/spec/shared/manage_results_examples.rb +96 -0
  413. data/decidim-results/spec/spec_helper.rb +2 -0
  414. data/decidim-system/app/assets/javascripts/decidim/system/application.js.es6 +1 -3
  415. data/decidim-system/app/views/layouts/decidim/system/_header.html.erb +2 -2
  416. data/decidim-system/decidim-system.gemspec +0 -1
  417. data/decidim-system/lib/decidim/system/engine.rb +0 -1
  418. data/decidim-system/spec/features/manage_admins_spec.rb +1 -1
  419. data/decidim-system/spec/features/organizations_spec.rb +1 -1
  420. data/decidim.gemspec +2 -0
  421. data/docs/how_to_create_a_plugin.md +0 -2
  422. data/lib/decidim.rb +2 -0
  423. data/lib/generators/decidim/install_generator.rb +1 -0
  424. data/lib/generators/decidim/templates/Gemfile.erb +10 -1
  425. data/lib/generators/decidim/templates/initializer.rb +9 -0
  426. data/lib/generators/decidim/templates/secrets.yml.erb +3 -0
  427. data/lib/generators/decidim/templates/social_share_button.rb +1 -1
  428. data/package.json +2 -3
  429. data/yarn.lock +10 -8
  430. metadata +265 -32
  431. data/decidim-admin/app/helpers/decidim/admin/aria_selected_link_to_helper.rb +0 -28
  432. data/decidim-admin/app/views/decidim/admin/participatory_process_attachments/edit.html.erb +0 -9
  433. data/decidim-admin/app/views/decidim/admin/participatory_process_attachments/index.html.erb +0 -37
  434. data/decidim-admin/app/views/decidim/admin/participatory_process_attachments/show.html.erb +0 -25
  435. data/decidim-comments/app/frontend/support/generate_current_user_data.js +0 -13
  436. data/decidim-comments/app/types/decidim/comments/author_type.rb +0 -15
  437. data/decidim-comments/spec/types/author_type_spec.rb +0 -21
  438. data/decidim-dev/lib/decidim/dev/assets/avatar.svg +0 -14
  439. data/decidim-proposals/app/views/decidim/proposals/proposal_votes/create.js.erb +0 -5
@@ -14,6 +14,7 @@ module Decidim
14
14
 
15
15
  attribute :settings, Object
16
16
  attribute :manifest
17
+ attribute :weight, Integer, default: 0
17
18
 
18
19
  attribute :step_settings, Hash[String => Object]
19
20
  attribute :participatory_process
@@ -14,6 +14,7 @@ module Decidim
14
14
  attribute :default_locale, String
15
15
  attribute :homepage_image
16
16
  attribute :logo
17
+ attribute :favicon
17
18
  attribute :show_statistics
18
19
 
19
20
  translatable_attribute :description, String
@@ -11,9 +11,13 @@ module Decidim
11
11
  translatable_attribute :subtitle, String
12
12
  translatable_attribute :description, String
13
13
  translatable_attribute :short_description, String
14
+ translatable_attribute :domain, String
15
+ translatable_attribute :scope, String
14
16
 
15
17
  mimic :participatory_process
16
18
 
19
+ attribute :end_date, Date
20
+ attribute :developer_group, String
17
21
  attribute :slug, String
18
22
  attribute :hashtag, String
19
23
  attribute :promoted, Boolean
@@ -25,7 +29,10 @@ module Decidim
25
29
 
26
30
  validate :slug, :slug_uniqueness
27
31
 
28
- private
32
+ validates :hero_image, file_size: { less_than_or_equal_to: lambda { |_record| Decidim.maximum_attachment_size } }, file_content_type: { allow: ['image/jpeg', 'image/png'] }
33
+ validates :banner_image, file_size: { less_than_or_equal_to:lambda { |_record| Decidim.maximum_attachment_size } }, file_content_type: { allow: ['image/jpeg', 'image/png'] }
34
+
35
+ private
29
36
 
30
37
  def slug_uniqueness
31
38
  return unless current_organization.participatory_processes.where(slug: slug).where.not(id: id).any?
@@ -7,6 +7,7 @@ module Decidim
7
7
  include Decidim::LocalizedLocalesHelper
8
8
  include Decidim::TranslationsHelper
9
9
  include Decidim::HumanizeBooleansHelper
10
+ include Decidim::AriaSelectedLinkToHelper
10
11
 
11
12
  def title
12
13
  current_organization.name
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+ module Decidim
3
+ module Admin
4
+ # This class contains helpers needed in order for feature settings to
5
+ # properly render.
6
+ module FeatureSettingsHelper
7
+ TYPES = {
8
+ boolean: :check_box,
9
+ integer: :number_field,
10
+ string: :text_field,
11
+ text: :text_area
12
+ }.freeze
13
+
14
+ # Public: Renders a form field that matches a settings attribute's
15
+ # type.
16
+ #
17
+ # form - The form in which to render the field.
18
+ # attribute - The FeatureSettings::Attribute instance with the
19
+ # description of the attribute.
20
+ # name - The name of the field.
21
+ # options - Extra options to be passed to the field helper.
22
+ #
23
+ # Returns a rendered form field.
24
+ def settings_attribute_input(form, attribute, name, options = {})
25
+ form.send(TYPES[attribute.type.to_sym], name, options)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -7,9 +7,8 @@ module Decidim
7
7
  class AdminUser
8
8
  include CanCan::Ability
9
9
 
10
- def initialize(user)
11
- return unless user
12
- return unless user.role?(:admin)
10
+ def initialize(user, _context)
11
+ return unless user && user.role?(:admin)
13
12
 
14
13
  can :manage, ParticipatoryProcess
15
14
  can :manage, ParticipatoryProcessStep
@@ -25,7 +24,8 @@ module Decidim
25
24
 
26
25
  can :manage, Feature
27
26
  can :read, :admin_dashboard
28
- can :manage, ParticipatoryProcessAttachment
27
+ can :manage, :admin_users
28
+ can :manage, Attachment
29
29
  can :manage, Scope
30
30
  can [:create, :index, :new, :read, :invite], User
31
31
  can [:destroy], [User] do |user_to_destroy|
@@ -9,9 +9,9 @@ module Decidim
9
9
  class Base
10
10
  include CanCan::Ability
11
11
 
12
- def initialize(user)
13
- merge ::Decidim::Ability.new(user)
14
- merge ParticipatoryProcessAdmin.new(user)
12
+ def initialize(user, context)
13
+ merge ::Decidim::Ability.new(user, context)
14
+ merge ParticipatoryProcessAdmin.new(user, context)
15
15
  end
16
16
  end
17
17
  end
@@ -11,12 +11,14 @@ module Decidim
11
11
  class ParticipatoryProcessAdmin
12
12
  include CanCan::Ability
13
13
 
14
- def initialize(user)
15
- return if user.role?(:admin)
16
- participatory_processes = ManageableParticipatoryProcessesForUser.for(user)
17
- return unless participatory_processes.any?
14
+ def initialize(user, _context)
15
+ @user = user
18
16
 
19
- can :read, :admin_dashboard
17
+ return unless user && !user.role?(:admin)
18
+
19
+ can :read, :admin_dashboard do
20
+ participatory_processes.any?
21
+ end
20
22
 
21
23
  can :manage, ParticipatoryProcess do |process|
22
24
  participatory_processes.include?(process)
@@ -25,12 +27,14 @@ module Decidim
25
27
  cannot :create, ParticipatoryProcess
26
28
  cannot :destroy, ParticipatoryProcess
27
29
 
30
+ cannot :manage, :admin_users
31
+
28
32
  can :manage, ParticipatoryProcessUserRole do |role|
29
33
  role.user != user
30
34
  end
31
35
 
32
- can :manage, ParticipatoryProcessAttachment do |step|
33
- participatory_processes.include?(step.participatory_process)
36
+ can :manage, Attachment do |attachment|
37
+ participatory_processes.include?(attachment.attached_to)
34
38
  end
35
39
 
36
40
  can :manage, ParticipatoryProcessStep do |step|
@@ -45,6 +49,10 @@ module Decidim
45
49
  participatory_processes.include?(category.participatory_process)
46
50
  end
47
51
  end
52
+
53
+ def participatory_processes
54
+ @participatory_processes ||= ManageableParticipatoryProcessesForUser.for(@user)
55
+ end
48
56
  end
49
57
  end
50
58
  end
@@ -0,0 +1,9 @@
1
+ <h3><%= t ".title" %></h3>
2
+
3
+ <%= form_for(@form, url: url_for([@attachment.attached_to, @attachment])) do |f| %>
4
+ <%= render partial: 'decidim/admin/attachments/form', object: f %>
5
+
6
+ <div class="actions">
7
+ <%= f.submit t(".update") %>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1,37 @@
1
+ <section id="attachments">
2
+ <h4><%= t(".attachments_title", scope: "decidim.admin") %></h4>
3
+
4
+ <% if can? :create, authorization_object %>
5
+ <div class="actions title">
6
+ <%= link_to t("actions.new", scope: "decidim.admin", name: t("models.attachment.name", scope: "decidim.admin")), url_for(action: :new), class: 'new' %>
7
+ </div>
8
+ <% end %>
9
+
10
+ <% if attached_to.attachments.any? %>
11
+ <table class="stack">
12
+ <thead>
13
+ <tr>
14
+ <th><%= t("models.attachment.fields.title", scope: "decidim.admin") %></th>
15
+ <th><%= t("models.attachment.fields.content_type", scope: "decidim.admin") %></th>
16
+ <th class="actions"><%= t("actions.title", scope: "decidim.admin") %></th>
17
+ </tr>
18
+ </thead>
19
+ <tbody>
20
+ <% attached_to.attachments.each do |attachment| %>
21
+ <tr data-id="<%= attachment.id %>">
22
+ <td>
23
+ <%= link_to translated_attribute(attachment.title), polymorphic_path([attached_to, attachment]) %><br />
24
+ </td>
25
+ <td>
26
+ <%= attachment.file_type %>
27
+ </td>
28
+ <td class="actions">
29
+ <%= link_to t("actions.edit", scope: "decidim.admin"), edit_polymorphic_path([attached_to, attachment]) if can? :update, authorization_object %>
30
+ <%= link_to t("actions.destroy", scope: "decidim.admin"), polymorphic_path([attached_to, attachment]), method: :delete, class: "small alert button", data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") } if can? :destroy, authorization_object %>
31
+ </td>
32
+ </tr>
33
+ <% end %>
34
+ </tbody>
35
+ </table>
36
+ <% end %>
37
+ </section>
@@ -0,0 +1,9 @@
1
+ <h3><%= t ".title" %></h3>
2
+
3
+ <%= form_for(@form, url: [attached_to, @form]) do |f| %>
4
+ <%= render partial: 'decidim/admin/attachments/form', object: f %>
5
+
6
+ <div class="actions">
7
+ <%= f.submit t(".create") %>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1,25 @@
1
+ <h3><%= translated_attribute(@attachment.title) %></h3>
2
+
3
+ <div class="actions">
4
+ <hr />
5
+ <%= link_to t("decidim.admin.actions.edit"), ['edit', @attachment.attached_to, @attachment] if can? :update, @attachment %>
6
+ <%= link_to t("decidim.admin.actions.destroy"), [@attachment.attached_to, @attachment], method: :delete, class: "alert button", data: { confirm: t("decidim.admin.actions.confirm_destroy") } if can? :destroy, @attachment %>
7
+ </div>
8
+
9
+ <dl>
10
+ <%= display_for @attachment,
11
+ :title,
12
+ :description,
13
+ :file_type
14
+ %>
15
+ <dt><%= display_label(@attachment, :file_size) %></dt>
16
+ <dd><%= number_to_human_size(@attachment.file_size) %></dd>
17
+ <dt><%= display_label(@attachment, :file) %></dt>
18
+ <% if @attachment.photo? %>
19
+ <%= link_to @attachment.big_url do %>
20
+ <%= image_tag @attachment.thumbnail_url, class: "thumbnail", alt: strip_tags(translated_attribute(@attachment.description)) %>
21
+ <% end %>
22
+ <% else %>
23
+ <%= link_to translated_attribute(@attachment.title), @attachment.url %>
24
+ <% end %>
25
+ </dl>
@@ -1,5 +1,6 @@
1
1
  <div class="field">
2
2
  <%= form.translated :text_field, :name, autofocus: true %>
3
+ <%= form.number_field :weight %>
3
4
 
4
5
  <% if form.object.settings? %>
5
6
  <fieldset class="global-settings">
@@ -1,5 +1,8 @@
1
1
  <% form.object.manifest.attributes.each do |name, attribute| %>
2
- <% if attribute.type == :boolean %>
3
- <%= form.check_box name, label: t("decidim.features.#{feature.manifest.name}.settings.#{settings_name}.#{name}") %>
4
- <% end %>
2
+ <%= settings_attribute_input(
3
+ form,
4
+ attribute,
5
+ name,
6
+ label: t("decidim.features.#{feature.manifest.name}.settings.#{settings_name}.#{name}")
7
+ )%>
5
8
  <% end %>
@@ -26,6 +26,10 @@
26
26
  <%= form.file_field :logo %>
27
27
  </div>
28
28
 
29
+ <div class="field">
30
+ <%= form.file_field :favicon %>
31
+ </div>
32
+
29
33
  <div class="field">
30
34
  <%= form.check_box :show_statistics %>
31
35
  </div>
@@ -33,3 +33,19 @@
33
33
  <div class="field">
34
34
  <%= form.check_box :promoted %>
35
35
  </div>
36
+
37
+ <div class="field">
38
+ <%= form.translated :text_field, :domain %>
39
+ </div>
40
+
41
+ <div class="field">
42
+ <%= form.translated :text_field, :scope %>
43
+ </div>
44
+
45
+ <div class="field">
46
+ <%= form.text_field :developer_group %>
47
+ </div>
48
+
49
+ <div class="field">
50
+ <%= form.date_field :end_date %>
51
+ </div>
@@ -5,9 +5,19 @@
5
5
  :hashtag,
6
6
  :slug,
7
7
  :short_description,
8
- :description
8
+ :description,
9
+ :scope,
10
+ :domain,
11
+ :developer_group
9
12
  %>
10
13
 
14
+ <dt><%= display_label(participatory_process, :end_date) %></dt>
15
+ <dd>
16
+ <% if participatory_process.end_date %>
17
+ <%= l(participatory_process.end_date, format: :long) %>
18
+ <% end %>
19
+ </dd>
20
+
11
21
  <dt><%= display_label(participatory_process, :hero_image) %></dt>
12
22
  <dd>
13
23
  <% if participatory_process.hero_image? %>
@@ -1,4 +1,4 @@
1
1
  <meta name="viewport" content="width=device-width, initial-scale=1">
2
2
  <%= csrf_meta_tags %>
3
- <%= stylesheet_link_tag 'decidim/admin/application', media: 'all', 'data-turbolinks-track': 'reload' %>
4
- <%= javascript_include_tag 'decidim/admin/application', 'data-turbolinks-track': 'reload' %>
3
+ <%= stylesheet_link_tag 'decidim/admin/application', media: 'all' %>
4
+ <%= javascript_include_tag 'decidim/admin/application' %>
@@ -11,7 +11,7 @@
11
11
  <%= active_link_to t("menu.participatory_processes", scope: "decidim.admin"), decidim_admin.participatory_processes_path, active: :inclusive %>
12
12
  <%= active_link_to t("menu.static_pages", scope: "decidim.admin"), decidim_admin.static_pages_path, active: :inclusive if can? :read, Decidim::StaticPage %>
13
13
  <%= active_link_to t("menu.scopes", scope: "decidim.admin"), decidim_admin.scopes_path, active: :inclusive if can? :read, Decidim::Scope %>
14
- <%= active_link_to t("menu.users", scope: "decidim.admin"), decidim_admin.users_path, active: :inclusive if can? :read, Decidim::User %>
14
+ <%= active_link_to t("menu.users", scope: "decidim.admin"), decidim_admin.users_path, active: :inclusive if can? :read, :admin_users %>
15
15
  <%= active_link_to t("menu.user_groups", scope: "decidim.admin"), decidim_admin.user_groups_path, active: :inclusive if can? :index, Decidim::UserGroup %>
16
16
  <%= active_link_to t("menu.settings", scope: "decidim.admin"), decidim_admin.edit_organization_path, active: :inclusive if can? :read, current_organization %>
17
17
  </nav>
@@ -31,9 +31,9 @@
31
31
  <%= aria_selected_link_to t("process_admins", scope: "decidim.admin.menu.participatory_processes_submenu"), decidim_admin.participatory_process_user_roles_path(participatory_process) %>
32
32
  </li>
33
33
  <% end %>
34
- <% if can? :read, Decidim::ParticipatoryProcessAttachment %>
34
+ <% if can? :read, Decidim::Attachment %>
35
35
  <li class="tabs-title">
36
- <%= aria_selected_link_to t("attachments", scope: "decidim.admin.menu.participatory_processes_submenu"), decidim_admin.participatory_process_attachments_path(participatory_process) %>
36
+ <%= aria_selected_link_to t("attachments", scope: "decidim.admin.menu.participatory_processes_submenu"), decidim_admin.participatory_process_attachments_path(participatory_process.id) %>
37
37
  </li>
38
38
  <% end %>
39
39
  <% if can? :update, participatory_process %>
@@ -1,15 +1,21 @@
1
1
  ca:
2
2
  activemodel:
3
3
  attributes:
4
+ attachment:
5
+ description: Descripció
6
+ file: Arxiu
7
+ title: Títol
4
8
  category:
5
9
  description: Descripció
6
10
  name: Nom
7
11
  parent: Pare
8
12
  feature:
9
13
  name: Nom
14
+ weight: Pes
10
15
  organization:
11
16
  default_locale: Idioma per defecte
12
17
  description: Descripció
18
+ favicon: Icona
13
19
  homepage_image: Imatge de la portada
14
20
  logo: Logotip
15
21
  name: Nom
@@ -25,10 +31,6 @@ ca:
25
31
  slug: Nom curt d'URL
26
32
  subtitle: Subtítol
27
33
  title: Títol
28
- participatory_process_attachment:
29
- description: Descripció
30
- file: Arxiu
31
- title: Títol
32
34
  participatory_process_step:
33
35
  description: Descripció
34
36
  end_date: Data de finalització
@@ -66,6 +68,21 @@ ca:
66
68
  title: Accions
67
69
  unpublish: Despublicar
68
70
  verify: Verificar
71
+ attachments:
72
+ create:
73
+ error: S'ha produït un error en crear un nou arxiu adjunt.
74
+ success: Adjunt creat correctament.
75
+ destroy:
76
+ success: L'adjunt s'ha eliminat correctament.
77
+ edit:
78
+ title: Edita arxiu adjunt
79
+ update: Actualitza adjunt
80
+ new:
81
+ create: Crea arxiu adjunt
82
+ title: Nou arxiu adjunt
83
+ update:
84
+ error: S'ha produït un error en actualitzar aquest arxiu adjunt.
85
+ success: Adjunt actualitzat correctament.
69
86
  categories:
70
87
  create:
71
88
  error: S'ha produït un error en crear aquesta categoria.
@@ -84,12 +101,12 @@ ca:
84
101
  success: Categoria actualitzada correctament.
85
102
  decidim:
86
103
  admin:
104
+ attachments:
105
+ index:
106
+ attachments_title: Adjunts
87
107
  categories:
88
108
  index:
89
109
  categories_title: Categories
90
- participatory_process_attachments:
91
- index:
92
- attachments_title: Adjunts
93
110
  participatory_process_steps:
94
111
  index:
95
112
  steps_hint: Pots arrossegar les files de la taula per reordenar les fases del procés.
@@ -140,6 +157,11 @@ ca:
140
157
  user_groups: Grups d'usuaris
141
158
  users: Administradors
142
159
  models:
160
+ attachment:
161
+ fields:
162
+ content_type: Tipus
163
+ title: Títol
164
+ name: Arxiu adjunt
143
165
  category:
144
166
  fields:
145
167
  name: Nom
@@ -151,11 +173,6 @@ ca:
151
173
  published: Publicat
152
174
  title: Títol
153
175
  name: Procés participatiu
154
- participatory_process_attachment:
155
- fields:
156
- content_type: Tipus
157
- title: Títol
158
- name: Accessori
159
176
  participatory_process_step:
160
177
  fields:
161
178
  active: Activa
@@ -199,21 +216,6 @@ ca:
199
216
  update:
200
217
  error: S'ha produït un error en actualitzar aquesta organització.
201
218
  success: Organització actualitzada correctament.
202
- participatory_process_attachments:
203
- create:
204
- error: S'ha produït un error en crear un nou arxiu adjunt.
205
- success: Adjunt creat correctament.
206
- destroy:
207
- success: L'adjunt s'ha eliminat correctament.
208
- edit:
209
- title: Edita arxiu adjunt
210
- update: Actualitza adjunt
211
- new:
212
- create: Crear arxiu adjunt
213
- title: Nou arxiu adjunt
214
- update:
215
- error: S'ha produït un error en actualitzar aquest arxiu adjunt.
216
- success: Adjunt actualitzat correctament.
217
219
  participatory_process_publications:
218
220
  create:
219
221
  error: S'ha produït un error en publicar aquest procés participatiu.