decidim-proposals 0.19.1 → 0.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/config/admin/decidim_proposals_manifest.js +1 -0
- data/app/assets/images/decidim/gamification/badges/accepted_proposals.svg +1 -234
- data/app/assets/images/decidim/gamification/badges/proposal_votes.svg +1 -95
- data/app/assets/images/decidim/gamification/badges/proposals.svg +1 -229
- data/app/assets/images/decidim/proposals/icon.svg +1 -3
- data/app/assets/javascripts/decidim/proposals/add_proposal.js.es6 +6 -0
- data/app/assets/javascripts/decidim/proposals/admin/proposals.es6 +24 -11
- data/app/assets/javascripts/decidim/proposals/admin/proposals_form.js.es6 +3 -5
- data/app/assets/javascripts/decidim/proposals/admin/proposals_picker.js.es6 +35 -0
- data/app/cells/decidim/proposals/collaborative_draft_cell.rb +1 -1
- data/app/cells/decidim/proposals/collaborative_draft_link_to_proposal_cell.rb +1 -1
- data/app/cells/decidim/proposals/collaborative_draft_m/footer.erb +1 -1
- data/app/cells/decidim/proposals/collaborative_draft_m_cell.rb +1 -1
- data/app/cells/decidim/proposals/cost_report/show.erb +35 -0
- data/app/cells/decidim/proposals/cost_report_cell.rb +42 -0
- data/app/cells/decidim/proposals/highlighted_proposals_for_component/show.erb +3 -3
- data/app/cells/decidim/proposals/highlighted_proposals_for_component_cell.rb +1 -1
- data/app/cells/decidim/proposals/irreversible_action_modal/show.erb +2 -2
- data/app/cells/decidim/proposals/irreversible_action_modal_cell.rb +1 -1
- data/app/cells/decidim/proposals/participatory_text_proposal/buttons.erb +3 -3
- data/app/cells/decidim/proposals/participatory_text_proposal_cell.rb +2 -2
- data/app/cells/decidim/proposals/proposal_cell.rb +1 -1
- data/app/cells/decidim/proposals/proposal_m/footer.erb +4 -1
- data/app/cells/decidim/proposals/proposal_m_cell.rb +37 -9
- data/app/cells/decidim/proposals/proposal_tags/show.erb +18 -10
- data/app/cells/decidim/proposals/proposal_tags_cell.rb +5 -0
- data/app/cells/decidim/proposals/proposals_picker/proposals.erb +12 -0
- data/app/cells/decidim/proposals/proposals_picker/show.erb +14 -0
- data/app/cells/decidim/proposals/proposals_picker_cell.rb +72 -0
- data/app/commands/decidim/proposals/admin/answer_proposal.rb +24 -46
- data/app/commands/decidim/proposals/admin/assign_proposals_to_valuator.rb +61 -0
- data/app/commands/decidim/proposals/admin/create_proposal.rb +10 -3
- data/app/commands/decidim/proposals/admin/create_proposal_note.rb +15 -0
- data/app/commands/decidim/proposals/admin/notify_proposal_answer.rb +85 -0
- data/app/commands/decidim/proposals/admin/publish_answers.rb +67 -0
- data/app/commands/decidim/proposals/admin/publish_participatory_text.rb +6 -1
- data/app/commands/decidim/proposals/admin/unassign_proposals_from_valuator.rb +62 -0
- data/app/commands/decidim/proposals/admin/update_participatory_text.rb +10 -2
- data/app/commands/decidim/proposals/admin/update_proposal.rb +5 -3
- data/app/commands/decidim/proposals/admin/update_proposal_scope.rb +75 -0
- data/app/commands/decidim/proposals/create_collaborative_draft.rb +1 -1
- data/app/commands/decidim/proposals/create_proposal.rb +7 -3
- data/app/commands/decidim/proposals/gallery_methods.rb +2 -51
- data/app/commands/decidim/proposals/publish_collaborative_draft.rb +2 -2
- data/app/commands/decidim/proposals/update_proposal.rb +25 -9
- data/app/controllers/concerns/decidim/proposals/admin/filterable.rb +82 -0
- data/app/controllers/concerns/decidim/proposals/admin/picker.rb +21 -0
- data/app/controllers/concerns/decidim/proposals/orderable.rb +13 -2
- data/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +16 -6
- data/app/controllers/decidim/proposals/admin/proposal_notes_controller.rb +8 -9
- data/app/controllers/decidim/proposals/admin/proposals_controller.rb +107 -31
- data/app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb +58 -0
- data/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +10 -3
- data/app/controllers/decidim/proposals/proposals_controller.rb +31 -11
- data/app/controllers/decidim/proposals/versions_controller.rb +9 -16
- data/app/controllers/decidim/proposals/{proposal_widgets_controller.rb → widgets_controller.rb} +2 -2
- data/app/events/decidim/proposals/admin/proposal_note_created_event.rb +27 -0
- data/app/events/decidim/proposals/admin/update_proposal_scope_event.rb +11 -0
- data/app/forms/decidim/proposals/admin/import_participatory_text_form.rb +3 -1
- data/app/forms/decidim/proposals/admin/participatory_text_proposal_form.rb +20 -0
- data/app/forms/decidim/proposals/admin/preview_participatory_text_form.rb +2 -2
- data/app/forms/decidim/proposals/admin/proposal_answer_form.rb +27 -2
- data/app/forms/decidim/proposals/admin/proposal_base_form.rb +136 -0
- data/app/forms/decidim/proposals/admin/proposal_form.rb +6 -117
- data/app/forms/decidim/proposals/admin/valuation_assignment_form.rb +37 -0
- data/app/forms/decidim/proposals/proposal_form.rb +25 -12
- data/app/forms/decidim/proposals/proposal_wizard_create_step_form.rb +13 -1
- data/app/helpers/decidim/proposals/admin/filterable_helper.rb +17 -0
- data/app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb +35 -0
- data/app/helpers/decidim/proposals/admin/proposal_rankings_helper.rb +63 -0
- data/app/helpers/decidim/proposals/admin/proposals_helper.rb +124 -0
- data/app/helpers/decidim/proposals/admin/proposals_picker_helper.rb +30 -0
- data/app/helpers/decidim/proposals/application_helper.rb +64 -38
- data/app/helpers/decidim/proposals/collaborative_draft_helper.rb +9 -9
- data/app/helpers/decidim/proposals/control_version_helper.rb +1 -37
- data/app/helpers/decidim/proposals/proposal_cells_helper.rb +1 -1
- data/app/helpers/decidim/proposals/proposal_endorsements_helper.rb +0 -145
- data/app/helpers/decidim/proposals/proposal_votes_helper.rb +2 -2
- data/app/helpers/decidim/proposals/proposal_wizard_helper.rb +24 -7
- data/app/helpers/decidim/proposals/proposals_helper.rb +66 -0
- data/app/models/decidim/proposals/collaborative_draft.rb +2 -2
- data/app/models/decidim/proposals/participatory_text.rb +3 -0
- data/app/models/decidim/proposals/proposal.rb +153 -42
- data/app/models/decidim/proposals/valuation_assignment.rb +24 -0
- data/app/permissions/decidim/proposals/admin/permissions.rb +77 -11
- data/app/permissions/decidim/proposals/permissions.rb +1 -22
- data/app/presenters/decidim/proposals/admin_log/proposal_presenter.rb +1 -1
- data/app/presenters/decidim/proposals/admin_log/valuation_assignment_presenter.rb +51 -0
- data/app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb +6 -1
- data/app/presenters/decidim/proposals/admin_log/value_types/valuator_role_user_presenter.rb +19 -0
- data/app/presenters/decidim/proposals/collaborative_draft_presenter.rb +2 -28
- data/app/presenters/decidim/proposals/log/valuation_assignment_presenter.rb +22 -0
- data/app/presenters/decidim/proposals/official_author_presenter.rb +1 -29
- data/app/presenters/decidim/proposals/proposal_presenter.rb +80 -12
- data/app/queries/decidim/proposals/metrics/accepted_proposals_metric_manage.rb +1 -2
- data/app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb +15 -12
- data/app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb +5 -4
- data/app/queries/decidim/proposals/metrics/proposals_metric_manage.rb +2 -8
- data/app/queries/decidim/proposals/metrics/votes_metric_manage.rb +3 -9
- data/app/queries/decidim/proposals/similar_proposals.rb +4 -4
- data/app/services/decidim/proposals/collaborative_draft_search.rb +8 -10
- data/app/services/decidim/proposals/diff_renderer.rb +17 -5
- data/app/services/decidim/proposals/proposal_builder.rb +9 -3
- data/app/services/decidim/proposals/proposal_search.rb +17 -70
- data/app/types/decidim/proposals/proposal_input_filter.rb +29 -0
- data/app/types/decidim/proposals/proposal_input_sort.rb +22 -0
- data/app/types/decidim/proposals/proposal_type.rb +34 -13
- data/app/types/decidim/proposals/proposals_type.rb +22 -15
- data/app/validators/proposal_length_validator.rb +38 -0
- data/app/views/decidim/proposals/admin/participatory_texts/index.html.erb +9 -1
- data/app/views/decidim/proposals/admin/proposal_answers/_form.html.erb +35 -0
- data/app/views/decidim/proposals/admin/proposal_notes/_form.html.erb +1 -1
- data/app/views/decidim/proposals/admin/proposal_notes/_proposal_notes.html.erb +3 -3
- data/app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb +8 -2
- data/app/views/decidim/proposals/admin/proposals/_form.html.erb +8 -28
- data/app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb +26 -27
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_valuator.html.erb +15 -0
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb +21 -1
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_publish_answers.html.erb +14 -0
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_scope-change.html.erb +25 -0
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_valuator.html.erb +15 -0
- data/app/views/decidim/proposals/admin/proposals/index.html.erb +18 -9
- data/app/views/decidim/proposals/admin/proposals/publish_answers.js.erb +12 -0
- data/app/views/decidim/proposals/admin/proposals/show.html.erb +186 -0
- data/app/views/decidim/proposals/admin/proposals/update_category.js.erb +3 -2
- data/app/views/decidim/proposals/admin/proposals/update_scope.js.erb +27 -0
- data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +11 -9
- data/app/views/decidim/proposals/collaborative_drafts/_filters.html.erb +10 -8
- data/app/views/decidim/proposals/collaborative_drafts/_new_collaborative_draft_button.html.erb +4 -4
- data/app/views/decidim/proposals/collaborative_drafts/_reject_request_access_form.html.erb +1 -1
- data/app/views/decidim/proposals/collaborative_drafts/_wizard_aside.html.erb +4 -2
- data/app/views/decidim/proposals/collaborative_drafts/compare.html.erb +2 -0
- data/app/views/decidim/proposals/collaborative_drafts/complete.html.erb +2 -0
- data/app/views/decidim/proposals/collaborative_drafts/edit.html.erb +3 -1
- data/app/views/decidim/proposals/collaborative_drafts/index.html.erb +4 -2
- data/app/views/decidim/proposals/collaborative_drafts/new.html.erb +4 -0
- data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +29 -30
- data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +52 -22
- data/app/views/decidim/proposals/proposals/_endorsements_card_row.html.erb +0 -16
- data/app/views/decidim/proposals/proposals/_filters.html.erb +19 -17
- data/app/views/decidim/proposals/proposals/_proposal_badge.html.erb +1 -4
- data/app/views/decidim/proposals/proposals/_proposal_preview.html.erb +1 -11
- data/app/views/decidim/proposals/proposals/_proposal_similar.html.erb +2 -2
- data/app/views/decidim/proposals/proposals/_proposals.html.erb +14 -0
- data/app/views/decidim/proposals/proposals/_vote_button.html.erb +14 -7
- data/app/views/decidim/proposals/proposals/_wizard_aside.html.erb +4 -2
- data/app/views/decidim/proposals/proposals/_wizard_header.html.erb +4 -3
- data/app/views/decidim/proposals/proposals/compare.html.erb +2 -0
- data/app/views/decidim/proposals/proposals/complete.html.erb +2 -0
- data/app/views/decidim/proposals/proposals/edit.html.erb +3 -1
- data/app/views/decidim/proposals/proposals/edit_draft.html.erb +2 -0
- data/app/views/decidim/proposals/proposals/index.html.erb +7 -14
- data/app/views/decidim/proposals/proposals/new.html.erb +6 -2
- data/app/views/decidim/proposals/proposals/participatory_texts/_index.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/participatory_texts/_proposal_vote_button.html.erb +10 -3
- data/app/views/decidim/proposals/proposals/participatory_texts/_view_index.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/preview.html.erb +7 -8
- data/app/views/decidim/proposals/proposals/show.html.erb +62 -71
- data/app/views/decidim/proposals/versions/index.html.erb +14 -32
- data/app/views/decidim/proposals/versions/show.html.erb +16 -34
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +73 -67
- data/config/locales/bg-BG.yml +237 -0
- data/config/locales/bg.yml +237 -0
- data/config/locales/ca.yml +183 -67
- data/config/locales/cs.yml +196 -80
- data/config/locales/da-DK.yml +1 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +269 -162
- data/config/locales/el-GR.yml +1 -0
- data/config/locales/el.yml +876 -0
- data/config/locales/en.yml +187 -71
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +181 -65
- data/config/locales/es-PY.yml +181 -65
- data/config/locales/es.yml +186 -70
- data/config/locales/et-EE.yml +1 -0
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +28 -63
- data/config/locales/fi-plain.yml +181 -65
- data/config/locales/fi.yml +219 -103
- data/config/locales/fr-CA.yml +906 -0
- data/config/locales/fr.yml +184 -68
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/gl.yml +28 -63
- data/config/locales/hr-HR.yml +1 -0
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +148 -70
- data/config/locales/id-ID.yml +28 -62
- data/config/locales/is-IS.yml +274 -0
- data/config/locales/is.yml +274 -0
- data/config/locales/it.yml +177 -85
- data/config/locales/ja-JP.yml +865 -0
- data/config/locales/ja.yml +889 -0
- data/config/locales/ko-KR.yml +1 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt-LT.yml +1 -0
- data/config/locales/lt.yml +1 -0
- data/config/locales/lv.yml +858 -0
- data/config/locales/mt-MT.yml +1 -0
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +282 -188
- data/config/locales/no.yml +586 -19
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +524 -393
- data/config/locales/pt-BR.yml +29 -67
- data/config/locales/pt.yml +438 -331
- data/config/locales/ro-RO.yml +841 -0
- data/config/locales/ru.yml +14 -47
- data/config/locales/sk-SK.yml +896 -0
- data/config/locales/sk.yml +869 -0
- data/config/locales/sl.yml +26 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +126 -0
- data/config/locales/sv.yml +285 -171
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +28 -63
- data/config/locales/uk.yml +14 -47
- data/config/locales/vi-VN.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +885 -0
- data/config/locales/zh-TW.yml +1 -0
- data/db/migrate/20181003074440_fix_user_groups_ids_in_proposals_endorsements.rb +4 -0
- data/db/migrate/20191206154128_add_endorsements_counter_cache_to_proposals.rb +7 -0
- data/db/migrate/20200120215928_move_proposal_endorsements_to_core_endorsements.rb +54 -0
- data/db/migrate/20200120230130_drop_proposal_endorsements.rb +8 -0
- data/db/migrate/20200203111239_add_proposal_valuation_assignments.rb +12 -0
- data/db/migrate/20200210135152_add_costs_to_proposals.rb +9 -0
- data/db/migrate/20200212120110_sync_proposals_state_with_amendments_state.rb +28 -0
- data/db/migrate/20200227175922_add_state_published_at_to_proposals.rb +7 -0
- data/db/migrate/20200306123652_publish_existing_proposals_state.rb +15 -0
- data/db/migrate/20200708091228_move_proposals_fields_to_i18n.rb +80 -0
- data/db/migrate/20200730131631_move_proposal_endorsed_event_notifications_to_resource_endorsed_event.rb +20 -0
- data/db/migrate/20200827154156_add_commentable_counter_cache_to_proposals.rb +12 -0
- data/db/migrate/20200915151348_fix_proposals_data_to_ensure_title_and_body_are_hashes.rb +37 -0
- data/db/migrate/20201002085508_fix_proposals_data.rb +37 -0
- data/lib/decidim/content_renderers/proposal_renderer.rb +3 -1
- data/lib/decidim/proposals.rb +1 -0
- data/lib/decidim/proposals/admin_engine.rb +7 -3
- data/lib/decidim/proposals/component.rb +55 -28
- data/lib/decidim/proposals/engine.rb +3 -7
- data/lib/decidim/proposals/markdown_to_proposals.rb +2 -2
- data/lib/decidim/proposals/proposal_serializer.rb +3 -3
- data/lib/decidim/proposals/test/capybara_proposals_picker.rb +49 -0
- data/lib/decidim/proposals/test/factories.rb +100 -28
- data/lib/decidim/proposals/valuatable.rb +21 -0
- data/lib/decidim/proposals/version.rb +1 -1
- metadata +119 -54
- data/app/assets/javascripts/decidim/proposals/identity_selector_dialog.js.es6 +0 -56
- data/app/cells/decidim/proposals/endorsers_list/show.erb +0 -17
- data/app/cells/decidim/proposals/endorsers_list_cell.rb +0 -31
- data/app/commands/decidim/proposals/attachment_methods.rb +0 -43
- data/app/commands/decidim/proposals/endorse_proposal.rb +0 -59
- data/app/commands/decidim/proposals/unendorse_proposal.rb +0 -40
- data/app/controllers/decidim/proposals/proposal_endorsements_controller.rb +0 -60
- data/app/models/decidim/proposals/proposal_endorsement.rb +0 -37
- data/app/views/decidim/proposals/admin/proposal_answers/edit.html.erb +0 -22
- data/app/views/decidim/proposals/admin/proposal_notes/index.html.erb +0 -3
- data/app/views/decidim/proposals/admin/shared/_info_proposal.html.erb +0 -20
- data/app/views/decidim/proposals/proposal_endorsements/_identity.html.erb +0 -9
- data/app/views/decidim/proposals/proposal_endorsements/identities.html.erb +0 -12
- data/app/views/decidim/proposals/proposal_endorsements/update_buttons_and_counters.js.erb +0 -20
- data/app/views/decidim/proposals/proposal_widgets/show.html.erb +0 -4
- data/app/views/decidim/proposals/proposals/_endorsement_button.html.erb +0 -11
- data/app/views/decidim/proposals/proposals/_endorsement_identities_cabin.html.erb +0 -13
- data/app/views/decidim/proposals/versions/_version.html.erb +0 -20
@@ -17,9 +17,6 @@ module Decidim
|
|
17
17
|
|
18
18
|
routes do
|
19
19
|
resources :proposals, except: [:destroy] do
|
20
|
-
resource :proposal_endorsement, only: [:create, :destroy] do
|
21
|
-
get :identities, on: :collection
|
22
|
-
end
|
23
20
|
member do
|
24
21
|
get :compare
|
25
22
|
get :complete
|
@@ -31,7 +28,7 @@ module Decidim
|
|
31
28
|
put :withdraw
|
32
29
|
end
|
33
30
|
resource :proposal_vote, only: [:create, :destroy]
|
34
|
-
resource :
|
31
|
+
resource :widget, only: :show, path: "embed"
|
35
32
|
resources :versions, only: [:show, :index]
|
36
33
|
end
|
37
34
|
resources :collaborative_drafts, except: [:destroy] do
|
@@ -50,8 +47,7 @@ module Decidim
|
|
50
47
|
end
|
51
48
|
|
52
49
|
initializer "decidim_proposals.assets" do |app|
|
53
|
-
app.config.assets.precompile += %w(decidim_proposals_manifest.js
|
54
|
-
decidim/proposals/identity_selector_dialog.js)
|
50
|
+
app.config.assets.precompile += %w(decidim_proposals_manifest.js)
|
55
51
|
end
|
56
52
|
|
57
53
|
initializer "decidim.content_processors" do |_app|
|
@@ -112,7 +108,7 @@ module Decidim
|
|
112
108
|
payload = data[:this]
|
113
109
|
if payload[:from_type] == Decidim::Accountability::Result.name && payload[:to_type] == Proposal.name
|
114
110
|
proposal = Proposal.find(payload[:to_id])
|
115
|
-
proposal.update(state: "accepted")
|
111
|
+
proposal.update(state: "accepted", state_published_at: Time.current)
|
116
112
|
end
|
117
113
|
end
|
118
114
|
end
|
@@ -131,8 +131,8 @@ module Decidim
|
|
131
131
|
def create_proposal(title, body, participatory_text_level)
|
132
132
|
attributes = {
|
133
133
|
component: @component,
|
134
|
-
title: title,
|
135
|
-
body: body,
|
134
|
+
title: { I18n.locale => title },
|
135
|
+
body: { I18n.locale => body },
|
136
136
|
participatory_text_level: participatory_text_level
|
137
137
|
}
|
138
138
|
|
@@ -31,8 +31,8 @@ module Decidim
|
|
31
31
|
url: Decidim::ResourceLocatorPresenter.new(proposal.participatory_space).url
|
32
32
|
},
|
33
33
|
component: { id: component.id },
|
34
|
-
title:
|
35
|
-
body:
|
34
|
+
title: proposal.title,
|
35
|
+
body: proposal.body,
|
36
36
|
state: proposal.state.to_s,
|
37
37
|
reference: proposal.reference,
|
38
38
|
answer: ensure_translatable(proposal.answer),
|
@@ -41,7 +41,7 @@ module Decidim
|
|
41
41
|
total_count: proposal.endorsements.count,
|
42
42
|
user_endorsements: user_endorsements
|
43
43
|
},
|
44
|
-
comments: proposal.
|
44
|
+
comments: proposal.comments_count,
|
45
45
|
attachments: proposal.attachments.count,
|
46
46
|
followers: proposal.followers.count,
|
47
47
|
published_at: proposal.published_at,
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "decidim/dev/test/rspec_support/capybara_data_picker"
|
4
|
+
|
5
|
+
module Capybara
|
6
|
+
module ProposalsPicker
|
7
|
+
include DataPicker
|
8
|
+
|
9
|
+
RSpec::Matchers.define :have_proposals_picked do |expected|
|
10
|
+
match do |proposals_picker|
|
11
|
+
data_picker = proposals_picker.data_picker
|
12
|
+
|
13
|
+
expected.each do |proposal|
|
14
|
+
expect(data_picker).to have_selector(".picker-values div input[value='#{proposal.id}']", visible: :all)
|
15
|
+
expect(data_picker).to have_selector(:xpath, "//div[contains(@class,'picker-values')]/div/a[text()[contains(.,\"#{translated(proposal.title)}\")]]")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
RSpec::Matchers.define :have_proposals_not_picked do |expected|
|
21
|
+
match do |proposals_picker|
|
22
|
+
data_picker = proposals_picker.data_picker
|
23
|
+
|
24
|
+
expected.each do |proposal|
|
25
|
+
expect(data_picker).not_to have_selector(".picker-values div input[value='#{proposal.id}']", visible: :all)
|
26
|
+
expect(data_picker).not_to have_selector(:xpath, "//div[contains(@class,'picker-values')]/div/a[text()[contains(.,\"#{translated(proposal.title)}\")]]")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def proposals_pick(proposals_picker, proposals)
|
32
|
+
data_picker = proposals_picker.data_picker
|
33
|
+
|
34
|
+
expect(data_picker).to have_selector(".picker-prompt")
|
35
|
+
data_picker.find(".picker-prompt").click
|
36
|
+
|
37
|
+
proposals.each do |proposal|
|
38
|
+
data_picker_choose_value(proposal.id)
|
39
|
+
end
|
40
|
+
data_picker_close
|
41
|
+
|
42
|
+
expect(proposals_picker).to have_proposals_picked(proposals)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
RSpec.configure do |config|
|
48
|
+
config.include Capybara::ProposalsPicker, type: :system
|
49
|
+
end
|
@@ -160,15 +160,6 @@ FactoryBot.define do
|
|
160
160
|
end
|
161
161
|
end
|
162
162
|
|
163
|
-
trait :with_geocoding_and_collaborative_drafts_enabled do
|
164
|
-
settings do
|
165
|
-
{
|
166
|
-
geocoding_enabled: true,
|
167
|
-
collaborative_drafts_enabled: true
|
168
|
-
}
|
169
|
-
end
|
170
|
-
end
|
171
|
-
|
172
163
|
trait :with_attachments_allowed_and_collaborative_drafts_enabled do
|
173
164
|
settings do
|
174
165
|
{
|
@@ -223,6 +214,14 @@ FactoryBot.define do
|
|
223
214
|
end
|
224
215
|
end
|
225
216
|
|
217
|
+
trait :with_card_image_allowed do
|
218
|
+
settings do
|
219
|
+
{
|
220
|
+
allow_card_image: true
|
221
|
+
}
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
226
225
|
trait :with_extra_hashtags do
|
227
226
|
transient do
|
228
227
|
automatic_hashtags { "AutoHashtag AnotherAutoHashtag" }
|
@@ -239,6 +238,16 @@ FactoryBot.define do
|
|
239
238
|
}
|
240
239
|
end
|
241
240
|
end
|
241
|
+
|
242
|
+
trait :without_publish_answers_immediately do
|
243
|
+
step_settings do
|
244
|
+
{
|
245
|
+
participatory_space.active_step.id => {
|
246
|
+
publish_answers_immediately: false
|
247
|
+
}
|
248
|
+
}
|
249
|
+
end
|
250
|
+
end
|
242
251
|
end
|
243
252
|
|
244
253
|
factory :proposal, class: "Decidim::Proposals::Proposal" do
|
@@ -250,20 +259,38 @@ FactoryBot.define do
|
|
250
259
|
end
|
251
260
|
|
252
261
|
title do
|
253
|
-
|
254
|
-
|
255
|
-
|
262
|
+
if skip_injection
|
263
|
+
Decidim::Faker::Localized.localized { generate(:title) }
|
264
|
+
else
|
265
|
+
Decidim::Faker::Localized.localized { "<script>alert(\"TITLE\");</script> " + generate(:title) }
|
266
|
+
end
|
256
267
|
end
|
257
268
|
body do
|
258
|
-
|
259
|
-
|
260
|
-
|
269
|
+
if skip_injection
|
270
|
+
Decidim::Faker::Localized.localized { Faker::Lorem.sentences(3).join("\n") }
|
271
|
+
else
|
272
|
+
Decidim::Faker::Localized.localized { "<script>alert(\"TITLE\");</script> " + Faker::Lorem.sentences(3).join("\n") }
|
273
|
+
end
|
261
274
|
end
|
262
275
|
component { create(:proposal_component) }
|
263
276
|
published_at { Time.current }
|
264
277
|
address { "#{Faker::Address.street_name}, #{Faker::Address.city}" }
|
265
278
|
|
266
279
|
after(:build) do |proposal, evaluator|
|
280
|
+
proposal.title = if evaluator.title.is_a?(String)
|
281
|
+
{ proposal.try(:organization).try(:default_locale) || "en" => evaluator.title }
|
282
|
+
else
|
283
|
+
evaluator.title
|
284
|
+
end
|
285
|
+
proposal.body = if evaluator.body.is_a?(String)
|
286
|
+
{ proposal.try(:organization).try(:default_locale) || "en" => evaluator.body }
|
287
|
+
else
|
288
|
+
evaluator.body
|
289
|
+
end
|
290
|
+
|
291
|
+
proposal.title = Decidim::ContentProcessor.parse_with_processor(:hashtag, proposal.title, current_organization: proposal.organization).rewrite
|
292
|
+
proposal.body = Decidim::ContentProcessor.parse_with_processor(:hashtag, proposal.body, current_organization: proposal.organization).rewrite
|
293
|
+
|
267
294
|
if proposal.component
|
268
295
|
users = evaluator.users || [create(:user, organization: proposal.component.participatory_space.organization)]
|
269
296
|
users.each_with_index do |user, idx|
|
@@ -281,6 +308,23 @@ FactoryBot.define do
|
|
281
308
|
published_at { nil }
|
282
309
|
end
|
283
310
|
|
311
|
+
trait :citizen_author do
|
312
|
+
after :build do |proposal|
|
313
|
+
proposal.coauthorships.clear
|
314
|
+
user = build(:user, organization: proposal.component.participatory_space.organization)
|
315
|
+
proposal.coauthorships.build(author: user)
|
316
|
+
end
|
317
|
+
end
|
318
|
+
|
319
|
+
trait :user_group_author do
|
320
|
+
after :build do |proposal|
|
321
|
+
proposal.coauthorships.clear
|
322
|
+
user = create(:user, organization: proposal.component.participatory_space.organization)
|
323
|
+
user_group = create(:user_group, :verified, organization: user.organization, users: [user])
|
324
|
+
proposal.coauthorships.build(author: user, user_group: user_group)
|
325
|
+
end
|
326
|
+
end
|
327
|
+
|
284
328
|
trait :official do
|
285
329
|
after :build do |proposal|
|
286
330
|
proposal.coauthorships.clear
|
@@ -291,7 +335,7 @@ FactoryBot.define do
|
|
291
335
|
trait :official_meeting do
|
292
336
|
after :build do |proposal|
|
293
337
|
proposal.coauthorships.clear
|
294
|
-
component =
|
338
|
+
component = build(:meeting_component, participatory_space: proposal.component.participatory_space)
|
295
339
|
proposal.coauthorships.build(author: build(:meeting, component: component))
|
296
340
|
end
|
297
341
|
end
|
@@ -299,26 +343,41 @@ FactoryBot.define do
|
|
299
343
|
trait :evaluating do
|
300
344
|
state { "evaluating" }
|
301
345
|
answered_at { Time.current }
|
346
|
+
state_published_at { Time.current }
|
302
347
|
end
|
303
348
|
|
304
349
|
trait :accepted do
|
305
350
|
state { "accepted" }
|
306
351
|
answered_at { Time.current }
|
352
|
+
state_published_at { Time.current }
|
307
353
|
end
|
308
354
|
|
309
355
|
trait :rejected do
|
310
356
|
state { "rejected" }
|
311
357
|
answered_at { Time.current }
|
358
|
+
state_published_at { Time.current }
|
312
359
|
end
|
313
360
|
|
314
361
|
trait :withdrawn do
|
315
362
|
state { "withdrawn" }
|
316
363
|
end
|
317
364
|
|
365
|
+
trait :accepted_not_published do
|
366
|
+
state { "accepted" }
|
367
|
+
answered_at { Time.current }
|
368
|
+
state_published_at { nil }
|
369
|
+
answer { generate_localized_title }
|
370
|
+
end
|
371
|
+
|
318
372
|
trait :with_answer do
|
319
373
|
state { "accepted" }
|
320
374
|
answer { generate_localized_title }
|
321
375
|
answered_at { Time.current }
|
376
|
+
state_published_at { Time.current }
|
377
|
+
end
|
378
|
+
|
379
|
+
trait :not_answered do
|
380
|
+
state { nil }
|
322
381
|
end
|
323
382
|
|
324
383
|
trait :draft do
|
@@ -339,7 +398,15 @@ FactoryBot.define do
|
|
339
398
|
|
340
399
|
trait :with_endorsements do
|
341
400
|
after :create do |proposal|
|
342
|
-
|
401
|
+
5.times.collect do
|
402
|
+
create(:endorsement, resource: proposal, author: build(:user, organization: proposal.participatory_space.organization))
|
403
|
+
end
|
404
|
+
end
|
405
|
+
end
|
406
|
+
|
407
|
+
trait :with_amendments do
|
408
|
+
after :create do |proposal|
|
409
|
+
create_list(:proposal_amendment, 5, amendable: proposal)
|
343
410
|
end
|
344
411
|
end
|
345
412
|
end
|
@@ -349,15 +416,11 @@ FactoryBot.define do
|
|
349
416
|
author { build(:user, organization: proposal.organization) }
|
350
417
|
end
|
351
418
|
|
352
|
-
factory :
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
factory :user_group_proposal_endorsement, class: "Decidim::Proposals::ProposalEndorsement" do
|
358
|
-
proposal { build(:proposal) }
|
359
|
-
author { build(:user, organization: proposal.organization) }
|
360
|
-
user_group { create(:user_group, verified_at: Time.current, organization: proposal.organization, users: [author]) }
|
419
|
+
factory :proposal_amendment, class: "Decidim::Amendment" do
|
420
|
+
amendable { build(:proposal) }
|
421
|
+
emendation { build(:proposal, component: amendable.component) }
|
422
|
+
amender { build(:user, organization: amendable.component.participatory_space.organization) }
|
423
|
+
state { Decidim::Amendment::STATES.sample }
|
361
424
|
end
|
362
425
|
|
363
426
|
factory :proposal_note, class: "Decidim::Proposals::ProposalNote" do
|
@@ -404,8 +467,17 @@ FactoryBot.define do
|
|
404
467
|
end
|
405
468
|
|
406
469
|
factory :participatory_text, class: "Decidim::Proposals::ParticipatoryText" do
|
407
|
-
title { "<script>alert(\"TITLE\");</script> " + generate(:title) }
|
408
|
-
description { "<script>alert(\"DESCRIPTION\");</script>\n" + Faker::Lorem.sentences(3).join("\n") }
|
470
|
+
title { { en: "<script>alert(\"TITLE\");</script> " + generate(:title) } }
|
471
|
+
description { { en: "<script>alert(\"DESCRIPTION\");</script>\n" + Faker::Lorem.sentences(3).join("\n") } }
|
409
472
|
component { create(:proposal_component) }
|
410
473
|
end
|
474
|
+
|
475
|
+
factory :valuation_assignment, class: "Decidim::Proposals::ValuationAssignment" do
|
476
|
+
proposal
|
477
|
+
valuator_role do
|
478
|
+
space = proposal.component.participatory_space
|
479
|
+
organization = space.organization
|
480
|
+
build :participatory_process_user_role, role: :valuator, user: build(:user, organization: organization)
|
481
|
+
end
|
482
|
+
end
|
411
483
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Proposals
|
5
|
+
# A set of methods and features related to proposal valuations.
|
6
|
+
module Valuatable
|
7
|
+
extend ActiveSupport::Concern
|
8
|
+
include Decidim::Comments::Commentable
|
9
|
+
|
10
|
+
included do
|
11
|
+
has_many :valuation_assignments, foreign_key: "decidim_proposal_id", dependent: :destroy
|
12
|
+
|
13
|
+
def valuators
|
14
|
+
valuator_role_ids = valuation_assignments.where(proposal: self).pluck(:valuator_role_id)
|
15
|
+
user_ids = participatory_space.user_roles(:valuator).where(id: valuator_role_ids).pluck(:decidim_user_id)
|
16
|
+
participatory_space.organization.users.where(id: user_ids)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-proposals
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.23.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2020-11-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: acts_as_list
|
@@ -60,42 +60,28 @@ dependencies:
|
|
60
60
|
requirements:
|
61
61
|
- - '='
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0.
|
63
|
+
version: 0.23.0
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - '='
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.
|
70
|
+
version: 0.23.0
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: decidim-core
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
75
|
- - '='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 0.
|
77
|
+
version: 0.23.0
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - '='
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: 0.
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
name: diffy
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
88
|
-
requirements:
|
89
|
-
- - "~>"
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '3.3'
|
92
|
-
type: :runtime
|
93
|
-
prerelease: false
|
94
|
-
version_requirements: !ruby/object:Gem::Requirement
|
95
|
-
requirements:
|
96
|
-
- - "~>"
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: '3.3'
|
84
|
+
version: 0.23.0
|
99
85
|
- !ruby/object:Gem::Dependency
|
100
86
|
name: doc2text
|
101
87
|
requirement: !ruby/object:Gem::Requirement
|
@@ -116,14 +102,20 @@ dependencies:
|
|
116
102
|
requirements:
|
117
103
|
- - "~>"
|
118
104
|
- !ruby/object:Gem::Version
|
119
|
-
version: '1.
|
105
|
+
version: '1.2'
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 1.2.1
|
120
109
|
type: :runtime
|
121
110
|
prerelease: false
|
122
111
|
version_requirements: !ruby/object:Gem::Requirement
|
123
112
|
requirements:
|
124
113
|
- - "~>"
|
125
114
|
- !ruby/object:Gem::Version
|
126
|
-
version: '1.
|
115
|
+
version: '1.2'
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 1.2.1
|
127
119
|
- !ruby/object:Gem::Dependency
|
128
120
|
name: ransack
|
129
121
|
requirement: !ruby/object:Gem::Requirement
|
@@ -158,84 +150,84 @@ dependencies:
|
|
158
150
|
requirements:
|
159
151
|
- - '='
|
160
152
|
- !ruby/object:Gem::Version
|
161
|
-
version: 0.
|
153
|
+
version: 0.23.0
|
162
154
|
type: :development
|
163
155
|
prerelease: false
|
164
156
|
version_requirements: !ruby/object:Gem::Requirement
|
165
157
|
requirements:
|
166
158
|
- - '='
|
167
159
|
- !ruby/object:Gem::Version
|
168
|
-
version: 0.
|
160
|
+
version: 0.23.0
|
169
161
|
- !ruby/object:Gem::Dependency
|
170
162
|
name: decidim-assemblies
|
171
163
|
requirement: !ruby/object:Gem::Requirement
|
172
164
|
requirements:
|
173
165
|
- - '='
|
174
166
|
- !ruby/object:Gem::Version
|
175
|
-
version: 0.
|
167
|
+
version: 0.23.0
|
176
168
|
type: :development
|
177
169
|
prerelease: false
|
178
170
|
version_requirements: !ruby/object:Gem::Requirement
|
179
171
|
requirements:
|
180
172
|
- - '='
|
181
173
|
- !ruby/object:Gem::Version
|
182
|
-
version: 0.
|
174
|
+
version: 0.23.0
|
183
175
|
- !ruby/object:Gem::Dependency
|
184
176
|
name: decidim-budgets
|
185
177
|
requirement: !ruby/object:Gem::Requirement
|
186
178
|
requirements:
|
187
179
|
- - '='
|
188
180
|
- !ruby/object:Gem::Version
|
189
|
-
version: 0.
|
181
|
+
version: 0.23.0
|
190
182
|
type: :development
|
191
183
|
prerelease: false
|
192
184
|
version_requirements: !ruby/object:Gem::Requirement
|
193
185
|
requirements:
|
194
186
|
- - '='
|
195
187
|
- !ruby/object:Gem::Version
|
196
|
-
version: 0.
|
188
|
+
version: 0.23.0
|
197
189
|
- !ruby/object:Gem::Dependency
|
198
190
|
name: decidim-dev
|
199
191
|
requirement: !ruby/object:Gem::Requirement
|
200
192
|
requirements:
|
201
193
|
- - '='
|
202
194
|
- !ruby/object:Gem::Version
|
203
|
-
version: 0.
|
195
|
+
version: 0.23.0
|
204
196
|
type: :development
|
205
197
|
prerelease: false
|
206
198
|
version_requirements: !ruby/object:Gem::Requirement
|
207
199
|
requirements:
|
208
200
|
- - '='
|
209
201
|
- !ruby/object:Gem::Version
|
210
|
-
version: 0.
|
202
|
+
version: 0.23.0
|
211
203
|
- !ruby/object:Gem::Dependency
|
212
204
|
name: decidim-meetings
|
213
205
|
requirement: !ruby/object:Gem::Requirement
|
214
206
|
requirements:
|
215
207
|
- - '='
|
216
208
|
- !ruby/object:Gem::Version
|
217
|
-
version: 0.
|
209
|
+
version: 0.23.0
|
218
210
|
type: :development
|
219
211
|
prerelease: false
|
220
212
|
version_requirements: !ruby/object:Gem::Requirement
|
221
213
|
requirements:
|
222
214
|
- - '='
|
223
215
|
- !ruby/object:Gem::Version
|
224
|
-
version: 0.
|
216
|
+
version: 0.23.0
|
225
217
|
- !ruby/object:Gem::Dependency
|
226
218
|
name: decidim-participatory_processes
|
227
219
|
requirement: !ruby/object:Gem::Requirement
|
228
220
|
requirements:
|
229
221
|
- - '='
|
230
222
|
- !ruby/object:Gem::Version
|
231
|
-
version: 0.
|
223
|
+
version: 0.23.0
|
232
224
|
type: :development
|
233
225
|
prerelease: false
|
234
226
|
version_requirements: !ruby/object:Gem::Requirement
|
235
227
|
requirements:
|
236
228
|
- - '='
|
237
229
|
- !ruby/object:Gem::Version
|
238
|
-
version: 0.
|
230
|
+
version: 0.23.0
|
239
231
|
description: A proposals component for decidim's participatory spaces.
|
240
232
|
email:
|
241
233
|
- josepjaume@gmail.com
|
@@ -258,7 +250,7 @@ files:
|
|
258
250
|
- app/assets/javascripts/decidim/proposals/add_proposal.js.es6
|
259
251
|
- app/assets/javascripts/decidim/proposals/admin/proposals.es6
|
260
252
|
- app/assets/javascripts/decidim/proposals/admin/proposals_form.js.es6
|
261
|
-
- app/assets/javascripts/decidim/proposals/
|
253
|
+
- app/assets/javascripts/decidim/proposals/admin/proposals_picker.js.es6
|
262
254
|
- app/assets/javascripts/decidim/proposals/utils.js.es6
|
263
255
|
- app/cells/decidim/proposals/collaborative_draft_cell.rb
|
264
256
|
- app/cells/decidim/proposals/collaborative_draft_link_to_proposal/show.erb
|
@@ -266,8 +258,8 @@ files:
|
|
266
258
|
- app/cells/decidim/proposals/collaborative_draft_m/footer.erb
|
267
259
|
- app/cells/decidim/proposals/collaborative_draft_m/tags.erb
|
268
260
|
- app/cells/decidim/proposals/collaborative_draft_m_cell.rb
|
269
|
-
- app/cells/decidim/proposals/
|
270
|
-
- app/cells/decidim/proposals/
|
261
|
+
- app/cells/decidim/proposals/cost_report/show.erb
|
262
|
+
- app/cells/decidim/proposals/cost_report_cell.rb
|
271
263
|
- app/cells/decidim/proposals/highlighted_proposals/show.erb
|
272
264
|
- app/cells/decidim/proposals/highlighted_proposals_cell.rb
|
273
265
|
- app/cells/decidim/proposals/highlighted_proposals_for_component/show.erb
|
@@ -289,38 +281,45 @@ files:
|
|
289
281
|
- app/cells/decidim/proposals/proposal_m_cell.rb
|
290
282
|
- app/cells/decidim/proposals/proposal_tags/show.erb
|
291
283
|
- app/cells/decidim/proposals/proposal_tags_cell.rb
|
284
|
+
- app/cells/decidim/proposals/proposals_picker/proposals.erb
|
285
|
+
- app/cells/decidim/proposals/proposals_picker/show.erb
|
286
|
+
- app/cells/decidim/proposals/proposals_picker_cell.rb
|
292
287
|
- app/commands/decidim/proposals/accept_access_to_collaborative_draft.rb
|
293
288
|
- app/commands/decidim/proposals/admin/answer_proposal.rb
|
289
|
+
- app/commands/decidim/proposals/admin/assign_proposals_to_valuator.rb
|
294
290
|
- app/commands/decidim/proposals/admin/create_proposal.rb
|
295
291
|
- app/commands/decidim/proposals/admin/create_proposal_note.rb
|
296
292
|
- app/commands/decidim/proposals/admin/discard_participatory_text.rb
|
297
293
|
- app/commands/decidim/proposals/admin/import_participatory_text.rb
|
298
294
|
- app/commands/decidim/proposals/admin/import_proposals.rb
|
299
295
|
- app/commands/decidim/proposals/admin/merge_proposals.rb
|
296
|
+
- app/commands/decidim/proposals/admin/notify_proposal_answer.rb
|
297
|
+
- app/commands/decidim/proposals/admin/publish_answers.rb
|
300
298
|
- app/commands/decidim/proposals/admin/publish_participatory_text.rb
|
301
299
|
- app/commands/decidim/proposals/admin/split_proposals.rb
|
300
|
+
- app/commands/decidim/proposals/admin/unassign_proposals_from_valuator.rb
|
302
301
|
- app/commands/decidim/proposals/admin/update_participatory_text.rb
|
303
302
|
- app/commands/decidim/proposals/admin/update_proposal.rb
|
304
303
|
- app/commands/decidim/proposals/admin/update_proposal_category.rb
|
305
|
-
- app/commands/decidim/proposals/
|
304
|
+
- app/commands/decidim/proposals/admin/update_proposal_scope.rb
|
306
305
|
- app/commands/decidim/proposals/create_collaborative_draft.rb
|
307
306
|
- app/commands/decidim/proposals/create_proposal.rb
|
308
307
|
- app/commands/decidim/proposals/create_proposal_export.rb
|
309
308
|
- app/commands/decidim/proposals/destroy_proposal.rb
|
310
|
-
- app/commands/decidim/proposals/endorse_proposal.rb
|
311
309
|
- app/commands/decidim/proposals/gallery_methods.rb
|
312
310
|
- app/commands/decidim/proposals/hashtags_methods.rb
|
313
311
|
- app/commands/decidim/proposals/publish_collaborative_draft.rb
|
314
312
|
- app/commands/decidim/proposals/publish_proposal.rb
|
315
313
|
- app/commands/decidim/proposals/reject_access_to_collaborative_draft.rb
|
316
314
|
- app/commands/decidim/proposals/request_access_to_collaborative_draft.rb
|
317
|
-
- app/commands/decidim/proposals/unendorse_proposal.rb
|
318
315
|
- app/commands/decidim/proposals/unvote_proposal.rb
|
319
316
|
- app/commands/decidim/proposals/update_collaborative_draft.rb
|
320
317
|
- app/commands/decidim/proposals/update_proposal.rb
|
321
318
|
- app/commands/decidim/proposals/vote_proposal.rb
|
322
319
|
- app/commands/decidim/proposals/withdraw_collaborative_draft.rb
|
323
320
|
- app/commands/decidim/proposals/withdraw_proposal.rb
|
321
|
+
- app/controllers/concerns/decidim/proposals/admin/filterable.rb
|
322
|
+
- app/controllers/concerns/decidim/proposals/admin/picker.rb
|
324
323
|
- app/controllers/concerns/decidim/proposals/collaborative_orderable.rb
|
325
324
|
- app/controllers/concerns/decidim/proposals/orderable.rb
|
326
325
|
- app/controllers/decidim/proposals/admin/application_controller.rb
|
@@ -331,16 +330,18 @@ files:
|
|
331
330
|
- app/controllers/decidim/proposals/admin/proposals_imports_controller.rb
|
332
331
|
- app/controllers/decidim/proposals/admin/proposals_merges_controller.rb
|
333
332
|
- app/controllers/decidim/proposals/admin/proposals_splits_controller.rb
|
333
|
+
- app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
|
334
334
|
- app/controllers/decidim/proposals/application_controller.rb
|
335
335
|
- app/controllers/decidim/proposals/collaborative_draft_collaborator_requests_controller.rb
|
336
336
|
- app/controllers/decidim/proposals/collaborative_drafts_controller.rb
|
337
|
-
- app/controllers/decidim/proposals/proposal_endorsements_controller.rb
|
338
337
|
- app/controllers/decidim/proposals/proposal_votes_controller.rb
|
339
|
-
- app/controllers/decidim/proposals/proposal_widgets_controller.rb
|
340
338
|
- app/controllers/decidim/proposals/proposals_controller.rb
|
341
339
|
- app/controllers/decidim/proposals/versions_controller.rb
|
340
|
+
- app/controllers/decidim/proposals/widgets_controller.rb
|
342
341
|
- app/events/decidim/proposals/accepted_proposal_event.rb
|
342
|
+
- app/events/decidim/proposals/admin/proposal_note_created_event.rb
|
343
343
|
- app/events/decidim/proposals/admin/update_proposal_category_event.rb
|
344
|
+
- app/events/decidim/proposals/admin/update_proposal_scope_event.rb
|
344
345
|
- app/events/decidim/proposals/collaborative_draft_access_accepted_event.rb
|
345
346
|
- app/events/decidim/proposals/collaborative_draft_access_rejected_event.rb
|
346
347
|
- app/events/decidim/proposals/collaborative_draft_access_request_event.rb
|
@@ -359,20 +360,27 @@ files:
|
|
359
360
|
- app/forms/decidim/proposals/accept_access_to_collaborative_draft_form.rb
|
360
361
|
- app/forms/decidim/proposals/access_to_collaborative_draft_form.rb
|
361
362
|
- app/forms/decidim/proposals/admin/import_participatory_text_form.rb
|
363
|
+
- app/forms/decidim/proposals/admin/participatory_text_proposal_form.rb
|
362
364
|
- app/forms/decidim/proposals/admin/preview_participatory_text_form.rb
|
363
365
|
- app/forms/decidim/proposals/admin/proposal_answer_form.rb
|
366
|
+
- app/forms/decidim/proposals/admin/proposal_base_form.rb
|
364
367
|
- app/forms/decidim/proposals/admin/proposal_form.rb
|
365
368
|
- app/forms/decidim/proposals/admin/proposal_note_form.rb
|
366
369
|
- app/forms/decidim/proposals/admin/proposals_fork_form.rb
|
367
370
|
- app/forms/decidim/proposals/admin/proposals_import_form.rb
|
368
371
|
- app/forms/decidim/proposals/admin/proposals_merge_form.rb
|
369
372
|
- app/forms/decidim/proposals/admin/proposals_split_form.rb
|
373
|
+
- app/forms/decidim/proposals/admin/valuation_assignment_form.rb
|
370
374
|
- app/forms/decidim/proposals/collaborative_draft_form.rb
|
371
375
|
- app/forms/decidim/proposals/proposal_form.rb
|
372
376
|
- app/forms/decidim/proposals/proposal_wizard_create_step_form.rb
|
373
377
|
- app/forms/decidim/proposals/reject_access_to_collaborative_draft_form.rb
|
374
378
|
- app/forms/decidim/proposals/request_access_to_collaborative_draft_form.rb
|
379
|
+
- app/helpers/decidim/proposals/admin/filterable_helper.rb
|
380
|
+
- app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb
|
381
|
+
- app/helpers/decidim/proposals/admin/proposal_rankings_helper.rb
|
375
382
|
- app/helpers/decidim/proposals/admin/proposals_helper.rb
|
383
|
+
- app/helpers/decidim/proposals/admin/proposals_picker_helper.rb
|
376
384
|
- app/helpers/decidim/proposals/application_helper.rb
|
377
385
|
- app/helpers/decidim/proposals/collaborative_draft_cells_helper.rb
|
378
386
|
- app/helpers/decidim/proposals/collaborative_draft_helper.rb
|
@@ -383,6 +391,7 @@ files:
|
|
383
391
|
- app/helpers/decidim/proposals/proposal_endorsements_helper.rb
|
384
392
|
- app/helpers/decidim/proposals/proposal_votes_helper.rb
|
385
393
|
- app/helpers/decidim/proposals/proposal_wizard_helper.rb
|
394
|
+
- app/helpers/decidim/proposals/proposals_helper.rb
|
386
395
|
- app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb
|
387
396
|
- app/jobs/decidim/proposals/settings_change_job.rb
|
388
397
|
- app/models/decidim/proposals/application_record.rb
|
@@ -390,17 +399,20 @@ files:
|
|
390
399
|
- app/models/decidim/proposals/collaborative_draft_collaborator_request.rb
|
391
400
|
- app/models/decidim/proposals/participatory_text.rb
|
392
401
|
- app/models/decidim/proposals/proposal.rb
|
393
|
-
- app/models/decidim/proposals/proposal_endorsement.rb
|
394
402
|
- app/models/decidim/proposals/proposal_note.rb
|
395
403
|
- app/models/decidim/proposals/proposal_vote.rb
|
404
|
+
- app/models/decidim/proposals/valuation_assignment.rb
|
396
405
|
- app/permissions/decidim/proposals/admin/permissions.rb
|
397
406
|
- app/permissions/decidim/proposals/permissions.rb
|
398
407
|
- app/presenters/decidim/proposals/admin_log/proposal_note_presenter.rb
|
399
408
|
- app/presenters/decidim/proposals/admin_log/proposal_presenter.rb
|
409
|
+
- app/presenters/decidim/proposals/admin_log/valuation_assignment_presenter.rb
|
400
410
|
- app/presenters/decidim/proposals/admin_log/value_types/proposal_state_presenter.rb
|
401
411
|
- app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb
|
412
|
+
- app/presenters/decidim/proposals/admin_log/value_types/valuator_role_user_presenter.rb
|
402
413
|
- app/presenters/decidim/proposals/collaborative_draft_presenter.rb
|
403
414
|
- app/presenters/decidim/proposals/log/resource_presenter.rb
|
415
|
+
- app/presenters/decidim/proposals/log/valuation_assignment_presenter.rb
|
404
416
|
- app/presenters/decidim/proposals/official_author_presenter.rb
|
405
417
|
- app/presenters/decidim/proposals/proposal_presenter.rb
|
406
418
|
- app/queries/decidim/proposals/filtered_proposals.rb
|
@@ -416,31 +428,39 @@ files:
|
|
416
428
|
- app/services/decidim/proposals/diff_renderer.rb
|
417
429
|
- app/services/decidim/proposals/proposal_builder.rb
|
418
430
|
- app/services/decidim/proposals/proposal_search.rb
|
431
|
+
- app/types/decidim/proposals/proposal_input_filter.rb
|
432
|
+
- app/types/decidim/proposals/proposal_input_sort.rb
|
419
433
|
- app/types/decidim/proposals/proposal_type.rb
|
420
434
|
- app/types/decidim/proposals/proposals_type.rb
|
435
|
+
- app/validators/proposal_length_validator.rb
|
421
436
|
- app/views/decidim/participatory_processes/participatory_process_groups/_highlighted_proposals.html.erb
|
422
437
|
- app/views/decidim/proposals/admin/participatory_texts/_article-preview.html.erb
|
423
438
|
- app/views/decidim/proposals/admin/participatory_texts/_bulk-actions.html.erb
|
424
439
|
- app/views/decidim/proposals/admin/participatory_texts/index.html.erb
|
425
440
|
- app/views/decidim/proposals/admin/participatory_texts/new_import.html.erb
|
426
|
-
- app/views/decidim/proposals/admin/proposal_answers/
|
441
|
+
- app/views/decidim/proposals/admin/proposal_answers/_form.html.erb
|
427
442
|
- app/views/decidim/proposals/admin/proposal_notes/_form.html.erb
|
428
443
|
- app/views/decidim/proposals/admin/proposal_notes/_proposal_notes.html.erb
|
429
|
-
- app/views/decidim/proposals/admin/proposal_notes/index.html.erb
|
430
444
|
- app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb
|
431
445
|
- app/views/decidim/proposals/admin/proposals/_form.html.erb
|
432
446
|
- app/views/decidim/proposals/admin/proposals/_js-callout.html.erb
|
433
447
|
- app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb
|
448
|
+
- app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_valuator.html.erb
|
434
449
|
- app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb
|
435
450
|
- app/views/decidim/proposals/admin/proposals/bulk_actions/_merge.html.erb
|
451
|
+
- app/views/decidim/proposals/admin/proposals/bulk_actions/_publish_answers.html.erb
|
436
452
|
- app/views/decidim/proposals/admin/proposals/bulk_actions/_recategorize.html.erb
|
453
|
+
- app/views/decidim/proposals/admin/proposals/bulk_actions/_scope-change.html.erb
|
437
454
|
- app/views/decidim/proposals/admin/proposals/bulk_actions/_split.html.erb
|
455
|
+
- app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_valuator.html.erb
|
438
456
|
- app/views/decidim/proposals/admin/proposals/edit.html.erb
|
439
457
|
- app/views/decidim/proposals/admin/proposals/index.html.erb
|
440
458
|
- app/views/decidim/proposals/admin/proposals/new.html.erb
|
459
|
+
- app/views/decidim/proposals/admin/proposals/publish_answers.js.erb
|
460
|
+
- app/views/decidim/proposals/admin/proposals/show.html.erb
|
441
461
|
- app/views/decidim/proposals/admin/proposals/update_category.js.erb
|
462
|
+
- app/views/decidim/proposals/admin/proposals/update_scope.js.erb
|
442
463
|
- app/views/decidim/proposals/admin/proposals_imports/new.html.erb
|
443
|
-
- app/views/decidim/proposals/admin/shared/_info_proposal.html.erb
|
444
464
|
- app/views/decidim/proposals/collaborative_drafts/_accept_request_access_form.html.erb
|
445
465
|
- app/views/decidim/proposals/collaborative_drafts/_collaborative_drafts.html.erb
|
446
466
|
- app/views/decidim/proposals/collaborative_drafts/_collaborator_requests.html.erb
|
@@ -459,15 +479,9 @@ files:
|
|
459
479
|
- app/views/decidim/proposals/collaborative_drafts/index.js.erb
|
460
480
|
- app/views/decidim/proposals/collaborative_drafts/new.html.erb
|
461
481
|
- app/views/decidim/proposals/collaborative_drafts/show.html.erb
|
462
|
-
- app/views/decidim/proposals/proposal_endorsements/_identity.html.erb
|
463
|
-
- app/views/decidim/proposals/proposal_endorsements/identities.html.erb
|
464
|
-
- app/views/decidim/proposals/proposal_endorsements/update_buttons_and_counters.js.erb
|
465
482
|
- app/views/decidim/proposals/proposal_votes/update_buttons_and_counters.js.erb
|
466
|
-
- app/views/decidim/proposals/proposal_widgets/show.html.erb
|
467
483
|
- app/views/decidim/proposals/proposals/_count.html.erb
|
468
484
|
- app/views/decidim/proposals/proposals/_edit_form_fields.html.erb
|
469
|
-
- app/views/decidim/proposals/proposals/_endorsement_button.html.erb
|
470
|
-
- app/views/decidim/proposals/proposals/_endorsement_identities_cabin.html.erb
|
471
485
|
- app/views/decidim/proposals/proposals/_endorsements_card_row.html.erb
|
472
486
|
- app/views/decidim/proposals/proposals/_filters.html.erb
|
473
487
|
- app/views/decidim/proposals/proposals/_filters_small_view.html.erb
|
@@ -497,38 +511,74 @@ files:
|
|
497
511
|
- app/views/decidim/proposals/proposals/participatory_texts/participatory_text.html.erb
|
498
512
|
- app/views/decidim/proposals/proposals/preview.html.erb
|
499
513
|
- app/views/decidim/proposals/proposals/show.html.erb
|
500
|
-
- app/views/decidim/proposals/versions/_version.html.erb
|
501
514
|
- app/views/decidim/proposals/versions/index.html.erb
|
502
515
|
- app/views/decidim/proposals/versions/show.html.erb
|
516
|
+
- config/locales/am-ET.yml
|
503
517
|
- config/locales/ar-SA.yml
|
504
518
|
- config/locales/ar.yml
|
519
|
+
- config/locales/bg-BG.yml
|
520
|
+
- config/locales/bg.yml
|
505
521
|
- config/locales/ca.yml
|
506
522
|
- config/locales/cs-CZ.yml
|
507
523
|
- config/locales/cs.yml
|
524
|
+
- config/locales/da-DK.yml
|
525
|
+
- config/locales/da.yml
|
508
526
|
- config/locales/de.yml
|
527
|
+
- config/locales/el-GR.yml
|
528
|
+
- config/locales/el.yml
|
509
529
|
- config/locales/en.yml
|
510
530
|
- config/locales/eo-UY.yml
|
531
|
+
- config/locales/eo.yml
|
511
532
|
- config/locales/es-MX.yml
|
512
533
|
- config/locales/es-PY.yml
|
513
534
|
- config/locales/es.yml
|
535
|
+
- config/locales/et-EE.yml
|
536
|
+
- config/locales/et.yml
|
514
537
|
- config/locales/eu.yml
|
515
538
|
- config/locales/fi-pl.yml
|
516
539
|
- config/locales/fi-plain.yml
|
517
540
|
- config/locales/fi.yml
|
541
|
+
- config/locales/fr-CA.yml
|
518
542
|
- config/locales/fr.yml
|
543
|
+
- config/locales/ga-IE.yml
|
519
544
|
- config/locales/gl.yml
|
545
|
+
- config/locales/hr-HR.yml
|
546
|
+
- config/locales/hr.yml
|
520
547
|
- config/locales/hu.yml
|
521
548
|
- config/locales/id-ID.yml
|
549
|
+
- config/locales/is-IS.yml
|
550
|
+
- config/locales/is.yml
|
522
551
|
- config/locales/it.yml
|
552
|
+
- config/locales/ja-JP.yml
|
553
|
+
- config/locales/ja.yml
|
554
|
+
- config/locales/ko-KR.yml
|
555
|
+
- config/locales/ko.yml
|
556
|
+
- config/locales/lt-LT.yml
|
557
|
+
- config/locales/lt.yml
|
558
|
+
- config/locales/lv.yml
|
559
|
+
- config/locales/mt-MT.yml
|
560
|
+
- config/locales/mt.yml
|
523
561
|
- config/locales/nl.yml
|
524
562
|
- config/locales/no.yml
|
563
|
+
- config/locales/om-ET.yml
|
525
564
|
- config/locales/pl.yml
|
526
565
|
- config/locales/pt-BR.yml
|
527
566
|
- config/locales/pt.yml
|
567
|
+
- config/locales/ro-RO.yml
|
528
568
|
- config/locales/ru.yml
|
569
|
+
- config/locales/sk-SK.yml
|
570
|
+
- config/locales/sk.yml
|
571
|
+
- config/locales/sl.yml
|
572
|
+
- config/locales/so-SO.yml
|
573
|
+
- config/locales/sr-CS.yml
|
529
574
|
- config/locales/sv.yml
|
575
|
+
- config/locales/ti-ER.yml
|
530
576
|
- config/locales/tr-TR.yml
|
531
577
|
- config/locales/uk.yml
|
578
|
+
- config/locales/vi-VN.yml
|
579
|
+
- config/locales/vi.yml
|
580
|
+
- config/locales/zh-CN.yml
|
581
|
+
- config/locales/zh-TW.yml
|
532
582
|
- db/migrate/20161212110850_create_decidim_proposals.rb
|
533
583
|
- db/migrate/20170112115253_create_proposal_votes.rb
|
534
584
|
- db/migrate/20170113114245_add_text_search_indexes.rb
|
@@ -568,6 +618,19 @@ files:
|
|
568
618
|
- db/migrate/20181017084221_make_author_polymorhpic_for_proposal_endorsements.rb
|
569
619
|
- db/migrate/20181026073215_add_created_in_meeting.rb
|
570
620
|
- db/migrate/20190215113158_use_md5_indexes.rb
|
621
|
+
- db/migrate/20191206154128_add_endorsements_counter_cache_to_proposals.rb
|
622
|
+
- db/migrate/20200120215928_move_proposal_endorsements_to_core_endorsements.rb
|
623
|
+
- db/migrate/20200120230130_drop_proposal_endorsements.rb
|
624
|
+
- db/migrate/20200203111239_add_proposal_valuation_assignments.rb
|
625
|
+
- db/migrate/20200210135152_add_costs_to_proposals.rb
|
626
|
+
- db/migrate/20200212120110_sync_proposals_state_with_amendments_state.rb
|
627
|
+
- db/migrate/20200227175922_add_state_published_at_to_proposals.rb
|
628
|
+
- db/migrate/20200306123652_publish_existing_proposals_state.rb
|
629
|
+
- db/migrate/20200708091228_move_proposals_fields_to_i18n.rb
|
630
|
+
- db/migrate/20200730131631_move_proposal_endorsed_event_notifications_to_resource_endorsed_event.rb
|
631
|
+
- db/migrate/20200827154156_add_commentable_counter_cache_to_proposals.rb
|
632
|
+
- db/migrate/20200915151348_fix_proposals_data_to_ensure_title_and_body_are_hashes.rb
|
633
|
+
- db/migrate/20201002085508_fix_proposals_data.rb
|
571
634
|
- lib/decidim/content_parsers/proposal_parser.rb
|
572
635
|
- lib/decidim/content_renderers/proposal_renderer.rb
|
573
636
|
- lib/decidim/proposals.rb
|
@@ -582,7 +645,9 @@ files:
|
|
582
645
|
- lib/decidim/proposals/odt_to_markdown.rb
|
583
646
|
- lib/decidim/proposals/participatory_text_section.rb
|
584
647
|
- lib/decidim/proposals/proposal_serializer.rb
|
648
|
+
- lib/decidim/proposals/test/capybara_proposals_picker.rb
|
585
649
|
- lib/decidim/proposals/test/factories.rb
|
650
|
+
- lib/decidim/proposals/valuatable.rb
|
586
651
|
- lib/decidim/proposals/version.rb
|
587
652
|
homepage: https://github.com/decidim/decidim
|
588
653
|
licenses:
|
@@ -596,7 +661,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
596
661
|
requirements:
|
597
662
|
- - ">="
|
598
663
|
- !ruby/object:Gem::Version
|
599
|
-
version: '2.
|
664
|
+
version: '2.6'
|
600
665
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
601
666
|
requirements:
|
602
667
|
- - ">="
|