decidim 0.0.8.1 → 0.1.0

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 (292) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +21 -21
  3. data/.codeclimate.yml +10 -6
  4. data/.eslintignore +1 -0
  5. data/.gitignore +1 -1
  6. data/.rubocop.yml +38 -20
  7. data/.travis.yml +0 -1
  8. data/Gemfile +6 -9
  9. data/Gemfile.lock +165 -205
  10. data/Rakefile +1 -1
  11. data/codecov.yml +5 -71
  12. data/crowdin.yaml +1 -1
  13. data/decidim-admin/app/assets/stylesheets/decidim/admin/_decidim.scss +9 -2
  14. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_action-icon.scss +7 -0
  15. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_cards.scss +6 -0
  16. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_editor.scss +1 -0
  17. data/decidim-admin/app/assets/stylesheets/decidim/admin/{_sidebar.scss → extra/_sidebar.scss} +0 -0
  18. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_action-icon.scss +23 -0
  19. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_cards.scss +0 -7
  20. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_icons.scss +4 -2
  21. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_modules.scss +0 -1
  22. data/decidim-admin/app/assets/stylesheets/decidim/admin/{modules/_datepicker.scss → plugins/_foundation-datepicker.scss} +1 -1
  23. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/_constants.scss +5 -0
  24. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/_math.scss +45 -0
  25. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_acos.scss +12 -0
  26. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_asin.scss +12 -0
  27. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_atan.scss +28 -0
  28. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_atan2.scss +37 -0
  29. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_cos.scss +13 -0
  30. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_cot.scss +9 -0
  31. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_csc.scss +9 -0
  32. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_exp.scss +12 -0
  33. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_fact.scss +18 -0
  34. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_frexp.scss +21 -0
  35. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_ldexp.scss +17 -0
  36. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_log.scss +34 -0
  37. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_pow.scss +28 -0
  38. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_sec.scss +9 -0
  39. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_sin.scss +9 -0
  40. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_sqrt.scss +16 -0
  41. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_tan.scss +9 -0
  42. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/helpers/_deg-to-rad.scss +4 -0
  43. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/helpers/_rad-to-deg.scss +4 -0
  44. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/helpers/_strip-unit.scss +8 -0
  45. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/helpers/_unitless-rad.scss +13 -0
  46. data/decidim-admin/app/commands/decidim/admin/create_participatory_process.rb +23 -17
  47. data/decidim-admin/app/commands/decidim/admin/create_participatory_process_group.rb +1 -1
  48. data/decidim-admin/app/controllers/decidim/admin/moderations_controller.rb +4 -4
  49. data/decidim-admin/app/controllers/decidim/admin/participatory_processes_controller.rb +1 -1
  50. data/decidim-admin/app/forms/decidim/admin/organization_form.rb +6 -2
  51. data/decidim-admin/app/forms/decidim/admin/participatory_process_form.rb +5 -0
  52. data/decidim-admin/app/helpers/decidim/admin/application_helper.rb +1 -1
  53. data/decidim-admin/app/helpers/decidim/admin/attributes_display_helper.rb +1 -1
  54. data/decidim-admin/app/views/decidim/admin/features/_feature.html.erb +5 -1
  55. data/decidim-admin/app/views/decidim/admin/moderations/_report.html.erb +11 -0
  56. data/decidim-admin/app/views/decidim/admin/moderations/index.html.erb +22 -24
  57. data/decidim-admin/app/views/layouts/decidim/admin/participatory_process.html.erb +3 -0
  58. data/decidim-admin/config/i18n-tasks.yml +1 -0
  59. data/decidim-admin/config/locales/ca.yml +7 -3
  60. data/decidim-admin/config/locales/en.yml +6 -2
  61. data/decidim-admin/config/locales/es.yml +7 -3
  62. data/decidim-admin/config/locales/eu.yml +4 -3
  63. data/decidim-admin/config/locales/fi.yml +4 -3
  64. data/decidim-admin/config/locales/fr.yml +389 -2
  65. data/decidim-admin/config/locales/nl.yml +4 -1
  66. data/decidim-admin/decidim-admin.gemspec +3 -3
  67. data/decidim-admin/lib/decidim/admin/test/manage_attachments_examples.rb +2 -2
  68. data/decidim-admin/spec/commands/activate_participatory_process_step_spec.rb +1 -0
  69. data/decidim-admin/spec/commands/create_category_spec.rb +1 -1
  70. data/decidim-admin/spec/commands/create_feature_spec.rb +7 -5
  71. data/decidim-admin/spec/commands/create_participatory_process_admin_spec.rb +2 -1
  72. data/decidim-admin/spec/commands/create_participatory_process_spec.rb +14 -6
  73. data/decidim-admin/spec/commands/create_scope_spec.rb +3 -2
  74. data/decidim-admin/spec/commands/deactivate_participatory_process_step_spec.rb +1 -0
  75. data/decidim-admin/spec/commands/destroy_feature_spec.rb +1 -0
  76. data/decidim-admin/spec/commands/destroy_participatory_process_step_spec.rb +1 -0
  77. data/decidim-admin/spec/commands/publish_participatory_process_spec.rb +1 -0
  78. data/decidim-admin/spec/commands/reorder_participatory_process_steps_spec.rb +1 -0
  79. data/decidim-admin/spec/commands/unpublish_participatory_process_spec.rb +1 -0
  80. data/decidim-admin/spec/commands/update_feature_spec.rb +7 -5
  81. data/decidim-admin/spec/commands/update_participatory_process_spec.rb +5 -5
  82. data/decidim-admin/spec/commands/update_scope_spec.rb +3 -2
  83. data/decidim-admin/spec/factories.rb +1 -0
  84. data/decidim-admin/spec/features/admin_invite_spec.rb +5 -5
  85. data/decidim-admin/spec/features/admin_manages_newsletters_spec.rb +5 -5
  86. data/decidim-admin/spec/features/admin_manages_organization_admins_spec.rb +2 -2
  87. data/decidim-admin/spec/features/admin_manages_organization_scopes_spec.rb +3 -3
  88. data/decidim-admin/spec/features/admin_manages_organization_spec.rb +7 -11
  89. data/decidim-admin/spec/features/admin_manages_participatory_process_groups_spec.rb +2 -2
  90. data/decidim-admin/spec/features/admin_manages_participatory_processes_spec.rb +3 -3
  91. data/decidim-admin/spec/features/static_pages_spec.rb +8 -7
  92. data/decidim-admin/spec/forms/newsletter_form_spec.rb +2 -2
  93. data/decidim-admin/spec/forms/organization_form_spec.rb +3 -3
  94. data/decidim-admin/spec/forms/participatory_process_form_spec.rb +4 -4
  95. data/decidim-admin/spec/forms/participatory_process_step_form_spec.rb +1 -1
  96. data/decidim-admin/spec/forms/participatory_process_user_role_form_spec.rb +1 -1
  97. data/decidim-admin/spec/forms/scope_form_spec.rb +1 -1
  98. data/decidim-admin/spec/helpers/aria_selected_link_to_helper_spec.rb +1 -0
  99. data/decidim-admin/spec/helpers/feature_settings_helper_spec.rb +1 -0
  100. data/decidim-admin/spec/jobs/newsletter_delivery_job_spec.rb +2 -2
  101. data/decidim-admin/spec/queries/process_admins_spec.rb +1 -1
  102. data/decidim-admin/spec/shared/manage_process_admins_examples.rb +2 -2
  103. data/decidim-admin/spec/shared/manage_process_categories_examples.rb +3 -3
  104. data/decidim-admin/spec/shared/manage_process_steps_examples.rb +5 -5
  105. data/decidim-admin/spec/shared/manage_processes_examples.rb +4 -4
  106. data/decidim-admin/spec/shared/participatory_admin_shared_context.rb +1 -0
  107. data/decidim-admin/spec/spec_helper.rb +1 -0
  108. data/decidim-admin/spec/views/decidim/static_pages/_form.html.erb_spec.rb +1 -0
  109. data/decidim-api/app/controllers/decidim/api/application_controller.rb +1 -1
  110. data/decidim-api/decidim-api.gemspec +1 -1
  111. data/decidim-api/spec/factories.rb +1 -0
  112. data/decidim-api/spec/spec_helper.rb +1 -0
  113. data/decidim-budgets/app/queries/decidim/budgets/filtered_projects.rb +36 -0
  114. data/decidim-budgets/config/locales/ca.yml +1 -0
  115. data/decidim-budgets/config/locales/en.yml +1 -0
  116. data/decidim-budgets/config/locales/es.yml +1 -0
  117. data/decidim-budgets/config/locales/fr.yml +35 -3
  118. data/decidim-budgets/decidim-budgets.gemspec +2 -2
  119. data/decidim-budgets/lib/decidim/budgets/feature.rb +9 -0
  120. data/decidim-budgets/spec/commands/add_line_item_spec.rb +6 -9
  121. data/decidim-budgets/spec/commands/cancel_order_spec.rb +3 -1
  122. data/decidim-budgets/spec/commands/checkout_spec.rb +3 -1
  123. data/decidim-budgets/spec/commands/create_project_spec.rb +4 -3
  124. data/decidim-budgets/spec/commands/remove_line_item_spec.rb +2 -1
  125. data/decidim-budgets/spec/commands/update_project_spec.rb +4 -3
  126. data/decidim-budgets/spec/factories.rb +1 -0
  127. data/decidim-budgets/spec/features/orders_spec.rb +24 -24
  128. data/decidim-budgets/spec/forms/project_form_spec.rb +1 -0
  129. data/decidim-budgets/spec/models/project_spec.rb +1 -1
  130. data/decidim-budgets/spec/queries/decidim/budgets/filtered_projects_spec.rb +21 -0
  131. data/decidim-budgets/spec/services/project_search_spec.rb +4 -3
  132. data/decidim-budgets/spec/shared/admin_shared_context.rb +1 -0
  133. data/decidim-budgets/spec/shared/manage_attachments_examples.rb +1 -0
  134. data/decidim-budgets/spec/spec_helper.rb +1 -0
  135. data/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +0 -0
  136. data/decidim-comments/app/commands/decidim/comments/create_comment.rb +8 -2
  137. data/decidim-comments/app/frontend/application/application.component.tsx +3 -3
  138. data/decidim-comments/app/frontend/application/icon.component.tsx +1 -1
  139. data/decidim-comments/app/frontend/comments/add_comment_form.component.tsx +7 -7
  140. data/decidim-comments/app/frontend/comments/comment.component.test.tsx +7 -7
  141. data/decidim-comments/app/frontend/comments/comment.component.tsx +6 -6
  142. data/decidim-comments/app/frontend/comments/comment_thread.component.tsx +2 -2
  143. data/decidim-comments/app/frontend/comments/comments.component.test.tsx +5 -5
  144. data/decidim-comments/app/frontend/comments/comments.component.tsx +6 -6
  145. data/decidim-comments/app/frontend/comments/down_vote_button.component.test.tsx +4 -4
  146. data/decidim-comments/app/frontend/comments/down_vote_button.component.tsx +3 -3
  147. data/decidim-comments/app/frontend/comments/up_vote_button.component.test.tsx +4 -4
  148. data/decidim-comments/app/frontend/comments/up_vote_button.component.tsx +3 -3
  149. data/decidim-comments/app/frontend/comments/vote_button.component.tsx +1 -1
  150. data/decidim-comments/app/frontend/comments/vote_button_component.test.tsx +2 -2
  151. data/decidim-comments/app/frontend/entry.ts +2 -2
  152. data/decidim-comments/app/frontend/support/generate_comments_data.ts +2 -2
  153. data/decidim-comments/app/frontend/support/load_translations.ts +2 -2
  154. data/decidim-comments/app/frontend/support/resolve_graphql_query.ts +1 -1
  155. data/decidim-comments/app/mailers/decidim/comments/comment_notification_mailer.rb +1 -1
  156. data/decidim-comments/app/models/decidim/comments/comment.rb +3 -8
  157. data/decidim-comments/app/models/decidim/comments/seed.rb +1 -0
  158. data/decidim-comments/config/locales/fr.yml +62 -1
  159. data/decidim-comments/db/migrate/20170504085413_add_root_commentable_to_comments.rb +7 -0
  160. data/decidim-comments/db/migrate/20170510091348_update_root_commentable_for_comments.rb +22 -0
  161. data/decidim-comments/db/migrate/20170510091409_set_root_commentable_null_constraints.rb +6 -0
  162. data/decidim-comments/db/seeds.rb +4 -2
  163. data/decidim-comments/lib/decidim/comments/engine.rb +8 -0
  164. data/decidim-comments/lib/decidim/comments/test/factories.rb +1 -0
  165. data/decidim-comments/spec/commands/create_comment_spec.rb +13 -6
  166. data/decidim-comments/spec/commands/vote_comment_spec.rb +2 -6
  167. data/decidim-comments/spec/factories.rb +1 -0
  168. data/decidim-comments/spec/features/notifications_spec.rb +4 -4
  169. data/decidim-comments/spec/features/process_admin_manages_comments_spec.rb +1 -1
  170. data/decidim-comments/spec/features/report_comment_spec.rb +4 -2
  171. data/decidim-comments/spec/helpers/comments_helper_spec.rb +3 -3
  172. data/decidim-comments/spec/mailers/comment_notification_mailer_spec.rb +2 -1
  173. data/decidim-comments/spec/models/comment_spec.rb +5 -9
  174. data/decidim-comments/spec/models/comment_vote_spec.rb +3 -3
  175. data/decidim-comments/spec/models/seed_spec.rb +1 -1
  176. data/decidim-comments/spec/queries/sorted_comments_spec.rb +5 -5
  177. data/decidim-comments/spec/shared/admin_shared_context.rb +1 -0
  178. data/decidim-comments/spec/spec_helper.rb +1 -0
  179. data/decidim-comments/spec/types/comment_mutation_type_spec.rb +4 -12
  180. data/decidim-comments/spec/types/comment_type_spec.rb +4 -5
  181. data/decidim-comments/spec/types/commentable_mutation_type_spec.rb +2 -2
  182. data/decidim-comments/spec/types/mutation_type_spec.rb +4 -6
  183. data/decidim-comments/spec/types/query_type_spec.rb +1 -1
  184. data/decidim-dev/decidim-dev.gemspec +6 -6
  185. data/decidim-dev/lib/decidim/dev/common_rake.rb +5 -1
  186. data/decidim-dev/lib/decidim/dev/railtie.rb +1 -0
  187. data/decidim-dev/lib/decidim/dev/test/base_spec_helper.rb +0 -2
  188. data/decidim-dev/lib/decidim/dev/test/rspec_support/geocoder.rb +4 -3
  189. data/decidim-dev/lib/decidim/dev/test/rspec_support/i18n.rb +2 -2
  190. data/decidim-dev/lib/decidim/dev/test/rspec_support/webmock.rb +1 -0
  191. data/decidim-dev/lib/generators/decidim/dummy_generator.rb +1 -1
  192. data/decidim-dev/lib/generators/decidim/templates/autoprefixer_initializer.rb +4 -3
  193. data/decidim-dev/lib/tasks/test_app.rake +1 -0
  194. data/decidim-meetings/app/controllers/decidim/meetings/meeting_widgets_controller.rb +1 -0
  195. data/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb +8 -8
  196. data/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb +9 -9
  197. data/decidim-meetings/app/models/decidim/meetings/meeting.rb +1 -1
  198. data/decidim-meetings/app/views/decidim/meetings/meeting_widgets/show.html.erb +8 -17
  199. data/decidim-meetings/config/locales/fr.yml +95 -1
  200. data/decidim-meetings/lib/decidim/meetings/feature.rb +7 -0
  201. data/decidim-meetings/spec/commands/close_meeting_spec.rb +2 -1
  202. data/decidim-meetings/spec/commands/create_meeting_spec.rb +6 -5
  203. data/decidim-meetings/spec/commands/update_meeting_spec.rb +6 -5
  204. data/decidim-meetings/spec/factories.rb +1 -0
  205. data/decidim-meetings/spec/features/explore_meetings_spec.rb +2 -1
  206. data/decidim-meetings/spec/forms/close_meeting_form_spec.rb +1 -0
  207. data/decidim-meetings/spec/forms/meeting_form_spec.rb +5 -3
  208. data/decidim-meetings/spec/services/meeting_search_spec.rb +3 -2
  209. data/decidim-meetings/spec/shared/admin_shared_context.rb +1 -0
  210. data/decidim-meetings/spec/shared/manage_attachments_examples.rb +1 -1
  211. data/decidim-meetings/spec/shared/manage_meetings_examples.rb +21 -20
  212. data/decidim-meetings/spec/spec_helper.rb +1 -0
  213. data/decidim-pages/config/locales/fr.yml +18 -1
  214. data/decidim-pages/decidim-pages.gemspec +1 -1
  215. data/decidim-pages/lib/decidim/pages/feature.rb +7 -0
  216. data/decidim-pages/spec/commands/create_page_spec.rb +1 -3
  217. data/decidim-pages/spec/factories.rb +1 -0
  218. data/decidim-pages/spec/spec_helper.rb +1 -0
  219. data/decidim-proposals/app/commands/decidim/proposals/create_proposal_export.rb +36 -0
  220. data/decidim-proposals/app/controllers/decidim/proposals/admin/exports_controller.rb +24 -0
  221. data/decidim-proposals/app/controllers/decidim/proposals/proposal_votes_controller.rb +3 -1
  222. data/decidim-proposals/app/controllers/decidim/proposals/proposal_widgets_controller.rb +0 -5
  223. data/decidim-proposals/app/controllers/decidim/proposals/proposals_controller.rb +0 -1
  224. data/decidim-proposals/app/jobs/decidim/proposals/export_job.rb +21 -0
  225. data/decidim-proposals/app/models/decidim/proposals/proposal.rb +1 -1
  226. data/decidim-proposals/app/queries/decidim/proposals/filtered_proposals.rb +36 -0
  227. data/decidim-proposals/app/services/decidim/proposals/proposal_serializer.rb +72 -0
  228. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/index.html.erb +15 -3
  229. data/decidim-proposals/app/views/decidim/proposals/proposal_widgets/show.html.erb +4 -25
  230. data/decidim-proposals/config/locales/ca.yml +4 -0
  231. data/decidim-proposals/config/locales/en.yml +6 -1
  232. data/decidim-proposals/config/locales/es.yml +4 -0
  233. data/decidim-proposals/config/locales/fr.yml +146 -1
  234. data/decidim-proposals/decidim-proposals.gemspec +2 -2
  235. data/decidim-proposals/lib/decidim/proposals/admin_engine.rb +5 -0
  236. data/decidim-proposals/lib/decidim/proposals/feature.rb +14 -0
  237. data/decidim-proposals/spec/factories.rb +1 -0
  238. data/decidim-proposals/spec/features/admin_manages_proposals_spec.rb +1 -0
  239. data/decidim-proposals/spec/features/process_admin_manages_proposals_spec.rb +1 -0
  240. data/decidim-proposals/spec/features/proposals_spec.rb +29 -28
  241. data/decidim-proposals/spec/features/report_proposal_spec.rb +2 -2
  242. data/decidim-proposals/spec/features/vote_proposal_spec.rb +36 -32
  243. data/decidim-proposals/spec/helpers/proposal_order_helper_spec.rb +3 -3
  244. data/decidim-proposals/spec/jobs/export_job_spec.rb +57 -0
  245. data/decidim-proposals/spec/lib/decidim/proposals/feature_spec.rb +1 -0
  246. data/decidim-proposals/spec/models/decidim/proposals/proposal_vote_spec.rb +3 -3
  247. data/decidim-proposals/spec/queries/decidim/proposals/filtered_proposals_spec.rb +21 -0
  248. data/decidim-proposals/spec/services/decidim/proposals/proposal_search_spec.rb +12 -12
  249. data/decidim-proposals/spec/services/decidim/proposals/proposal_serializer_spec.rb +71 -0
  250. data/decidim-proposals/spec/shared/admin_shared_context.rb +1 -0
  251. data/decidim-proposals/spec/shared/create_proposal_examples.rb +4 -3
  252. data/decidim-proposals/spec/shared/export_proposals_examples.rb +37 -0
  253. data/decidim-proposals/spec/shared/manage_proposals_examples.rb +12 -11
  254. data/decidim-proposals/spec/shared/proposal_form_examples.rb +9 -8
  255. data/decidim-proposals/spec/spec_helper.rb +1 -0
  256. data/decidim-results/app/controllers/decidim/results/result_widgets_controller.rb +1 -0
  257. data/decidim-results/app/controllers/decidim/results/results_controller.rb +1 -1
  258. data/decidim-results/app/queries/decidim/results/filtered_results.rb +36 -0
  259. data/decidim-results/app/services/decidim/results/result_stats_calculator.rb +1 -1
  260. data/decidim-results/app/views/decidim/results/result_widgets/show.html.erb +2 -10
  261. data/decidim-results/config/locales/fr.yml +75 -1
  262. data/decidim-results/decidim-results.gemspec +2 -2
  263. data/decidim-results/lib/decidim/results/feature.rb +9 -0
  264. data/decidim-results/spec/commands/create_result_spec.rb +4 -3
  265. data/decidim-results/spec/commands/update_result_spec.rb +5 -4
  266. data/decidim-results/spec/controllers/results_controller_spec.rb +31 -0
  267. data/decidim-results/spec/factories.rb +1 -0
  268. data/decidim-results/spec/features/explore_results_spec.rb +75 -74
  269. data/decidim-results/spec/forms/result_form_spec.rb +2 -1
  270. data/decidim-results/spec/queries/decidim/results/filtered_results_spec.rb +21 -0
  271. data/decidim-results/spec/services/result_search_spec.rb +4 -3
  272. data/decidim-results/spec/services/result_stats_calculator_spec.rb +1 -0
  273. data/decidim-results/spec/shared/admin_shared_context.rb +1 -0
  274. data/decidim-results/spec/spec_helper.rb +1 -0
  275. data/decidim-system/config/locales/fr.yml +64 -1
  276. data/decidim-system/decidim-system.gemspec +3 -3
  277. data/decidim-system/spec/factories.rb +1 -0
  278. data/decidim-system/spec/spec_helper.rb +1 -0
  279. data/docs/how_to_create_a_plugin.md +117 -139
  280. data/lib/generators/decidim/install_generator.rb +1 -1
  281. data/package.json +30 -31
  282. data/tslint.json +1 -2
  283. data/webpack.config.js +2 -3
  284. data/yarn.lock +976 -1326
  285. metadata +68 -31
  286. data/decidim-admin/yarn.lock +0 -4
  287. data/decidim-api/.gitignore +0 -7
  288. data/decidim-budgets/.gitignore +0 -7
  289. data/decidim-meetings/.gitignore +0 -7
  290. data/decidim-pages/.gitignore +0 -3
  291. data/decidim-proposals/.gitignore +0 -3
  292. data/decidim-results/.gitignore +0 -7
