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
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Results::ResultSearch do
@@ -35,7 +36,7 @@ describe Decidim::Results::ResultSearch do
35
36
  let(:default_params) { { feature: nil } }
36
37
 
37
38
  it "raises an error" do
38
- expect{ subject.results }.to raise_error(StandardError, "Missing feature")
39
+ expect { subject.results }.to raise_error(StandardError, "Missing feature")
39
40
  end
40
41
  end
41
42
  end
@@ -62,12 +63,12 @@ describe Decidim::Results::ResultSearch do
62
63
  let(:params) { default_params.merge(scope_id: [scope2.id, scope1.id]) }
63
64
 
64
65
  it "filters results by scope" do
65
- expect(subject.results).to match_array [result1,result2]
66
+ expect(subject.results).to match_array [result1, result2]
66
67
  end
67
68
  end
68
69
 
69
70
  context "when `global` is being sent" do
70
- let!(:resource_without_scope) { create(:result, feature: current_feature, scope: nil)}
71
+ let!(:resource_without_scope) { create(:result, feature: current_feature, scope: nil) }
71
72
  let(:params) { default_params.merge(scope_id: ["global"]) }
72
73
 
73
74
  it "returns resources without a scope" do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "spec_helper"
2
3
 
3
4
  describe Decidim::Results::ResultStatsCalculator do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  RSpec.shared_context "admin" do
2
3
  let(:organization) { create(:organization) }
3
4
  let!(:user) { create(:user, :admin, :confirmed, organization: organization, email: "admin@example.org") }
@@ -1,2 +1,3 @@
1
+ # frozen_string_literal: true
1
2
  ENV["ENGINE_NAME"] = File.dirname(File.dirname(__FILE__)).split("/").last
2
3
  require "decidim/dev/test/base_spec_helper"
@@ -2,4 +2,67 @@ fr:
2
2
  decidim:
3
3
  system:
4
4
  actions:
5
- destroy: Détruire
5
+ confirm_destroy: Êtes-vous sûr de vouloir supprimer cela?
6
+ destroy: Détruire
7
+ edit: Modifier
8
+ new: Nouveau
9
+ save: Sauvegarder
10
+ title: Actions
11
+ admins:
12
+ create:
13
+ error: Une erreur s'est produite lors de la création d'un nouvel administrateur.
14
+ success: Admin créé avec succès
15
+ destroy:
16
+ success: L'admin a détruit avec succès
17
+ edit:
18
+ title: Modifier l'administrateur
19
+ update: Mettre à jour
20
+ index:
21
+ title: Administrateurs
22
+ new:
23
+ create: Créer
24
+ title: Nouvel administrateur
25
+ update:
26
+ error: Une erreur s'est produite lors de la mise à jour de cet administrateur.
27
+ success: Administrateur mis à jour avec succès
28
+ default_pages:
29
+ placeholders:
30
+ content: Ajoutez du contenu pertinent à cette page en allant sur l'interface d'administration.
31
+ title: Titre par défaut pour %{page}
32
+ menu:
33
+ admins: Administrateurs
34
+ dashboard: Tableau de bord
35
+ organizations: Organisations
36
+ models:
37
+ admin:
38
+ fields:
39
+ created_at: Crée le
40
+ email: Courriel
41
+ name: Administrateur
42
+ validations:
43
+ email_uniqueness: un autre administrateur avec la même adresse email existe déjà
44
+ organization:
45
+ actions:
46
+ save_and_invite: Créer une organisation et inviter un administrateur
47
+ fields:
48
+ created_at: Crée le
49
+ name: Nom
50
+ name: Organisation
51
+ page:
52
+ name: Page
53
+ organizations:
54
+ create:
55
+ error: Une erreur s'est produite lors de la création d'une nouvelle organisation.
56
+ success: Organisation créée avec succès.
57
+ edit:
58
+ secondary_hosts_hint: Entrez chacun d'eux dans une nouvelle ligne
59
+ index:
60
+ title: Organisations
61
+ new:
62
+ secondary_hosts_hint: Entrez chacun d'eux dans une nouvelle ligne
63
+ title: Nouvelle organisation
64
+ update:
65
+ error: Une erreur s'est produite lors de la mise à jour de cette organisation.
66
+ success: Organisation mise à jour avec succès.
67
+ titles:
68
+ dashboard: Tableau de bord
@@ -12,16 +12,16 @@ Gem::Specification.new do |s|
12
12
  s.summary = "System administration"
13
13
  s.description = "System administration to create new organization in an installation."
