decidim 0.0.6 → 0.0.7

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 (308) hide show
  1. checksums.yaml +4 -4
  2. data/.babelrc +2 -1
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +4 -6
  5. data/Dockerfile +2 -2
  6. data/Gemfile +1 -1
  7. data/Gemfile.lock +48 -48
  8. data/README.md +6 -1
  9. data/decidim-admin/app/assets/stylesheets/decidim/admin/_decidim.scss +9 -0
  10. data/decidim-admin/app/assets/stylesheets/decidim/admin/_variables.scss +7 -0
  11. data/decidim-admin/app/assets/stylesheets/decidim/admin/application.scss +2 -19
  12. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_categories.scss +5 -0
  13. data/decidim-admin/app/assets/stylesheets/decidim/admin/{_email_preview.scss → extra/_email_preview.scss} +0 -0
  14. data/decidim-admin/app/assets/stylesheets/decidim/admin/{_login.scss → extra/_login.scss} +0 -0
  15. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_select_multiple.scss +3 -0
  16. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_title_bar.scss +5 -0
  17. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_action-icon.scss +13 -0
  18. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_buttons.scss +44 -0
  19. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_callouts.scss +32 -0
  20. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_cards.scss +36 -0
  21. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_char-counter.scss +20 -0
  22. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_component-counter.scss +17 -0
  23. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_forms.scss +80 -0
  24. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_icons.scss +65 -0
  25. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_layout.scss +67 -0
  26. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_main-nav.scss +41 -0
  27. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_modules.scss +24 -0
  28. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_process-header.scss +11 -0
  29. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_secondary-nav.scss +95 -0
  30. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_table-list.scss +78 -0
  31. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_tabs.scss +49 -0
  32. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_title-bar.scss +32 -0
  33. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_typography.scss +15 -0
  34. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_user-login.scss +23 -0
  35. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_fontface.scss +27 -0
  36. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_helpers.scss +25 -0
  37. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_keyframes.scss +21 -0
  38. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_mixins.scss +20 -0
  39. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_settings.scss +590 -0
  40. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_toggle-expand.scss +8 -0
  41. data/decidim-admin/app/commands/decidim/admin/create_attachment.rb +13 -4
  42. data/decidim-admin/app/commands/decidim/admin/update_participatory_process.rb +3 -3
  43. data/decidim-admin/app/commands/decidim/admin/update_participatory_process_admin.rb +40 -0
  44. data/decidim-admin/app/controllers/decidim/admin/application_controller.rb +7 -1
  45. data/decidim-admin/app/controllers/decidim/admin/newsletters_controller.rb +1 -1
  46. data/decidim-admin/app/controllers/decidim/admin/organization_controller.rb +2 -0
  47. data/decidim-admin/app/controllers/decidim/admin/participatory_process_user_roles_controller.rb +29 -0
  48. data/decidim-admin/app/controllers/decidim/admin/participatory_processes_controller.rb +2 -2
  49. data/decidim-admin/app/controllers/decidim/admin/scopes_controller.rb +2 -0
  50. data/decidim-admin/app/controllers/decidim/admin/static_pages_controller.rb +2 -0
  51. data/decidim-admin/app/controllers/decidim/admin/user_groups_controller.rb +3 -1
  52. data/decidim-admin/app/controllers/decidim/admin/users_controller.rb +1 -1
  53. data/decidim-admin/app/helpers/decidim/admin/application_helper.rb +8 -0
  54. data/decidim-admin/app/helpers/decidim/admin/icon_link_helper.rb +30 -0
  55. data/decidim-admin/app/jobs/decidim/admin/newsletter_job.rb +1 -1
  56. data/decidim-admin/app/queries/decidim/admin/process_admin_roles_for_process.rb +1 -1
  57. data/decidim-admin/app/views/decidim/admin/attachments/_form.html.erb +29 -8
  58. data/decidim-admin/app/views/decidim/admin/attachments/edit.html.erb +3 -5
  59. data/decidim-admin/app/views/decidim/admin/attachments/index.html.erb +45 -35
  60. data/decidim-admin/app/views/decidim/admin/attachments/new.html.erb +3 -5
  61. data/decidim-admin/app/views/decidim/admin/categories/_form.html.erb +18 -10
  62. data/decidim-admin/app/views/decidim/admin/categories/edit.html.erb +3 -5
  63. data/decidim-admin/app/views/decidim/admin/categories/index.html.erb +57 -42
  64. data/decidim-admin/app/views/decidim/admin/categories/new.html.erb +3 -5
  65. data/decidim-admin/app/views/decidim/admin/dashboard/show.html.erb +6 -3
  66. data/decidim-admin/app/views/decidim/admin/features/_feature.html.erb +11 -11
  67. data/decidim-admin/app/views/decidim/admin/features/_form.html.erb +56 -48
  68. data/decidim-admin/app/views/decidim/admin/features/edit.html.erb +3 -5
  69. data/decidim-admin/app/views/decidim/admin/features/index.html.erb +21 -19
  70. data/decidim-admin/app/views/decidim/admin/features/new.html.erb +3 -4
  71. data/decidim-admin/app/views/decidim/admin/moderations/index.html.erb +71 -61
  72. data/decidim-admin/app/views/decidim/admin/newsletters/_form.html.erb +7 -1
  73. data/decidim-admin/app/views/decidim/admin/newsletters/edit.html.erb +10 -8
  74. data/decidim-admin/app/views/decidim/admin/newsletters/index.html.erb +50 -43
  75. data/decidim-admin/app/views/decidim/admin/newsletters/new.html.erb +10 -8
  76. data/decidim-admin/app/views/decidim/admin/newsletters/show.html.erb +20 -12
  77. data/decidim-admin/app/views/decidim/admin/organization/_form.html.erb +98 -62
  78. data/decidim-admin/app/views/decidim/admin/organization/edit.html.erb +11 -8
  79. data/decidim-admin/app/views/decidim/admin/participatory_process_groups/_form.html.erb +4 -4
  80. data/decidim-admin/app/views/decidim/admin/participatory_process_groups/edit.html.erb +15 -9
  81. data/decidim-admin/app/views/decidim/admin/participatory_process_groups/index.html.erb +37 -35
  82. data/decidim-admin/app/views/decidim/admin/participatory_process_groups/new.html.erb +10 -8
  83. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/_form.html.erb +21 -11
  84. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/edit.html.erb +3 -4
  85. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/index.html.erb +60 -51
  86. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/new.html.erb +4 -5
  87. data/decidim-admin/app/views/decidim/admin/participatory_process_user_roles/_form.html.erb +23 -0
  88. data/decidim-admin/app/views/decidim/admin/participatory_process_user_roles/edit.html.erb +7 -0
  89. data/decidim-admin/app/views/decidim/admin/participatory_process_user_roles/index.html.erb +46 -34
  90. data/decidim-admin/app/views/decidim/admin/participatory_process_user_roles/new.html.erb +7 -0
  91. data/decidim-admin/app/views/decidim/admin/participatory_processes/_form.html.erb +103 -72
  92. data/decidim-admin/app/views/decidim/admin/participatory_processes/edit.html.erb +15 -17
  93. data/decidim-admin/app/views/decidim/admin/participatory_processes/index.html.erb +52 -43
  94. data/decidim-admin/app/views/decidim/admin/participatory_processes/new.html.erb +6 -5
  95. data/decidim-admin/app/views/decidim/admin/scopes/edit.html.erb +9 -7
  96. data/decidim-admin/app/views/decidim/admin/scopes/index.html.erb +37 -36
  97. data/decidim-admin/app/views/decidim/admin/scopes/new.html.erb +9 -6
  98. data/decidim-admin/app/views/decidim/admin/static_pages/_form.html.erb +3 -3
  99. data/decidim-admin/app/views/decidim/admin/static_pages/edit.html.erb +10 -8
  100. data/decidim-admin/app/views/decidim/admin/static_pages/index.html.erb +38 -37
  101. data/decidim-admin/app/views/decidim/admin/static_pages/new.html.erb +10 -8
  102. data/decidim-admin/app/views/decidim/admin/user_groups/index.html.erb +37 -31
  103. data/decidim-admin/app/views/decidim/admin/users/_form.html.erb +5 -4
  104. data/decidim-admin/app/views/decidim/admin/users/index.html.erb +57 -52
  105. data/decidim-admin/app/views/decidim/admin/users/new.html.erb +10 -7
  106. data/decidim-admin/app/views/layouts/decidim/admin/_application.html.erb +23 -36
  107. data/decidim-admin/app/views/layouts/decidim/admin/_callouts_full.html.erb +10 -0
  108. data/decidim-admin/app/views/layouts/decidim/admin/_language_chooser.html.erb +9 -9
  109. data/decidim-admin/app/views/layouts/decidim/admin/_main_nav.html.erb +11 -0
  110. data/decidim-admin/app/views/layouts/decidim/admin/_template_bottom.html.erb +2 -0
  111. data/decidim-admin/app/views/layouts/decidim/admin/_template_top.html.erb +3 -0
  112. data/decidim-admin/app/views/layouts/decidim/admin/_title_bar.html.erb +20 -0
  113. data/decidim-admin/app/views/layouts/decidim/admin/newsletters.erb +14 -0
  114. data/decidim-admin/app/views/layouts/decidim/admin/pages.html.erb +14 -0
  115. data/decidim-admin/app/views/layouts/decidim/admin/participatory_process.html.erb +55 -53
  116. data/decidim-admin/app/views/layouts/decidim/admin/participatory_process_groups.html.erb +14 -0
  117. data/decidim-admin/app/views/layouts/decidim/admin/participatory_processes.html.erb +14 -0
  118. data/decidim-admin/app/views/layouts/decidim/admin/settings.html.erb +19 -0
  119. data/decidim-admin/app/views/layouts/decidim/admin/users.html.erb +21 -0
  120. data/decidim-admin/config/i18n-tasks.yml +1 -0
  121. data/decidim-admin/config/locales/ca.yml +77 -22
  122. data/decidim-admin/config/locales/en.yml +75 -20
  123. data/decidim-admin/config/locales/es.yml +77 -22
  124. data/decidim-admin/config/locales/eu.yml +191 -16
  125. data/decidim-admin/config/locales/fi.yml +0 -29
  126. data/decidim-admin/config/routes.rb +1 -1
  127. data/decidim-admin/lib/decidim/admin/test/manage_attachments_examples.rb +11 -11
  128. data/decidim-admin/spec/commands/deliver_newsletter_spec.rb +4 -1
  129. data/decidim-admin/spec/commands/update_participatory_process_spec.rb +117 -0
  130. data/decidim-admin/spec/features/admin_invite_spec.rb +5 -1
  131. data/decidim-admin/spec/features/admin_manages_feature_permissions_spec.rb +1 -1
  132. data/decidim-admin/spec/features/admin_manages_features_spec.rb +10 -10
  133. data/decidim-admin/spec/features/admin_manages_newsletters_spec.rb +11 -9
  134. data/decidim-admin/spec/features/admin_manages_organization_admins_spec.rb +8 -5
  135. data/decidim-admin/spec/features/admin_manages_organization_scopes_spec.rb +7 -6
  136. data/decidim-admin/spec/features/admin_manages_organization_spec.rb +14 -0
  137. data/decidim-admin/spec/features/admin_manages_participatory_process_groups_spec.rb +6 -6
  138. data/decidim-admin/spec/features/admin_manages_participatory_processes_spec.rb +27 -5
  139. data/decidim-admin/spec/features/admin_manages_user_groups_spec.rb +1 -1
  140. data/decidim-admin/spec/features/participatory_process_admin_manages_participatory_process_admins_spec.rb +2 -2
  141. data/decidim-admin/spec/features/static_pages_spec.rb +9 -7
  142. data/decidim-admin/spec/jobs/newsletter_job_spec.rb +2 -0
  143. data/decidim-admin/spec/queries/process_admin_roles_for_process_spec.rb +4 -3
  144. data/decidim-admin/spec/shared/manage_process_admins_examples.rb +31 -8
  145. data/decidim-admin/spec/shared/manage_process_attachments_examples.rb +1 -1
  146. data/decidim-admin/spec/shared/manage_process_categories_examples.rb +11 -26
  147. data/decidim-admin/spec/shared/manage_process_steps_examples.rb +8 -23
  148. data/decidim-admin/spec/shared/manage_processes_examples.rb +5 -33
  149. data/decidim-admin/spec/support/processes_menu_links_helpers.rb +1 -1
  150. data/decidim-admin/yarn.lock +4 -0
  151. data/decidim-api/app/controllers/decidim/api/application_controller.rb +2 -1
  152. data/decidim-budgets/app/controllers/decidim/budgets/admin/projects_controller.rb +1 -1
  153. data/decidim-budgets/app/controllers/decidim/budgets/line_items_controller.rb +21 -15
  154. data/decidim-budgets/app/views/decidim/budgets/admin/projects/_form.html.erb +34 -24
  155. data/decidim-budgets/app/views/decidim/budgets/admin/projects/edit.html.erb +3 -5
  156. data/decidim-budgets/app/views/decidim/budgets/admin/projects/index.html.erb +52 -34
  157. data/decidim-budgets/app/views/decidim/budgets/admin/projects/new.html.erb +4 -5
  158. data/decidim-budgets/app/views/decidim/budgets/projects/_filters.html.erb +1 -1
  159. data/decidim-budgets/config/i18n-tasks.yml +1 -0
  160. data/decidim-budgets/config/locales/ca.yml +5 -0
  161. data/decidim-budgets/config/locales/en.yml +5 -0
  162. data/decidim-budgets/config/locales/es.yml +5 -0
  163. data/decidim-budgets/config/locales/eu.yml +27 -0
  164. data/decidim-budgets/spec/features/orders_spec.rb +22 -0
  165. data/decidim-budgets/spec/shared/manage_attachments_examples.rb +1 -1
  166. data/decidim-budgets/spec/shared/manage_projects_examples.rb +10 -8
  167. data/decidim-comments/README.md +33 -0
  168. data/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +0 -0
  169. data/decidim-comments/app/assets/javascripts/decidim/comments/comments.js.erb +2 -0
  170. data/decidim-comments/app/frontend/application/{apollo_client.js → apollo_client.ts} +5 -5
  171. data/decidim-comments/app/frontend/application/application.component.test.tsx +36 -0
  172. data/decidim-comments/app/frontend/application/application.component.tsx +37 -0
  173. data/decidim-comments/app/frontend/application/icon.component.test.tsx +49 -0
  174. data/decidim-comments/app/frontend/application/icon.component.tsx +35 -0
  175. data/decidim-comments/app/frontend/comments/{add_comment_form.component.test.jsx → add_comment_form.component.test.tsx} +98 -92
  176. data/decidim-comments/app/frontend/comments/{add_comment_form.component.jsx → add_comment_form.component.tsx} +152 -153
  177. data/decidim-comments/app/frontend/comments/{comment.component.test.jsx → comment.component.test.tsx} +59 -71
  178. data/decidim-comments/app/frontend/comments/{comment.component.jsx → comment.component.tsx} +114 -116
  179. data/decidim-comments/app/frontend/comments/comment_order_selector.component.test.tsx +21 -0
  180. data/decidim-comments/app/frontend/comments/comment_order_selector.component.tsx +88 -0
  181. data/decidim-comments/app/frontend/comments/comment_thread.component.test.tsx +65 -0
  182. data/decidim-comments/app/frontend/comments/comment_thread.component.tsx +70 -0
  183. data/decidim-comments/app/frontend/comments/{comments.component.test.jsx → comments.component.test.tsx} +38 -81
  184. data/decidim-comments/app/frontend/comments/{comments.component.jsx → comments.component.tsx} +49 -63
  185. data/decidim-comments/app/frontend/comments/down_vote_button.component.test.tsx +39 -0
  186. data/decidim-comments/app/frontend/comments/down_vote_button.component.tsx +89 -0
  187. data/decidim-comments/app/frontend/comments/up_vote_button.component.test.tsx +39 -0
  188. data/decidim-comments/app/frontend/comments/up_vote_button.component.tsx +89 -0
  189. data/decidim-comments/app/frontend/comments/vote_button.component.tsx +36 -0
  190. data/decidim-comments/app/frontend/comments/{vote_button_component.test.jsx → vote_button_component.test.tsx} +16 -20
  191. data/decidim-comments/app/frontend/entry.ts +19 -0
  192. data/decidim-comments/app/frontend/{comments → fragments}/add_comment_form_commentable.fragment.graphql +1 -1
  193. data/decidim-comments/app/frontend/{comments → fragments}/add_comment_form_session.fragment.graphql +1 -1
  194. data/decidim-comments/app/frontend/{comments → fragments}/comment.fragment.graphql +3 -1
  195. data/decidim-comments/app/frontend/{comments → fragments}/comment_data.fragment.graphql +6 -3
  196. data/decidim-comments/app/frontend/{comments → fragments}/comment_thread.fragment.graphql +3 -1
  197. data/decidim-comments/app/frontend/{comments/down_vote.fragment.graphql → fragments/down_vote_button.fragment.graphql} +2 -2
  198. data/decidim-comments/app/frontend/{comments/up_vote.fragment.graphql → fragments/up_vote_button.fragment.graphql} +2 -2
  199. data/decidim-comments/app/frontend/{comments/add_comment_form.mutation.graphql → mutations/add_comment.mutation.graphql} +3 -1
  200. data/decidim-comments/app/frontend/{comments → mutations}/down_vote.mutation.graphql +3 -1
  201. data/decidim-comments/app/frontend/{comments → mutations}/up_vote.mutation.graphql +3 -1
  202. data/decidim-comments/app/frontend/{comments → queries}/comments.query.graphql +4 -1
  203. data/decidim-comments/app/frontend/support/{asset_url.js → asset_url.ts} +1 -1
  204. data/decidim-comments/app/frontend/support/{generate_comments_data.js → generate_comments_data.ts} +11 -6
  205. data/decidim-comments/app/frontend/support/{generate_user_data.js → generate_user_data.ts} +2 -2
  206. data/decidim-comments/app/frontend/support/{generate_user_group_data.js → generate_user_group_data.ts} +2 -2
  207. data/decidim-comments/app/frontend/support/graphql_transformer.js +32 -0
  208. data/decidim-comments/app/frontend/support/load_translations.ts +44 -0
  209. data/decidim-comments/app/frontend/support/{require_all.js → require_all.ts} +1 -1
  210. data/decidim-comments/app/frontend/support/{resolve_graphql_query.js → resolve_graphql_query.ts} +7 -7
  211. data/decidim-comments/app/frontend/support/schema.ts +119 -0
  212. data/decidim-comments/config/locales/eu.yml +29 -5
  213. data/decidim-dev/Rakefile +2 -0
  214. data/decidim-dev/config/locales/eu.yml +1 -1
  215. data/decidim-dev/decidim-dev.gemspec +1 -1
  216. data/decidim-dev/lib/decidim/dev/test/rspec_support/capybara.rb +1 -4
  217. data/decidim-dev/lib/decidim/dev/test/rspec_support/feature.rb +1 -0
  218. data/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb +1 -1
  219. data/decidim-dev/lib/decidim/dev/test/rspec_support/phantomjs_polyfills/phantomjs-shim.js +215 -0
  220. data/decidim-dev/lib/decidim/dev/test/rspec_support/translation_helpers.rb +1 -1
  221. data/decidim-dev/lib/generators/decidim/dummy_generator.rb +5 -0
  222. data/decidim-meetings/app/controllers/decidim/meetings/admin/application_controller.rb +1 -1
  223. data/decidim-meetings/app/views/decidim/meetings/admin/meeting_closes/_form.html.erb +30 -19
  224. data/decidim-meetings/app/views/decidim/meetings/admin/meeting_closes/edit.html.erb +3 -5
  225. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/_form.html.erb +46 -35
  226. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/edit.html.erb +5 -6
  227. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/index.html.erb +72 -51
  228. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/new.html.erb +4 -6
  229. data/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb +1 -1
  230. data/decidim-meetings/config/locales/ca.yml +2 -1
  231. data/decidim-meetings/config/locales/en.yml +2 -1
  232. data/decidim-meetings/config/locales/es.yml +2 -1
  233. data/decidim-meetings/config/locales/eu.yml +25 -5
  234. data/decidim-meetings/config/locales/fi.yml +0 -1
  235. data/decidim-meetings/spec/shared/manage_attachments_examples.rb +1 -1
  236. data/decidim-meetings/spec/shared/manage_meetings_examples.rb +18 -16
  237. data/decidim-pages/app/views/decidim/pages/admin/pages/_form.html.erb +10 -3
  238. data/decidim-pages/app/views/decidim/pages/admin/pages/edit.html.erb +3 -5
  239. data/decidim-pages/config/locales/eu.yml +4 -2
  240. data/decidim-pages/spec/features/admin_spec.rb +1 -1
  241. data/decidim-proposals/app/controllers/decidim/proposals/admin/proposals_controller.rb +1 -1
  242. data/decidim-proposals/app/views/decidim/proposals/admin/proposal_answers/edit.html.erb +14 -8
  243. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/_form.html.erb +28 -20
  244. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/index.html.erb +60 -43
  245. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/new.html.erb +3 -5
  246. data/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb +1 -1
  247. data/decidim-proposals/config/locales/ca.yml +3 -0
  248. data/decidim-proposals/config/locales/en.yml +4 -1
  249. data/decidim-proposals/config/locales/es.yml +3 -0
  250. data/decidim-proposals/config/locales/eu.yml +42 -19
  251. data/decidim-proposals/config/locales/fi.yml +0 -1
  252. data/decidim-proposals/spec/shared/manage_proposals_examples.rb +15 -13
  253. data/decidim-results/README.md +1 -1
  254. data/decidim-results/app/controllers/decidim/results/admin/results_controller.rb +1 -1
  255. data/decidim-results/app/views/decidim/results/admin/results/_form.html.erb +30 -21
  256. data/decidim-results/app/views/decidim/results/admin/results/edit.html.erb +4 -5
  257. data/decidim-results/app/views/decidim/results/admin/results/index.html.erb +40 -25
  258. data/decidim-results/app/views/decidim/results/admin/results/new.html.erb +4 -5
  259. data/decidim-results/app/views/decidim/results/results/_filters.html.erb +1 -1
  260. data/decidim-results/config/locales/ca.yml +2 -0
  261. data/decidim-results/config/locales/en.yml +2 -0
  262. data/decidim-results/config/locales/es.yml +2 -0
  263. data/decidim-results/config/locales/eu.yml +22 -4
  264. data/decidim-results/spec/shared/manage_results_examples.rb +10 -8
  265. data/decidim-system/config/locales/eu.yml +60 -2
  266. data/lib/generators/decidim/app_generator.rb +0 -4
  267. data/lib/generators/decidim/install_generator.rb +0 -4
  268. data/lib/generators/decidim/templates/README.md.erb +18 -18
  269. data/package.json +47 -22
  270. data/tsconfig.json +17 -0
  271. data/tslint.json +12 -0
  272. data/webpack.config.js +8 -6
  273. data/webpack.d.ts +5 -0
  274. data/yarn.lock +1461 -781
  275. metadata +119 -83
  276. data/decidim-admin/app/assets/stylesheets/decidim/admin/_actions.scss +0 -8
  277. data/decidim-admin/app/assets/stylesheets/decidim/admin/_forms.scss +0 -10
  278. data/decidim-admin/app/assets/stylesheets/decidim/admin/_foundation_and_overrides.scss +0 -53
  279. data/decidim-admin/app/assets/stylesheets/decidim/admin/_icons.scss +0 -9
  280. data/decidim-admin/app/assets/stylesheets/decidim/admin/_layout.scss +0 -27
  281. data/decidim-admin/app/assets/stylesheets/decidim/admin/_settings.scss +0 -566
  282. data/decidim-admin/app/assets/stylesheets/decidim/admin/_tables.scss +0 -21
  283. data/decidim-admin/app/views/layouts/decidim/admin/_login_items.html.erb +0 -8
  284. data/decidim-admin/app/views/layouts/decidim/admin/_sidebar.html.erb +0 -22
  285. data/decidim-comments/app/frontend/application/application.component.jsx +0 -37
  286. data/decidim-comments/app/frontend/application/application.component.test.jsx +0 -33
  287. data/decidim-comments/app/frontend/application/icon.component.jsx +0 -26
  288. data/decidim-comments/app/frontend/application/icon.component.test.jsx +0 -53
  289. data/decidim-comments/app/frontend/comments/comment_order_selector.component.jsx +0 -72
  290. data/decidim-comments/app/frontend/comments/comment_order_selector.component.test.jsx +0 -20
  291. data/decidim-comments/app/frontend/comments/comment_thread.component.jsx +0 -75
  292. data/decidim-comments/app/frontend/comments/comment_thread.component.test.jsx +0 -83
  293. data/decidim-comments/app/frontend/comments/down_vote_button.component.jsx +0 -98
  294. data/decidim-comments/app/frontend/comments/down_vote_button.component.test.jsx +0 -48
  295. data/decidim-comments/app/frontend/comments/featured_comment.component.jsx +0 -23
  296. data/decidim-comments/app/frontend/comments/featured_comment.component.test.jsx +0 -15
  297. data/decidim-comments/app/frontend/comments/up_vote_button.component.jsx +0 -98
  298. data/decidim-comments/app/frontend/comments/up_vote_button.component.test.jsx +0 -48
  299. data/decidim-comments/app/frontend/comments/vote_button.component.jsx +0 -32
  300. data/decidim-comments/app/frontend/entry.js +0 -17
  301. data/decidim-comments/app/frontend/entry.test.js +0 -31
  302. data/decidim-comments/app/frontend/support/load_translations.js +0 -23
  303. data/decidim-comments/app/frontend/support/stub_component.js +0 -29
  304. data/decidim-dev/lib/decidim/dev/test/rspec_support/phantomjs_polyfills/bind-polyfill.js +0 -18
  305. data/decidim-dev/lib/decidim/dev/test/rspec_support/phantomjs_polyfills/object-assign-polyfill.js +0 -24
  306. data/karma.conf.js +0 -45
  307. data/lib/generators/decidim/review_app_generator.rb +0 -53
  308. data/lib/generators/decidim/templates/app.json.erb +0 -16
