decidim 0.0.5 → 0.0.6
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.
- checksums.yaml +4 -4
- data/.eslintrc.json +2 -1
- data/Gemfile.lock +121 -112
- data/README.md +28 -10
- data/Rakefile +1 -1
- data/decidim-admin/README.md +1 -1
- data/decidim-admin/app/assets/stylesheets/decidim/admin/_sidebar.scss +30 -1
- data/decidim-admin/app/assets/stylesheets/decidim/admin/_tables.scss +3 -0
- data/decidim-admin/app/assets/stylesheets/decidim/admin/application.scss +3 -0
- data/decidim-admin/app/commands/decidim/admin/create_participatory_process.rb +4 -1
- data/decidim-admin/app/commands/decidim/admin/create_participatory_process_admin.rb +26 -7
- data/decidim-admin/app/commands/decidim/admin/create_participatory_process_group.rb +54 -0
- data/decidim-admin/app/commands/decidim/admin/create_participatory_process_step.rb +0 -1
- data/decidim-admin/app/commands/decidim/admin/destroy_participatory_process_step.rb +3 -1
- data/decidim-admin/app/commands/decidim/admin/hide_resource.rb +37 -0
- data/decidim-admin/app/commands/decidim/admin/reorder_participatory_process_steps.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/unreport_resource.rb +33 -0
- data/decidim-admin/app/commands/decidim/admin/update_participatory_process.rb +4 -2
- data/decidim-admin/app/commands/decidim/admin/update_participatory_process_group.rb +57 -0
- data/decidim-admin/app/commands/decidim/admin/update_participatory_process_step.rb +1 -2
- data/decidim-admin/app/controllers/decidim/admin/application_controller.rb +4 -0
- data/decidim-admin/app/controllers/decidim/admin/categories_controller.rb +1 -1
- data/decidim-admin/app/controllers/decidim/admin/feature_permissions_controller.rb +2 -2
- data/decidim-admin/{lib → app/controllers}/decidim/admin/features/base_controller.rb +0 -0
- data/decidim-admin/app/controllers/decidim/admin/moderations_controller.rb +64 -0
- data/decidim-admin/app/controllers/decidim/admin/newsletters_controller.rb +1 -1
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_groups_controller.rb +86 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_publications_controller.rb +1 -1
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_step_activations_controller.rb +1 -1
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_step_ordering_controller.rb +1 -1
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_steps_controller.rb +1 -1
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_user_roles_controller.rb +3 -3
- data/decidim-admin/app/controllers/decidim/admin/participatory_processes_controller.rb +3 -2
- data/decidim-admin/app/forms/decidim/admin/organization_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/participatory_process_form.rb +12 -1
- data/decidim-admin/app/forms/decidim/admin/participatory_process_group_form.rb +23 -0
- data/decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb +0 -1
- data/decidim-admin/app/forms/decidim/admin/participatory_process_user_role_form.rb +5 -1
- data/decidim-admin/app/helpers/decidim/admin/application_helper.rb +1 -0
- data/decidim-admin/app/helpers/decidim/admin/process_groups_for_select_helper.rb +20 -0
- data/decidim-admin/app/helpers/decidim/admin/processes_for_select_helper.rb +22 -0
- data/decidim-admin/app/models/decidim/admin/abilities/admin_user.rb +2 -0
- data/decidim-admin/app/models/decidim/admin/abilities/participatory_process_admin.rb +4 -0
- data/decidim-admin/app/models/decidim/admin/participatory_process_user_role.rb +1 -1
- data/decidim-admin/app/queries/decidim/admin/process_admins.rb +43 -0
- data/decidim-admin/app/views/decidim/admin/moderations/index.html.erb +65 -0
- data/decidim-admin/app/views/decidim/admin/organization/_form.html.erb +4 -0
- data/decidim-admin/app/views/decidim/admin/participatory_process_groups/_form.html.erb +17 -0
- data/decidim-admin/app/views/decidim/admin/participatory_process_groups/edit.html.erb +13 -0
- data/decidim-admin/app/views/decidim/admin/participatory_process_groups/index.html.erb +38 -0
- data/decidim-admin/app/views/decidim/admin/participatory_process_groups/new.html.erb +11 -0
- data/decidim-admin/app/views/decidim/admin/participatory_process_groups/show.html.erb +23 -0
- data/decidim-admin/app/views/decidim/admin/participatory_process_steps/_form.html.erb +0 -4
- data/decidim-admin/app/views/decidim/admin/participatory_process_steps/show.html.erb +4 -5
- data/decidim-admin/app/views/decidim/admin/participatory_process_user_roles/index.html.erb +27 -24
- data/decidim-admin/app/views/decidim/admin/participatory_processes/_form.html.erb +10 -1
- data/decidim-admin/app/views/decidim/admin/participatory_processes/show.html.erb +15 -1
- data/decidim-admin/app/views/layouts/decidim/admin/_header.html.erb +1 -0
- data/decidim-admin/app/views/layouts/decidim/admin/_language_chooser.html.erb +14 -0
- data/decidim-admin/app/views/layouts/decidim/admin/_sidebar.html.erb +2 -0
- data/decidim-admin/app/views/layouts/decidim/admin/participatory_process.html.erb +5 -0
- data/decidim-admin/config/i18n-tasks.yml +3 -1
- data/decidim-admin/config/locales/ca.yml +83 -3
- data/decidim-admin/config/locales/en.yml +81 -1
- data/decidim-admin/config/locales/es.yml +81 -1
- data/decidim-admin/config/locales/eu.yml +340 -1
- data/decidim-admin/config/locales/fi.yml +464 -0
- data/decidim-admin/config/routes.rb +8 -0
- data/decidim-admin/db/seeds.rb +1 -1
- data/decidim-admin/lib/decidim/admin/engine.rb +1 -0
- data/decidim-admin/spec/commands/create_participatory_process_admin_spec.rb +10 -4
- data/decidim-admin/spec/commands/create_participatory_process_spec.rb +6 -1
- data/decidim-admin/spec/commands/hide_resource_spec.rb +41 -0
- data/decidim-admin/spec/commands/unreport_resource_spec.rb +42 -0
- data/decidim-admin/spec/commands/update_organization_spec.rb +1 -0
- data/decidim-admin/spec/features/admin_invite_spec.rb +1 -0
- data/decidim-admin/spec/features/admin_manages_feature_permissions_spec.rb +1 -1
- data/decidim-admin/spec/features/admin_manages_organization_admins_spec.rb +1 -1
- data/decidim-admin/spec/features/admin_manages_participatory_process_groups_spec.rb +107 -0
- data/decidim-admin/spec/features/admin_manages_participatory_processes_spec.rb +5 -0
- data/decidim-admin/spec/features/admin_manages_user_groups_spec.rb +11 -4
- data/decidim-admin/spec/forms/organization_form_spec.rb +2 -0
- data/decidim-admin/spec/forms/participatory_process_group_form_spec.rb +86 -0
- data/decidim-admin/spec/forms/participatory_process_step_form_spec.rb +0 -10
- data/decidim-admin/spec/forms/participatory_process_user_role_form_spec.rb +4 -0
- data/decidim-admin/spec/models/abilities/admin_user_spec.rb +3 -2
- data/decidim-admin/spec/models/abilities/participatory_process_admin_spec.rb +7 -0
- data/decidim-admin/spec/queries/process_admins_spec.rb +23 -0
- data/decidim-admin/spec/shared/manage_process_admins_examples.rb +2 -0
- data/decidim-admin/spec/shared/manage_process_steps_examples.rb +0 -10
- data/decidim-api/decidim-api.gemspec +1 -1
- data/decidim-budgets/app/commands/decidim/budgets/add_line_item.rb +9 -1
- data/decidim-budgets/app/controllers/decidim/budgets/admin/projects_controller.rb +13 -1
- data/decidim-budgets/app/forms/decidim/budgets/admin/project_form.rb +5 -1
- data/decidim-budgets/app/models/decidim/budgets/order.rb +3 -0
- data/decidim-budgets/app/models/decidim/budgets/project.rb +9 -1
- data/decidim-budgets/app/services/decidim/budgets/project_search.rb +0 -5
- data/decidim-budgets/app/views/decidim/budgets/admin/projects/_form.html.erb +5 -3
- data/decidim-budgets/app/views/decidim/budgets/admin/projects/index.html.erb +9 -0
- data/decidim-budgets/app/views/decidim/budgets/line_items/update_budget.js.erb +1 -0
- data/decidim-budgets/app/views/decidim/budgets/projects/_filters.html.erb +2 -2
- data/decidim-budgets/app/views/decidim/budgets/projects/_filters_small_view.html.erb +18 -0
- data/decidim-budgets/app/views/decidim/budgets/projects/_project.html.erb +17 -2
- data/decidim-budgets/app/views/decidim/budgets/projects/_project_budget_button.html.erb +2 -2
- data/decidim-budgets/app/views/decidim/budgets/projects/_tags.html.erb +1 -1
- data/decidim-budgets/app/views/decidim/budgets/projects/index.html.erb +2 -1
- data/decidim-budgets/app/views/decidim/budgets/projects/show.html.erb +7 -1
- data/decidim-budgets/config/i18n-tasks.yml +1 -0
- data/decidim-budgets/config/locales/ca.yml +18 -3
- data/decidim-budgets/config/locales/en.yml +15 -0
- data/decidim-budgets/config/locales/es.yml +17 -2
- data/decidim-budgets/config/locales/eu.yml +97 -1
- data/decidim-budgets/config/locales/fi.yml +123 -0
- data/decidim-budgets/db/migrate/20170215132708_add_reference_to_projects.rb +7 -0
- data/decidim-budgets/lib/decidim/budgets/feature.rb +4 -2
- data/decidim-budgets/lib/decidim/budgets/seeds/Exampledocument.pdf +0 -0
- data/decidim-budgets/lib/decidim/budgets/seeds/city.jpeg +0 -0
- data/decidim-budgets/lib/decidim/budgets/test/factories.rb +21 -1
- data/decidim-budgets/spec/commands/add_line_item_spec.rb +10 -1
- data/decidim-budgets/spec/features/comments_spec.rb +10 -0
- data/decidim-budgets/spec/features/orders_spec.rb +47 -3
- data/decidim-budgets/spec/models/project_spec.rb +16 -1
- data/decidim-budgets/spec/services/project_search_spec.rb +9 -0
- data/decidim-budgets/spec/shared/admin_shared_context.rb +1 -1
- data/decidim-budgets/spec/shared/manage_projects_examples.rb +22 -0
- data/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +0 -0
- data/decidim-comments/app/commands/decidim/comments/create_comment.rb +9 -1
- data/decidim-comments/app/frontend/application/icon.component.jsx +1 -1
- data/decidim-comments/app/frontend/comments/add_comment_form.component.jsx +11 -10
- data/decidim-comments/app/frontend/comments/add_comment_form.component.test.jsx +5 -5
- data/decidim-comments/app/frontend/comments/comment.component.jsx +91 -1
- data/decidim-comments/app/frontend/comments/comment.component.test.jsx +18 -0
- data/decidim-comments/app/frontend/comments/comment_data.fragment.graphql +2 -0
- data/decidim-comments/app/frontend/comments/comment_order_selector.component.jsx +4 -5
- data/decidim-comments/app/frontend/comments/comments.query.graphql +1 -0
- data/decidim-comments/app/mailers/decidim/comments/comment_notification_mailer.rb +8 -0
- data/decidim-comments/app/models/decidim/comments/abilities/admin_user.rb +25 -0
- data/decidim-comments/app/models/decidim/comments/abilities/process_admin_user.rb +33 -0
- data/decidim-comments/app/models/decidim/comments/comment.rb +7 -1
- data/decidim-comments/app/models/decidim/comments/comment_vote.rb +3 -1
- data/decidim-comments/app/queries/decidim/comments/sorted_comments.rb +1 -0
- data/decidim-comments/app/views/decidim/comments/comment_notification_mailer/comment_created.html.erb +1 -1
- data/decidim-comments/app/views/decidim/comments/comment_notification_mailer/reply_created.html.erb +1 -1
- data/decidim-comments/config/locales/ca.yml +11 -0
- data/decidim-comments/config/locales/en.yml +12 -2
- data/decidim-comments/config/locales/es.yml +11 -0
- data/decidim-comments/config/locales/eu.yml +38 -1
- data/decidim-comments/config/locales/fi.yml +66 -0
- data/decidim-comments/lib/decidim/comments.rb +2 -0
- data/decidim-comments/lib/decidim/comments/admin.rb +9 -0
- data/decidim-comments/lib/decidim/comments/admin_engine.rb +22 -0
- data/decidim-comments/lib/decidim/comments/api/comment_type.rb +12 -0
- data/decidim-comments/lib/decidim/comments/commentable.rb +0 -2
- data/decidim-comments/lib/decidim/comments/engine.rb +1 -0
- data/decidim-comments/lib/decidim/comments/test/factories.rb +3 -0
- data/decidim-comments/spec/commands/create_comment_spec.rb +11 -0
- data/decidim-comments/spec/features/admin_manages_comments_spec.rb +23 -0
- data/decidim-comments/spec/features/comments_spec.rb +5 -173
- data/decidim-comments/spec/features/process_admin_manages_comments_spec.rb +24 -0
- data/decidim-comments/spec/features/report_comment_spec.rb +20 -0
- data/decidim-comments/spec/models/abilities/admin_user_spec.rb +20 -0
- data/decidim-comments/spec/models/abilities/process_admin_user_spec.rb +21 -0
- data/decidim-comments/spec/models/comment_spec.rb +1 -0
- data/decidim-comments/spec/queries/sorted_comments_spec.rb +11 -0
- data/decidim-comments/spec/shared/admin_shared_context.rb +11 -0
- data/decidim-comments/spec/types/comment_type_spec.rb +19 -0
- data/decidim-dev/config/locales/ca.yml +1 -1
- data/decidim-dev/config/locales/en.yml +1 -1
- data/decidim-dev/config/locales/es.yml +1 -1
- data/decidim-dev/config/locales/eu.yml +1 -1
- data/decidim-dev/config/locales/fi.yml +5 -0
- data/decidim-dev/decidim-dev.gemspec +3 -1
- data/decidim-dev/lib/decidim/dev/test/base_spec_helper.rb +1 -28
- data/decidim-dev/lib/decidim/dev/test/rspec_support/feature.rb +11 -0
- data/{decidim-meetings/spec/support → decidim-dev/lib/decidim/dev/test/rspec_support}/geocoder.rb +5 -1
- data/decidim-dev/lib/decidim/dev/test/rspec_support/html_matchers.rb +6 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/i18n.rb +3 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/webmock.rb +2 -0
- data/decidim-dev/lib/decidim/dev/test/spec_helper.rb +37 -0
- data/decidim-dev/lib/generators/decidim/dummy_generator.rb +5 -0
- data/decidim-dev/lib/generators/decidim/templates/autoprefixer.yml +8 -0
- data/decidim-dev/lib/generators/decidim/templates/autoprefixer_initializer.rb +16 -0
- data/decidim-meetings/app/commands/decidim/meetings/admin/create_meeting.rb +6 -17
- data/decidim-meetings/app/commands/decidim/meetings/admin/update_meeting.rb +6 -7
- data/decidim-meetings/app/controllers/decidim/meetings/application_controller.rb +1 -0
- data/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb +14 -9
- data/decidim-meetings/app/forms/decidim/meetings/admin/meeting_form.rb +12 -1
- data/decidim-meetings/app/helpers/decidim/meetings/admin/application_helper.rb +1 -1
- data/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb +2 -1
- data/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb +10 -32
- data/decidim-meetings/app/models/decidim/meetings/meeting.rb +2 -1
- data/decidim-meetings/app/services/decidim/meetings/meeting_search.rb +0 -5
- data/decidim-meetings/app/views/decidim/meetings/admin/meetings/_form.html.erb +5 -3
- data/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb +5 -3
- data/decidim-meetings/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +1 -1
- data/decidim-meetings/app/views/decidim/meetings/meetings/_meetings.html.erb +11 -1
- data/decidim-meetings/app/views/decidim/meetings/meetings/_tags.html.erb +1 -1
- data/decidim-meetings/app/views/decidim/meetings/meetings/index.html.erb +27 -32
- data/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb +2 -2
- data/decidim-meetings/app/views/decidim/meetings/meetings/show.html.erb +2 -15
- data/decidim-meetings/config/i18n-tasks.yml +1 -1
- data/decidim-meetings/config/locales/ca.yml +18 -3
- data/decidim-meetings/config/locales/en.yml +20 -3
- data/decidim-meetings/config/locales/es.yml +18 -3
- data/decidim-meetings/config/locales/eu.yml +75 -1
- data/decidim-meetings/config/locales/fi.yml +98 -0
- data/decidim-meetings/db/migrate/20170215132546_add_reference_to_meetings.rb +7 -0
- data/decidim-meetings/decidim-meetings.gemspec +0 -2
- data/decidim-meetings/lib/decidim/meetings/admin_engine.rb +0 -26
- data/decidim-meetings/lib/decidim/meetings/list_engine.rb +1 -9
- data/decidim-meetings/spec/commands/create_meeting_spec.rb +6 -14
- data/decidim-meetings/spec/commands/update_meeting_spec.rb +10 -29
- data/decidim-meetings/spec/features/explore_meetings_spec.rb +37 -13
- data/decidim-meetings/spec/forms/meeting_form_spec.rb +15 -1
- data/decidim-meetings/spec/models/meeting_spec.rb +1 -0
- data/decidim-meetings/spec/services/meeting_search_spec.rb +9 -0
- data/decidim-meetings/spec/shared/admin_shared_context.rb +1 -1
- data/decidim-meetings/spec/shared/manage_meetings_examples.rb +97 -1
- data/decidim-meetings/spec/spec_helper.rb +0 -5
- data/decidim-pages/app/commands/decidim/pages/admin/update_page.rb +1 -4
- data/decidim-pages/app/commands/decidim/pages/create_page.rb +1 -4
- data/decidim-pages/app/forms/decidim/pages/admin/page_form.rb +0 -3
- data/decidim-pages/app/models/decidim/pages/page.rb +8 -12
- data/decidim-pages/app/views/decidim/pages/admin/pages/_form.html.erb +0 -1
- data/decidim-pages/app/views/decidim/pages/application/show.html.erb +0 -1
- data/decidim-pages/config/locales/ca.yml +0 -1
- data/decidim-pages/config/locales/en.yml +0 -1
- data/decidim-pages/config/locales/es.yml +0 -1
- data/decidim-pages/config/locales/eu.yml +14 -1
- data/decidim-pages/config/locales/fi.yml +22 -0
- data/decidim-pages/db/migrate/20170220091402_remove_page_feature_titles.rb +5 -0
- data/decidim-pages/lib/decidim/pages/engine.rb +1 -0
- data/decidim-pages/lib/decidim/pages/feature.rb +4 -1
- data/decidim-pages/spec/commands/create_page_spec.rb +1 -2
- data/decidim-pages/spec/commands/update_page_spec.rb +0 -1
- data/decidim-pages/spec/factories.rb +6 -1
- data/decidim-pages/spec/features/admin_spec.rb +1 -17
- data/decidim-pages/spec/features/comments_spec.rb +10 -0
- data/decidim-pages/spec/features/page_show_spec.rb +1 -10
- data/decidim-pages/spec/forms/page_form_spec.rb +0 -21
- data/decidim-pages/spec/models/page_spec.rb +2 -4
- data/decidim-proposals/app/commands/decidim/proposals/admin/create_proposal.rb +4 -1
- data/decidim-proposals/app/commands/decidim/proposals/create_proposal.rb +4 -1
- data/decidim-proposals/app/controllers/decidim/proposals/admin/proposals_controller.rb +4 -0
- data/decidim-proposals/app/controllers/decidim/proposals/proposals_controller.rb +12 -6
- data/decidim-proposals/app/forms/decidim/proposals/admin/proposal_form.rb +13 -2
- data/decidim-proposals/app/forms/decidim/proposals/proposal_form.rb +13 -2
- data/decidim-proposals/app/helpers/decidim/proposals/application_helper.rb +3 -0
- data/decidim-proposals/app/helpers/decidim/proposals/map_helper.rb +19 -0
- data/decidim-proposals/app/helpers/decidim/proposals/proposal_order_helper.rb +16 -0
- data/decidim-proposals/app/models/decidim/proposals/abilities/admin_user.rb +2 -0
- data/decidim-proposals/app/models/decidim/proposals/abilities/current_user.rb +3 -0
- data/decidim-proposals/app/models/decidim/proposals/abilities/process_admin_user.rb +2 -1
- data/decidim-proposals/app/models/decidim/proposals/proposal.rb +12 -3
- data/decidim-proposals/app/services/decidim/proposals/proposal_search.rb +0 -5
- data/decidim-proposals/app/views/decidim/proposals/admin/proposal_answers/edit.html.erb +1 -1
- data/decidim-proposals/app/views/decidim/proposals/admin/proposals/_form.html.erb +8 -2
- data/decidim-proposals/app/views/decidim/proposals/admin/proposals/index.html.erb +12 -14
- data/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb +2 -2
- data/decidim-proposals/app/views/decidim/proposals/proposals/_filters_small_view.html.erb +1 -1
- data/decidim-proposals/app/views/decidim/proposals/proposals/_proposals.html.erb +1 -1
- data/decidim-proposals/app/views/decidim/proposals/proposals/_tags.html.erb +1 -1
- data/decidim-proposals/app/views/decidim/proposals/proposals/index.html.erb +27 -0
- data/decidim-proposals/app/views/decidim/proposals/proposals/new.html.erb +8 -2
- data/decidim-proposals/app/views/decidim/proposals/proposals/show.html.erb +18 -1
- data/decidim-proposals/config/i18n-tasks.yml +3 -1
- data/decidim-proposals/config/locales/ca.yml +11 -8
- data/decidim-proposals/config/locales/en.yml +9 -6
- data/decidim-proposals/config/locales/es.yml +14 -11
- data/decidim-proposals/config/locales/eu.yml +119 -1
- data/decidim-proposals/config/locales/fi.yml +143 -0
- data/decidim-proposals/db/migrate/20170215113152_create_proposal_reports.rb +14 -0
- data/decidim-proposals/db/migrate/20170215131720_add_report_count_to_proposals.rb +5 -0
- data/decidim-proposals/db/migrate/20170215132030_add_reference_to_proposals.rb +7 -0
- data/decidim-proposals/db/migrate/20170220152416_add_hidden_at_to_proposals.rb +5 -0
- data/decidim-proposals/db/migrate/20170228105156_add_geolocalization_fields_to_proposals.rb +7 -0
- data/decidim-proposals/db/migrate/20170307085300_migrate_proposal_reports_data_to_reports.rb +26 -0
- data/decidim-proposals/decidim-proposals.gemspec +1 -1
- data/decidim-proposals/lib/decidim/proposals/feature.rb +4 -3
- data/decidim-proposals/lib/decidim/proposals/test/factories.rb +8 -0
- data/decidim-proposals/spec/features/admin_manages_proposals_spec.rb +3 -0
- data/decidim-proposals/spec/features/comments_spec.rb +11 -0
- data/decidim-proposals/spec/features/process_admin_manages_proposals_spec.rb +3 -0
- data/decidim-proposals/spec/features/proposals_spec.rb +98 -15
- data/decidim-proposals/spec/features/report_proposal_spec.rb +19 -0
- data/decidim-proposals/spec/helpers/proposal_order_helper_spec.rb +30 -0
- data/decidim-proposals/spec/models/decidim/proposals/proposal_spec.rb +2 -0
- data/decidim-proposals/spec/services/decidim/proposals/proposal_search_spec.rb +9 -0
- data/decidim-proposals/spec/shared/create_proposal_examples.rb +29 -2
- data/decidim-proposals/spec/shared/manage_proposals_examples.rb +95 -26
- data/decidim-proposals/spec/shared/proposal_form_examples.rb +29 -1
- data/decidim-results/app/forms/decidim/results/admin/result_form.rb +9 -1
- data/decidim-results/app/models/decidim/results/result.rb +2 -1
- data/decidim-results/app/services/decidim/results/result_search.rb +0 -5
- data/decidim-results/app/views/decidim/results/admin/results/_form.html.erb +5 -3
- data/decidim-results/app/views/decidim/results/results/_filters.html.erb +2 -2
- data/decidim-results/app/views/decidim/results/results/_filters_small_view.html.erb +18 -0
- data/decidim-results/app/views/decidim/results/results/_tags.html.erb +1 -1
- data/decidim-results/app/views/decidim/results/results/index.html.erb +1 -0
- data/decidim-results/app/views/decidim/results/results/show.html.erb +1 -0
- data/decidim-results/config/i18n-tasks.yml +2 -0
- data/decidim-results/config/locales/ca.yml +15 -2
- data/decidim-results/config/locales/en.yml +15 -2
- data/decidim-results/config/locales/es.yml +15 -2
- data/decidim-results/config/locales/eu.yml +57 -1
- data/decidim-results/config/locales/fi.yml +77 -0
- data/decidim-results/db/migrate/20170215132624_add_reference_to_results.rb +7 -0
- data/decidim-results/lib/decidim/results/test/factories.rb +6 -0
- data/decidim-results/spec/features/comments_spec.rb +10 -0
- data/decidim-results/spec/features/explore_results_spec.rb +27 -0
- data/decidim-results/spec/models/result_spec.rb +1 -0
- data/decidim-results/spec/services/result_search_spec.rb +9 -0
- data/decidim-results/spec/shared/admin_shared_context.rb +1 -1
- data/decidim-system/README.md +45 -8
- data/decidim-system/app/commands/decidim/system/register_organization.rb +3 -0
- data/decidim-system/app/commands/decidim/system/update_organization.rb +2 -0
- data/decidim-system/app/controllers/decidim/system/application_controller.rb +2 -0
- data/decidim-system/app/forms/decidim/system/register_organization_form.rb +1 -0
- data/decidim-system/app/forms/decidim/system/update_organization_form.rb +18 -0
- data/decidim-system/app/views/decidim/system/organizations/edit.html.erb +10 -0
- data/decidim-system/app/views/decidim/system/organizations/new.html.erb +33 -19
- data/decidim-system/config/locales/ca.yml +3 -0
- data/decidim-system/config/locales/en.yml +3 -0
- data/decidim-system/config/locales/es.yml +3 -0
- data/decidim-system/config/locales/eu.yml +3 -0
- data/decidim-system/config/locales/fi.yml +68 -0
- data/decidim-system/db/seeds.rb +1 -1
- data/decidim-system/decidim-system.gemspec +1 -1
- data/decidim-system/lib/decidim/system/engine.rb +1 -0
- data/decidim-system/spec/commands/decidim/system/register_organization_spec.rb +3 -0
- data/decidim-system/spec/commands/decidim/system/update_organization_spec.rb +53 -0
- data/decidim-system/spec/features/organizations_spec.rb +5 -0
- data/docs/analytics.md +23 -0
- data/docs/how_to_create_a_plugin.md +3 -1
- data/lib/generators/decidim/app_generator.rb +4 -0
- data/lib/generators/decidim/demo_generator.rb +1 -1
- data/lib/generators/decidim/install_generator.rb +8 -1
- data/lib/generators/decidim/review_app_generator.rb +53 -0
- data/lib/generators/decidim/templates/Gemfile.erb +1 -5
- data/lib/generators/decidim/templates/app.json.erb +1 -1
- data/lib/generators/decidim/templates/carrierwave.rb +2 -2
- data/lib/generators/decidim/templates/decidim_controller.rb.erb +5 -0
- data/lib/generators/decidim/templates/initializer.rb +4 -0
- data/package.json +4 -4
- data/yarn.lock +106 -165
- metadata +100 -54
- data/decidim-meetings/app/assets/config/decidim_meetings_manifest.js +0 -2
- data/decidim-meetings/app/assets/javascripts/decidim/meetings/map.js.es6.erb +0 -97
- data/decidim-meetings/app/assets/stylesheets/decidim/meetings/map.css +0 -3
- data/decidim-meetings/app/services/decidim/meetings/static_map_generator.rb +0 -50
- data/decidim-meetings/app/views/decidim/meetings/meetings/_address_details.html.erb +0 -5
- data/decidim-meetings/spec/controllers/meetings_controller_spec.rb +0 -41
- data/decidim-meetings/spec/services/static_map_generator_spec.rb +0 -33
- data/decidim-meetings/vendor/assets/javascripts/leaflet-svg-icon.js +0 -179
- data/decidim-meetings/vendor/assets/javascripts/leaflet-tilelayer-here.js +0 -166
- data/decidim-meetings/vendor/assets/javascripts/leaflet.js +0 -9
- data/decidim-meetings/vendor/assets/javascripts/leaflet.markercluster.js +0 -7
- data/decidim-meetings/vendor/assets/stylesheets/MarkerCluster.Default.css +0 -60
- data/decidim-meetings/vendor/assets/stylesheets/MarkerCluster.css +0 -14
- data/decidim-meetings/vendor/assets/stylesheets/leaflet.css +0 -624
@@ -147,6 +147,11 @@ describe("<Comment />", () => {
|
|
147
147
|
const wrapper = shallow(<Comment comment={comment} session={session} />);
|
148
148
|
expect(wrapper.find('button.comment__reply')).not.to.be.present();
|
149
149
|
});
|
150
|
+
|
151
|
+
it("should not render the flag modal", () => {
|
152
|
+
const wrapper = shallow(<Comment comment={comment} session={session} />);
|
153
|
+
expect(wrapper.find('.flag-modal')).not.to.be.present();
|
154
|
+
});
|
150
155
|
});
|
151
156
|
|
152
157
|
it("should render a 'in favor' badge if comment's alignment is 1", () => {
|
@@ -161,6 +166,19 @@ describe("<Comment />", () => {
|
|
161
166
|
expect(wrapper.find('span.alert.label')).to.have.text('Against');
|
162
167
|
});
|
163
168
|
|
169
|
+
it("should render the flag modal", () => {
|
170
|
+
const wrapper = shallow(<Comment comment={comment} session={session} />);
|
171
|
+
expect(wrapper.find('.flag-modal')).to.be.present();
|
172
|
+
});
|
173
|
+
|
174
|
+
describe("when user has already reported the comment", () => {
|
175
|
+
it("should not render the flag form", () => {
|
176
|
+
comment.alreadyReported = true;
|
177
|
+
const wrapper = shallow(<Comment comment={comment} session= {session} />);
|
178
|
+
expect(wrapper.find('.flag-modal form')).not.to.be.present();
|
179
|
+
});
|
180
|
+
});
|
181
|
+
|
164
182
|
describe("when the comment is votable", () => {
|
165
183
|
it("should render an UpVoteButton component", () => {
|
166
184
|
const wrapper = shallow(<Comment comment={comment} session={session} votable />);
|
@@ -16,17 +16,16 @@ class CommentOrderSelector extends Component {
|
|
16
16
|
}
|
17
17
|
}
|
18
18
|
|
19
|
-
componentDidMount() {
|
20
|
-
$(document).foundation();
|
21
|
-
}
|
22
|
-
|
23
19
|
render() {
|
24
20
|
const { orderBy } = this.state;
|
25
21
|
|
26
22
|
return (
|
27
23
|
<div className="order-by__dropdown order-by__dropdown--right">
|
28
24
|
<span className="order-by__text">{ I18n.t("components.comment_order_selector.title") }</span>
|
29
|
-
<ul
|
25
|
+
<ul
|
26
|
+
className="dropdown menu"
|
27
|
+
data-dropdown-menu
|
28
|
+
data-close-on-click-inside="false">
|
30
29
|
<li>
|
31
30
|
<a>{ I18n.t(`components.comment_order_selector.order.${orderBy}`) }</a>
|
32
31
|
<ul className="menu">
|
@@ -6,6 +6,8 @@ module Decidim
|
|
6
6
|
class CommentNotificationMailer < Decidim::ApplicationMailer
|
7
7
|
helper Decidim::ResourceHelper
|
8
8
|
|
9
|
+
helper_method :commentable_title
|
10
|
+
|
9
11
|
def comment_created(user, comment, commentable)
|
10
12
|
with_user(user) do
|
11
13
|
@comment = comment
|
@@ -26,6 +28,12 @@ module Decidim
|
|
26
28
|
mail(to: comment.author.email, subject: subject)
|
27
29
|
end
|
28
30
|
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def commentable_title
|
35
|
+
@commentable.title.kind_of?(Hash) ? @commentable.title[I18n.locale.to_s] : @commentable.title
|
36
|
+
end
|
29
37
|
end
|
30
38
|
end
|
31
39
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Decidim
|
3
|
+
module Comments
|
4
|
+
module Abilities
|
5
|
+
# Defines the abilities related to comments for a logged in admin user.
|
6
|
+
# Intended to be used with `cancancan`.
|
7
|
+
class AdminUser
|
8
|
+
include CanCan::Ability
|
9
|
+
|
10
|
+
attr_reader :user, :context
|
11
|
+
|
12
|
+
def initialize(user, context)
|
13
|
+
return unless user && user.role?(:admin)
|
14
|
+
|
15
|
+
@user = user
|
16
|
+
@context = context
|
17
|
+
|
18
|
+
can :manage, Comment
|
19
|
+
can :unreport, Comment
|
20
|
+
can :hide, Comment
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Decidim
|
3
|
+
module Comments
|
4
|
+
module Abilities
|
5
|
+
# Defines the abilities related to comments for a logged in process admin user.
|
6
|
+
# Intended to be used with `cancancan`.
|
7
|
+
class ProcessAdminUser
|
8
|
+
include CanCan::Ability
|
9
|
+
|
10
|
+
attr_reader :user, :context
|
11
|
+
|
12
|
+
def initialize(user, context)
|
13
|
+
return unless user && !user.role?(:admin)
|
14
|
+
|
15
|
+
@user = user
|
16
|
+
@context = context
|
17
|
+
|
18
|
+
can :manage, Comment do |comment|
|
19
|
+
participatory_processes.include?(comment.feature.participatory_process)
|
20
|
+
end
|
21
|
+
can :unreport, Comment
|
22
|
+
can :hide, Comment
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def participatory_processes
|
28
|
+
@participatory_processes ||= Decidim::Admin::ManageableParticipatoryProcessesForUser.for(@user)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -5,6 +5,7 @@ module Decidim
|
|
5
5
|
# comment on them. The will be able to create conversations between users
|
6
6
|
# to discuss or share their thoughts about the resource.
|
7
7
|
class Comment < ApplicationRecord
|
8
|
+
include Reportable
|
8
9
|
include Decidim::Authorable
|
9
10
|
include Decidim::Comments::Commentable
|
10
11
|
|
@@ -28,7 +29,7 @@ module Decidim
|
|
28
29
|
|
29
30
|
before_save :compute_depth
|
30
31
|
|
31
|
-
delegate :organization, to: :commentable
|
32
|
+
delegate :organization, :feature, to: :commentable
|
32
33
|
|
33
34
|
# Public: Override Commentable concern method `accepts_new_comments?`
|
34
35
|
def accepts_new_comments?
|
@@ -55,6 +56,11 @@ module Decidim
|
|
55
56
|
commentable.root_commentable
|
56
57
|
end
|
57
58
|
|
59
|
+
# Public: Overrides the `reported_content` Reportable concern method.
|
60
|
+
def reported_content
|
61
|
+
"<p>#{body}</p>"
|
62
|
+
end
|
63
|
+
|
58
64
|
private
|
59
65
|
|
60
66
|
# Private: Check if commentable can have comments and if not adds
|
@@ -7,7 +7,8 @@ module Decidim
|
|
7
7
|
belongs_to :comment, foreign_key: "decidim_comment_id", class_name: Comment
|
8
8
|
belongs_to :author, foreign_key: "decidim_author_id", class_name: Decidim::User
|
9
9
|
|
10
|
-
validates :comment, uniqueness: { scope: :author }
|
10
|
+
validates :comment, presence: true, uniqueness: { scope: :author }
|
11
|
+
validates :author, presence: true
|
11
12
|
validates :weight, inclusion: { in: [-1, 1] }
|
12
13
|
validate :author_and_comment_same_organization
|
13
14
|
|
@@ -15,6 +16,7 @@ module Decidim
|
|
15
16
|
|
16
17
|
# Private: check if the comment and the author have the same organization
|
17
18
|
def author_and_comment_same_organization
|
19
|
+
return unless author.present? && comment.present?
|
18
20
|
errors.add(:comment, :invalid) unless author.organization == comment.organization
|
19
21
|
end
|
20
22
|
end
|
@@ -38,6 +38,17 @@ ca:
|
|
38
38
|
against: En contra
|
39
39
|
in_favor: A favor
|
40
40
|
reply: Respondre
|
41
|
+
report:
|
42
|
+
action: Denuncia
|
43
|
+
already_reported: Aquest contingut ja ha estat denunciat i serà revisat per un administrador.
|
44
|
+
close: Tancar
|
45
|
+
description: Aquest contingut no és apropiat?
|
46
|
+
details: Comentaris addicionals
|
47
|
+
reasons:
|
48
|
+
does_not_belong: Conté activitat il·legal, amenaces de suïcidi, informació personal, o qualsevol altra cosa que creguis que no pertany a %{organization_name}.
|
49
|
+
offensive: Conté racisme, sexisme, insults, atacs personals, amenaces de mort, peticions de suïcidi o qualsevol forma de discurs d'odi.
|
50
|
+
spam: Conté "clickbait", publicitat o estafes.
|
51
|
+
title: Denuncia un problema
|
41
52
|
comment_order_selector:
|
42
53
|
order:
|
43
54
|
best_rated: Més ben valorats
|
@@ -22,8 +22,7 @@ en:
|
|
22
22
|
subject: You have a new reply of your comment
|
23
23
|
components:
|
24
24
|
add_comment_form:
|
25
|
-
account_message:
|
26
|
-
"
|
25
|
+
account_message: '<a href="%{sign_in_url}">Sign in with your account</a> or <a href="%{sign_up_url}">sign up</a> to add your comment. '
|
27
26
|
form:
|
28
27
|
body:
|
29
28
|
label: Comment
|
@@ -40,6 +39,17 @@ en:
|
|
40
39
|
against: Against
|
41
40
|
in_favor: In favor
|
42
41
|
reply: Reply
|
42
|
+
report:
|
43
|
+
action: Report
|
44
|
+
already_reported: This content is already reported and it will be reviewed by an admin.
|
45
|
+
close: Close
|
46
|
+
description: Is this content inappropriate?
|
47
|
+
details: Additional comments
|
48
|
+
reasons:
|
49
|
+
does_not_belong: Contains illegal activity, suicide threats, personal information, or something else you think doesn't belong on %{organization_name}.
|
50
|
+
offensive: Contains racism, sexism, slurs, personal attacks, death threats, suicide requests or any form of hate speech.
|
51
|
+
spam: Contains clickbait, advertising, scams or script bots.
|
52
|
+
title: Report a problem
|
43
53
|
comment_order_selector:
|
44
54
|
order:
|
45
55
|
best_rated: Best rated
|
@@ -38,6 +38,17 @@ es:
|
|
38
38
|
against: En contra
|
39
39
|
in_favor: A favor
|
40
40
|
reply: Respuesta
|
41
|
+
report:
|
42
|
+
action: Denunciar
|
43
|
+
already_reported: Este contenido ya fue denunciado y será revisado por un administrador.
|
44
|
+
close: Cerrar
|
45
|
+
description: '¿Es inapropiado este contenido?'
|
46
|
+
details: Comentarios adicionales
|
47
|
+
reasons:
|
48
|
+
does_not_belong: Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.
|
49
|
+
offensive: Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.
|
50
|
+
spam: Contiene clickbait, publicidad o estafas.
|
51
|
+
title: Denunciar un problema
|
41
52
|
comment_order_selector:
|
42
53
|
order:
|
43
54
|
best_rated: Mejor valoración
|
@@ -2,4 +2,41 @@ eu:
|
|
2
2
|
decidim:
|
3
3
|
comments:
|
4
4
|
comment_notification_mailer:
|
5
|
-
hello: Kaixo %{name},
|
5
|
+
hello: Kaixo, %{name},
|
6
|
+
notifications_settings_link: jakinarazpenen konfigurazio-orria
|
7
|
+
mailer:
|
8
|
+
comment_notification:
|
9
|
+
comment_created:
|
10
|
+
subject: Iruzkin berri bat duzu
|
11
|
+
reply_created:
|
12
|
+
subject: Zure iruzkinetako bati erantzuna eman diote
|
13
|
+
components:
|
14
|
+
add_comment_form:
|
15
|
+
form:
|
16
|
+
body:
|
17
|
+
label: Iruzkina
|
18
|
+
placeholder: Zer deritzozu honi?
|
19
|
+
form_error: Testua behar da, eta ezin du izan %{length} karaktere baino gehiago.
|
20
|
+
submit: Bidali
|
21
|
+
user_group_id:
|
22
|
+
label: 'Iruzkindu honela:'
|
23
|
+
opinion:
|
24
|
+
neutral: Neutrala
|
25
|
+
title: Jarri hemen zure iruzkina
|
26
|
+
comment:
|
27
|
+
alignment:
|
28
|
+
against: Aurka
|
29
|
+
in_favor: Alde
|
30
|
+
reply: Erantzuna
|
31
|
+
comment_order_selector:
|
32
|
+
order:
|
33
|
+
best_rated: Balorazio hoberena
|
34
|
+
most_discussed: Eztabaidatuenak
|
35
|
+
older: Zaharrena
|
36
|
+
recent: Berri-berria
|
37
|
+
title: 'Ordenatu honen arabera:'
|
38
|
+
comments:
|
39
|
+
loading: Iruzkinak kargatzen...
|
40
|
+
title: "%{count} iruzkin"
|
41
|
+
featured_comment:
|
42
|
+
title: Iruzkin nabarmendua
|
@@ -0,0 +1,66 @@
|
|
1
|
+
fi:
|
2
|
+
activerecord:
|
3
|
+
errors:
|
4
|
+
messages:
|
5
|
+
cannot_have_comments: ei voi poistaa kommentteja
|
6
|
+
decidim:
|
7
|
+
comments:
|
8
|
+
comment_notification_mailer:
|
9
|
+
comment_created:
|
10
|
+
new_comment_html: Uusi kommentti henkilöltä <b>%{commenter}</b> osoitteessa <b>%{commentable_link}</b>
|
11
|
+
hello: Hei %{name},
|
12
|
+
manage_email_subscriptions_html: 'Voit lopettaa näiden viestien vastaanottamisen vaihtamalla asetuksiasi osoitteessa: %{link}.'
|
13
|
+
notifications_settings_link: ilmoitusten asetussivu
|
14
|
+
reply_created:
|
15
|
+
new_reply_html: Henkilö <b>%{commenter}</b> on vastannut kommenttiisi osoitteessa <b>%{commentable_link}</b>
|
16
|
+
mailer:
|
17
|
+
comment_notification:
|
18
|
+
comment_created:
|
19
|
+
subject: Sinulla on uusi kommentti
|
20
|
+
reply_created:
|
21
|
+
subject: Kommenttiisi on vastattu
|
22
|
+
components:
|
23
|
+
add_comment_form:
|
24
|
+
account_message: "<a href=\"%{sign_in_url}\">Kirjaudu sisään käyttäjätililläsi</a> tai <a href=\"%{sign_up_url}\">luo käyttäjätili</a> kommentoidaksesi.\n"
|
25
|
+
form:
|
26
|
+
body:
|
27
|
+
label: Kommentti
|
28
|
+
placeholder: Mitä mieltä olet tästä?
|
29
|
+
form_error: Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.
|
30
|
+
submit: Lähetä
|
31
|
+
user_group_id:
|
32
|
+
label: Kommentoi käyttäjänä
|
33
|
+
opinion:
|
34
|
+
neutral: Neutraali
|
35
|
+
title: Lisää kommenttisi
|
36
|
+
comment:
|
37
|
+
alignment:
|
38
|
+
against: Vastaan
|
39
|
+
in_favor: Puolesta
|
40
|
+
reply: Vastaa
|
41
|
+
report:
|
42
|
+
action: Raportoi
|
43
|
+
already_reported: Tämä sisältö on jo raportoitu ja ylläpitäjä tutkii sen.
|
44
|
+
close: Sulje
|
45
|
+
description: Onko tämä sisältö epäasiallista?
|
46
|
+
details: Lisätiedot
|
47
|
+
reasons:
|
48
|
+
does_not_belong: Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.
|
49
|
+
offensive: Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.
|
50
|
+
spam: Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä.
|
51
|
+
title: Raportoi ongelmasta
|
52
|
+
comment_order_selector:
|
53
|
+
order:
|
54
|
+
best_rated: Parhaiksi arvioidut
|
55
|
+
most_discussed: Eniten keskustelua herättäneet
|
56
|
+
older: Vanhemmat
|
57
|
+
recent: Uusimmat
|
58
|
+
title: 'Järjestä tulokset:'
|
59
|
+
comment_thread:
|
60
|
+
title: Keskustelu henkilön %{authorName} kanssa
|
61
|
+
comments:
|
62
|
+
blocked_comments_warning: Kommentointi on estetty tämänhetkisessä vaiheessa, mutta voit lukea kommentteja aikaisemmista vaiheista.
|
63
|
+
loading: Ladataan kommentteja ...
|
64
|
+
title: "%{count} kommenttia"
|
65
|
+
featured_comment:
|
66
|
+
title: Esille nostettu kommentti
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Decidim
|
3
|
+
module Comments
|
4
|
+
# This is the engine that runs on the public interface of `decidim-comments`.
|
5
|
+
class AdminEngine < ::Rails::Engine
|
6
|
+
isolate_namespace Decidim::Comments::Admin
|
7
|
+
|
8
|
+
paths["db/migrate"] = nil
|
9
|
+
|
10
|
+
initializer "decidim_comments.inject_abilities_to_user" do |_app|
|
11
|
+
Decidim.configure do |config|
|
12
|
+
config.admin_abilities += ["Decidim::Comments::Abilities::AdminUser"]
|
13
|
+
config.admin_abilities += ["Decidim::Comments::Abilities::ProcessAdminUser"]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def load_seed
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|