@@ -2,4 +2,7 @@ nl:
2
2
  activemodel:
3
3
  attributes:
4
4
  attachment:
5
- description: Beschrijving
5
+ description: Beschrijving
6
+ time:
7
+ formats:
8
+ timepicker: "%d/%m/%Y %H:%M"
@@ -11,16 +11,16 @@ Gem::Specification.new do |s|
11
11
  s.name = "decidim-admin"
12
12
  s.summary = "Organization administration"
13
13
  s.description = "Organization administration to manage a single organization."
14
- s.files = Dir["{app,config,db,lib,vendor}/**/*", "LICENSE.txt", "Rakefile", "README.md"]
14
+ s.files = Dir["{app,config,db,lib,vendor}/**/*", "Rakefile", "README.md"]
15
15
 
16
16
  s.add_dependency "decidim-core", Decidim.version
17
17
  s.add_dependency "rails", *Decidim.rails_version
18
18
  s.add_dependency "devise", "~> 4.2"
19
19
  s.add_dependency "devise-i18n", "~> 1.1.0"
20
- s.add_dependency "rectify", "~> 0.8.0"
20
+ s.add_dependency "rectify", "~> 0.9.1"
21
21
  s.add_dependency "devise_invitable", "~> 1.7.0"
22
22
  s.add_dependency "sassc-rails", "~> 1.3.0"
