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
@@ -0,0 +1,119 @@
1
+ // This file was automatically generated and should not be edited.
2
+ /* tslint:disable */
3
+
4
+ export interface AddCommentMutationVariables {
5
+ commentableId: string;
6
+ commentableType: string;
7
+ body: string;
8
+ alignment: number | null;
9
+ userGroupId: string | null;
10
+ }
11
+
12
+ export interface AddCommentMutation {
13
+ commentable: {
14
+ addComment: CommentThreadFragment & CommentFragment & CommentDataFragment & UpVoteFragment & DownVoteFragment,
15
+ } | null;
16
+ }
17
+
18
+ export interface DownVoteMutationVariables {
19
+ id: string;
20
+ }
21
+
22
+ export interface DownVoteMutation {
23
+ comment: {
24
+ downVote: CommentFragment & CommentDataFragment & UpVoteFragment & DownVoteFragment,
25
+ } | null;
26
+ }
27
+
28
+ export interface UpVoteMutationVariables {
29
+ id: string;
30
+ }
31
+
32
+ export interface UpVoteMutation {
33
+ comment: {
34
+ upVote: CommentFragment & CommentDataFragment & UpVoteFragment & DownVoteFragment,
35
+ } | null;
36
+ }
37
+
38
+ export interface GetCommentsQueryVariables {
39
+ commentableId: string;
40
+ commentableType: string;
41
+ orderBy: string | null;
42
+ }
43
+
44
+ export interface GetCommentsQuery {
45
+ session: AddCommentFormSessionFragment & {
46
+ user: {
47
+ name: string,
48
+ avatarUrl: string,
49
+ organizationName: string,
50
+ } | null,
51
+ } | null;
52
+ commentable: AddCommentFormCommentableFragment & {
53
+ acceptsNewComments: boolean,
54
+ commentsHaveAlignment: boolean,
55
+ commentsHaveVotes: boolean,
56
+ comments: Array< CommentThreadFragment & CommentFragment & CommentDataFragment & UpVoteFragment & DownVoteFragment & {
57
+ id: string,
58
+ } >,
59
+ };
60
+ }
61
+
62
+ export interface AddCommentFormCommentableFragment {
63
+ id: string;
64
+ type: string;
65
+ }
66
+
67
+ export interface AddCommentFormSessionFragment {
68
+ verifiedUserGroups: Array< {
69
+ id: string,
70
+ name: string,
71
+ } >;
72
+ }
73
+
74
+ export interface CommentDataFragment extends UpVoteFragment, DownVoteFragment {
75
+ id: string;
76
+ sgid: string;
77
+ type: string;
78
+ body: string;
79
+ createdAt: string;
80
+ author: {
81
+ name: string,
82
+ avatarUrl: string,
83
+ };
84
+ hasComments: boolean;
85
+ acceptsNewComments: boolean;
86
+ alignment: number | null;
87
+ alreadyReported: boolean;
88
+ }
89
+
90
+ export interface CommentThreadFragment extends CommentFragment, CommentDataFragment, UpVoteFragment, DownVoteFragment {
91
+ author: {
92
+ name: string,
93
+ avatarUrl: string
94
+ };
95
+ hasComments: boolean;
96
+ }
97
+
98
+ export interface CommentFragment extends CommentDataFragment, UpVoteFragment, DownVoteFragment {
99
+ comments: Array< CommentDataFragment & UpVoteFragment & DownVoteFragment & {
100
+ comments: Array< CommentDataFragment & UpVoteFragment & DownVoteFragment & {
101
+ comments: Array<CommentDataFragment & UpVoteFragment & DownVoteFragment>,
102
+ } >,
103
+ } >;
104
+ }
105
+
106
+ export interface DownVoteFragment {
107
+ id: string;
108
+ downVotes: number;
109
+ downVoted: boolean;
110
+ upVoted: boolean;
111
+ }
112
+
113
+ export interface UpVoteFragment {
114
+ id: string;
115
+ upVotes: number;
116
+ upVoted: boolean;
117
+ downVoted: boolean;
118
+ }
119
+ /* tslint:enable */
@@ -1,9 +1,18 @@
1
1
  eu:
2
+ activerecord:
3
+ errors:
4
+ messages:
5
+ cannot_have_comments: ezin zaio iruzkinik egin
2
6
  decidim:
3
7
  comments:
4
8
  comment_notification_mailer:
9
+ comment_created:
10
+ new_comment_html: 'Iruzkin berri bat dago, <b>%{commenter}</b> iruzkingilearena, hemen: <b>%{commentable_link}</b>'
5
11
  hello: Kaixo, %{name},
12
+ manage_email_subscriptions_html: 'Halako mezurik jaso nahi ez baduzu, aldatu konfigurazioa hemen: %{link}.'
6
13
  notifications_settings_link: jakinarazpenen konfigurazio-orria
14
+ reply_created:
15
+ new_reply_html: 'Iruzkin berri bat dago, <b>%{commenter}</b> iruzkingilearena, hemen: <b>%{commentable_link}</b>'
7
16
  mailer:
8
17
  comment_notification:
9
18
  comment_created:
@@ -12,6 +21,7 @@ eu:
12
21
  subject: Zure iruzkinetako bati erantzuna eman diote
13
22
  components:
14
23
  add_comment_form:
24
+ account_message: '<a href="%{sign_in_url}">Sartu zure kontuarekin</a> o <a href="%{sign_up_url}">erregistratu</a> zure iruzkina egiteko. '
15
25
  form:
16
26
  body:
17
27
  label: Iruzkina
@@ -19,23 +29,37 @@ eu:
19
29
  form_error: Testua behar da, eta ezin du izan %{length} karaktere baino gehiago.
20
30
  submit: Bidali
21
31
  user_group_id:
22
- label: 'Iruzkindu honela:'
32
+ label: 'Egin iruzkina honako honen gisa:'
23
33
  opinion:
24
34
  neutral: Neutrala
25
- title: Jarri hemen zure iruzkina
35
+ title: Egin hemen zure iruzkina
26
36
  comment:
27
37
  alignment:
28
38
  against: Aurka
29
39
  in_favor: Alde
30
40
  reply: Erantzuna
41
+ report:
42
+ action: Salatu
43
+ already_reported: Eduki hau jada salatuta dago, eta administratzaile batek berrikusiko du.
44
+ close: Itxi
45
+ description: Eduki hau desegokia da?
46
+ details: iruzkin gehigarriak
47
+ reasons:
48
+ does_not_belong: Bertan badago legez kontrako jardunik, suizidio-mehatxurik, informazio pertsonalik edo beste zernahi, zure ustez %{organization_name}-ri ez dagokionik.
49
+ offensive: Bertan badago arrazakeriarik, sexismorik, irainik, eraso pertsonalik, heriotza-mehatxurik, suizidio-eskaerarik edo beste edozein eratako gorroto-diskurtsorik.
50
+ spam: Bertan badago clickbait-ik, publizitaterik edo iruzurrik.
51
+ title: Salatu arazo bat
31
52
  comment_order_selector:
32
53
  order:
33
- best_rated: Balorazio hoberena
54
+ best_rated: Balorazio hoberenak
34
55
  most_discussed: Eztabaidatuenak
35
- older: Zaharrena
36
- recent: Berri-berria
56
+ older: Zaharrenak
57
+ recent: Berrienak
37
58
  title: 'Ordenatu honen arabera:'
59
+ comment_thread:
60
+ title: 'Solasaldia honekin: %{authorName}'
38
61
  comments:
62
+ blocked_comments_warning: Oraingo faseko iruzkinak desaktibatuta daude, baina aurreko faseetako iruzkinak irakur ditzakezu.
39
63
  loading: Iruzkinak kargatzen...
40
64
  title: "%{count} iruzkin"
41
65
  featured_comment:
@@ -0,0 +1,2 @@
1
+ # frozen_string_literal: true
2
+ require "bundler/gem_tasks"
@@ -2,4 +2,4 @@ eu:
2
2
  decidim:
3
3
  resource_links:
4
4
  test_link:
5
- dummy_resource_dummy: Honekin lotutako ????
5
+ dummy_resource_dummy: ' Honi buruzko adibidea '
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
27
27
  s.add_dependency "launchy"
28
28
  s.add_dependency "i18n-tasks", "0.9.12"
29
29
  s.add_dependency "faker", "~> 1.7.3"