14
14
 
15
- s.files = Dir["{app,config,db,lib,vendor}/**/*", "LICENSE.txt", "Rakefile", "README.md"]
15
+ s.files = Dir["{app,config,db,lib,vendor}/**/*", "Rakefile", "README.md"]
16
16
 
17
17
  s.add_dependency "decidim-core", Decidim.version
18
18
  s.add_dependency "rails", *Decidim.rails_version
19
19
  s.add_dependency "devise", "~> 4.2"
20
20
  s.add_dependency "devise-i18n", "~> 1.1.0"
21
- s.add_dependency "rectify", "~> 0.8.0"
21
+ s.add_dependency "rectify", "~> 0.9.1"
22
22
  s.add_dependency "devise_invitable", "~> 1.7.1"
23
23
  s.add_dependency "sassc-rails", "~> 1.3.0"
24
- s.add_dependency "jquery-rails", "~> 4.2.2"
24
+ s.add_dependency "jquery-rails", "~> 4.3.1"
25
25
  s.add_dependency "foundation_rails_helper", "~> 3.0.0.rc"
26
26
  s.add_dependency "active_link_to", "~> 1.0.0"
27
27
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "decidim/core/test/factories"
2
3
 
3
4
  FactoryGirl.define do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  ENV["ENGINE_NAME"] = File.dirname(File.dirname(__FILE__)).split("/").last
2
3
  require "decidim/dev/test/base_spec_helper"
3
4
 
@@ -1,183 +1,161 @@
1
1
  # How to create a Decidim engine
2
2
 
3
- 1. Run the following command:
4
- ```bash
5
- - rails plugin new decidim-<engine_name>
6
- ```
7
-
8
- 2. Change the `decidim-<engine_name>.gemspec` file:
9
-
10
- > Change this:
11
-
12
- ```ruby
13
- $:.push File.expand_path("../lib", __FILE__)
14
- ```
15
-
16
- > Into this:
17
-
18
- ```ruby
19
- # frozen_string_literal: true
20
- $LOAD_PATH.push File.expand_path("../lib", __FILE__)
21
- ```
22
-
23
- ---
24
-
25
- > Change this:
26
-
27
- ```ruby
28
- require "decidim/<engine_name>/version"
29
- ```
30
-
31
- > Into this:
32
-
33
- ```ruby
34
- require_relative "../decidim-core/lib/decidim/core/version"
35
- ```
36
-
37
- ---
38
-
39
- > Add this:
3
+ ## Standard way
40
4
 
41
- ```ruby
42
- Gem::Specification.new do |s|
43
- Decidim.add_default_gemspec_properties(s)
44
-
45
- s.files = Dir["{app,config,db,lib,vendor}/**/*", "LICENSE.txt", "Rakefile", "README.md"]
46
- ```
5
+ 1. Run the following command:
47
6
 
48
- ---
7
+ ```
8
+ rails plugin new decidim-<engine_name> --skip-gemfile --skip-test --skip-gemspec
9
+ ```
49
10
 
50
- > Remove this:
11
+ 1. Create a `decidim-<engine_name>.gemspec` file with this content:
51
12
 
52
- ```ruby
53
- s.version = Decidim::<EngineName>::VERSION
54
- s.authors = [""]
55
- s.email = [""]
56
- s.homepage = "TODO"
57
- s.license = "MIT"
58
- ```
13
+ ```ruby
14
+ # frozen_string_literal: true
15
+ $LOAD_PATH.push File.expand_path("../lib", __FILE__)
59
16
 
60
- ---
17
+ require_relative "../decidim-core/lib/decidim/core/version"
61
18
 
62
- > Add this:
19
+ Gem::Specification.new do |s|
20
+ Decidim.add_default_gemspec_properties(s)
63
21
 
64
- ```ruby
65
- s.add_dependency "decidim-core", Decidim.version
66
- ```
22
+ s.files = Dir["{app,config,db,lib,vendor}/**/*", "Rakefile", "README.md"]
67
23
 
68
- ---
24
+ s.add_dependency "decidim-core", Decidim.version
25
+ s.add_dependency "rails", *Decidim.rails_version
69
26
 
70
- > Remove this:
27
+ s.add_development_dependency "decidim-dev", Decidim.version
71
28
 
72
- ```ruby
73
- s.add_dependency "rails", "~> 5.0.0", ">= 5.0.0.1"
74
- s.add_development_dependency "sqlite3"
75
- ```
29
+ # Add more dependencies as needed:
30
+ s.add_dependency "foundation-rails", "~> 6.2.4.0"
31
+ s.add_dependency "autoprefixer-rails", ["~> 6.7", ">= 6.7.4"]
32
+ s.add_dependency "sass-rails", "~> 5.0.0"
33
+ s.add_dependency "jquery-rails", "~> 4.0"
34
+ s.add_dependency "foundation_rails_helper", "~> 2.0.0"
35
+ end
36
+ ```
76
37
 
