decidim 0.0.3 → 0.0.4
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/.github/ISSUE_TEMPLATE.md +23 -4
- data/.travis.yml +4 -1
- data/Gemfile.lock +56 -48
- data/Rakefile +1 -1
- data/decidim-admin/app/commands/decidim/admin/create_participatory_process_admin.rb +3 -0
- data/decidim-admin/app/commands/decidim/admin/update_feature_permissions.rb +46 -0
- data/decidim-admin/app/commands/decidim/admin/update_organization.rb +17 -2
- data/decidim-admin/app/commands/decidim/admin/update_participatory_process.rb +4 -2
- data/decidim-admin/app/controllers/decidim/admin/application_controller.rb +3 -0
- data/decidim-admin/app/controllers/decidim/admin/feature_permissions_controller.rb +59 -0
- data/decidim-admin/app/controllers/decidim/admin/features_controller.rb +20 -0
- data/decidim-admin/app/controllers/decidim/admin/users_controller.rb +3 -1
- data/decidim-admin/app/forms/decidim/admin/organization_form.rb +10 -0
- data/decidim-admin/app/forms/decidim/admin/participatory_process_form.rb +8 -5
- data/decidim-admin/app/forms/decidim/admin/permission_form.rb +31 -0
- data/decidim-admin/app/forms/decidim/admin/permissions_form.rb +16 -0
- data/decidim-admin/app/helpers/decidim/admin/application_helper.rb +1 -0
- data/decidim-admin/app/models/decidim/admin/participatory_process_user_role.rb +1 -1
- data/decidim-admin/app/views/decidim/admin/attachments/edit.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/attachments/new.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/categories/edit.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/categories/new.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/dashboard/show.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/feature_permissions/edit.html.erb +27 -0
- data/decidim-admin/app/views/decidim/admin/features/_feature.html.erb +10 -0
- data/decidim-admin/app/views/decidim/admin/features/edit.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/features/new.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/organization/_form.html.erb +34 -0
- data/decidim-admin/app/views/decidim/admin/organization/edit.html.erb +2 -2
- data/decidim-admin/app/views/decidim/admin/participatory_process_steps/edit.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/participatory_process_steps/new.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/participatory_process_user_roles/index.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/participatory_processes/_form.html.erb +17 -4
- data/decidim-admin/app/views/decidim/admin/participatory_processes/edit.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/participatory_processes/index.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/participatory_processes/new.html.erb +2 -2
- data/decidim-admin/app/views/decidim/admin/participatory_processes/show.html.erb +5 -2
- data/decidim-admin/app/views/decidim/admin/scopes/edit.html.erb +2 -2
- data/decidim-admin/app/views/decidim/admin/scopes/index.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/scopes/new.html.erb +2 -2
- data/decidim-admin/app/views/decidim/admin/static_pages/_form.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/static_pages/edit.html.erb +2 -2
- data/decidim-admin/app/views/decidim/admin/static_pages/index.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/static_pages/new.html.erb +2 -2
- data/decidim-admin/app/views/decidim/admin/static_pages/show.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/user_groups/index.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/users/index.html.erb +1 -1
- data/decidim-admin/app/views/decidim/admin/users/new.html.erb +2 -2
- data/decidim-admin/app/views/layouts/decidim/admin/participatory_process.html.erb +1 -1
- data/decidim-admin/config/i18n-tasks.yml +4 -3
- data/decidim-admin/config/locales/ca.yml +20 -1
- data/decidim-admin/config/locales/en.yml +19 -0
- data/decidim-admin/config/locales/es.yml +19 -0
- data/decidim-admin/config/locales/eu.yml +5 -0
- data/decidim-admin/config/routes.rb +8 -1
- data/decidim-admin/db/seeds.rb +3 -1
- data/decidim-admin/spec/commands/create_participatory_process_admin_spec.rb +19 -0
- data/decidim-admin/spec/commands/update_organization_spec.rb +20 -0
- data/decidim-admin/spec/features/admin_invite_spec.rb +5 -3
- data/decidim-admin/spec/features/admin_manages_feature_permissions_spec.rb +44 -0
- data/decidim-admin/spec/features/admin_manages_features_spec.rb +38 -0
- data/decidim-admin/spec/features/admin_manages_participatory_process_admins_spec.rb +0 -2
- data/decidim-admin/spec/features/admin_manages_participatory_process_attachments_spec.rb +0 -2
- data/decidim-admin/spec/features/admin_manages_participatory_process_categories_spec.rb +0 -2
- data/decidim-admin/spec/features/admin_manages_participatory_process_steps_spec.rb +0 -2
- data/decidim-admin/spec/features/admin_manages_participatory_processes_spec.rb +0 -2
- data/decidim-admin/spec/features/admin_manages_user_groups_spec.rb +1 -3
- data/decidim-admin/spec/features/participatory_process_admin_manages_participatory_process_admins_spec.rb +0 -2
- data/decidim-admin/spec/features/participatory_process_admin_manages_participatory_process_attachments_spec.rb +0 -2
- data/decidim-admin/spec/features/participatory_process_admin_manages_participatory_process_steps_spec.rb +0 -2
- data/decidim-admin/spec/features/participatory_process_admin_manages_participatory_processes_spec.rb +0 -2
- data/decidim-admin/spec/features/process_admin_manages_participatory_process_categories_spec.rb +0 -2
- data/decidim-admin/spec/forms/organization_form_spec.rb +11 -2
- data/decidim-admin/spec/models/participatory_process_user_role_spec.rb +17 -0
- data/decidim-admin/spec/shared/manage_process_steps_examples.rb +3 -2
- data/decidim-budgets/app/assets/images/decidim/budgets/icon.svg +16 -4
- data/decidim-budgets/app/assets/javascripts/decidim/budgets/progressFixed.js.es6 +23 -0
- data/decidim-budgets/app/assets/javascripts/decidim/budgets/projects.js.es6 +1 -0
- data/decidim-budgets/app/assets/stylesheets/decidim/budgets/budget/_budget-list.scss +1 -1
- data/decidim-budgets/app/commands/decidim/budgets/admin/create_project.rb +0 -1
- data/decidim-budgets/app/commands/decidim/budgets/admin/update_project.rb +0 -1
- data/decidim-budgets/app/controllers/decidim/budgets/admin/application_controller.rb +9 -0
- data/decidim-budgets/app/controllers/decidim/budgets/admin/attachments_controller.rb +29 -0
- data/decidim-budgets/app/controllers/decidim/budgets/line_items_controller.rb +2 -0
- data/decidim-budgets/app/controllers/decidim/budgets/orders_controller.rb +2 -0
- data/decidim-budgets/app/forms/decidim/budgets/admin/project_form.rb +1 -2
- data/decidim-budgets/app/models/decidim/budgets/project.rb +1 -0
- data/decidim-budgets/app/services/decidim/budgets/project_search.rb +0 -1
- data/decidim-budgets/app/views/decidim/budgets/admin/projects/_form.html.erb +0 -4
- data/decidim-budgets/app/views/decidim/budgets/admin/projects/edit.html.erb +1 -1
- data/decidim-budgets/app/views/decidim/budgets/admin/projects/index.html.erb +1 -0
- data/decidim-budgets/app/views/decidim/budgets/admin/projects/new.html.erb +1 -1
- data/decidim-budgets/app/views/decidim/budgets/line_items/update_budget.js.erb +2 -0
- data/decidim-budgets/app/views/decidim/budgets/projects/_project.html.erb +2 -2
- data/decidim-budgets/app/views/decidim/budgets/projects/_project_budget_button.html.erb +2 -2
- data/decidim-budgets/app/views/decidim/budgets/projects/index.html.erb +3 -2
- data/decidim-budgets/app/views/decidim/budgets/projects/show.html.erb +3 -7
- data/decidim-budgets/config/i18n-tasks.yml +1 -0
- data/decidim-budgets/config/locales/ca.yml +24 -5
- data/decidim-budgets/config/locales/en.yml +12 -3
- data/decidim-budgets/config/locales/es.yml +22 -3
- data/decidim-budgets/config/locales/eu.yml +5 -0
- data/decidim-budgets/db/migrate/20170207101750_remove_short_description_from_decidim_projects.rb +5 -0
- data/decidim-budgets/decidim-budgets.gemspec +1 -0
- data/decidim-budgets/lib/decidim/budgets/admin_engine.rb +4 -1
- data/decidim-budgets/lib/decidim/budgets/feature.rb +15 -4
- data/decidim-budgets/lib/decidim/budgets/test/factories.rb +2 -3
- data/decidim-budgets/spec/commands/create_project_spec.rb +0 -1
- data/decidim-budgets/spec/commands/update_project_spec.rb +0 -1
- data/decidim-budgets/spec/features/admin_manages_project_attachments_spec.rb +10 -0
- data/decidim-budgets/spec/features/admin_manages_projects_spec.rb +0 -2
- data/decidim-budgets/spec/features/orders_spec.rb +43 -5
- data/decidim-budgets/spec/features/process_admin_manages_project_attachments_spec.rb +12 -0
- data/decidim-budgets/spec/features/process_admin_manages_projects_spec.rb +0 -2
- data/decidim-budgets/spec/forms/project_form_spec.rb +0 -10
- data/decidim-budgets/spec/shared/manage_attachments_examples.rb +17 -0
- data/decidim-budgets/spec/shared/manage_projects_examples.rb +0 -7
- data/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +0 -0
- data/decidim-comments/app/commands/decidim/comments/create_comment.rb +10 -0
- data/decidim-comments/app/forms/decidim/comments/comment_form.rb +1 -1
- data/decidim-comments/app/frontend/comments/add_comment_form.component.jsx +33 -12
- data/decidim-comments/app/frontend/comments/add_comment_form.component.test.jsx +6 -0
- data/decidim-comments/app/frontend/comments/comment.component.jsx +7 -5
- data/decidim-comments/app/frontend/comments/comment_order_selector.component.jsx +2 -2
- data/decidim-comments/app/frontend/comments/comment_thread.component.jsx +5 -0
- data/decidim-comments/app/frontend/comments/comments.component.jsx +11 -0
- data/decidim-comments/app/frontend/comments/vote_button.component.jsx +5 -0
- data/decidim-comments/app/frontend/comments/vote_button_component.test.jsx +1 -1
- data/decidim-comments/app/frontend/entry.test.js +2 -0
- data/decidim-comments/app/mailers/decidim/comments/comment_notification_mailer.rb +31 -0
- data/decidim-comments/app/models/decidim/comments/comment.rb +6 -0
- data/decidim-comments/app/views/decidim/comments/comment_notification_mailer/comment_created.html.erb +18 -0
- data/decidim-comments/app/views/decidim/comments/comment_notification_mailer/reply_created.html.erb +18 -0
- data/decidim-comments/config/locales/ca.yml +17 -3
- data/decidim-comments/config/locales/en.yml +17 -3
- data/decidim-comments/config/locales/es.yml +17 -3
- data/decidim-comments/config/locales/eu.yml +5 -0
- data/decidim-comments/lib/decidim/comments.rb +1 -0
- data/decidim-comments/{app/helpers → lib}/decidim/comments/comments_helper.rb +0 -0
- data/decidim-comments/spec/commands/create_comment_spec.rb +68 -1
- data/decidim-comments/spec/features/comments_spec.rb +27 -20
- data/decidim-comments/spec/features/notifications_spec.rb +45 -0
- data/decidim-comments/spec/forms/comment_form_spec.rb +6 -0
- data/decidim-comments/spec/mailers/comment_notification_mailer_spec.rb +36 -0
- data/decidim-comments/spec/models/comment_spec.rb +8 -0
- data/decidim-comments/spec/spec_helper.rb +0 -1
- data/decidim-comments/spec/types/mutation_type_spec.rb +8 -7
- data/decidim-dev/config/locales/ca.yml +5 -0
- data/decidim-dev/config/locales/es.yml +5 -0
- data/decidim-dev/config/locales/eu.yml +5 -0
- data/decidim-dev/decidim-dev.gemspec +2 -1
- data/decidim-dev/lib/decidim/dev.rb +2 -0
- data/decidim-dev/lib/decidim/dev/dummy_authorization_handler.rb +1 -0
- data/decidim-dev/lib/decidim/dev/test/base_spec_helper.rb +4 -1
- data/decidim-dev/lib/decidim/dev/test/rspec_support/action_mailer.rb +19 -0
- data/decidim-dev/lib/decidim/dev/test/rspec_support/feature.rb +26 -3
- data/decidim-dev/lib/decidim/dev/test/rspec_support/translation_helpers.rb +1 -1
- data/decidim-meetings/app/forms/decidim/meetings/admin/meeting_form.rb +2 -2
- data/decidim-meetings/app/views/decidim/meetings/admin/meeting_closes/edit.html.erb +1 -1
- data/decidim-meetings/app/views/decidim/meetings/admin/meetings/edit.html.erb +1 -1
- data/decidim-meetings/app/views/decidim/meetings/admin/meetings/new.html.erb +1 -1
- data/decidim-meetings/app/views/decidim/meetings/meetings/index.html.erb +3 -1
- data/decidim-meetings/app/views/decidim/meetings/meetings/show.html.erb +11 -1
- data/decidim-meetings/config/locales/ca.yml +3 -3
- data/decidim-meetings/config/locales/en.yml +1 -1
- data/decidim-meetings/config/locales/es.yml +1 -1
- data/decidim-meetings/config/locales/eu.yml +5 -0
- data/decidim-meetings/decidim-meetings.gemspec +1 -1
- data/decidim-meetings/lib/decidim/meetings/feature.rb +1 -0
- data/decidim-meetings/spec/features/admin_manages_meetings_attachments_spec.rb +0 -2
- data/decidim-meetings/spec/features/admin_manages_meetings_spec.rb +0 -2
- data/decidim-meetings/spec/features/process_admin_manages_meetings_attachments_spec.rb +0 -2
- data/decidim-meetings/spec/features/process_admin_manages_meetings_spec.rb +0 -2
- data/decidim-pages/app/assets/images/decidim/pages/icon.svg +1 -3
- data/decidim-pages/app/views/decidim/pages/admin/pages/edit.html.erb +1 -1
- data/decidim-pages/app/views/decidim/pages/application/show.html.erb +4 -1
- data/decidim-pages/config/locales/eu.yml +7 -0
- data/decidim-pages/lib/decidim/pages/feature.rb +1 -0
- data/decidim-proposals/app/controllers/decidim/proposals/proposals_controller.rb +42 -5
- data/decidim-proposals/app/forms/decidim/proposals/proposal_form.rb +3 -1
- data/decidim-proposals/app/helpers/decidim/proposals/proposal_votes_helper.rb +1 -1
- data/decidim-proposals/app/models/decidim/proposals/abilities/current_user.rb +22 -4
- data/decidim-proposals/app/models/decidim/proposals/proposal.rb +2 -2
- data/decidim-proposals/app/services/decidim/proposals/proposal_search.rb +25 -13
- data/decidim-proposals/app/views/decidim/proposals/admin/proposal_answers/edit.html.erb +1 -1
- data/decidim-proposals/app/views/decidim/proposals/admin/proposals/new.html.erb +1 -1
- data/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb +9 -1
- data/decidim-proposals/app/views/decidim/proposals/proposals/_proposal.html.erb +2 -6
- data/decidim-proposals/app/views/decidim/proposals/proposals/_proposals.html.erb +2 -1
- data/decidim-proposals/app/views/decidim/proposals/proposals/_tags.html.erb +10 -0
- data/decidim-proposals/app/views/decidim/proposals/proposals/_vote_button.html.erb +9 -9
- data/decidim-proposals/app/views/decidim/proposals/proposals/_votes_count.html.erb +2 -2
- data/decidim-proposals/app/views/decidim/proposals/proposals/index.html.erb +7 -3
- data/decidim-proposals/app/views/decidim/proposals/proposals/index.js.erb +6 -1
- data/decidim-proposals/app/views/decidim/proposals/proposals/new.html.erb +1 -1
- data/decidim-proposals/app/views/decidim/proposals/proposals/show.html.erb +22 -23
- data/decidim-proposals/config/i18n-tasks.yml +2 -0
- data/decidim-proposals/config/locales/ca.yml +23 -15
- data/decidim-proposals/config/locales/en.yml +12 -4
- data/decidim-proposals/config/locales/es.yml +12 -4
- data/decidim-proposals/config/locales/eu.yml +5 -0
- data/decidim-proposals/db/migrate/20170205082832_add_index_to_decidim_proposals_proposals_proposal_votes_count.rb +7 -0
- data/decidim-proposals/lib/decidim/proposals/feature.rb +10 -1
- data/decidim-proposals/lib/decidim/proposals/test/factories.rb +1 -1
- data/decidim-proposals/spec/commands/decidim/proposals/admin_create_proposal_spec.rb +0 -1
- data/decidim-proposals/spec/commands/decidim/proposals/create_proposal_spec.rb +0 -1
- data/decidim-proposals/spec/features/admin_manages_proposals_spec.rb +0 -2
- data/decidim-proposals/spec/features/process_admin_manages_proposals_spec.rb +0 -2
- data/decidim-proposals/spec/features/proposals_spec.rb +77 -0
- data/decidim-proposals/spec/features/vote_proposal_spec.rb +16 -1
- data/decidim-proposals/spec/forms/decidim/proposals/admin_proposal_form_spec.rb +0 -1
- data/decidim-proposals/spec/forms/decidim/proposals/proposal_form_spec.rb +0 -1
- data/decidim-proposals/spec/helpers/proposal_votes_helper_spec.rb +10 -0
- data/decidim-proposals/spec/services/decidim/proposals/proposal_search_spec.rb +56 -31
- data/decidim-proposals/spec/shared/create_proposal_examples.rb +2 -2
- data/decidim-results/app/views/decidim/results/admin/results/edit.html.erb +1 -1
- data/decidim-results/app/views/decidim/results/admin/results/new.html.erb +1 -1
- data/decidim-results/app/views/decidim/results/results/index.html.erb +3 -1
- data/decidim-results/app/views/decidim/results/results/show.html.erb +11 -1
- data/decidim-results/config/locales/ca.yml +2 -2
- data/decidim-results/config/locales/en.yml +1 -1
- data/decidim-results/config/locales/es.yml +1 -1
- data/decidim-results/config/locales/eu.yml +5 -0
- data/decidim-results/lib/decidim/results/feature.rb +1 -0
- data/decidim-results/spec/features/admin_manages_results_spec.rb +0 -2
- data/decidim-results/spec/features/process_admin_manages_results_spec.rb +0 -2
- data/decidim-system/app/assets/stylesheets/decidim/system/_foundation_and_overrides.scss +1 -1
- data/decidim-system/app/controllers/decidim/system/application_controller.rb +1 -0
- data/decidim-system/app/controllers/decidim/system/devise/sessions_controller.rb +1 -0
- data/decidim-system/app/views/decidim/system/admins/edit.html.erb +2 -2
- data/decidim-system/app/views/decidim/system/admins/index.html.erb +1 -1
- data/decidim-system/app/views/decidim/system/admins/new.html.erb +2 -2
- data/decidim-system/app/views/decidim/system/admins/show.html.erb +1 -1
- data/decidim-system/app/views/decidim/system/dashboard/show.html.erb +1 -1
- data/decidim-system/app/views/decidim/system/devise/passwords/edit.html.erb +1 -1
- data/decidim-system/app/views/decidim/system/devise/passwords/new.html.erb +1 -1
- data/decidim-system/app/views/decidim/system/devise/sessions/new.html.erb +1 -1
- data/decidim-system/app/views/decidim/system/organizations/edit.html.erb +1 -1
- data/decidim-system/app/views/decidim/system/organizations/index.html.erb +1 -1
- data/decidim-system/app/views/decidim/system/organizations/new.html.erb +2 -2
- data/decidim-system/app/views/decidim/system/organizations/show.html.erb +1 -1
- data/decidim-system/config/locales/eu.yml +7 -0
- data/decidim-system/spec/features/organizations_spec.rb +1 -2
- data/lib/generators/decidim/install_generator.rb +9 -0
- data/lib/generators/decidim/templates/initializer.rb +1 -0
- data/package.json +6 -6
- data/yarn.lock +743 -738
- metadata +53 -25
- data/decidim-comments/spec/support/dummy.rb +0 -20
- data/decidim-proposals/app/views/decidim/proposals/proposals/_share.html.erb +0 -33
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
describe "manage a feature's permissions", type: :feature do
|
5
|
+
let(:organization) { create(:organization) }
|
6
|
+
let(:user) { create(:user, :admin, :confirmed, organization: organization) }
|
7
|
+
|
8
|
+
let!(:participatory_process) do
|
9
|
+
create(:participatory_process, :with_steps, organization: organization)
|
10
|
+
end
|
11
|
+
|
12
|
+
let!(:feature) do
|
13
|
+
create(:feature, participatory_process: participatory_process)
|
14
|
+
end
|
15
|
+
|
16
|
+
before do
|
17
|
+
switch_to_host(organization.host)
|
18
|
+
login_as user, scope: :user
|
19
|
+
visit decidim_admin.participatory_process_features_path(participatory_process)
|
20
|
+
|
21
|
+
within ".feature-#{feature.id}" do
|
22
|
+
click_link "Permissions"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
it "allows setting permissions with json options" do
|
27
|
+
within "form.new_feature_permissions" do
|
28
|
+
within ".foo-permission" do
|
29
|
+
select "Example authorization", from: "feature_permissions_permissions_foo_authorization_handler_name"
|
30
|
+
fill_in "feature_permissions_permissions_foo_options", with: '{ "foo": 123 }'
|
31
|
+
end
|
32
|
+
find("*[type=submit]").click
|
33
|
+
end
|
34
|
+
|
35
|
+
expect(page).to have_content("successfully")
|
36
|
+
|
37
|
+
expect(feature.reload.permissions["foo"]).to(
|
38
|
+
include(
|
39
|
+
"authorization_handler_name" => "decidim/dummy_authorization_handler",
|
40
|
+
"options" => { "foo" => 123 }
|
41
|
+
)
|
42
|
+
)
|
43
|
+
end
|
44
|
+
end
|
@@ -154,4 +154,42 @@ describe "Admin manages features", type: :feature do
|
|
154
154
|
expect(page).to have_no_content("My feature")
|
155
155
|
end
|
156
156
|
end
|
157
|
+
|
158
|
+
describe "publish and unpublish a feature" do
|
159
|
+
let!(:feature) do
|
160
|
+
create(:feature, participatory_process: participatory_process, published_at: published_at)
|
161
|
+
end
|
162
|
+
|
163
|
+
let(:published_at) { nil }
|
164
|
+
|
165
|
+
before do
|
166
|
+
visit decidim_admin.participatory_process_features_path(participatory_process)
|
167
|
+
end
|
168
|
+
|
169
|
+
context "when the feature is unpublished" do
|
170
|
+
it "publishes the feature" do
|
171
|
+
within ".feature-#{feature.id}" do
|
172
|
+
click_link "Publish"
|
173
|
+
end
|
174
|
+
|
175
|
+
within ".feature-#{feature.id}" do
|
176
|
+
expect(page).to have_content("Unpublish")
|
177
|
+
end
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
context "when the feature is published" do
|
182
|
+
let(:published_at) { Time.current }
|
183
|
+
|
184
|
+
it "unpublishes the feature" do
|
185
|
+
within ".feature-#{feature.id}" do
|
186
|
+
click_link "Unpublish"
|
187
|
+
end
|
188
|
+
|
189
|
+
within ".feature-#{feature.id}" do
|
190
|
+
expect(page).to have_content("Publish")
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
157
195
|
end
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
|
-
require_relative "../shared/participatory_admin_shared_context"
|
5
|
-
require_relative "../shared/manage_process_admins_examples"
|
6
4
|
|
7
5
|
describe "Admin manages participatory process admins", type: :feature do
|
8
6
|
include_context "participatory process admin"
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
|
-
require_relative "../shared/participatory_admin_shared_context"
|
5
|
-
require_relative "../shared/manage_process_attachments_examples"
|
6
4
|
|
7
5
|
describe "Admin manages participatory process attachments", type: :feature do
|
8
6
|
include_context "participatory process admin"
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
|
-
require_relative "../shared/participatory_admin_shared_context"
|
5
|
-
require_relative "../shared/manage_process_categories_examples"
|
6
4
|
|
7
5
|
describe "Admin manages participatory process categories", type: :feature do
|
8
6
|
include_context "participatory process admin"
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
|
-
require_relative "../shared/participatory_admin_shared_context"
|
5
|
-
require_relative "../shared/manage_process_steps_examples"
|
6
4
|
|
7
5
|
describe "Admin manages participatory process steps", type: :feature do
|
8
6
|
include_context "participatory process admin"
|
@@ -2,8 +2,6 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "spec_helper"
|
5
|
-
require_relative "../shared/participatory_admin_shared_context"
|
6
|
-
require_relative "../shared/manage_processes_examples"
|
7
5
|
|
8
6
|
describe "Admin manage participatory processes", type: :feature do
|
9
7
|
include_context "participatory process admin"
|
@@ -2,7 +2,6 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "spec_helper"
|
5
|
-
require_relative "../shared/participatory_admin_shared_context"
|
6
5
|
|
7
6
|
describe "Admin manage user groups", type: :feature do
|
8
7
|
include_context "participatory process admin"
|
@@ -18,7 +17,6 @@ describe "Admin manage user groups", type: :feature do
|
|
18
17
|
click_button "Verify", match: :first
|
19
18
|
|
20
19
|
expect(page).not_to have_selector(".actions button", match: :first)
|
21
|
-
|
22
20
|
expect(page).to have_content("verified successfully")
|
23
21
|
end
|
24
|
-
end
|
22
|
+
end
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
|
-
require_relative "../shared/participatory_admin_shared_context"
|
5
|
-
require_relative "../shared/manage_process_admins_examples"
|
6
4
|
|
7
5
|
describe "Participatory process admin manages participatory process admins", type: :feature do
|
8
6
|
include_context "participatory process admin"
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
|
-
require_relative "../shared/participatory_admin_shared_context"
|
5
|
-
require_relative "../shared/manage_process_attachments_examples"
|
6
4
|
|
7
5
|
describe "Participatory process admin manages participatory process attachments", type: :feature do
|
8
6
|
include_context "participatory process admin"
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
|
-
require_relative "../shared/participatory_admin_shared_context"
|
5
|
-
require_relative "../shared/manage_process_steps_examples"
|
6
4
|
|
7
5
|
describe "Participatory process admin manages participatory process steps", type: :feature do
|
8
6
|
include_context "participatory process admin"
|
data/decidim-admin/spec/features/participatory_process_admin_manages_participatory_processes_spec.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
|
-
require_relative "../shared/participatory_admin_shared_context"
|
5
|
-
require_relative "../shared/manage_processes_examples"
|
6
4
|
|
7
5
|
describe "Participatory process admin manages participatory processes", type: :feature do
|
8
6
|
include_context "participatory process admin"
|
data/decidim-admin/spec/features/process_admin_manages_participatory_process_categories_spec.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
|
-
require_relative "../shared/participatory_admin_shared_context"
|
5
|
-
require_relative "../shared/manage_process_categories_examples"
|
6
4
|
|
7
5
|
describe "Admin manages participatory process categories", type: :feature do
|
8
6
|
include_context "participatory process admin"
|
@@ -6,7 +6,11 @@ module Decidim
|
|
6
6
|
module Admin
|
7
7
|
describe OrganizationForm do
|
8
8
|
let(:name) { "My super organization" }
|
9
|
-
let(:twitter_handler) { "My awesome handler" }
|
9
|
+
let(:twitter_handler) { "My twitter awesome handler" }
|
10
|
+
let(:facebook_handler) { "My facebook awesome handler" }
|
11
|
+
let(:instagram_handler) { "My instagram awesome handler" }
|
12
|
+
let(:youtube_handler) { "My youtube awesome handler" }
|
13
|
+
let(:github_handler) { "My github awesome handler" }
|
10
14
|
let(:welcome_text) do
|
11
15
|
{
|
12
16
|
en: "Welcome",
|
@@ -35,7 +39,12 @@ module Decidim
|
|
35
39
|
"description_es" => description[:es],
|
36
40
|
"description_ca" => description[:ca],
|
37
41
|
"homepage_image" => Rack::Test::UploadedFile.new(File.join(File.dirname(__FILE__), "..", "..", "..", "decidim-dev", "spec", "support", "city.jpeg"), "image/jpeg"),
|
38
|
-
"show_statics" => false
|
42
|
+
"show_statics" => false,
|
43
|
+
"twitter_handler" => twitter_handler,
|
44
|
+
"facebook_handler" => facebook_handler,
|
45
|
+
"instagram_handler" => instagram_handler,
|
46
|
+
"youtube_handler" => youtube_handler,
|
47
|
+
"github_handler" => github_handler
|
39
48
|
}
|
40
49
|
}
|
41
50
|
end
|
@@ -16,6 +16,23 @@ module Decidim
|
|
16
16
|
|
17
17
|
it { is_expected.not_to be_valid }
|
18
18
|
end
|
19
|
+
|
20
|
+
context "when a role already exists" do
|
21
|
+
let(:participatory_process_user_role) do
|
22
|
+
build(
|
23
|
+
:participatory_process_user_role,
|
24
|
+
role: existing_role.role,
|
25
|
+
user: existing_role.user,
|
26
|
+
participatory_process: existing_role.participatory_process
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
30
|
+
let!(:existing_role) do
|
31
|
+
create(:participatory_process_user_role, role: role)
|
32
|
+
end
|
33
|
+
|
34
|
+
it { is_expected.not_to be_valid }
|
35
|
+
end
|
19
36
|
end
|
20
37
|
end
|
21
38
|
end
|
@@ -60,8 +60,9 @@ RSpec.shared_examples "manage process steps examples" do
|
|
60
60
|
es: "Descripción más larga",
|
61
61
|
ca: "Descripció més llarga"
|
62
62
|
)
|
63
|
-
|
64
|
-
fill_in :
|
63
|
+
|
64
|
+
fill_in :participatory_process_step_start_date, with: 1.months.ago.to_date
|
65
|
+
fill_in :participatory_process_step_end_date, with: 2.months.from_now.to_date
|
65
66
|
|
66
67
|
find("*[type=submit]").click
|
67
68
|
end
|
@@ -1,4 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
3
|
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
4
|
+
viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve">
|
5
|
+
<g>
|
6
|
+
<path d="M18,36C8.1,36,0,27.9,0,18S8.1,0,18,0s18,8.1,18,18S27.9,36,18,36z M18,2C9.2,2,2,9.2,2,18s7.2,16,16,16s16-7.2,16-16
|
7
|
+
S26.8,2,18,2z"/>
|
8
|
+
</g>
|
9
|
+
<g>
|
10
|
+
<g>
|
11
|
+
<path d="M17.1,28.3c-5.3,0-9.9-4.4-9.9-9.8c0-5.5,4.9-9.5,9.3-9.5H18v9h9v0.9C27,23.2,22.7,28.3,17.1,28.3z M16,10.7
|
12
|
+
c-4,0.6-6.5,3.7-6.5,7.6c0,4.3,3.6,8,7.7,8c3.9,0,7-3.3,7.6-6.3H16V10.7z"/>
|
13
|
+
</g>
|
14
|
+
<path d="M30,16H20V6h0.6c4.5,0,9.4,4.4,9.4,8.9V16z M22,14h5.5C27,11,24,8.6,22,8V14z"/>
|
15
|
+
</g>
|
16
|
+
</svg>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
$(() => {
|
2
|
+
const checkProgressPosition = () => {
|
3
|
+
let progressFix = document.querySelector("[data-progressbox-fixed]"),
|
4
|
+
progressRef = document.querySelector("[data-progress-reference]"),
|
5
|
+
progressVisibleClass = "is-progressbox-visible";
|
6
|
+
|
7
|
+
if (!progressRef) {
|
8
|
+
return;
|
9
|
+
}
|
10
|
+
|
11
|
+
let progressPosition = progressRef.getBoundingClientRect().bottom;
|
12
|
+
if (progressPosition > 0) {
|
13
|
+
progressFix.classList.remove(progressVisibleClass);
|
14
|
+
} else {
|
15
|
+
progressFix.classList.add(progressVisibleClass);
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
window.addEventListener("scroll", checkProgressPosition);
|
20
|
+
|
21
|
+
window.DecidimBudgets = window.DecidimBudgets || {};
|
22
|
+
window.DecidimBudgets.checkProgressPosition = checkProgressPosition;
|
23
|
+
});
|
@@ -8,6 +8,15 @@ module Decidim
|
|
8
8
|
# Note that it inherits from `Decidim::Features::BaseController`, which
|
9
9
|
# override its layout and provide all kinds of useful methods.
|
10
10
|
class ApplicationController < Decidim::Admin::Features::BaseController
|
11
|
+
helper_method :projects, :project
|
12
|
+
|
13
|
+
def projects
|
14
|
+
@projects ||= Project.where(feature: current_feature)
|
15
|
+
end
|
16
|
+
|
17
|
+
def project
|
18
|
+
@project ||= projects.find(params[:id])
|
19
|
+
end
|
11
20
|
end
|
12
21
|
end
|
13
22
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Decidim
|
3
|
+
module Budgets
|
4
|
+
module Admin
|
5
|
+
# Controller that allows managing all the attachments for a participatory
|
6
|
+
# process.
|
7
|
+
#
|
8
|
+
class AttachmentsController < Admin::ApplicationController
|
9
|
+
include Decidim::Admin::Concerns::HasAttachments
|
10
|
+
|
11
|
+
def after_destroy_path
|
12
|
+
projects_path
|
13
|
+
end
|
14
|
+
|
15
|
+
def attached_to
|
16
|
+
project
|
17
|
+
end
|
18
|
+
|
19
|
+
def project
|
20
|
+
@project ||= projects.find(params[:project_id])
|
21
|
+
end
|
22
|
+
|
23
|
+
def authorization_object
|
24
|
+
project.feature
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -8,15 +8,14 @@ module Decidim
|
|
8
8
|
include TranslationsHelper
|
9
9
|
|
10
10
|
translatable_attribute :title, String
|
11
|
-
translatable_attribute :short_description, String
|
12
11
|
translatable_attribute :description, String
|
12
|
+
|
13
13
|
attribute :budget, Integer
|
14
14
|
attribute :decidim_scope_id, Integer
|
15
15
|
attribute :decidim_category_id, Integer
|
16
16
|
attribute :proposal_ids, Array[Integer]
|
17
17
|
|
18
18
|
validates :title, translatable_presence: true
|
19
|
-
validates :short_description, translatable_presence: true
|
20
19
|
validates :description, translatable_presence: true
|
21
20
|
validates :budget, presence: true, numericality: { greater_than: 0 }
|
22
21
|
|