23
- s.add_dependency "jquery-rails", "~> 4.2.2"
23
+ s.add_dependency "jquery-rails", "~> 4.3.1"
24
24
  s.add_dependency "foundation_rails_helper", "~> 3.0.0.rc"
25
25
  s.add_dependency "active_link_to", "~> 1.0.0"
26
26
  s.add_dependency "carrierwave", "~> 1.0.0.rc"
@@ -63,7 +63,7 @@ RSpec.shared_examples "manage attachments examples" do
63
63
 
64
64
  it "can delete an attachment from a process" do
65
65
  within find("tr", text: stripped(translated(attachment.title))) do
66
- page.find('a.action-icon--remove').click
66
+ page.find("a.action-icon--remove").click
67
67
  end
68
68
 
69
69
  within ".callout-wrapper" do
@@ -76,7 +76,7 @@ RSpec.shared_examples "manage attachments examples" do
76
76
  it "can update an attachment" do
77
77
  within "#attachments" do
78
78
  within find("tr", text: stripped(translated(attachment.title))) do
79
- page.find('a.action-icon--edit').click
79
+ page.find("a.action-icon--edit").click
80
80
  end
81
81
  end
82
82
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::ActivateParticipatoryProcessStep do
@@ -24,7 +24,7 @@ module Decidim
24
24
  form_params,