77
- > And add this instead:
38
+ 1. Remove `bin/test` and add `bin/rails` with this content:
78
39
 
79
- ```ruby
80
- s.add_dependency "rails", *Decidim.rails_version
81
- s.add_development_dependency "decidim-dev", Decidim.version
82
- ```
40
+ ```ruby
41
+ #!/usr/bin/env ruby
42
+ # frozen_string_literal: true
43
+ # This command will automatically be run when you run "rails" with Rails gems
44
+ # installed from the root of your application.
83
45
 
84
- ---
46
+ ENGINE_ROOT = File.expand_path("../..", __FILE__)
47
+ ENGINE_PATH = File.expand_path("../../lib/decidim/<engine_name>/engine", __FILE__)
85
48
 
86
- > Add more dependencies as needed:
49
+ # Set up gems listed in the Gemfile.
50
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", __FILE__)
51
+ require "bundler/setup" if File.exist?(ENV["BUNDLE_GEMFILE"])
87
52
 
88
- ```ruby
89
- s.add_dependency "foundation-rails", "~> 6.2.4.0"
90
- s.add_dependency "autoprefixer-rails", ["~> 6.7", ">= 6.7.4"]
91
- s.add_dependency "sass-rails", "~> 5.0.0"
92
- s.add_dependency "jquery-rails", "~> 4.0"
93
- s.add_dependency "foundation_rails_helper", "~> 2.0.0"
94
- ```
53
+ require "rails/all"
54
+ require "rails/engine/commands"
55
+ ```
95
56
 
96
- ---
57
+ 1. Change `lib/decidim/<engine_name>.rb`
97
58
 
98
- 3. Replace `Gemfile` content with this:
59
+ Add this
99
60
 
100
- ```ruby
101
- source 'https://rubygems.org'
61
+ ```ruby
62
+ # frozen_string_literal: true
63
+ require "decidim/<engine_name>/engine"
64
+ ```
102
65
 
103
- gem 'decidim', path: '..'
104
- gemspec
66
+ 1. Remove `lib/decidim/<engine_name>/version.rb`
105
67
 
106
- eval(File.read(File.join(File.dirname(__FILE__), "..", "Gemfile.common")))
107
- ```
68
+ 1. Add `lib/decidim/<engine_name>/engine.rb` with this:
108
69
 
109
- 4. Remove `test` folder
70
+ ```ruby
71
+ # frozen_string_literal: true
72
+ require "rails"
73
+ require "active_support/all"
110
74
 
111
- 5. Remove `bin/test` and add `bin/rails` with this content:
75
+ require "decidim/core"
76
+ require "jquery-rails"
77
+ require "sass-rails"
78
+ require "foundation-rails"
79
+ require "foundation_rails_helper"
80
+ require "autoprefixer-rails"
112
81
 
113
- ```ruby
114
- #!/usr/bin/env ruby
115
- # frozen_string_literal: true
116
- # This command will automatically be run when you run "rails" with Rails gems
117
- # installed from the root of your application.
82
+ module Decidim
83
+ module <EngineName>
84
+ # Decidim's core Rails Engine.
85
+ class Engine < ::Rails::Engine
86
+ isolate_namespace Decidim::<EngineName>
118
87
 