@@ -13,27 +13,12 @@ RSpec.shared_examples "manage process steps examples" do
13
13
  before do
14
14
  switch_to_host(organization.host)
15
15
  login_as user, scope: :user
16
- visit decidim_admin.participatory_process_path(participatory_process)
16
+ visit decidim_admin.edit_participatory_process_path(participatory_process)
17
17
  click_link "Steps"
18
18
  end
19
19
 
20
- it "displays all fields from a single participatory process" do
21
- within "#steps table" do
22
- click_link translated(process_step.title)
23
- end
24
-
25
- within "dl" do
26
- expect(page).to have_content(stripped translated(process_step.title, locale: :en))
27
- expect(page).to have_content(stripped translated(process_step.title, locale: :es))
28
- expect(page).to have_content(stripped translated(process_step.title, locale: :ca))
29
- expect(page).to have_content(stripped translated(process_step.description, locale: :en))
30
- expect(page).to have_content(stripped translated(process_step.description, locale: :es))
31
- expect(page).to have_content(stripped translated(process_step.description, locale: :ca))
32
- end
33
- end
34
-
35
20
  it "creates a new participatory_process" do
36
- find("#steps .actions .new").click
21
+ find(".card-title a.button").click
37
22
 
38
23
  within ".new_participatory_process_step" do