25
25
  current_process: participatory_process
26
26
  ).with_context(
27
- current_organization: organization,
27
+ current_organization: organization
28
28
  )
29
29
  end
30
30
  let(:command) { described_class.new(form, participatory_process) }
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  module Decidim
@@ -5,7 +6,8 @@ module Decidim
5
6
  describe CreateFeature do
6
7
  let(:manifest) { Decidim.find_feature_manifest(:dummy) }
7
8
  let(:form) do
8
- instance_double(FeatureForm,
9
+ instance_double(
10
+ FeatureForm,
9
11
  name: {
10
12
  en: "My feature",
11
13
  ca: "La meva funcionalitat",
@@ -33,9 +35,9 @@ module Decidim
33
35
  let(:valid) { true }
34
36
 
35
37
  it "broadcasts :ok and creates the feature" do
36
- expect {
38
+ expect do
37
39
  CreateFeature.call(manifest, form, participatory_process)
38
- }.to broadcast(:ok)
40
+ end.to broadcast(:ok)
39
41
 
40
42
  expect(participatory_process.features).not_to be_empty
41
43
 
@@ -67,9 +69,9 @@ module Decidim
67
69
  let(:valid) { false }
68
70
 
69
71
  it "creates the feature" do
70
- expect {
72
+ expect do
71
73
  CreateFeature.call(manifest, form, participatory_process)
72
- }.to broadcast(:invalid)
74
+ end.to broadcast(:invalid)
73
75
 
74
76
  expect(participatory_process.features).to be_empty
75
77
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::CreateParticipatoryProcessAdmin do
@@ -9,7 +10,7 @@ describe Decidim::Admin::CreateParticipatoryProcessAdmin do
9
10
  let!(:current_user) { create :user, email: "some_email@example.org", organization: my_process.organization }
10
11
  let(:form) do
11
12
  double(
12
- :invalid? => invalid,
13
+ invalid?: invalid,
13
14
  email: email,
14
15
  role: role,
15
16
  name: name
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::CreateParticipatoryProcess do
@@ -6,18 +7,25 @@ describe Decidim::Admin::CreateParticipatoryProcess do
6
7
  let(:scope) { create :scope, organization: organization }
7
8
  let(:errors) { double.as_null_object }
8
9
  let(:form) do
9
- double(
10
- :invalid? => invalid,
11
- title: {en: "title"},
12
- subtitle: {en: "subtitle"},
10
+ instance_double(
11
+ Decidim::Admin::ParticipatoryProcessForm,
12
+ invalid?: invalid,
13
+ title: { en: "title" },
14
+ subtitle: { en: "subtitle" },
13
15
  slug: "slug",
14
16
  hashtag: "hashtag",
15
17
  meta_scope: "meta scope",
16
18
  hero_image: nil,
17
19
  banner_image: nil,
18
20
  promoted: nil,
19
- description: {en: "description"},
20
- short_description: {en: "short_description"},
21
+ developer_group: "developer group",
22
+ local_area: "local",
23
+ target: "target",
24
+ participatory_scope: "participatory scope",
25
+ participatory_structure: "participatory structure",
26
+ end_date: nil,
27
+ description: { en: "description" },
28
+ short_description: { en: "short_description" },
21
29
  current_organization: organization,
22
30
  scope: scope,
23
31
  errors: errors,
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::CreateScope do
4
5
  let(:organization) { create :organization }
5
- let(:name) { "My scope"}
6
+ let(:name) { "My scope" }
6
7
  let(:form) do
7
8
  double(
8
- :invalid? => invalid,
9
+ invalid?: invalid,
9
10
  name: name,
10
11
  organization: organization
11
12
  )
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::DeactivateParticipatoryProcessStep do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  module Decidim
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::DestroyParticipatoryProcessStep, class: true do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::PublishParticipatoryProcess do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::ReorderParticipatoryProcessSteps do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::UnpublishParticipatoryProcess do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  module Decidim
@@ -9,7 +10,8 @@ module Decidim
9
10
  let(:manifest) { feature.manifest }
10
11
 
11
12
  let(:form) do
12
- instance_double(FeatureForm,
13
+ instance_double(
14
+ FeatureForm,
13
15
  name: {
14
16
  en: "My feature",
15
17
  ca: "La meva funcionalitat",
@@ -35,9 +37,9 @@ module Decidim
35
37
  let(:valid) { true }
36
38
 
37
39
  it "broadcasts :ok and updates the feature" do
38
- expect {
40
+ expect do
39
41
  described_class.call(form, feature)
40
- }.to broadcast(:ok)
42
+ end.to broadcast(:ok)
41
43
 
42
44
  expect(feature["name"]["en"]).to eq("My feature")
43
45
  expect(feature.weight).to eq(3)
@@ -68,9 +70,9 @@ module Decidim
68
70
  let(:valid) { false }
69
71
 
70
72
  it "creates the feature" do
71
- expect {
73
+ expect do
72
74
  described_class.call(form, feature)
73
- }.to broadcast(:invalid)
75
+ end.to broadcast(:invalid)
74
76
 
75
77
  feature.reload
76
78
  expect(feature.name["en"]).not_to eq("My feature")
@@ -11,9 +11,9 @@ module Decidim
11
11
  {
12
12
  participatory_process: {
13
13
  id: my_process.id,
14
- title_en: 'Foo title',
15
- title_ca: 'Foo title',
16
- title_es: 'Foo title',
14
+ title_en: "Foo title",
15
+ title_ca: "Foo title",
16
+ title_es: "Foo title",
17
17
  subtitle_en: my_process.subtitle,
18
18
  subtitle_ca: my_process.subtitle,
19
19
  subtitle_es: my_process.subtitle,
@@ -57,7 +57,7 @@ module Decidim
57
57
  command.call
58
58
  my_process.reload
59
59
 
60
- expect(my_process.title['en']).not_to eq("Foo title")
60
+ expect(my_process.title["en"]).not_to eq("Foo title")
61
61
  end
62
62
  end
63
63
 
@@ -90,7 +90,7 @@ module Decidim
90
90
  expect { command.call }.to broadcast(:ok)
91
91
  my_process.reload
92
92
 
93
- expect(my_process.title['en']).to eq("Foo title")
93
+ expect(my_process.title["en"]).to eq("Foo title")
94
94
  end
95
95
 
96
96
  context "when no homepage image is set" do
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Admin::UpdateScope do
4
5
  let(:organization) { create :organization }
5
6
  let(:scope) { create :scope, organization: organization }
6
- let(:name) { "My scope"}
7
+ let(:name) { "My scope" }
7
8
  let(:form) do
8
9
  double(
9
- :invalid? => invalid,
10
+ invalid?: invalid,
10
11
  name: name
11
12
  )
12
13
  end
@@ -1,2 +1,3 @@
1
+ # frozen_string_literal: true
1
2
  require "decidim/core/test/factories"
2
3
  require "decidim/admin/test/factories"
@@ -6,11 +6,11 @@ describe "Admin invite", type: :feature do
6
6
  Decidim::System::RegisterOrganizationForm.new(params)
7
7
  end
8
8
 
9
- let(:homepage_image_path) {
9
+ let(:homepage_image_path) do
10
10
  File.expand_path(
11
11
  File.join(File.dirname(__FILE__), "..", "..", "..", "decidim-dev", "spec", "support", "city.jpeg")
12
12
  )
13
- }
13
+ end
14
14
 
15
15
  let(:params) do
16
16
  {
@@ -26,8 +26,8 @@ describe "Admin invite", type: :feature do
26
26
  }
27
27
  end
28
28
 
29
- before(:each) do
30
- expect{ Decidim::System::RegisterOrganization.new(form).call }.to broadcast(:ok)
29
+ before do
30
+ expect { Decidim::System::RegisterOrganization.new(form).call }.to broadcast(:ok)
31
31
  switch_to_host("decide.lvh.me")
32
32
  end
33
33
 
@@ -42,7 +42,7 @@ describe "Admin invite", type: :feature do
42
42
  end
43
43
 
44
44
  within ".callout-wrapper" do
45
- page.find('.close-button').click
45
+ page.find(".close-button").click
46
46
  end
47
47
 
48
48
  expect(page).to have_content("DASHBOARD")
@@ -80,12 +80,12 @@ describe "Admin manages newsletters", type: :feature do
80
80
  end
81
81
 
82
82
  describe "update newsletter" do
83
- let!(:newsletter) { create(:newsletter, organization: organization)}
83
+ let!(:newsletter) { create(:newsletter, organization: organization) }
84
84
 
85
85
  it "allows a newsletter to be updated" do
86
86
  visit decidim_admin.newsletters_path
87
87
  within("tr[data-newsletter-id=\"#{newsletter.id}\"]") do
88
- page.find('.action-icon.edit').click
88
+ page.find(".action-icon.edit").click
89
89
  end
90
90
 
91
91
  within ".edit_newsletter" do
@@ -114,7 +114,7 @@ describe "Admin manages newsletters", type: :feature do
114
114
  end
115
115
 
116
116
  describe "deliver a newsletter" do
117
- let!(:newsletter) { create(:newsletter, organization: organization)}
117
+ let!(:newsletter) { create(:newsletter, organization: organization) }
118
118
 
119
119
  it "allows a newsletter to be created" do
120
120
  visit decidim_admin.newsletter_path(newsletter)
@@ -133,13 +133,13 @@ describe "Admin manages newsletters", type: :feature do
133
133
  end
134
134
 
135
135
  describe "destroy a newsletter" do
136
- let!(:newsletter) { create(:newsletter, organization: organization)}
136
+ let!(:newsletter) { create(:newsletter, organization: organization) }
137
137
 
138
138
  it "destroys a newsletter" do
139
139
  visit decidim_admin.newsletters_path
140
140
 
141
141
  within("tr[data-newsletter-id=\"#{newsletter.id}\"]") do
142
- page.find('.action-icon.action-icon--remove').click
142
+ page.find(".action-icon.action-icon--remove").click
143
143
  end
144
144
 
145
145
  expect(page).to have_content("successfully")
@@ -54,7 +54,7 @@ describe "Organization admins", type: :feature do
54
54
 
55
55
  it "can resend the invitation" do
56
56
  within "tr[data-user-id=\"#{user.id}\"]" do
57
- page.find('.action-icon.resend-invitation').click
57
+ page.find(".action-icon.resend-invitation").click
58
58
  end
59
59
 
60
60
  expect(page).to have_content("Invitation email sent successfully")
@@ -64,7 +64,7 @@ describe "Organization admins", type: :feature do
64
64
  expect(page).to have_content(other_admin.name)
65
65
 
66
66
  within "tr[data-user-id=\"#{other_admin.id}\"]" do
67
- page.find('.action-icon.action-icon--remove').click
67
+ page.find(".action-icon.action-icon--remove").click
68
68
  end
69
69
 
70
70
  expect(page).not_to have_content(other_admin.name)
@@ -2,7 +2,7 @@
2
2
  require "spec_helper"
3
3
 
4
4
  describe "Organization scopes", type: :feature do
5
- include ActionView::Helpers::SanitizeHelper
5
+ include ActionView::Helpers::SanitizeHelper
6
6
 
7
7
  let(:admin) { create :user, :admin, :confirmed }
8
8
  let(:organization) { admin.organization }
@@ -46,7 +46,7 @@ describe "Organization scopes", type: :feature do
46
46
 
47
47
  it "can edit them" do
48
48
  within find("tr", text: scope.name) do
49
- page.find('a.action-icon.action-icon--edit').click
49
+ page.find("a.action-icon.action-icon--edit").click
50
50
  end
51
51
 
52
52
  within ".edit_scope" do
@@ -65,7 +65,7 @@ describe "Organization scopes", type: :feature do
65
65
 
66
66
  it "can destroy them" do
67
67
  within find("tr", text: scope.name) do
68
- page.find('a.action-icon.action-icon--remove').click
68
+ page.find("a.action-icon.action-icon--remove").click
69
69
  end
70
70
 
71
71
  within ".callout-wrapper" do
@@ -18,17 +18,13 @@ describe "Admin manages ogranization", type: :feature do
18
18
 
19
19
  fill_in "Name", with: "My super-uber organization"
20
20
 
21
- fill_in_i18n_editor :organization_description, "#description-tabs", {
22
- en: "My own super description",
23
- es: "Mi gran descripción",
24
- ca: "La meva gran descripció"
25
- }
26
-
27
- fill_in_i18n :organization_welcome_text, "#welcome_text-tabs", {
28
- en: "My super welcome text",
29
- es: "Mi super texto de bienvenida",
30
- ca: "El meu súper text de benvinguda"
31
- }
21
+ fill_in_i18n_editor :organization_description, "#description-tabs", en: "My own super description",
22
+ es: "Mi gran descripción",
23
+ ca: "La meva gran descripció"
24
+
25
+ fill_in_i18n :organization_welcome_text, "#welcome_text-tabs", en: "My super welcome text",
26
+ es: "Mi super texto de bienvenida",
27
+ ca: "El meu súper text de benvinguda"
32
28
 
33
29
  %w(Twitter Facebook Instagram YouTube GitHub).each do |network|
34
30
  click_link network
@@ -56,7 +56,7 @@ describe "Admin manage participatory process groups", type: :feature do
56
56
 
57
57
  it "can edit them" do
58
58
  within find("tr", text: participatory_process_group.name["en"]) do
59
- page.find('.action-icon.action-icon--edit').click
59
+ page.find(".action-icon.action-icon--edit").click
60
60
  end
61
61
 
62
62
  within ".edit_participatory_process_group" do
@@ -92,7 +92,7 @@ describe "Admin manage participatory process groups", type: :feature do
92
92
 
93
93
  it "can destroy them" do
94
94
  within find("tr", text: participatory_process_group.name["en"]) do
95
- page.find('.action-icon.action-icon--remove').click
95
+ page.find(".action-icon.action-icon--remove").click
96
96
  end
97
97
 
98
98
  within ".callout-wrapper" do