119
- ENGINE_ROOT = File.expand_path("../..", __FILE__)
120
- ENGINE_PATH = File.expand_path("../../lib/decidim/<engine_name>/engine", __FILE__)
88
+ initializer "decidim_<engine_name>.assets" do |app|
89
+ app.config.assets.precompile += %w(decidim_<engine_name>_manifest.js)
90
+ end
91
+ end
92
+ end
93
+ end
94
+ ```
121
95
 
122
- # Set up gems listed in the Gemfile.
123
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", __FILE__)
124
- require "bundler/setup" if File.exist?(ENV["BUNDLE_GEMFILE"])
96
+ 1. Add `lib/decidim/<engine_name>/feature.rb` with this:
125
97
 
126
- require "rails/all"
127
- require "rails/engine/commands"
128
- ```
98
+ ```ruby
99
+ # frozen_string_literal: true
129
100
 
130
- 6. Change `lib/decidim/<engine_name>.rb`
101
+ require_dependency "decidim/features/namer"
131
102
 
132
- > Add this
103
+ Decidim.register_feature(:<engine_name>) do |feature|
104
+ feature.engine = Decidim::<EngineName>::Engine
105
+ feature.admin_engine = Decidim::<EngineName>::AdminEngine
106
+ feature.icon = "decidim/<engine_name>/icon.svg"
133
107
 
134
- ```ruby
135
- # frozen_string_literal: true
136
- require "decidim/<engine_name>/engine"
137
- ```
108
+ feature.on(:before_destroy) do |instance|
109
+ # Code executed before removing the feature
110
+ end
138
111
 
139
- 7. Remove `lib/decidim/<engine_name>/version.rb`
112
+ # These actions permissions can be configured in the admin panel
113
+ feature.actions = %w()
140
114
 
141
- 8. Add `lib/decidim/<engine_name>/engine.rb` with this:
115
+ feature.settings(:global) do |settings|
116
+ # Add your global settings
117
+ # Available types: :integer, :boolean
118
+ # settings.attribute :vote_limit, type: :integer, default: 0
119
+ end
142
120
 
143
- ```ruby
144
- # frozen_string_literal: true
145
- require "rails"
146
- require "active_support/all"
121
+ feature.settings(:step) do |settings|
122
+ # Add your settings per step
123
+ end
147
124
 
148
- require "decidim/core"
149
- require "jquery-rails"
150
- require "sass-rails"
151
- require "foundation-rails"
152
- require "foundation_rails_helper"
153
- require "autoprefixer-rails"
125
+ feature.register_resource do |resource|
126
+ # Register a optional resource that can be references from other resources.
127
+ # resource.model_class_name = "Decidim::<EngineName>::<ResourceName>"
128
+ # resource.template = "decidim/<engine_name>/<resource_view_folder>/linked_<resource_name_plural>"
129
+ end
154
130
 
155
- module Decidim
156
- module <EngineName>
157
- # Decidim's core Rails Engine.
158
- class Engine < ::Rails::Engine
159
- isolate_namespace Decidim::<EngineName>
131
+ feature.register_stat :some_stat do |features, start_at, end_at|
132
+ # Register some stat number to the application
133
+ end
160
134
 
161
- initializer "decidim_<engine_name>.assets" do |app|
162
- app.config.assets.precompile += %w(decidim_<engine_name>_manifest.js)
135
+ feature.seeds do
136
+ # Add some seeds for this feature
163
137
  end
164
138
  end
165
- end
166
- end
167
- ```
139
+ ```
140
+
141
+ 1. Replace `Rakefile` with:
142
+
143
+ ```ruby
144
+ # frozen_string_literal: true
145
+ require "decidim/common_rake"
146
+ ```
168
147
 
169
- 9. Replace `Rakefile` with:
148
+ 1. Remove `MIT-LICENSE` and change `README`
170
149
 
171
- ```ruby
172
- # frozen_string_literal: true
173
- require "decidim/common_rake"
174
- ```
150
+ 1. Add `spec/spec_helper.rb` with:
175
151
 
176
- 10. Remove `license` and change `README`
152
+ ```ruby
153
+ ENV["ENGINE_NAME"] = File.dirname(File.dirname(__FILE__)).split("/").last
154
+ require "decidim/test/base_spec_helper"
155
+ ```
177
156
 
178
- 11. Add `spec/spec_helper.rb` with:
157
+ ## Experimental way
179
158
 
180
- ```ruby
181
- ENV["ENGINE_NAME"] = File.dirname(File.dirname(__FILE__)).split("/").last
182
- require "decidim/test/base_spec_helper"
183
- ```
159
+ Plugin creation is being automated in
160
+ [decidim-generators](https://github.com/codegram/decidim-generators). It's in an
161
+ early stage, but you might want to give it a try.
@@ -54,7 +54,7 @@ Decidim.seed!
54
54
 
55
55
  def append_assets
56
56
  append_file "app/assets/javascripts/application.js", "//= require decidim"
57
- gsub_file "app/assets/javascripts/application.js", /\/\/= require turbolinks\n/, ""
57
+ gsub_file "app/assets/javascripts/application.js", %r{//= require turbolinks\n}, ""
58
58
  inject_into_file "app/assets/stylesheets/application.css",
59
59
  before: "*= require_tree ." do
60
60
  "*= require decidim\n "