39
24
  fill_in_i18n(
@@ -57,7 +42,7 @@ RSpec.shared_examples "manage process steps examples" do
57
42
  find("*[type=submit]").click
58
43
  end
59
44
 
60
- within ".flash" do
45
+ within ".callout-wrapper" do
61
46
  expect(page).to have_content("successfully")
62
47
  end
63
48
 
@@ -69,7 +54,7 @@ RSpec.shared_examples "manage process steps examples" do
69
54
  it "updates a participatory_process_step" do
70
55
  within "#steps" do
71
56
  within find("tr", text: translated(process_step.title)) do
72
- click_link "Edit"
57
+ page.find('.action-icon--edit').click
73
58
  end
74
59
  end
75
60
 
@@ -85,7 +70,7 @@ RSpec.shared_examples "manage process steps examples" do
85
70
  find("*[type=submit]").click
86
71
  end
87
72
 
88
- within ".flash" do
73
+ within ".callout-wrapper" do
89
74
  expect(page).to have_content("successfully")
90
75
  end
91
76
 
@@ -104,10 +89,10 @@ RSpec.shared_examples "manage process steps examples" do
104
89
 
105
90
  it "deletes a participatory_process_step" do
106
91
  within find("tr", text: translated(process_step2.title)) do
107
- click_link "Destroy"
92
+ page.find('.action-icon--remove').click
108
93
  end
109
94
 
110
- within ".flash" do
95
+ within ".callout-wrapper" do
111
96
  expect(page).to have_content("successfully")
112
97
  end
113
98
 
@@ -120,7 +105,7 @@ RSpec.shared_examples "manage process steps examples" do
120
105
  context "activating a step" do
121
106
  it "activates a step" do
122
107
  within find("tr", text: translated(process_step.title)) do
123
- click_link "Activate"
108
+ page.find('.action-icon--activate').click
124
109
  end
125
110
 
126
111
  within find("tr", text: translated(process_step.title)) do
@@ -7,7 +7,7 @@ RSpec.shared_examples "manage processes examples" do
7
7
 
8
8
  it "allows the user to preview the unpublished process" do
9
9
  within find("tr", text: translated(participatory_process.title)) do
10
- click_link "Preview"
10
+ page.find('a.action-icon--preview').click
11
11
  end
12
12
 
13
13
  expect(page).to have_css(".process-header")
@@ -20,7 +20,7 @@ RSpec.shared_examples "manage processes examples" do
20
20
 
21
21
  it "allows the user to preview the unpublished process" do
22
22
  within find("tr", text: translated(participatory_process.title)) do
23
- click_link "Preview"
23
+ page.find('a.action-icon--preview').click
24
24
  end
25
25
 
26
26
  expect(current_path).to eq decidim.participatory_process_path(participatory_process)
@@ -29,34 +29,8 @@ RSpec.shared_examples "manage processes examples" do
29
29
  end
30
30
  end
31
31
 
32
- it "displays all fields from a single participatory process" do
33
- within "table" do
34
- click_link participatory_process.title["en"]
35
- end
36
-
37
- within "dl" do
38
- expect(page).to have_content(stripped translated(participatory_process.title, locale: :en))
39
- expect(page).to have_content(stripped translated(participatory_process.title, locale: :es))
40
- expect(page).to have_content(stripped translated(participatory_process.title, locale: :ca))
41
- expect(page).to have_content(stripped translated(participatory_process.subtitle, locale: :en))
42
- expect(page).to have_content(stripped translated(participatory_process.subtitle, locale: :es))
43
- expect(page).to have_content(stripped translated(participatory_process.subtitle, locale: :ca))
44
- expect(page).to have_content(stripped translated(participatory_process.short_description, locale: :en))
45
- expect(page).to have_content(stripped translated(participatory_process.short_description, locale: :es))
46
- expect(page).to have_content(stripped translated(participatory_process.short_description, locale: :ca))
47
- expect(page).to have_content(stripped translated(participatory_process.description, locale: :en))
48
- expect(page).to have_content(stripped translated(participatory_process.description, locale: :es))
49
- expect(page).to have_content(stripped translated(participatory_process.description, locale: :ca))
50
- expect(page).to have_content(participatory_process.hashtag)
51
- expect(page).to have_content(participatory_process.slug)
52
- expect(page).to have_xpath("//img[@src=\"#{participatory_process.hero_image.url}\"]")
53
- expect(page).to have_xpath("//img[@src=\"#{participatory_process.banner_image.url}\"]")
54
- end
55
- end
56
-
57
32
  it "updates an participatory_process" do
58
33
  click_link translated(participatory_process.title)
59
- click_processes_menu_link "Settings"
60
34
 
61
35
  within ".edit_participatory_process" do
62
36
  fill_in_i18n(
@@ -71,12 +45,12 @@ RSpec.shared_examples "manage processes examples" do
71
45
  find("*[type=submit]").click
72
46
  end
73
47
 
74
- within ".flash" do
48
+ within ".callout-wrapper" do
75
49
  expect(page).to have_content("successfully")
76
50
  end
77
51
 
78
- within ".tabs-content" do
79
- expect(page).to have_content("My new title")
52
+ within ".container" do
53
+ expect(page).to have_selector("input[value='My new title']")
80
54
  expect(page).not_to have_css("img[src*='#{image2_filename}']")
81
55
  expect(page).to have_css("img[src*='#{image3_filename}']")
82
56
  end
@@ -87,7 +61,6 @@ RSpec.shared_examples "manage processes examples" do
87
61
 
88
62
  before do
89
63
  click_link translated(participatory_process.title)
90
- click_processes_menu_link "Settings"
91
64
  end
92
65
 
93
66
  it "publishes the process" do
@@ -106,7 +79,6 @@ RSpec.shared_examples "manage processes examples" do
106
79
 
107
80
  before do
108
81
  click_link translated(participatory_process.title)
109
- click_processes_menu_link "Settings"
110
82
  end
111
83
 
112
84
  it "unpublishes the process" do
@@ -5,7 +5,7 @@ module ProcessesMenuLinksHelpers
5
5
  #
6
6
  # text - a String with the name of the link that will be clicked
7
7
  def click_processes_menu_link(text)
8
- within ".row .tabs.vertical" do
8
+ within ".secondary-nav--subnav" do
9
9
  click_link text
10
10
  end
11
11
  end
@@ -0,0 +1,4 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
@@ -2,7 +2,8 @@
2
2
  module Decidim
3
3
  module Api
4
4
  # Base controller for `decidim-api`. All other controllers inherit from this.
5
- class ApplicationController < ActionController::Base
5
+ class ApplicationController < ::DecidimController
6
+ skip_before_filter :verify_authenticity_token
6
7
  include NeedsOrganization
7
8
  end
8
9
  end
@@ -57,7 +57,7 @@ module Decidim
57
57
  private
58
58
 
59
59
  def projects
60
- @projects ||= Project.where(feature: current_feature)
60
+ @projects ||= Project.where(feature: current_feature).page(params[:page]).per(15)
61
61
  end
62
62
 
63
63
  def orders
@@ -11,26 +11,32 @@ module Decidim
11
11
  def create
12
12
  authorize_action! "vote"
13
13
 
14
- AddLineItem.call(current_order, project, current_user) do
15
- on(:ok) do |order|
16
- self.current_order = order
17
- render "update_budget"
18
- end
19
-
20
- on(:invalid) do
21
- render nothing: true, status: 422
14
+ respond_to do |format|
15
+ AddLineItem.call(current_order, project, current_user) do
16
+ on(:ok) do |order|
17
+ self.current_order = order
18
+ format.html { redirect_to :back }
19
+ format.js { render "update_budget" }
20
+ end
21
+
22
+ on(:invalid) do
23
+ render nothing: true, status: 422
24
+ end
22
25
  end
23
26
  end
24
27
  end
25
28
 
26
29
  def destroy
27
- RemoveLineItem.call(current_order, project) do
28
- on(:ok) do |_order|
29
- render "update_budget"
30
- end
31
-
32
- on(:invalid) do
33
- render nothing: true, status: 422
30
+ respond_to do |format|
31
+ RemoveLineItem.call(current_order, project) do
32
+ on(:ok) do |_order|
33
+ format.html { redirect_to :back }
34
+ format.js { render "update_budget" }
35
+ end
36
+
37
+ on(:invalid) do
38
+ render nothing: true, status: 422
39
+ end
34
40
  end
35
41
  end
36
42
  end
@@ -1,29 +1,39 @@
1
- <div class="field" >
2
- <%= form.translated :text_field, :title, autofocus: true %>
3
- </div>
1
+ <div class="card">
2
+ <div class="card-divider">
3
+ <h2 class="card-title"><%= title %></h2>
4
+ </div>
4
5
 
5
- <div class="field" >
6
- <%= form.translated :editor, :description %>
7
- </div>
6
+ <div class="card-section">
7
+ <div class="row column" >
8
+ <%= form.translated :text_field, :title, autofocus: true %>
9
+ </div>
8
10
 
9
- <div class="field" >
10
- <%= form.number_field :budget %>
11
- </div>
11
+ <div class="row column" >
12
+ <%= form.translated :editor, :description %>
13
+ </div>
12
14
 
13
- <% if !current_participatory_process.scope %>
14
- <div class="field" >
15
- <%= form.collection_select :decidim_scope_id, organization_scopes, :id, :name %>
16
- </div>
17
- <% end %>
15
+ <div class="row column" >
16
+ <%= form.number_field :budget %>
17
+ </div>
18
18
 
19
- <div class="field" >
20
- <%= form.categories_select :decidim_category_id, current_participatory_process.categories, include_blank: true, disable_parents: false %>
21
- </div>
19
+ <% if !current_participatory_process.scope %>
20
+ <div class="row column" >
21
+ <%= form.collection_select :decidim_scope_id, organization_scopes, :id, :name %>
22
+ </div>
23
+ <% end %>
22
24
 
23
- <% if @form.proposals %>
24
- <%= form.select :proposal_ids,
25
- @form.proposals,
26
- {},
27
- { multiple: true, class: "chosen-select" }
28
- %>
29
- <% end %>
25
+ <div class="row column" >
26
+ <%= form.categories_select :decidim_category_id, current_participatory_process.categories, include_blank: true, disable_parents: false %>
27
+ </div>
28
+
29
+ <div class="row column">
30
+ <% if @form.proposals %>
31
+ <%= form.select :proposal_ids,
32
+ @form.proposals,
33
+ {},
34
+ { multiple: true, class: "chosen-select" }
35
+ %>
36
+ <% end %>
37
+ </div>
38
+ </div>
39
+ </div>
@@ -1,9 +1,7 @@
1
- <h3><%= t ".title" %></h3>
1
+ <%= decidim_form_for(@form, html: { class: "form edit_project" }) do |f| %>
2
+ <%= render partial: 'form', object: f, locals: { title: t('.title') } %>
2
3
 
3
- <%= decidim_form_for(@form) do |f| %>
4
- <%= render partial: 'form', object: f %>
5
-
6
- <div class="actions">
4
+ <div class="button--double form-general-submit">
7
5
  <%= f.submit t(".update") %>
8
6
  </div>
9
7
  <% end %>
@@ -1,37 +1,55 @@
1
- <h2><%= t(".title") %></h2>
1
+ <div class="card">
2
+ <div class="card-divider">
3
+ <h2 class="card-title">
4
+ <%= t(".title") %>
5
+ <%= link_to t("actions.new", scope: "decidim.budgets", name: t("models.project.name", scope: "decidim.budgets.admin")), new_project_path, class: 'button tiny button--title' if can? :manage, current_feature %>
6
+ </h2>
7
+ </div>
2
8
 
3
- <dl>
4
- <dt><%= t ".finished_orders" %>: </dt><dd><%= finished_orders.count %></dd>
5
- <dt><%= t ".pending_orders" %>: </dt><dd><%= pending_orders.count %></dd>
6
- </dl>
9
+ <div class="card-section">
10
+ <div class="table-scroll">
11
+ <table class="table-list">
12
+ <thead>
13
+ <tr>
14
+ <th><%= t("models.project.fields.title", scope: "decidim.budgets") %></th>
15
+ <th class="center"><%= t("index.confirmed_orders_count") %></th>
16
+ <th class="actions"><%= t("actions.title", scope: "decidim.budgets") %></th>
17
+ </tr>
18
+ </thead>
19
+ <tbody>
20
+ <% projects.each do |project| %>
21
+ <tr data-id="<%= project.id %>">
22
+ <td>
23
+ <%= translated_attribute(project.title) %><br />
24
+ </td>
25
+ <td class='center'>
26
+ <%= project.confirmed_orders_count %>
27
+ </td>
28
+ <td class="table-list__actions">
29
+ <%= icon_link_to "eye", decidim_budgets.project_path(id: project, feature_id: current_feature, participatory_process_id: current_participatory_process), t("actions.preview", scope: "decidim.budgets"), target: :blank, class: "action-icon--preview" %>
7
30
 
8
- <div class="actions title">
9
- <%= link_to t("actions.new", scope: "decidim.budgets", name: t("models.project.name", scope: "decidim.budgets.admin")), new_project_path, class: 'new' if can? :manage, current_feature %>
10
- </div>
31
+ <% if can? :update, current_feature %>
32
+ <%= icon_link_to "pencil", edit_project_path(project), t("actions.edit", scope: "decidim.budgets"), class: "action-icon--edit" %>
33
+ <% end %>
34
+
35
+ <% if can? :update, current_feature %>
36
+ <%= icon_link_to "paperclip", project_attachments_path(project), t("actions.attachments", scope: "decidim.budgets"), class: "action-icon--attachments" %>
37
+ <% end %>
11
38
 
12
- <table class="stack">
13
- <thead>
14
- <tr>
15
- <th><%= t("models.project.fields.title", scope: "decidim.budgets") %></th>
16
- <th class="center"><%= t("index.confirmed_orders_count") %></th>
17
- <th class="actions"><%= t("actions.title", scope: "decidim.budgets") %></th>
18
- </tr>
19
- </thead>
20
- <tbody>
21
- <% projects.each do |project| %>
22
- <tr data-id="<%= project.id %>">
23
- <td>
24
- <%= link_to translated_attribute(project.title), decidim_budgets.project_path(id: project, feature_id: current_feature, participatory_process_id: current_participatory_process), target: :blank %><br />
25
- </td>
26
- <td class='center'>
27
- <%= project.confirmed_orders_count %>
28
- </td>
29
- <td class="actions">
30
- <%= link_to t("actions.edit", scope: "decidim.budgets"), edit_project_path(project) if can? :update, current_feature %>
31
- <%= link_to t("actions.attachments", scope: "decidim.budgets"), project_attachments_path(project) if can? :update, current_feature %>
32
- <%= link_to t("actions.destroy", scope: "decidim.budgets"), project_path(project), method: :delete, class: "small alert button", data: { confirm: t("actions.confirm_destroy", scope: "decidim.budgets") } if can? :destroy, current_feature %>
33
- </td>
34
- </tr>
35
- <% end %>
36
- </tbody>
37
- </table>
39
+ <% if can? :destroy, current_feature %>
40
+ <%= icon_link_to "circle-x", project_path(project), t("actions.destroy", scope: "decidim.budgets"), method: :delete, class: "action-icon--remove", data: { confirm: t("actions.confirm_destroy", scope: "decidim.budgets") } %>
41
+ <% end %>
42
+ </td>
43
+ </tr>
44
+ <% end %>
45
+ </tbody>
46
+ </table>
47
+ <%= paginate projects, theme: "decidim" %>
48
+ </div>
49
+ </div>
50
+ <div class="card-divider">
51
+ <strong><%= t ".finished_orders" %>: </strong><span><%= finished_orders.count %></span>
52
+ <span>|</span>
53
+ <strong><%= t ".pending_orders" %>: </strong><span><%= pending_orders.count %></span>
54
+ </div>
55
+ </div>
@@ -1,9 +1,8 @@
1
- <h3><%= t ".title" %></h3>
1
+ <%= decidim_form_for(@form, html: { class: "form new_project" }) do |f| %>
2
+ <%= render partial: 'form', object: f, locals: { title: t('.title') } %>
2
3
 
3
- <%= decidim_form_for(@form) do |f| %>
4
- <%= render partial: 'form', object: f %>
5
-
6
- <div class="actions">
4
+ <div class="button--double form-general-submit">
7
5
  <%= f.submit t(".create") %>
8
6
  </div>
9
7
  <% end %>
8
+
@@ -17,7 +17,7 @@
17
17
  <% end %>
18
18
 
19
19
  <% if current_feature.categories.any? %>
20
- <%= form.categories_select :category_id, current_feature.categories, legend_title: t('.category'), disable_parents: false, label: false, include_blank: true %>
20
+ <%= form.categories_select :category_id, current_feature.categories, legend_title: t('.category'), disable_parents: false, label: false, prompt: t('.category_prompt') %>
21
21
  <% end %>
22
22
 
23
23
  <%= form.hidden_field :random_seed %>
@@ -5,3 +5,4 @@ ignore_unused:
5
5
  - "decidim.features.budgets.settings.*"
6
6
  - "decidim.features.budgets.actions.*"
7
7
  - "activemodel.attributes.project.*"
8
+ - "decidim.resource_links.*"
@@ -16,6 +16,7 @@ ca:
16
16
  destroy: Esborrar
17
17
  edit: Editar
18
18
  new: Nou %{name}
19
+ preview: Previsualitzar
19
20
  title: Accions
20
21
  admin:
21
22
  models:
@@ -71,6 +72,7 @@ ca:
71
72
  other: "%{count} projectes"
72
73
  filters:
73
74
  category: Categoria
75
+ category_prompt: Selecciona una categoria
74
76
  scopes: Àmbits
75
77
  search: Cerca
76
78
  filters_small_view:
@@ -118,6 +120,9 @@ ca:
118
120
  destroy:
119
121
  error: S'ha produït un error en cancel·lar el seu vot
120
122
  success: El seu vot ha estat cancel·lat correctament
123
+ resource_links:
124
+ included_proposals:
125
+ project_proposals: 'Propostes incloses en aquest projecte:'
121
126
  index:
122
127
  confirmed_orders_count: Nombre de vots
123
128
  total_budget: Pressupost total