decidim 0.1.0 → 0.2.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.
- checksums.yaml +4 -4
- data/.codeclimate.yml +1 -0
- data/.rubocop.yml +12 -7
- data/Gemfile +0 -4
- data/Gemfile.lock +74 -71
- data/README.md +1 -0
- data/Rakefile +12 -1
- data/codecov.yml +3 -1
- data/decidim-admin/Rakefile +1 -0
- data/decidim-admin/app/assets/stylesheets/decidim/admin/application.scss.erb +6 -0
- data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_action-icon.scss +1 -0
- data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_dropdown_inverted.scss +38 -0
- data/decidim-admin/app/commands/decidim/admin/activate_participatory_process_step.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/copy_participatory_process.rb +113 -0
- data/decidim-admin/app/commands/decidim/admin/create_attachment.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/create_category.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/create_feature.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/create_newsletter.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/create_participatory_process.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/create_participatory_process_admin.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/create_participatory_process_group.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/create_participatory_process_step.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/create_scope.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/create_static_page.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/deactivate_participatory_process_step.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/deliver_newsletter.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/destroy_category.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/destroy_feature.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/destroy_participatory_process_step.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/hide_resource.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/publish_participatory_process.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/reject_user_group.rb +33 -0
- data/decidim-admin/app/commands/decidim/admin/reorder_participatory_process_steps.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/unpublish_participatory_process.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/unreport_resource.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_attachment.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_category.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_feature.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_feature_permissions.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_newsletter.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_organization.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_participatory_process.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_participatory_process_admin.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_participatory_process_group.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_participatory_process_step.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_scope.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_static_page.rb +1 -0
- data/decidim-admin/app/commands/decidim/admin/update_user_groups.rb +44 -0
- data/decidim-admin/app/commands/decidim/admin/verify_user_group.rb +32 -0
- data/decidim-admin/app/constraints/decidim/admin/organization_dashboard_constraint.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/application_controller.rb +2 -2
- data/decidim-admin/app/controllers/decidim/admin/categories_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/concerns/has_attachments.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/concerns/participatory_process_admin.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/dashboard_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/exports_controller.rb +39 -0
- data/decidim-admin/app/controllers/decidim/admin/feature_permissions_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/features/base_controller.rb +3 -0
- data/decidim-admin/app/controllers/decidim/admin/features_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/moderations_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/organization_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_attachments_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_copies_controller.rb +47 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_groups_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_publications_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_step_activations_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_step_ordering_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_steps_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_process_user_roles_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/participatory_processes_controller.rb +5 -0
- data/decidim-admin/app/controllers/decidim/admin/scopes_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/static_pages_controller.rb +1 -0
- data/decidim-admin/app/controllers/decidim/admin/user_groups_controller.rb +32 -4
- data/decidim-admin/app/controllers/decidim/admin/users_controller.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/attachment_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/category_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/feature_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/newsletter_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/organization_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/participatory_process_copy_form.rb +34 -0
- data/decidim-admin/app/forms/decidim/admin/participatory_process_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/participatory_process_group_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/participatory_process_user_role_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/permission_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/permissions_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/scope_form.rb +1 -0
- data/decidim-admin/app/forms/decidim/admin/static_page_form.rb +1 -0
- data/decidim-admin/app/helpers/decidim/admin/application_helper.rb +1 -8
- data/decidim-admin/app/helpers/decidim/admin/attributes_display_helper.rb +1 -0
- data/decidim-admin/app/helpers/decidim/admin/exports_helper.rb +18 -0
- data/decidim-admin/app/helpers/decidim/admin/feature_settings_helper.rb +1 -0
- data/decidim-admin/app/helpers/decidim/admin/icon_link_helper.rb +1 -0
- data/decidim-admin/app/helpers/decidim/admin/menu_helper.rb +18 -0
- data/decidim-admin/app/helpers/decidim/admin/process_groups_for_select_helper.rb +1 -0
- data/decidim-admin/app/helpers/decidim/admin/processes_for_select_helper.rb +1 -0
- data/decidim-admin/app/jobs/decidim/admin/application_job.rb +1 -0
- data/decidim-admin/app/jobs/decidim/admin/newsletter_delivery_job.rb +1 -0
- data/decidim-admin/app/jobs/decidim/admin/newsletter_job.rb +1 -0
- data/decidim-admin/app/mailers/decidim/admin/application_mailer.rb +1 -0
- data/decidim-admin/app/models/decidim/admin/abilities/admin_user.rb +2 -1
- data/decidim-admin/app/models/decidim/admin/abilities/base.rb +1 -0
- data/decidim-admin/app/models/decidim/admin/abilities/collaborator_user.rb +1 -0
- data/decidim-admin/app/models/decidim/admin/abilities/participatory_process_admin.rb +1 -0
- data/decidim-admin/app/models/decidim/admin/application_record.rb +1 -0
- data/decidim-admin/app/models/decidim/admin/participatory_process_user_role.rb +3 -2
- data/decidim-admin/app/queries/decidim/admin/manageable_participatory_processes_for_user.rb +1 -0
- data/decidim-admin/app/queries/decidim/admin/process_admin_roles_for_process.rb +1 -0
- data/decidim-admin/app/queries/decidim/admin/process_admins.rb +1 -0
- data/decidim-admin/app/queries/decidim/admin/user_groups_evaluation.rb +54 -0
- data/decidim-admin/app/views/decidim/admin/exports/_dropdown.html.erb +10 -0
- data/decidim-admin/app/views/decidim/admin/participatory_process_copies/_form.html.erb +38 -0
- data/decidim-admin/app/views/decidim/admin/participatory_process_copies/new.html.erb +7 -0
- data/decidim-admin/app/views/decidim/admin/participatory_processes/index.html.erb +2 -0
- data/decidim-admin/app/views/decidim/admin/scopes/new.html.erb +0 -1
- data/decidim-admin/app/views/decidim/admin/user_groups/index.html.erb +67 -5
- data/decidim-admin/app/views/layouts/decidim/admin/_application.html.erb +1 -1
- data/decidim-admin/app/views/layouts/decidim/admin/_title_bar.html.erb +1 -1
- data/decidim-admin/bin/rails +1 -0
- data/decidim-admin/config/i18n-tasks.yml +6 -6
- data/decidim-admin/config/locales/ca.yml +36 -2
- data/decidim-admin/config/locales/en.yml +36 -2
- data/decidim-admin/config/locales/es.yml +37 -3
- data/decidim-admin/config/locales/eu.yml +41 -3
- data/decidim-admin/config/locales/fi.yml +0 -3
- data/decidim-admin/config/locales/fr.yml +0 -3
- data/decidim-admin/config/routes.rb +4 -0
- data/decidim-admin/db/seeds.rb +1 -0
- data/decidim-admin/decidim-admin.gemspec +0 -1
- data/decidim-admin/lib/decidim/admin.rb +1 -0
- data/decidim-admin/lib/decidim/admin/engine.rb +51 -0
- data/decidim-admin/lib/decidim/admin/features.rb +1 -0
- data/decidim-admin/lib/decidim/admin/test/factories.rb +1 -0
- data/decidim-admin/lib/decidim/admin/test/manage_attachments_examples.rb +1 -0
- data/decidim-admin/spec/commands/activate_participatory_process_step_spec.rb +1 -0
- data/decidim-admin/spec/commands/copy_participatory_process_spec.rb +128 -0
- data/decidim-admin/spec/commands/create_category_spec.rb +1 -0
- data/decidim-admin/spec/commands/create_feature_spec.rb +1 -0
- data/decidim-admin/spec/commands/create_newsletter_spec.rb +1 -0
- data/decidim-admin/spec/commands/create_participatory_process_admin_spec.rb +1 -0
- data/decidim-admin/spec/commands/create_participatory_process_spec.rb +1 -0
- data/decidim-admin/spec/commands/create_scope_spec.rb +1 -0
- data/decidim-admin/spec/commands/create_static_page_spec.rb +1 -0
- data/decidim-admin/spec/commands/deactivate_participatory_process_step_spec.rb +1 -0
- data/decidim-admin/spec/commands/deliver_newsletter_spec.rb +1 -0
- data/decidim-admin/spec/commands/destroy_category_spec.rb +1 -0
- data/decidim-admin/spec/commands/destroy_feature_spec.rb +1 -0
- data/decidim-admin/spec/commands/destroy_participatory_process_step_spec.rb +1 -0
- data/decidim-admin/spec/commands/hide_resource_spec.rb +1 -0
- data/decidim-admin/spec/commands/publish_participatory_process_spec.rb +1 -0
- data/decidim-admin/spec/commands/reject_user_group_spec.rb +61 -0
- data/decidim-admin/spec/commands/reorder_participatory_process_steps_spec.rb +1 -0
- data/decidim-admin/spec/commands/unpublish_participatory_process_spec.rb +1 -0
- data/decidim-admin/spec/commands/unreport_resource_spec.rb +1 -0
- data/decidim-admin/spec/commands/update_category_spec.rb +1 -0
- data/decidim-admin/spec/commands/update_feature_spec.rb +1 -0
- data/decidim-admin/spec/commands/update_newsletter_spec.rb +1 -0
- data/decidim-admin/spec/commands/update_organization_spec.rb +1 -0
- data/decidim-admin/spec/commands/update_participatory_process_spec.rb +1 -0
- data/decidim-admin/spec/commands/update_scope_spec.rb +1 -0
- data/decidim-admin/spec/commands/update_static_page_spec.rb +1 -0
- data/decidim-admin/spec/commands/verify_user_group_spec.rb +61 -0
- data/decidim-admin/spec/controllers/exports_controller_spec.rb +49 -0
- data/decidim-admin/spec/controllers/participatory_processes_controller_spec.rb +1 -1
- data/decidim-admin/spec/controllers/static_pages_controller_spec.rb +1 -0
- data/decidim-admin/spec/factories.rb +1 -0
- data/decidim-admin/spec/features/admin_copy_participatory_process_spec.rb +108 -0
- data/decidim-admin/spec/features/admin_invite_spec.rb +1 -0
- data/decidim-admin/spec/features/admin_manages_feature_permissions_spec.rb +1 -0
- data/decidim-admin/spec/features/admin_manages_features_spec.rb +1 -1
- data/decidim-admin/spec/features/admin_manages_newsletters_spec.rb +0 -1
- data/decidim-admin/spec/features/admin_manages_organization_admins_spec.rb +1 -0
- data/decidim-admin/spec/features/admin_manages_organization_scopes_spec.rb +1 -0
- data/decidim-admin/spec/features/admin_manages_organization_spec.rb +0 -1
- data/decidim-admin/spec/features/admin_manages_participatory_process_groups_spec.rb +1 -1
- data/decidim-admin/spec/features/admin_manages_user_groups_spec.rb +14 -2
- data/decidim-admin/spec/features/static_pages_spec.rb +1 -0
- data/decidim-admin/spec/forms/category_form_spec.rb +1 -1
- data/decidim-admin/spec/forms/newsletter_form_spec.rb +1 -1
- data/decidim-admin/spec/forms/organization_form_spec.rb +1 -0
- data/decidim-admin/spec/forms/participatory_process_form_spec.rb +1 -1
- data/decidim-admin/spec/forms/participatory_process_group_form_spec.rb +1 -1
- data/decidim-admin/spec/forms/participatory_process_step_form_spec.rb +1 -1
- data/decidim-admin/spec/forms/participatory_process_user_role_form_spec.rb +1 -0
- data/decidim-admin/spec/forms/scope_form_spec.rb +1 -0
- data/decidim-admin/spec/forms/static_page_form_spec.rb +1 -1
- data/decidim-admin/spec/helpers/aria_selected_link_to_helper_spec.rb +1 -0
- data/decidim-admin/spec/helpers/exports_helper_spec.rb +27 -0
- data/decidim-admin/spec/helpers/feature_settings_helper_spec.rb +1 -0
- data/decidim-admin/spec/helpers/menu_helper_spec.rb +39 -0
- data/decidim-admin/spec/i18n_spec.rb +7 -0
- data/{decidim-proposals → decidim-admin}/spec/jobs/export_job_spec.rb +10 -10
- data/decidim-admin/spec/jobs/newsletter_delivery_job_spec.rb +1 -0
- data/decidim-admin/spec/jobs/newsletter_job_spec.rb +1 -0
- data/decidim-admin/spec/models/abilities/admin_user_spec.rb +1 -0
- data/decidim-admin/spec/models/abilities/collaborator_user_spec.rb +1 -0
- data/decidim-admin/spec/models/abilities/participatory_process_admin_spec.rb +1 -0
- data/decidim-admin/spec/models/participatory_process_user_role_spec.rb +1 -0
- data/decidim-admin/spec/organization_dashboard_constraint_spec.rb +1 -0
- data/decidim-admin/spec/queries/manageable_participatory_processes_for_user_spec.rb +1 -0
- data/decidim-admin/spec/queries/process_admin_roles_for_process_spec.rb +1 -0
- data/decidim-admin/spec/queries/process_admins_spec.rb +1 -0
- data/decidim-admin/spec/queries/user_group_evaluation_spec.rb +94 -0
- data/decidim-admin/spec/shared/manage_process_admins_examples.rb +1 -0
- data/decidim-admin/spec/shared/manage_process_attachments_examples.rb +1 -0
- data/decidim-admin/spec/shared/manage_process_categories_examples.rb +1 -0
- data/decidim-admin/spec/shared/manage_process_steps_examples.rb +1 -1
- data/decidim-admin/spec/shared/manage_processes_examples.rb +2 -2
- data/decidim-admin/spec/shared/participatory_admin_shared_context.rb +1 -0
- data/decidim-admin/spec/spec_helper.rb +1 -0
- data/decidim-admin/spec/support/processes_menu_links_helpers.rb +1 -0
- data/decidim-admin/spec/views/decidim/static_pages/_form.html.erb_spec.rb +1 -0
- data/decidim-api/Rakefile +1 -0
- data/decidim-api/app/assets/javascripts/decidim/api/docs.js.es6 +2 -0
- data/decidim-api/app/controllers/decidim/api/application_controller.rb +1 -0
- data/decidim-api/app/controllers/decidim/api/documentation_controller.rb +1 -0
- data/decidim-api/app/controllers/decidim/api/queries_controller.rb +1 -0
- data/decidim-api/bin/rails +1 -0
- data/decidim-api/config/routes.rb +1 -0
- data/decidim-api/decidim-api.gemspec +1 -1
- data/decidim-api/lib/decidim/api.rb +1 -0
- data/decidim-api/lib/decidim/api/engine.rb +1 -0
- data/decidim-api/lib/decidim/api/mutation_type.rb +1 -0
- data/decidim-api/lib/decidim/api/query_type.rb +1 -0
- data/decidim-api/lib/decidim/api/schema.rb +1 -0
- data/decidim-api/lib/decidim/api/test/type_context.rb +1 -0
- data/decidim-api/spec/controllers/queries_controller_spec.rb +1 -0
- data/decidim-api/spec/factories.rb +1 -0
- data/decidim-api/spec/features/documentation_spec.rb +1 -0
- data/decidim-api/spec/features/graphiql_spec.rb +1 -0
- data/decidim-api/spec/i18n_spec.rb +7 -0
- data/decidim-api/spec/spec_helper.rb +1 -0
- data/decidim-api/spec/types/query_type_spec.rb +1 -0
- data/decidim-budgets/Rakefile +1 -0
- data/decidim-budgets/app/commands/decidim/budgets/add_line_item.rb +1 -0
- data/decidim-budgets/app/commands/decidim/budgets/admin/create_project.rb +1 -0
- data/decidim-budgets/app/commands/decidim/budgets/admin/update_project.rb +1 -0
- data/decidim-budgets/app/commands/decidim/budgets/cancel_order.rb +1 -0
- data/decidim-budgets/app/commands/decidim/budgets/checkout.rb +1 -0
- data/decidim-budgets/app/commands/decidim/budgets/remove_line_item.rb +1 -0
- data/decidim-budgets/app/controllers/decidim/budgets/admin/application_controller.rb +1 -0
- data/decidim-budgets/app/controllers/decidim/budgets/admin/attachments_controller.rb +1 -0
- data/decidim-budgets/app/controllers/decidim/budgets/admin/projects_controller.rb +1 -0
- data/decidim-budgets/app/forms/decidim/budgets/admin/project_form.rb +1 -0
- data/decidim-budgets/app/helpers/decidim/budgets/application_helper.rb +1 -0
- data/decidim-budgets/app/helpers/decidim/budgets/projects_helper.rb +1 -0
- data/decidim-budgets/app/models/decidim/budgets/application_record.rb +1 -0
- data/decidim-budgets/app/models/decidim/budgets/line_item.rb +3 -2
- data/decidim-budgets/app/models/decidim/budgets/order.rb +4 -3
- data/decidim-budgets/app/models/decidim/budgets/project.rb +2 -1
- data/decidim-budgets/app/queries/decidim/budgets/filtered_projects.rb +1 -0
- data/decidim-budgets/app/services/decidim/budgets/project_search.rb +1 -0
- data/decidim-budgets/bin/rails +2 -1
- data/decidim-budgets/config/i18n-tasks.yml +4 -1
- data/decidim-budgets/config/locales/eu.yml +4 -0
- data/decidim-budgets/decidim-budgets.gemspec +1 -1
- data/decidim-budgets/lib/decidim/budgets.rb +2 -1
- data/decidim-budgets/lib/decidim/budgets/admin.rb +1 -0
- data/decidim-budgets/lib/decidim/budgets/admin_engine.rb +1 -0
- data/decidim-budgets/lib/decidim/budgets/{list_engine.rb → engine.rb} +2 -1
- data/decidim-budgets/lib/decidim/budgets/feature.rb +1 -1
- data/decidim-budgets/lib/decidim/budgets/test/factories.rb +1 -0
- data/decidim-budgets/spec/commands/add_line_item_spec.rb +1 -0
- data/decidim-budgets/spec/commands/cancel_order_spec.rb +1 -0
- data/decidim-budgets/spec/commands/checkout_spec.rb +1 -0
- data/decidim-budgets/spec/commands/create_project_spec.rb +1 -0
- data/decidim-budgets/spec/commands/remove_line_item_spec.rb +1 -0
- data/decidim-budgets/spec/commands/update_project_spec.rb +1 -0
- data/decidim-budgets/spec/factories.rb +1 -0
- data/decidim-budgets/spec/features/comments_spec.rb +1 -0
- data/decidim-budgets/spec/features/orders_spec.rb +1 -1
- data/decidim-budgets/spec/forms/project_form_spec.rb +1 -0
- data/decidim-budgets/spec/i18n_spec.rb +7 -0
- data/decidim-budgets/spec/queries/decidim/budgets/filtered_projects_spec.rb +1 -0
- data/decidim-budgets/spec/services/project_search_spec.rb +1 -0
- data/decidim-budgets/spec/shared/admin_shared_context.rb +1 -0
- data/decidim-budgets/spec/shared/manage_attachments_examples.rb +1 -0
- data/decidim-budgets/spec/shared/manage_projects_examples.rb +1 -0
- data/decidim-budgets/spec/spec_helper.rb +1 -0
- data/decidim-comments/.gitignore +0 -1
- data/decidim-comments/Rakefile +1 -0
- data/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +0 -0
- data/decidim-comments/app/commands/decidim/comments/create_comment.rb +1 -0
- data/decidim-comments/app/commands/decidim/comments/vote_comment.rb +1 -0
- data/decidim-comments/app/forms/decidim/comments/comment_form.rb +1 -0
- data/decidim-comments/app/frontend/comments/comment_order_selector.component.tsx +0 -1
- data/decidim-comments/app/frontend/comments/down_vote_button.component.test.tsx +2 -2
- data/decidim-comments/app/frontend/comments/down_vote_button.component.tsx +2 -2
- data/decidim-comments/app/frontend/comments/up_vote_button.component.test.tsx +2 -2
- data/decidim-comments/app/frontend/comments/up_vote_button.component.tsx +2 -2
- data/decidim-comments/app/frontend/fragments/comment_thread.fragment.graphql +0 -3
- data/decidim-comments/app/frontend/support/schema.ts +51 -16
- data/decidim-comments/app/mailers/decidim/comments/comment_notification_mailer.rb +1 -0
- data/decidim-comments/app/models/decidim/comments/abilities/admin_user.rb +1 -0
- data/decidim-comments/app/models/decidim/comments/abilities/process_admin_user.rb +1 -0
- data/decidim-comments/app/models/decidim/comments/application_record.rb +1 -0
- data/decidim-comments/app/models/decidim/comments/comment.rb +3 -2
- data/decidim-comments/app/models/decidim/comments/comment_vote.rb +3 -2
- data/decidim-comments/app/models/decidim/comments/seed.rb +1 -0
- data/decidim-comments/app/queries/decidim/comments/sorted_comments.rb +1 -0
- data/decidim-comments/app/resolvers/decidim/comments/vote_comment_resolver.rb +1 -0
- data/decidim-comments/app/types/decidim/comments/commentable_interface.rb +1 -0
- data/decidim-comments/app/types/decidim/comments/commentable_mutation_type.rb +1 -0
- data/decidim-comments/app/types/decidim/comments/commentable_type.rb +1 -0
- data/decidim-comments/bin/rails +1 -0
- data/decidim-comments/config/i18n-tasks.yml +2 -3
- data/decidim-comments/lib/decidim/comments.rb +3 -0
- data/decidim-comments/lib/decidim/comments/admin.rb +1 -0
- data/decidim-comments/lib/decidim/comments/admin_engine.rb +1 -0
- data/decidim-comments/lib/decidim/comments/api/add_comment_type.rb +1 -0
- data/decidim-comments/lib/decidim/comments/api/comment_mutation_type.rb +1 -0
- data/decidim-comments/lib/decidim/comments/api/comment_type.rb +1 -0
- data/decidim-comments/lib/decidim/comments/comment_serializer.rb +37 -0
- data/decidim-comments/lib/decidim/comments/comments_helper.rb +1 -0
- data/decidim-comments/lib/decidim/comments/engine.rb +1 -0
- data/decidim-comments/lib/decidim/comments/export.rb +22 -0
- data/decidim-comments/lib/decidim/comments/mutation_extensions.rb +1 -0
- data/decidim-comments/lib/decidim/comments/query_extensions.rb +1 -0
- data/decidim-comments/lib/decidim/comments/test/factories.rb +1 -0
- data/decidim-comments/spec/commands/create_comment_spec.rb +1 -0
- data/decidim-comments/spec/commands/vote_comment_spec.rb +5 -6
- data/decidim-comments/spec/factories.rb +1 -0
- data/decidim-comments/spec/features/comments_spec.rb +1 -0
- data/decidim-comments/spec/features/notifications_spec.rb +1 -0
- data/decidim-comments/spec/features/report_comment_spec.rb +1 -0
- data/decidim-comments/spec/forms/comment_form_spec.rb +1 -0
- data/decidim-comments/spec/helpers/comments_helper_spec.rb +1 -0
- data/decidim-comments/spec/i18n_spec.rb +7 -0
- data/decidim-comments/spec/lib/comment_serializer_spec.rb +44 -0
- data/decidim-comments/spec/lib/export_spec.rb +27 -0
- data/decidim-comments/spec/mailers/comment_notification_mailer_spec.rb +1 -0
- data/decidim-comments/spec/models/abilities/admin_user_spec.rb +1 -0
- data/decidim-comments/spec/models/abilities/process_admin_user_spec.rb +1 -0
- data/decidim-comments/spec/models/comment_spec.rb +1 -0
- data/decidim-comments/spec/models/comment_vote_spec.rb +1 -0
- data/decidim-comments/spec/models/seed_spec.rb +1 -0
- data/decidim-comments/spec/queries/sorted_comments_spec.rb +1 -0
- data/decidim-comments/spec/shared/admin_shared_context.rb +1 -0
- data/decidim-comments/spec/spec_helper.rb +1 -0
- data/decidim-comments/spec/types/comment_mutation_type_spec.rb +1 -0
- data/decidim-comments/spec/types/comment_type_spec.rb +1 -0
- data/decidim-comments/spec/types/commentable_mutation_type_spec.rb +1 -0
- data/decidim-comments/spec/types/commentable_type_spec.rb +1 -0
- data/decidim-comments/spec/types/mutation_type_spec.rb +1 -0
- data/decidim-comments/spec/types/query_type_spec.rb +1 -0
- data/decidim-dev/Rakefile +1 -0
- data/decidim-dev/app/assets/images/decidim/dummy.svg +4 -0
- data/decidim-dev/config/i18n-tasks.yml +3 -1
- data/decidim-dev/config/locales/ca.yml +4 -0
- data/decidim-dev/config/locales/en.yml +4 -0
- data/decidim-dev/config/locales/es.yml +4 -0
- data/decidim-dev/config/locales/eu.yml +4 -0
- data/decidim-dev/decidim-dev.gemspec +6 -6
- data/decidim-dev/lib/decidim/dev/common_rake.rb +2 -5
- data/decidim-dev/lib/decidim/dev/dummy_authorization_handler.rb +1 -0
- data/decidim-dev/lib/decidim/dev/railtie.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/authorization_shared_examples.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/base_spec_helper.rb +2 -1
- data/decidim-dev/lib/decidim/dev/test/{i18n_spec.rb → i18n_shared_examples.rb} +9 -6
- data/decidim-dev/lib/decidim/dev/test/rspec_support/action_mailer.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/authenticated_controller_context.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/authorization_handlers.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/capybara.rb +3 -3
- data/decidim-dev/lib/decidim/dev/test/rspec_support/database_cleaner.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/engine_routes.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/factory_girl.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/feature.rb +30 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/feature_context.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/geocoder.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/html_matchers.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/i18n.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/translation_helpers.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/warden.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/webmock.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/wisper.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/spec_helper.rb +1 -0
- data/decidim-dev/lib/generators/decidim/dummy_generator.rb +3 -6
- data/decidim-dev/lib/generators/decidim/templates/autoprefixer_initializer.rb +2 -1
- data/decidim-dev/lib/generators/decidim/templates/decidim_dev.rb +1 -0
- data/decidim-dev/lib/tasks/locale_checker.rake +21 -0
- data/decidim-dev/lib/tasks/test_app.rake +1 -2
- data/decidim-dev/spec/i18n_spec.rb +7 -0
- data/decidim-meetings/Rakefile +1 -0
- data/decidim-meetings/app/commands/decidim/meetings/admin/close_meeting.rb +1 -0
- data/decidim-meetings/app/commands/decidim/meetings/admin/create_meeting.rb +1 -0
- data/decidim-meetings/app/commands/decidim/meetings/admin/update_meeting.rb +1 -0
- data/decidim-meetings/app/controllers/decidim/meetings/admin/application_controller.rb +1 -0
- data/decidim-meetings/app/controllers/decidim/meetings/admin/attachments_controller.rb +1 -0
- data/decidim-meetings/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +1 -0
- data/decidim-meetings/app/controllers/decidim/meetings/admin/meetings_controller.rb +1 -0
- data/decidim-meetings/app/controllers/decidim/meetings/meeting_widgets_controller.rb +1 -0
- data/decidim-meetings/app/forms/decidim/meetings/admin/close_meeting_form.rb +1 -0
- data/decidim-meetings/app/forms/decidim/meetings/admin/meeting_form.rb +1 -0
- data/decidim-meetings/app/helpers/decidim/meetings/admin/application_helper.rb +1 -0
- data/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb +1 -0
- data/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb +1 -0
- data/decidim-meetings/app/models/decidim/meetings/application_record.rb +1 -0
- data/decidim-meetings/app/services/decidim/meetings/meeting_search.rb +1 -0
- data/decidim-meetings/bin/rails +2 -1
- data/decidim-meetings/config/i18n-tasks.yml +2 -1
- data/decidim-meetings/config/locales/eu.yml +7 -0
- data/decidim-meetings/decidim-meetings.gemspec +2 -2
- data/decidim-meetings/lib/decidim/meetings.rb +2 -1
- data/decidim-meetings/lib/decidim/meetings/admin.rb +1 -0
- data/decidim-meetings/lib/decidim/meetings/{list_engine.rb → engine.rb} +2 -1
- data/decidim-meetings/lib/decidim/meetings/feature.rb +1 -1
- data/decidim-meetings/lib/decidim/meetings/test/factories.rb +1 -0
- data/decidim-meetings/spec/commands/close_meeting_spec.rb +1 -0
- data/decidim-meetings/spec/commands/create_meeting_spec.rb +1 -0
- data/decidim-meetings/spec/commands/update_meeting_spec.rb +1 -0
- data/decidim-meetings/spec/factories.rb +1 -0
- data/decidim-meetings/spec/features/explore_meetings_spec.rb +1 -0
- data/decidim-meetings/spec/forms/close_meeting_form_spec.rb +1 -0
- data/decidim-meetings/spec/forms/meeting_form_spec.rb +1 -0
- data/decidim-meetings/spec/i18n_spec.rb +7 -0
- data/decidim-meetings/spec/services/meeting_search_spec.rb +1 -0
- data/decidim-meetings/spec/shared/admin_shared_context.rb +1 -0
- data/decidim-meetings/spec/shared/manage_attachments_examples.rb +1 -0
- data/decidim-meetings/spec/shared/manage_meetings_examples.rb +1 -0
- data/decidim-meetings/spec/spec_helper.rb +1 -0
- data/decidim-pages/Rakefile +1 -0
- data/decidim-pages/app/commands/decidim/pages/admin/update_page.rb +1 -0
- data/decidim-pages/app/commands/decidim/pages/copy_page.rb +26 -0
- data/decidim-pages/app/commands/decidim/pages/create_page.rb +1 -0
- data/decidim-pages/app/commands/decidim/pages/destroy_page.rb +1 -0
- data/decidim-pages/app/controllers/decidim/pages/admin/pages_controller.rb +1 -0
- data/decidim-pages/app/forms/decidim/pages/admin/page_form.rb +1 -0
- data/decidim-pages/app/helpers/decidim/pages/application_helper.rb +1 -0
- data/decidim-pages/app/models/decidim/pages/application_record.rb +1 -0
- data/decidim-pages/app/models/decidim/pages/page.rb +1 -0
- data/decidim-pages/bin/rails +1 -0
- data/decidim-pages/config/i18n-tasks.yml +2 -1
- data/decidim-pages/config/locales/eu.yml +1 -0
- data/decidim-pages/lib/decidim/pages.rb +1 -0
- data/decidim-pages/lib/decidim/pages/admin.rb +1 -0
- data/decidim-pages/lib/decidim/pages/admin_engine.rb +1 -0
- data/decidim-pages/lib/decidim/pages/engine.rb +1 -0
- data/decidim-pages/lib/decidim/pages/feature.rb +6 -0
- data/decidim-pages/spec/commands/copy_page_spec.rb +47 -0
- data/decidim-pages/spec/commands/create_page_spec.rb +1 -0
- data/decidim-pages/spec/commands/destroy_page_spec.rb +1 -0
- data/decidim-pages/spec/commands/update_page_spec.rb +1 -0
- data/decidim-pages/spec/factories.rb +1 -0
- data/decidim-pages/spec/features/admin_spec.rb +1 -1
- data/decidim-pages/spec/features/comments_spec.rb +1 -0
- data/decidim-pages/spec/features/page_show_spec.rb +1 -1
- data/decidim-pages/spec/forms/page_form_spec.rb +1 -1
- data/decidim-pages/spec/i18n_spec.rb +7 -0
- data/decidim-pages/spec/models/page_spec.rb +1 -0
- data/decidim-pages/spec/spec_helper.rb +1 -0
- data/decidim-proposals/Rakefile +1 -0
- data/decidim-proposals/app/commands/decidim/proposals/admin/answer_proposal.rb +1 -0
- data/decidim-proposals/app/commands/decidim/proposals/admin/create_proposal.rb +1 -0
- data/decidim-proposals/app/commands/decidim/proposals/create_proposal.rb +1 -0
- data/decidim-proposals/app/commands/decidim/proposals/create_proposal_export.rb +1 -0
- data/decidim-proposals/app/controllers/concerns/decidim/proposals/orderable.rb +64 -0
- data/decidim-proposals/app/controllers/decidim/proposals/admin/application_controller.rb +1 -0
- data/decidim-proposals/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +1 -0
- data/decidim-proposals/app/controllers/decidim/proposals/admin/proposals_controller.rb +1 -0
- data/decidim-proposals/app/controllers/decidim/proposals/proposals_controller.rb +2 -33
- data/decidim-proposals/app/forms/decidim/proposals/admin/proposal_answer_form.rb +1 -0
- data/decidim-proposals/app/forms/decidim/proposals/admin/proposal_form.rb +1 -0
- data/decidim-proposals/app/forms/decidim/proposals/proposal_form.rb +1 -0
- data/decidim-proposals/app/helpers/decidim/proposals/application_helper.rb +1 -1
- data/decidim-proposals/app/helpers/decidim/proposals/map_helper.rb +1 -0
- data/decidim-proposals/app/helpers/decidim/proposals/proposal_votes_helper.rb +1 -0
- data/decidim-proposals/app/models/decidim/proposals/abilities/admin_user.rb +1 -0
- data/decidim-proposals/app/models/decidim/proposals/abilities/current_user.rb +2 -1
- data/decidim-proposals/app/models/decidim/proposals/abilities/process_admin_user.rb +1 -0
- data/decidim-proposals/app/models/decidim/proposals/application_record.rb +1 -0
- data/decidim-proposals/app/models/decidim/proposals/proposal.rb +9 -1
- data/decidim-proposals/app/models/decidim/proposals/proposal_vote.rb +3 -2
- data/decidim-proposals/app/queries/decidim/proposals/filtered_proposals.rb +1 -0
- data/decidim-proposals/app/services/decidim/proposals/proposal_search.rb +1 -0
- data/decidim-proposals/app/views/decidim/proposals/admin/proposals/index.html.erb +1 -8
- data/decidim-proposals/app/views/decidim/proposals/proposals/_proposal.html.erb +1 -1
- data/decidim-proposals/app/views/decidim/proposals/proposals/_proposals.html.erb +2 -2
- data/decidim-proposals/app/views/decidim/proposals/proposals/_vote_button.html.erb +4 -10
- data/decidim-proposals/app/views/decidim/proposals/proposals/show.html.erb +2 -2
- data/decidim-proposals/bin/rails +1 -0
- data/decidim-proposals/config/i18n-tasks.yml +4 -1
- data/decidim-proposals/config/initializers/social_share_button.rb +1 -0
- data/decidim-proposals/config/locales/ca.yml +3 -3
- data/decidim-proposals/config/locales/en.yml +3 -4
- data/decidim-proposals/config/locales/es.yml +3 -3
- data/decidim-proposals/config/locales/eu.yml +10 -0
- data/decidim-proposals/config/locales/fr.yml +0 -3
- data/decidim-proposals/lib/decidim/proposals.rb +2 -0
- data/decidim-proposals/lib/decidim/proposals/admin.rb +1 -0
- data/decidim-proposals/lib/decidim/proposals/admin_engine.rb +1 -4
- data/decidim-proposals/lib/decidim/proposals/engine.rb +1 -0
- data/decidim-proposals/lib/decidim/proposals/feature.rb +20 -0
- data/decidim-proposals/{app/services → lib}/decidim/proposals/proposal_serializer.rb +1 -1
- data/decidim-proposals/lib/decidim/proposals/test/factories.rb +9 -0
- data/decidim-proposals/spec/commands/decidim/proposals/admin_create_proposal_spec.rb +1 -0
- data/decidim-proposals/spec/commands/decidim/proposals/answer_proposal_spec.rb +1 -0
- data/decidim-proposals/spec/commands/decidim/proposals/create_proposal_spec.rb +1 -0
- data/decidim-proposals/spec/{helpers/proposal_order_helper_spec.rb → controllers/concerns/orderable_test.rb} +13 -6
- data/decidim-proposals/spec/controllers/decidim/admin/proposal_answers_controller_spec.rb +1 -0
- data/decidim-proposals/spec/controllers/decidim/proposal_votes_controller_spec.rb +4 -5
- data/decidim-proposals/spec/controllers/decidim/proposals_controller_spec.rb +1 -0
- data/decidim-proposals/spec/factories.rb +1 -0
- data/decidim-proposals/spec/features/comments_spec.rb +1 -0
- data/decidim-proposals/spec/features/proposals_spec.rb +102 -30
- data/decidim-proposals/spec/features/report_proposal_spec.rb +1 -0
- data/decidim-proposals/spec/features/vote_proposal_spec.rb +39 -19
- data/decidim-proposals/spec/forms/decidim/proposals/admin_proposal_form_spec.rb +1 -0
- data/decidim-proposals/spec/forms/decidim/proposals/proposal_answer_form_spec.rb +1 -0
- data/decidim-proposals/spec/forms/decidim/proposals/proposal_form_spec.rb +1 -0
- data/decidim-proposals/spec/helpers/application_helper_spec.rb +1 -0
- data/decidim-proposals/spec/helpers/proposal_votes_helper_spec.rb +1 -0
- data/decidim-proposals/spec/i18n_spec.rb +7 -0
- data/decidim-proposals/spec/lib/decidim/proposals/feature_spec.rb +1 -0
- data/decidim-proposals/spec/models/decidim/proposals/abilities/admin_user_spec.rb +1 -0
- data/decidim-proposals/spec/models/decidim/proposals/abilities/process_admin_user_spec.rb +1 -0
- data/decidim-proposals/spec/models/decidim/proposals/proposal_spec.rb +1 -0
- data/decidim-proposals/spec/models/decidim/proposals/proposal_vote_spec.rb +1 -0
- data/decidim-proposals/spec/queries/decidim/proposals/filtered_proposals_spec.rb +1 -0
- data/decidim-proposals/spec/services/decidim/proposals/proposal_search_spec.rb +1 -0
- data/decidim-proposals/spec/services/decidim/proposals/proposal_serializer_spec.rb +1 -0
- data/decidim-proposals/spec/shared/admin_shared_context.rb +1 -0
- data/decidim-proposals/spec/shared/create_proposal_examples.rb +1 -0
- data/decidim-proposals/spec/shared/export_proposals_examples.rb +3 -2
- data/decidim-proposals/spec/shared/manage_proposals_examples.rb +1 -0
- data/decidim-proposals/spec/shared/proposal_form_examples.rb +1 -0
- data/decidim-proposals/spec/spec_helper.rb +1 -0
- data/decidim-results/Rakefile +1 -0
- data/decidim-results/app/commands/decidim/results/admin/create_result.rb +1 -0
- data/decidim-results/app/commands/decidim/results/admin/update_result.rb +1 -0
- data/decidim-results/app/controllers/decidim/results/admin/application_controller.rb +1 -0
- data/decidim-results/app/controllers/decidim/results/admin/results_controller.rb +1 -0
- data/decidim-results/app/controllers/decidim/results/result_widgets_controller.rb +1 -0
- data/decidim-results/app/forms/decidim/results/admin/result_form.rb +1 -0
- data/decidim-results/app/helpers/decidim/results/application_helper.rb +1 -0
- data/decidim-results/app/models/decidim/results/application_record.rb +1 -0
- data/decidim-results/app/models/decidim/results/result.rb +1 -0
- data/decidim-results/app/queries/decidim/results/filtered_results.rb +1 -0
- data/decidim-results/app/services/decidim/results/result_search.rb +1 -0
- data/decidim-results/app/services/decidim/results/result_stats_calculator.rb +1 -0
- data/decidim-results/bin/rails +2 -1
- data/decidim-results/config/i18n-tasks.yml +2 -1
- data/decidim-results/config/locales/eu.yml +3 -0
- data/decidim-results/decidim-results.gemspec +1 -1
- data/decidim-results/lib/decidim/results.rb +2 -1
- data/decidim-results/lib/decidim/results/admin.rb +1 -0
- data/decidim-results/lib/decidim/results/admin_engine.rb +1 -0
- data/decidim-results/lib/decidim/results/{list_engine.rb → engine.rb} +2 -1
- data/decidim-results/lib/decidim/results/feature.rb +1 -1
- data/decidim-results/lib/decidim/results/test/factories.rb +1 -0
- data/decidim-results/spec/commands/create_result_spec.rb +1 -0
- data/decidim-results/spec/commands/update_result_spec.rb +1 -0
- data/decidim-results/spec/controllers/results_controller_spec.rb +1 -0
- data/decidim-results/spec/factories.rb +1 -0
- data/decidim-results/spec/features/comments_spec.rb +1 -0
- data/decidim-results/spec/features/explore_results_spec.rb +1 -0
- data/decidim-results/spec/forms/result_form_spec.rb +1 -0
- data/decidim-results/spec/i18n_spec.rb +7 -0
- data/decidim-results/spec/queries/decidim/results/filtered_results_spec.rb +1 -0
- data/decidim-results/spec/services/result_search_spec.rb +1 -0
- data/decidim-results/spec/services/result_stats_calculator_spec.rb +1 -0
- data/decidim-results/spec/shared/admin_shared_context.rb +1 -0
- data/decidim-results/spec/shared/manage_results_examples.rb +1 -0
- data/decidim-results/spec/spec_helper.rb +1 -0
- data/decidim-system/Rakefile +1 -0
- data/decidim-system/app/assets/stylesheets/decidim/system/_sidebar.scss +9 -2
- data/decidim-system/app/commands/decidim/system/create_admin.rb +1 -0
- data/decidim-system/app/commands/decidim/system/create_default_pages.rb +1 -0
- data/decidim-system/app/commands/decidim/system/register_organization.rb +1 -0
- data/decidim-system/app/commands/decidim/system/update_admin.rb +1 -0
- data/decidim-system/app/commands/decidim/system/update_organization.rb +1 -0
- data/decidim-system/app/controllers/decidim/system/admins_controller.rb +1 -0
- data/decidim-system/app/controllers/decidim/system/application_controller.rb +3 -0
- data/decidim-system/app/controllers/decidim/system/dashboard_controller.rb +1 -0
- data/decidim-system/app/controllers/decidim/system/devise/passwords_controller.rb +1 -0
- data/decidim-system/app/controllers/decidim/system/devise/sessions_controller.rb +1 -0
- data/decidim-system/app/controllers/decidim/system/organizations_controller.rb +1 -0
- data/decidim-system/app/forms/decidim/system/admin_form.rb +1 -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 +1 -0
- data/decidim-system/app/helpers/decidim/system/application_helper.rb +1 -0
- data/decidim-system/app/helpers/decidim/system/menu_helper.rb +14 -0
- data/decidim-system/app/jobs/decidim/system/application_job.rb +1 -0
- data/decidim-system/app/mailers/decidim/system/application_mailer.rb +1 -0
- data/decidim-system/app/models/decidim/system/admin.rb +1 -0
- data/decidim-system/app/models/decidim/system/application_record.rb +1 -0
- data/decidim-system/app/views/layouts/decidim/system/_sidebar.html.erb +1 -5
- data/decidim-system/bin/rails +1 -0
- data/decidim-system/config/i18n-tasks.yml +6 -6
- data/decidim-system/config/locales/eu.yml +3 -0
- data/decidim-system/config/routes.rb +1 -0
- data/decidim-system/db/seeds.rb +1 -0
- data/decidim-system/lib/decidim/system.rb +1 -0
- data/decidim-system/lib/decidim/system/engine.rb +20 -0
- data/decidim-system/spec/commands/decidim/system/create_admin_spec.rb +1 -0
- data/decidim-system/spec/commands/decidim/system/create_default_pages_spec.rb +1 -0
- data/decidim-system/spec/commands/decidim/system/register_organization_spec.rb +1 -0
- data/decidim-system/spec/commands/decidim/system/update_organization_spec.rb +1 -0
- data/decidim-system/spec/factories.rb +1 -0
- data/decidim-system/spec/features/sessions_spec.rb +1 -0
- data/decidim-system/spec/helpers/menu_helper_spec.rb +28 -0
- data/decidim-system/spec/i18n_spec.rb +7 -0
- data/decidim-system/spec/models/admin_spec.rb +1 -0
- data/decidim-system/spec/spec_helper.rb +1 -0
- data/docs/features_and_components.md +15 -0
- data/docs/getting_started.md +10 -0
- data/docs/how_to_create_a_plugin.md +7 -16
- data/lib/decidim.rb +1 -0
- data/lib/generators/decidim/app_builder.rb +1 -0
- data/lib/generators/decidim/app_generator.rb +7 -0
- data/lib/generators/decidim/demo_generator.rb +1 -0
- data/lib/generators/decidim/docker_generator.rb +1 -4
- data/lib/generators/decidim/install_generator.rb +4 -3
- data/lib/generators/decidim/templates/authorization_handler.rb +1 -0
- data/lib/generators/decidim/templates/carrierwave.rb +1 -0
- data/lib/generators/decidim/templates/initializer.rb +1 -0
- data/lib/generators/decidim/templates/social_share_button.rb +1 -0
- data/package.json +10 -9
- data/yarn.lock +708 -862
- metadata +73 -37
- data/.hound.yml +0 -10
- data/decidim-admin/app/assets/stylesheets/decidim/admin/application.scss +0 -2
- data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_sidebar.scss +0 -102
- data/decidim-admin/app/views/layouts/decidim/admin/_language_chooser.html.erb +0 -14
- data/decidim-admin/app/views/layouts/decidim/admin/_main_nav.html.erb +0 -11
- data/decidim-proposals/app/controllers/decidim/proposals/admin/exports_controller.rb +0 -24
- data/decidim-proposals/app/helpers/decidim/proposals/proposal_order_helper.rb +0 -16
- data/decidim-proposals/app/jobs/decidim/proposals/export_job.rb +0 -21
@@ -1,10 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Decidim
|
3
4
|
module Proposals
|
4
5
|
# A proposal can include a vote per user.
|
5
6
|
class ProposalVote < ApplicationRecord
|
6
|
-
belongs_to :proposal, foreign_key: "decidim_proposal_id", class_name: Decidim::Proposals::Proposal, counter_cache: true
|
7
|
-
belongs_to :author, foreign_key: "decidim_author_id", class_name: Decidim::User
|
7
|
+
belongs_to :proposal, foreign_key: "decidim_proposal_id", class_name: "Decidim::Proposals::Proposal", counter_cache: true
|
8
|
+
belongs_to :author, foreign_key: "decidim_author_id", class_name: "Decidim::User"
|
8
9
|
|
9
10
|
validates :proposal, :author, presence: true
|
10
11
|
validates :proposal, uniqueness: { scope: :author }
|
@@ -9,14 +9,7 @@
|
|
9
9
|
<%= link_to t("actions.new", scope: "decidim.proposals", name: t("models.proposal.name", scope: "decidim.proposals.admin")), new_proposal_path, class: 'button tiny button--simple' if can? :manage, current_feature %>
|
10
10
|
<% end %>
|
11
11
|
|
12
|
-
|
13
|
-
<div class="dropdown-pane" id="export-dropdown" data-dropdown data-auto-focus="true" data-close-on-click="true">
|
14
|
-
<ul class="vertical menu add-features">
|
15
|
-
<li class="exports--csv"><%= link_to "CSV", exports_path(feature_id: current_feature, participatory_process_id: current_participatory_process, format: :csv), method: :post %></li>
|
16
|
-
<li class="exports--json"><%= link_to "JSON", exports_path(feature_id: current_feature, participatory_process_id: current_participatory_process, format: :json), method: :post %></li>
|
17
|
-
</ul>
|
18
|
-
</div>
|
19
|
-
|
12
|
+
<%= export_dropdown %>
|
20
13
|
</div>
|
21
14
|
</h2>
|
22
15
|
</div>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<% if current_settings.votes_enabled? %>
|
27
27
|
<%= render partial: "votes_count", locals: { proposal: proposal, from_proposals_list: true } %>
|
28
28
|
<%= render partial: "vote_button", locals: { proposal: proposal, from_proposals_list: true } %>
|
29
|
-
<%
|
29
|
+
<% else %>
|
30
30
|
<div class="card__support__data"></div>
|
31
31
|
<%= link_to t(".view_proposal"), proposal, class: "card__button button small secondary" %>
|
32
32
|
<% end %>
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<%= order_selector
|
1
|
+
<%= order_selector available_orders, i18n_scope: "decidim.proposals.proposals.orders" %>
|
2
2
|
<div class="row small-up-1 medium-up-2 card-grid">
|
3
3
|
<%= render @proposals %>
|
4
4
|
</div>
|
5
|
-
<%= decidim_paginate @proposals, random_seed: random_seed %>
|
5
|
+
<%= decidim_paginate @proposals, random_seed: random_seed %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div id="proposal-<%= proposal.id %>-vote-button">
|
2
2
|
<% if !current_user %>
|
3
3
|
<% if current_settings.votes_blocked? %>
|
4
|
-
<button class="card__button button <%= vote_button_classes(from_proposals_list) %> disabled" data-toggle="loginModal">
|
4
|
+
<button class="card__button button <%= vote_button_classes(from_proposals_list) %> disabled" disabled data-toggle="loginModal">
|
5
5
|
<%= t('.votes_blocked') %>
|
6
6
|
</button>
|
7
7
|
<% else %>
|
@@ -11,22 +11,16 @@
|
|
11
11
|
<% end %>
|
12
12
|
<% else %>
|
13
13
|
<% if @voted_proposals ? @voted_proposals.include?(proposal.id) : proposal.voted_by?(current_user) %>
|
14
|
-
|
15
|
-
<%= action_authorized_button_to :vote, t('.already_voted'), proposal_proposal_vote_path(proposal_id: proposal, from_proposals_list: from_proposals_list), method: :delete, remote: true, data: { disable: true }, class: "card__button button #{vote_button_classes(from_proposals_list)} success" %>
|
16
|
-
<% else %>
|
17
|
-
<button class="card__button button <%= vote_button_classes(from_proposals_list) %> success">
|
18
|
-
<%= t('.already_voted') %>
|
19
|
-
</button>
|
20
|
-
<% end %>
|
14
|
+
<%= action_authorized_button_to :vote, t('.already_voted'), proposal_proposal_vote_path(proposal_id: proposal, from_proposals_list: from_proposals_list), method: :delete, remote: true, data: { disable: true }, class: "card__button button #{vote_button_classes(from_proposals_list)} success" %>
|
21
15
|
<% else %>
|
22
16
|
<% if vote_limit_enabled? && remaining_votes_count_for(current_user) == 0 %>
|
23
17
|
<%= action_authorized_button_to :vote, t('.no_votes_remaining'), proposal_proposal_vote_path(proposal_id: proposal, from_proposals_list: from_proposals_list), remote: true, data: { disable: true }, class: "card__button button #{vote_button_classes(from_proposals_list)}", disabled: true %>
|
24
18
|
<% elsif current_settings.votes_blocked? %>
|
25
|
-
<button class="card__button button <%= vote_button_classes(from_proposals_list) %> disabled">
|
19
|
+
<button class="card__button button <%= vote_button_classes(from_proposals_list) %> disabled" disabled>
|
26
20
|
<%= t('.votes_blocked') %>
|
27
21
|
</button>
|
28
22
|
<% else %>
|
29
|
-
<%= action_authorized_button_to
|
23
|
+
<%= action_authorized_button_to :vote, t('.vote'), proposal_proposal_vote_path(proposal_id: proposal, from_proposals_list: from_proposals_list), remote: true, data: { disable: true }, class: "card__button button #{vote_button_classes(from_proposals_list)}" %>
|
30
24
|
<% end %>
|
31
25
|
<% end %>
|
32
26
|
<% end %>
|
@@ -43,7 +43,7 @@
|
|
43
43
|
<div class="columns mediumlarge-8 mediumlarge-pull-4">
|
44
44
|
<div class="section">
|
45
45
|
<%= render partial: "proposal_badge", locals: { proposal: @proposal } %>
|
46
|
-
|
46
|
+
<%= simple_format @proposal.body %>
|
47
47
|
<% if feature_settings.geocoding_enabled? %>
|
48
48
|
<%= render partial: "decidim/shared/static_map", locals: { icon_name: "proposals", geolocalizable: @proposal } %>
|
49
49
|
<% end %>
|
@@ -61,7 +61,7 @@
|
|
61
61
|
<div class="section">
|
62
62
|
<div class="callout warning">
|
63
63
|
<h5><%= t(".proposal_rejected_reason") %></h5>
|
64
|
-
<p
|
64
|
+
<p><%== translated_attribute @proposal.answer %></p>
|
65
65
|
</div>
|
66
66
|
</div>
|
67
67
|
<% end %>
|
data/decidim-proposals/bin/rails
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
base_locale: en
|
2
|
-
locales: [en]
|
3
2
|
ignore_unused:
|
4
3
|
- "decidim.features.proposals.name"
|
5
4
|
- "decidim.features.proposals.settings.*"
|
@@ -8,5 +7,9 @@ ignore_unused:
|
|
8
7
|
- "decidim.proposals.answers.*"
|
9
8
|
- "decidim.features.proposals.actions.*"
|
10
9
|
- "decidim.proposals.proposals.orders.*"
|
10
|
+
- "decidim.proposals.admin.exports.proposals"
|
11
|
+
- "decidim.proposals.admin.exports.comments"
|
11
12
|
ignore_missing:
|
12
13
|
- decidim.participatory_processes.scopes.global
|
14
|
+
search:
|
15
|
+
strict: false
|
@@ -33,12 +33,14 @@ ca:
|
|
33
33
|
proposals:
|
34
34
|
actions:
|
35
35
|
answer: Respondre
|
36
|
-
export: Exporta
|
37
36
|
new: Nova
|
38
37
|
title: Accions
|
39
38
|
admin:
|
40
39
|
actions:
|
41
40
|
preview: Previsualitzar
|
41
|
+
exports:
|
42
|
+
comments: Comentaris
|
43
|
+
proposals: Propostes
|
42
44
|
models:
|
43
45
|
proposal:
|
44
46
|
name: Proposta
|
@@ -69,8 +71,6 @@ ca:
|
|
69
71
|
create:
|
70
72
|
error: Hi ha hagut errors en desar la proposta.
|
71
73
|
success: Proposta creada correctament.
|
72
|
-
exports:
|
73
|
-
notice: La seva exportació està actualment en curs. Rebràs un correu electrònic quan estigui complet.
|
74
74
|
models:
|
75
75
|
proposal:
|
76
76
|
fields:
|
@@ -35,12 +35,14 @@ en:
|
|
35
35
|
proposals:
|
36
36
|
actions:
|
37
37
|
answer: Answer
|
38
|
-
export: Export
|
39
38
|
new: New
|
40
39
|
title: Actions
|
41
40
|
admin:
|
42
41
|
actions:
|
43
42
|
preview: Preview
|
43
|
+
exports:
|
44
|
+
comments: Comments
|
45
|
+
proposals: Proposals
|
44
46
|
models:
|
45
47
|
proposal:
|
46
48
|
name: Proposal
|
@@ -71,9 +73,6 @@ en:
|
|
71
73
|
create:
|
72
74
|
error: There's been errors when saving the proposal.
|
73
75
|
success: Proposal created successfully.
|
74
|
-
exports:
|
75
|
-
notice: Your export is currently in progress. You'll receive an email when
|
76
|
-
it's complete.
|
77
76
|
models:
|
78
77
|
proposal:
|
79
78
|
fields:
|
@@ -33,12 +33,14 @@ es:
|
|
33
33
|
proposals:
|
34
34
|
actions:
|
35
35
|
answer: Respuesta
|
36
|
-
export: Exportar
|
37
36
|
new: Nueva
|
38
37
|
title: Acciones
|
39
38
|
admin:
|
40
39
|
actions:
|
41
40
|
preview: Previsualizar
|
41
|
+
exports:
|
42
|
+
comments: Comentarios
|
43
|
+
proposals: Propuestas
|
42
44
|
models:
|
43
45
|
proposal:
|
44
46
|
name: Propuesta
|
@@ -69,8 +71,6 @@ es:
|
|
69
71
|
create:
|
70
72
|
error: Ha habido errores al guardar la propuesta.
|
71
73
|
success: Propuesta creada correctamente.
|
72
|
-
exports:
|
73
|
-
notice: Su exportación está actualmente en curso. Recibirá un correo electrónico cuando esté completo.
|
74
74
|
models:
|
75
75
|
proposal:
|
76
76
|
fields:
|
@@ -13,6 +13,7 @@ eu:
|
|
13
13
|
features:
|
14
14
|
proposals:
|
15
15
|
actions:
|
16
|
+
create: Sortu
|
16
17
|
vote: Proiektuaren alde egin
|
17
18
|
name: Proposamenak
|
18
19
|
settings:
|
@@ -28,19 +29,25 @@ eu:
|
|
28
29
|
proposal_answering_enabled: Erantzuna aktibatutako proposamenei
|
29
30
|
votes_blocked: Bozketa blokeatuta
|
30
31
|
votes_enabled: Botoak gaituta
|
32
|
+
votes_hidden: Boto ezkutuak (Botoak gaituta egon eta aukera hau markatuz gero, ezkutuan geldituko da botoen kopurua)
|
31
33
|
proposals:
|
32
34
|
actions:
|
33
35
|
answer: Erantzuna
|
36
|
+
new: Berria
|
34
37
|
title: Ekintzak
|
35
38
|
admin:
|
36
39
|
actions:
|
37
40
|
preview: Aurreikusi
|
41
|
+
exports:
|
42
|
+
comments: Iruzkinak
|
43
|
+
proposals: Proposamenak
|
38
44
|
models:
|
39
45
|
proposal:
|
40
46
|
name: Proposamena
|
41
47
|
proposal_answers:
|
42
48
|
edit:
|
43
49
|
accepted: Onartuta
|
50
|
+
answer_proposal: Erantzuna
|
44
51
|
rejected: Baztertuta
|
45
52
|
title: 'Erantzun proposamen honi: %{title}'
|
46
53
|
proposals:
|
@@ -54,6 +61,9 @@ eu:
|
|
54
61
|
select_a_category: Aukeratu kategoria bat
|
55
62
|
index:
|
56
63
|
title: Proposamenak
|
64
|
+
new:
|
65
|
+
create: Sortu
|
66
|
+
title: Sortu proposamena
|
57
67
|
answers:
|
58
68
|
accepted: Onartuta
|
59
69
|
not_answered: Erantzun gabe
|
@@ -33,7 +33,6 @@ fr:
|
|
33
33
|
proposals:
|
34
34
|
actions:
|
35
35
|
answer: Répondre
|
36
|
-
export: Exporter
|
37
36
|
new: Nouveau
|
38
37
|
title: Actions
|
39
38
|
admin:
|
@@ -69,8 +68,6 @@ fr:
|
|
69
68
|
create:
|
70
69
|
error: Il y a eu des erreurs lors de la sauvegarde de la proposition.
|
71
70
|
success: Proposition créée avec succès.
|
72
|
-
exports:
|
73
|
-
notice: Votre exportation est en cours. Vous recevrez un e-mail quand elle sera terminée.
|
74
71
|
models:
|
75
72
|
proposal:
|
76
73
|
fields:
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "decidim/proposals/admin"
|
3
4
|
require "decidim/proposals/engine"
|
4
5
|
require "decidim/proposals/admin_engine"
|
@@ -8,5 +9,6 @@ module Decidim
|
|
8
9
|
# This namespace holds the logic of the `Proposals` component. This component
|
9
10
|
# allows users to create proposals in a participatory process.
|
10
11
|
module Proposals
|
12
|
+
autoload :ProposalSerializer, "decidim/proposals/proposal_serializer"
|
11
13
|
end
|
12
14
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Decidim
|
3
4
|
module Proposals
|
4
5
|
# This is the engine that runs on the public interface of `decidim-proposals`.
|
@@ -10,10 +11,6 @@ module Decidim
|
|
10
11
|
routes do
|
11
12
|
resources :proposals, only: [:index, :new, :create] do
|
12
13
|
resources :proposal_answers, only: [:edit, :update]
|
13
|
-
|
14
|
-
collection do
|
15
|
-
resources :exports, only: [:create]
|
16
|
-
end
|
17
14
|
end
|
18
15
|
|
19
16
|
root to: "proposals#index"
|
@@ -51,6 +51,26 @@ Decidim.register_feature(:proposals) do |feature|
|
|
51
51
|
Decidim::Comments::Comment.where(root_commentable: proposals).count
|
52
52
|
end
|
53
53
|
|
54
|
+
feature.exports :proposals do |exports|
|
55
|
+
exports.collection do |feature_instance|
|
56
|
+
Decidim::Proposals::Proposal
|
57
|
+
.where(feature: feature_instance)
|
58
|
+
.includes(:category, feature: { participatory_process: :organization })
|
59
|
+
end
|
60
|
+
|
61
|
+
exports.serializer Decidim::Proposals::ProposalSerializer
|
62
|
+
end
|
63
|
+
|
64
|
+
feature.exports :comments do |exports|
|
65
|
+
exports.collection do |feature_instance|
|
66
|
+
Decidim::Comments::Export.comments_for_resource(
|
67
|
+
Decidim::Proposals::Proposal, feature_instance
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
exports.serializer Decidim::Comments::CommentSerializer
|
72
|
+
end
|
73
|
+
|
54
74
|
feature.seeds do
|
55
75
|
Decidim::ParticipatoryProcess.all.each do |process|
|
56
76
|
next unless process.steps.any?
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Proposals
|
5
5
|
# This class serializes a Proposal so can be exported to CSV, JSON or other
|
6
6
|
# formats.
|
7
|
-
class ProposalSerializer
|
7
|
+
class ProposalSerializer < Decidim::Exporters::Serializer
|
8
8
|
include Rails.application.routes.url_helpers
|
9
9
|
include Decidim::ResourceHelper
|
10
10
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "decidim/core/test/factories"
|
3
4
|
require "decidim/admin/test/factories"
|
4
5
|
require "decidim/comments/test/factories"
|
@@ -20,6 +21,14 @@ FactoryGirl.define do
|
|
20
21
|
end
|
21
22
|
end
|
22
23
|
|
24
|
+
trait :with_votes_disabled do
|
25
|
+
step_settings do
|
26
|
+
{
|
27
|
+
participatory_process.active_step.id => { votes_enabled: false }
|
28
|
+
}
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
23
32
|
trait :with_vote_limit do
|
24
33
|
transient do
|
25
34
|
vote_limit 10
|
@@ -1,20 +1,27 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "spec_helper"
|
3
4
|
|
4
5
|
module Decidim
|
5
6
|
module Proposals
|
6
|
-
|
7
|
+
class OrderableFakeController < ApplicationController
|
8
|
+
include Orderable
|
9
|
+
end
|
10
|
+
|
11
|
+
describe OrderableFakeController, type: :controller do
|
7
12
|
before do
|
8
|
-
allow(
|
13
|
+
allow(controller).to receive(:current_settings).and_return(current_settings)
|
9
14
|
end
|
10
15
|
|
11
|
-
|
16
|
+
let(:view) { controller.view_context }
|
17
|
+
|
18
|
+
describe "#available_orders" do
|
12
19
|
context "with votes enabled" do
|
13
20
|
context "with votes hidden" do
|
14
21
|
let(:current_settings) { double(:current_settings, votes_enabled?: true, votes_hidden?: true) }
|
15
22
|
|
16
23
|
it "does not show most_voted option to sort" do
|
17
|
-
expect(
|
24
|
+
expect(view.available_orders).not_to include("most_voted")
|
18
25
|
end
|
19
26
|
end
|
20
27
|
|
@@ -22,7 +29,7 @@ module Decidim
|
|
22
29
|
let(:current_settings) { double(:current_settings, votes_enabled?: true, votes_hidden?: false) }
|
23
30
|
|
24
31
|
it "shows most_voted option to sort" do
|
25
|
-
expect(
|
32
|
+
expect(view.available_orders).to include("most_voted")
|
26
33
|
end
|
27
34
|
end
|
28
35
|
end
|
@@ -31,7 +38,7 @@ module Decidim
|
|
31
38
|
let(:current_settings) { double(:current_settings, votes_enabled?: false) }
|
32
39
|
|
33
40
|
it "doesn't show most_voted option to sort" do
|
34
|
-
expect(
|
41
|
+
expect(view.available_orders).not_to include("most_voted")
|
35
42
|
end
|
36
43
|
end
|
37
44
|
end
|