30
- s.add_dependency "poltergeist", "~> 1.13.0"
30
+ s.add_dependency "poltergeist", "~> 1.14.0"
31
31
  s.add_dependency "rails-controller-testing", "~> 1.0.1"
32
32
  s.add_dependency "simplecov", "~> 0.13"
33
33
  s.add_dependency "codecov", "~> 0.1.9"
@@ -27,10 +27,7 @@ capybara_options = {
27
27
  File.join(File.dirname(__FILE__), "phantomjs_polyfills", "promise.js")
28
28
  ),
29
29
  File.expand_path(
30
- File.join(File.dirname(__FILE__), "phantomjs_polyfills", "bind-polyfill.js")
31
- ),
32
- File.expand_path(
33
- File.join(File.dirname(__FILE__), "phantomjs_polyfills", "object-assign-polyfill.js")
30
+ File.join(File.dirname(__FILE__), "phantomjs_polyfills", "phantomjs-shim.js")
34
31
  )
35
32
  ],
36
33
  js_errors: true,
@@ -35,6 +35,7 @@ module Decidim
35
35
  def show
36
36
  @commentable = DummyResource.find(params[:id])
37
37
  render inline: %{
38
+ <%= csrf_meta_tags %>
38
39
  <%= display_flash_messages %>
39
40
  <div class="reveal" id="loginModal" data-reveal></div>
40
41
  <%= javascript_include_tag 'application' %>
@@ -27,7 +27,7 @@ module Decidim::FeatureTestHelpers
27
27
  end
28
28
 
29
29
  def within_flash_messages
30
- within ".flash.callout" do
30
+ within ".flash" do
31
31
  yield
32
32
  end
33
33
  end
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Adapted from https://github.com/Raynos/function-bind
3
+ * Copyright 2013 Raynos.
4
+ * MIT license, see license.md for detail.
5
+ */
6
+
7
+ (function() {
8
+ if (Function.prototype.bind) {
9
+ return;
10
+ }
11
+
12
+ var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
13
+ var slice = Array.prototype.slice;
14
+ var toStr = Object.prototype.toString;
15
+ var funcType = '[object Function]';
16
+
17
+ Function.prototype.bind = function bind(that) {
18
+ var target = this;
19
+ if (typeof target !== 'function' || toStr.call(target) !== funcType) {
20
+ throw new TypeError(ERROR_MESSAGE + target);
21
+ }
22
+ var args = slice.call(arguments, 1);
23
+
24
+ var binder = function () {
25
+ if (this instanceof bound) {
26
+ var result = target.apply(this, args.concat(slice.call(arguments)));
27
+ if (Object(result) === result) {
28
+ return result;
29
+ }
30
+ return this;
31
+ } else {
32
+ return target.apply(that, args.concat(slice.call(arguments)));
33
+ }
34
+ };
35
+
36
+ var boundLength = Math.max(0, target.length - args.length);
37
+ var boundArgs = [];
38
+ for (var i = 0; i < boundLength; i++) {
39
+ boundArgs.push('$' + i);
40
+ }
41
+
42
+ var bound = Function('binder', 'return function (' + boundArgs.join(',') +
43
+ '){ return binder.apply(this,arguments); }')(binder);
44
+
45
+ if (target.prototype) {
46
+ var Empty = function Empty() {};
47
+ Empty.prototype = target.prototype;
48
+ bound.prototype = new Empty();
49
+ Empty.prototype = null;
50
+ }
51
+
52
+ return bound;
53
+ };
54
+
55
+ }());
56
+
57
+ /**
58
+ * Polyfill for requestAnimationFrame
59
+ * http://paulirish.com/2011/requestanimationframe-for-smart-animating/
60
+ * http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
61
+ * requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel
62
+ * MIT license
63
+ */
64
+ (function() {
65
+ var lastTime = 0;
66
+ var vendors = ['ms', 'moz', 'webkit', 'o'];
67
+ for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
68
+ window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
69
+ window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame']
70
+ || window[vendors[x] + 'CancelRequestAnimationFrame'];
71
+ }
72
+ if(!window.requestAnimationFrame)
73
+ window.requestAnimationFrame = function(callback, element) {
74
+ var currTime = new Date().getTime();
75
+ var timeToCall = Math.max(0, 16 - (currTime - lastTime));
76
+ var id = window.setTimeout(function() {
77
+ callback(currTime + timeToCall);
78
+ },
79
+ timeToCall);
80
+ lastTime = currTime + timeToCall;
81
+ return id;
82
+ };
83
+ if(!window.cancelAnimationFrame)
84
+ window.cancelAnimationFrame = function(id) {
85
+ clearTimeout(id);
86
+ };
87
+ }());
88
+
89
+ /**
90
+ * Polyfill for CustomEvent
91
+ * Until PhantomJS v2.0 is out (see https://github.com/ariya/phantomjs/issues/11289)
92
+ */
93
+ (function() {
94
+ function CustomEvent(event, params) {
95
+ params = params || { bubbles: false, cancelable: false, detail: undefined };
96
+ var evt = document.createEvent('CustomEvent');
97
+ evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
98
+ return evt;
99
+ };
100
+
101
+ CustomEvent.prototype = window.Event.prototype;
102
+
103
+ window.CustomEvent = CustomEvent;
104
+ })();
105
+
106
+ /**
107
+ * Polyfill for String.startsWith
108
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
109
+ */
110
+ (function() {
111
+ if (!String.prototype.startsWith) {
112
+ String.prototype.startsWith = function(searchString, position) {
113
+ position = position || 0;
114
+ return this.indexOf(searchString, position) === position;
115
+ };
116
+ }
117
+ })();
118
+
119
+ /**
120
+ * Polyfill for String.repeat
121
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
122
+ */
123
+ (function() {
124
+ if (!String.prototype.repeat) {
125
+ String.prototype.repeat = function(count) {
126
+ 'use strict';
127
+ if (this == null) {
128
+ throw new TypeError('can\'t convert ' + this + ' to object');
129
+ }
130
+ var str = '' + this;
131
+ count = +count;
132
+ if (count != count) {
133
+ count = 0;
134
+ }
135
+ if (count < 0) {
136
+ throw new RangeError('repeat count must be non-negative');
137
+ }
138
+ if (count == Infinity) {
139
+ throw new RangeError('repeat count must be less than infinity');
140
+ }
141
+ count = Math.floor(count);
142
+ if (str.length == 0 || count == 0) {
143
+ return '';
144
+ }
145
+ // Ensuring count is a 31-bit integer allows us to heavily optimize the
146
+ // main part. But anyway, most current (August 2014) browsers can't handle
147
+ // strings 1 << 28 chars or longer, so:
148
+ if (str.length * count >= 1 << 28) {
149
+ throw new RangeError('repeat count must not overflow maximum string size');
150
+ }
151
+ var rpt = '';
152
+ for (;;) {
153
+ if ((count & 1) == 1) {
154
+ rpt += str;
155
+ }
156
+ count >>>= 1;
157
+ if (count == 0) {
158
+ break;
159
+ }
160
+ str += str;
161
+ }
162
+ // Could we try:
163
+ // return Array(count + 1).join(this);
164
+ return rpt;
165
+ }
166
+ }})();
167
+
168
+ /**
169
+ * Polyfill for String.includes
170
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
171
+ */
172
+ (function() {
173
+ if (!String.prototype.includes) {
174
+ String.prototype.includes = function(search, start) {
175
+ 'use strict';
176
+ if (typeof start !== 'number') {
177
+ start = 0;
178
+ }
179
+
180
+ if (start + search.length > this.length) {
181
+ return false;
182
+ } else {
183
+ return this.indexOf(search, start) !== -1;
184
+ }
185
+ };
186
+ }
187
+ })();
188
+
189
+ /**
190
+ * Polyfill for Object.assign
191
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
192
+ */
193
+ if (typeof Object.assign != 'function') {
194
+ (function () {
195
+ Object.assign = function (target) {
196
+ 'use strict';
197
+ if (target === undefined || target === null) {
198
+ throw new TypeError('Cannot convert undefined or null to object');
199
+ }
200
+
201
+ var output = Object(target);
202
+ for (var index = 1; index < arguments.length; index++) {
203
+ var source = arguments[index];
204
+ if (source !== undefined && source !== null) {
205
+ for (var nextKey in source) {
206
+ if (source.hasOwnProperty(nextKey)) {
207
+ output[nextKey] = source[nextKey];
208
+ }
209
+ }
210
+ }
211
+ }
212
+ return output;
213
+ };
214
+ })();
215
+ }