decidim-proposals 0.26.7 → 0.27.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/collaborative_draft_m_cell.rb +1 -1
  3. data/app/cells/decidim/proposals/highlighted_proposals_for_component_cell.rb +9 -1
  4. data/app/cells/decidim/proposals/proposal_m_cell.rb +6 -8
  5. data/app/commands/decidim/proposals/accept_access_to_collaborative_draft.rb +1 -1
  6. data/app/commands/decidim/proposals/admin/answer_proposal.rb +1 -1
  7. data/app/commands/decidim/proposals/admin/assign_proposals_to_valuator.rb +1 -1
  8. data/app/commands/decidim/proposals/admin/create_proposal.rb +10 -7
  9. data/app/commands/decidim/proposals/admin/create_proposal_note.rb +2 -2
  10. data/app/commands/decidim/proposals/admin/discard_participatory_text.rb +1 -1
  11. data/app/commands/decidim/proposals/admin/import_participatory_text.rb +1 -1
  12. data/app/commands/decidim/proposals/admin/import_proposals.rb +2 -5
  13. data/app/commands/decidim/proposals/admin/merge_proposals.rb +1 -1
  14. data/app/commands/decidim/proposals/admin/notify_proposal_answer.rb +1 -3
  15. data/app/commands/decidim/proposals/admin/publish_answers.rb +1 -1
  16. data/app/commands/decidim/proposals/admin/split_proposals.rb +1 -1
  17. data/app/commands/decidim/proposals/admin/unassign_proposals_from_valuator.rb +1 -1
  18. data/app/commands/decidim/proposals/admin/update_participatory_text.rb +1 -1
  19. data/app/commands/decidim/proposals/admin/update_proposal.rb +8 -2
  20. data/app/commands/decidim/proposals/admin/update_proposal_category.rb +5 -3
  21. data/app/commands/decidim/proposals/admin/update_proposal_scope.rb +3 -3
  22. data/app/commands/decidim/proposals/create_collaborative_draft.rb +5 -5
  23. data/app/commands/decidim/proposals/create_proposal.rb +1 -1
  24. data/app/commands/decidim/proposals/destroy_proposal.rb +1 -1
  25. data/app/commands/decidim/proposals/publish_collaborative_draft.rb +1 -1
  26. data/app/commands/decidim/proposals/publish_proposal.rb +1 -1
  27. data/app/commands/decidim/proposals/reject_access_to_collaborative_draft.rb +1 -1
  28. data/app/commands/decidim/proposals/request_access_to_collaborative_draft.rb +1 -1
  29. data/app/commands/decidim/proposals/unvote_proposal.rb +1 -1
  30. data/app/commands/decidim/proposals/update_collaborative_draft.rb +1 -1
  31. data/app/commands/decidim/proposals/update_proposal.rb +8 -2
  32. data/app/commands/decidim/proposals/vote_proposal.rb +1 -1
  33. data/app/commands/decidim/proposals/withdraw_collaborative_draft.rb +1 -1
  34. data/app/commands/decidim/proposals/withdraw_proposal.rb +1 -1
  35. data/app/controllers/concerns/decidim/proposals/orderable.rb +7 -5
  36. data/app/controllers/decidim/proposals/admin/proposals_controller.rb +7 -7
  37. data/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +10 -10
  38. data/app/controllers/decidim/proposals/proposal_votes_controller.rb +1 -1
  39. data/app/controllers/decidim/proposals/proposals_controller.rb +25 -18
  40. data/app/events/decidim/proposals/publish_proposal_event.rb +0 -8
  41. data/app/forms/decidim/proposals/admin/import_participatory_text_form.rb +4 -4
  42. data/app/forms/decidim/proposals/admin/proposal_base_form.rb +4 -4
  43. data/app/forms/decidim/proposals/admin/proposal_form.rb +2 -0
  44. data/app/forms/decidim/proposals/admin/proposals_fork_form.rb +2 -2
  45. data/app/forms/decidim/proposals/admin/proposals_import_form.rb +1 -1
  46. data/app/forms/decidim/proposals/proposal_form.rb +11 -4
  47. data/app/forms/decidim/proposals/proposal_wizard_create_step_form.rb +3 -0
  48. data/app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb +4 -0
  49. data/app/helpers/decidim/proposals/application_helper.rb +4 -17
  50. data/app/helpers/decidim/proposals/proposal_cells_helper.rb +1 -3
  51. data/app/helpers/decidim/proposals/proposal_wizard_helper.rb +7 -7
  52. data/app/helpers/decidim/proposals/proposals_helper.rb +1 -1
  53. data/app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb +1 -1
  54. data/app/models/decidim/proposals/collaborative_draft.rb +10 -0
  55. data/app/models/decidim/proposals/collaborative_draft_collaborator_request.rb +0 -2
  56. data/app/models/decidim/proposals/proposal.rb +47 -8
  57. data/app/queries/decidim/proposals/filtered_proposals.rb +1 -1
  58. data/app/queries/decidim/proposals/similar_proposals.rb +1 -1
  59. data/app/services/decidim/proposals/proposal_search.rb +16 -71
  60. data/app/validators/proposal_length_validator.rb +2 -5
  61. data/app/views/decidim/proposals/admin/participatory_texts/_article-preview.html.erb +2 -2
  62. data/app/views/decidim/proposals/admin/proposals/_form.html.erb +1 -1
  63. data/app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb +2 -2
  64. data/app/views/decidim/proposals/admin/proposals/publish_answers.js.erb +1 -1
  65. data/app/views/decidim/proposals/admin/proposals/update_attribute.js.erb +26 -0
  66. data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +9 -17
  67. data/app/views/decidim/proposals/collaborative_drafts/_filters.html.erb +4 -4
  68. data/app/views/decidim/proposals/collaborative_drafts/_wizard_aside.html.erb +1 -1
  69. data/app/views/decidim/proposals/collaborative_drafts/edit.html.erb +3 -1
  70. data/app/views/decidim/proposals/collaborative_drafts/new.html.erb +3 -1
  71. data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +1 -1
  72. data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +13 -36
  73. data/app/views/decidim/proposals/proposals/_filters.html.erb +5 -5
  74. data/app/views/decidim/proposals/proposals/_linked_proposals.html.erb +1 -2
  75. data/app/views/decidim/proposals/proposals/_proposals.html.erb +5 -5
  76. data/app/views/decidim/proposals/proposals/complete.html.erb +3 -1
  77. data/app/views/decidim/proposals/proposals/edit.html.erb +3 -1
  78. data/app/views/decidim/proposals/proposals/edit_draft.html.erb +3 -1
  79. data/app/views/decidim/proposals/proposals/new.html.erb +3 -1
  80. data/config/locales/am-ET.yml +1 -0
  81. data/config/locales/ar.yml +2 -262
  82. data/config/locales/bg.yml +1 -4
  83. data/config/locales/ca.yml +17 -29
  84. data/config/locales/cs.yml +31 -43
  85. data/config/locales/da.yml +1 -0
  86. data/config/locales/de.yml +3 -54
  87. data/config/locales/el.yml +3 -6
  88. data/config/locales/en.yml +12 -25
  89. data/config/locales/eo.yml +1 -0
  90. data/config/locales/es-MX.yml +14 -26
  91. data/config/locales/es-PY.yml +14 -26
  92. data/config/locales/es.yml +14 -26
  93. data/config/locales/et.yml +1 -0
  94. data/config/locales/eu.yml +198 -258
  95. data/config/locales/fi-plain.yml +12 -23
  96. data/config/locales/fi.yml +16 -27
  97. data/config/locales/fr-CA.yml +12 -25
  98. data/config/locales/fr.yml +12 -25
  99. data/config/locales/ga-IE.yml +1 -2
  100. data/config/locales/gl.yml +12 -9
  101. data/config/locales/hr.yml +1 -0
  102. data/config/locales/hu.yml +11 -10
  103. data/config/locales/id-ID.yml +3 -5
  104. data/config/locales/is-IS.yml +3 -2
  105. data/config/locales/it.yml +4 -9
  106. data/config/locales/ja.yml +64 -76
  107. data/config/locales/ko.yml +1 -0
  108. data/config/locales/lb.yml +1 -0
  109. data/config/locales/lt.yml +1 -988
  110. data/config/locales/lv.yml +3 -6
  111. data/config/locales/mt.yml +1 -0
  112. data/config/locales/nl.yml +8 -10
  113. data/config/locales/no.yml +3 -6
  114. data/config/locales/om-ET.yml +1 -0
  115. data/config/locales/pl.yml +3 -26
  116. data/config/locales/pt-BR.yml +5 -11
  117. data/config/locales/pt.yml +4 -10
  118. data/config/locales/ro-RO.yml +7 -9
  119. data/config/locales/ru.yml +2 -1
  120. data/config/locales/si-LK.yml +1 -0
  121. data/config/locales/sk.yml +3 -6
  122. data/config/locales/sl.yml +1 -0
  123. data/config/locales/so-SO.yml +1 -0
  124. data/config/locales/sr-CS.yml +1 -2
  125. data/config/locales/sv.yml +10 -10
  126. data/config/locales/sw-KE.yml +1 -0
  127. data/config/locales/ti-ER.yml +1 -0
  128. data/config/locales/tr-TR.yml +3 -9
  129. data/config/locales/uk.yml +2 -1
  130. data/config/locales/val-ES.yml +1 -0
  131. data/config/locales/vi.yml +1 -0
  132. data/config/locales/zh-CN.yml +3 -9
  133. data/config/locales/zh-TW.yml +1 -966
  134. data/db/migrate/20180529110230_move_authorships_to_coauthorships.rb +1 -0
  135. data/lib/decidim/proposals/component.rb +25 -21
  136. data/lib/decidim/proposals/import/proposal_answer_creator.rb +4 -10
  137. data/lib/decidim/proposals/proposal_serializer.rb +1 -9
  138. data/lib/decidim/proposals/test/factories.rb +1 -1
  139. data/lib/decidim/proposals/version.rb +1 -1
  140. metadata +25 -34
  141. data/app/services/decidim/proposals/collaborative_draft_search.rb +0 -59
  142. data/app/views/decidim/proposals/admin/proposals/_js-callout.html.erb +0 -6
  143. data/app/views/decidim/proposals/admin/proposals/update_category.js.erb +0 -26
  144. data/app/views/decidim/proposals/admin/proposals/update_scope.js.erb +0 -27
  145. data/config/locales/fa-IR.yml +0 -1
  146. data/config/locales/gn-PY.yml +0 -1
  147. data/config/locales/ka-GE.yml +0 -1
  148. data/config/locales/kaa.yml +0 -1
  149. data/config/locales/lo-LA.yml +0 -1
  150. data/config/locales/oc-FR.yml +0 -1
@@ -4,6 +4,7 @@ class MoveAuthorshipsToCoauthorships < ActiveRecord::Migration[5.1]
4
4
  class Proposal < ApplicationRecord
5
5
  self.table_name = :decidim_proposals_proposals
6
6
  end
7
+
7
8
  class Coauthorship < ApplicationRecord
8
9
  self.table_name = :decidim_coauthorships
9
10
  end
@@ -28,19 +28,19 @@ Decidim.register_component(:proposals) do |component|
28
28
  component.settings(:global) do |settings|
29
29
  settings.attribute :scopes_enabled, type: :boolean, default: false
30
30
  settings.attribute :scope_id, type: :scope
31
- settings.attribute :vote_limit, type: :integer, default: 0, required: true
32
- settings.attribute :minimum_votes_per_user, type: :integer, default: 0, required: true
33
- settings.attribute :proposal_limit, type: :integer, default: 0, required: true
31
+ settings.attribute :vote_limit, type: :integer, default: 0
32
+ settings.attribute :minimum_votes_per_user, type: :integer, default: 0
33
+ settings.attribute :proposal_limit, type: :integer, default: 0
34
34
  settings.attribute :proposal_length, type: :integer, default: 500
35
35
  settings.attribute :proposal_edit_time, type: :enum, default: "limited", choices: -> { %w(limited infinite) }
36
- settings.attribute :proposal_edit_before_minutes, type: :integer, default: 5, required: true
37
- settings.attribute :threshold_per_proposal, type: :integer, default: 0, required: true
36
+ settings.attribute :proposal_edit_before_minutes, type: :integer, default: 5
37
+ settings.attribute :threshold_per_proposal, type: :integer, default: 0
38
38
  settings.attribute :can_accumulate_supports_beyond_threshold, type: :boolean, default: false
39
39
  settings.attribute :proposal_answering_enabled, type: :boolean, default: true
40
40
  settings.attribute :default_sort_order, type: :select, default: "default", choices: -> { POSSIBLE_SORT_ORDERS }
41
41
  settings.attribute :official_proposals_enabled, type: :boolean, default: true
42
42
  settings.attribute :comments_enabled, type: :boolean, default: true
43
- settings.attribute :comments_max_length, type: :integer, required: true
43
+ settings.attribute :comments_max_length, type: :integer, required: false
44
44
  settings.attribute :geocoding_enabled, type: :boolean, default: false
45
45
  settings.attribute :attachments_allowed, type: :boolean, default: false
46
46
  settings.attribute :resources_permissions_enabled, type: :boolean, default: true
@@ -131,7 +131,6 @@ Decidim.register_component(:proposals) do |component|
131
131
 
132
132
  collection = Decidim::Proposals::Proposal
133
133
  .published
134
- .not_hidden
135
134
  .where(component: component_instance)
136
135
  .includes(:scope, :category, :component)
137
136
 
@@ -267,26 +266,31 @@ Decidim.register_component(:proposals) do |component|
267
266
  visibility: "all"
268
267
  ) do
269
268
  proposal = Decidim::Proposals::Proposal.new(params)
270
- proposal.add_coauthor(participatory_space.organization)
269
+ meeting_component = participatory_space.components.find_by(manifest_name: "meetings")
270
+
271
+ coauthor = case n
272
+ when 0
273
+ Decidim::User.where(decidim_organization_id: participatory_space.decidim_organization_id).order(Arel.sql("RANDOM()")).first
274
+ when 1
275
+ Decidim::UserGroup.where(decidim_organization_id: participatory_space.decidim_organization_id).order(Arel.sql("RANDOM()")).first
276
+ when 2
277
+ Decidim::Meetings::Meeting.where(component: meeting_component).order(Arel.sql("RANDOM()")).first
278
+ else
279
+ participatory_space.organization
280
+ end
281
+ proposal.add_coauthor(coauthor)
271
282
  proposal.save!
272
283
  proposal
273
284
  end
274
285
 
275
- if n.positive?
276
- Decidim::User.where(decidim_organization_id: participatory_space.decidim_organization_id).all.sample(n).each do |author|
277
- user_group = [true, false].sample ? Decidim::UserGroups::ManageableUserGroups.for(author).verified.sample : nil
278
- proposal.add_coauthor(author, user_group: user_group)
279
- end
280
- end
281
-
282
286
  if proposal.state.nil?
283
287
  email = "amendment-author-#{participatory_space.underscored_name}-#{participatory_space.id}-#{n}-amend#{n}@example.org"
284
288
  name = "#{Faker::Name.name} #{participatory_space.id} #{n} amend#{n}"
285
289
 
286
290
  author = Decidim::User.find_or_initialize_by(email: email)
287
291
  author.update!(
288
- password: "decidim123456",
289
- password_confirmation: "decidim123456",
292
+ password: "decidim123456789",
293
+ password_confirmation: "decidim123456789",
290
294
  name: name,
291
295
  nickname: Faker::Twitter.unique.screen_name,
292
296
  organization: component.organization,
@@ -351,8 +355,8 @@ Decidim.register_component(:proposals) do |component|
351
355
 
352
356
  author = Decidim::User.find_or_initialize_by(email: email)
353
357
  author.update!(
354
- password: "decidim123456",
355
- password_confirmation: "decidim123456",
358
+ password: "decidim123456789",
359
+ password_confirmation: "decidim123456789",
356
360
  name: name,
357
361
  nickname: Faker::Twitter.unique.screen_name,
358
362
  organization: component.organization,
@@ -373,8 +377,8 @@ Decidim.register_component(:proposals) do |component|
373
377
 
374
378
  author = Decidim::User.find_or_initialize_by(email: email)
375
379
  author.update!(
376
- password: "decidim123456",
377
- password_confirmation: "decidim123456",
380
+ password: "decidim123456789",
381
+ password_confirmation: "decidim123456789",
378
382
  name: name,
379
383
  nickname: Faker::Twitter.unique.screen_name,
380
384
  organization: component.organization,
@@ -32,16 +32,13 @@ module Decidim
32
32
  resource,
33
33
  current_user
34
34
  ) do
35
- resource.try(:save!)
35
+ resource.save!
36
36
  end
37
-
38
- notify
37
+ notify(resource)
39
38
  end
40
39
 
41
40
  private
42
41
 
43
- attr_reader :initial_state
44
-
45
42
  def resource
46
43
  @resource ||= fetch_resource
47
44
  end
@@ -58,8 +55,6 @@ module Decidim
58
55
 
59
56
  proposal.answer = answer
60
57
  proposal.answered_at = Time.current
61
- @initial_state = proposal.state
62
-
63
58
  if POSSIBLE_ANSWER_STATES.include?(state)
64
59
  proposal.state = state
65
60
  proposal.state_published_at = Time.current if component.current_settings.publish_answers_immediately?
@@ -93,9 +88,8 @@ module Decidim
93
88
  context[:current_user]
94
89
  end
95
90
 
96
- def notify
97
- state = initial_state || resource.try(:state)
98
- ::Decidim::Proposals::Admin::NotifyProposalAnswer.call(resource, state)
91
+ def notify(proposal)
92
+ ::Decidim::Proposals::Admin::NotifyProposalAnswer.call(proposal, proposal.state)
99
93
  end
100
94
  end
101
95
  end
@@ -8,7 +8,6 @@ module Decidim
8
8
  include Decidim::ApplicationHelper
9
9
  include Decidim::ResourceHelper
10
10
  include Decidim::TranslationsHelper
11
- include HtmlToPlainText
12
11
 
13
12
  # Public: Initializes the serializer with a proposal.
14
13
  def initialize(proposal)
@@ -33,7 +32,7 @@ module Decidim
33
32
  },
34
33
  component: { id: component.id },
35
34
  title: proposal.title,
36
- body: convert_to_plain_text(proposal.body),
35
+ body: proposal.body,
37
36
  address: proposal.address,
38
37
  latitude: proposal.latitude,
39
38
  longitude: proposal.longitude,
@@ -94,13 +93,6 @@ module Decidim
94
93
 
95
94
  Decidim::ResourceLocatorPresenter.new(proposal.amendable).url
96
95
  end
97
-
98
- # Recursively strips HTML tags from given Hash strings using convert_to_text from Premailer
99
- def convert_to_plain_text(value)
100
- return value.transform_values { |v| convert_to_plain_text(v) } if value.is_a?(Hash)
101
-
102
- convert_to_text(value)
103
- end
104
96
  end
105
97
  end
106
98
  end
@@ -305,7 +305,7 @@ FactoryBot.define do
305
305
  published_at { nil }
306
306
  end
307
307
 
308
- trait :citizen_author do
308
+ trait :participant_author do
309
309
  after :build do |proposal|
310
310
  proposal.coauthorships.clear
311
311
  user = build(:user, organization: proposal.component.participatory_space.organization)
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds decidim-proposals version.
5
5
  module Proposals
6
6
  def self.version
7
- "0.26.7"
7
+ "0.27.0.rc1"
8
8
  end
9
9
  end
10
10
  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.26.7
4
+ version: 0.27.0.rc1
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: 2023-05-11 00:00:00.000000000 Z
13
+ date: 2022-06-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-comments
@@ -18,42 +18,42 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.26.7
21
+ version: 0.27.0.rc1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.26.7
28
+ version: 0.27.0.rc1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: decidim-core
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.26.7
35
+ version: 0.27.0.rc1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.26.7
42
+ version: 0.27.0.rc1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: doc2text
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 0.4.4
49
+ version: 0.4.5
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 0.4.4
56
+ version: 0.4.5
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: redcarpet
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -80,84 +80,84 @@ dependencies:
80
80
  requirements:
81
81
  - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: 0.26.7
83
+ version: 0.27.0.rc1
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - '='
89
89
  - !ruby/object:Gem::Version
90
- version: 0.26.7
90
+ version: 0.27.0.rc1
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: decidim-assemblies
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: 0.26.7
97
+ version: 0.27.0.rc1
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - '='
103
103
  - !ruby/object:Gem::Version
104
- version: 0.26.7
104
+ version: 0.27.0.rc1
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: decidim-budgets
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - '='
110
110
  - !ruby/object:Gem::Version
111
- version: 0.26.7
111
+ version: 0.27.0.rc1
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: 0.26.7
118
+ version: 0.27.0.rc1
119
119
  - !ruby/object:Gem::Dependency
120
120
  name: decidim-dev
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: 0.26.7
125
+ version: 0.27.0.rc1
126
126
  type: :development
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - '='
131
131
  - !ruby/object:Gem::Version
132
- version: 0.26.7
132
+ version: 0.27.0.rc1
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: decidim-meetings
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - '='
138
138
  - !ruby/object:Gem::Version
139
- version: 0.26.7
139
+ version: 0.27.0.rc1
140
140
  type: :development
141
141
  prerelease: false
142
142
  version_requirements: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - '='
145
145
  - !ruby/object:Gem::Version
146
- version: 0.26.7
146
+ version: 0.27.0.rc1
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: decidim-participatory_processes
149
149
  requirement: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - '='
152
152
  - !ruby/object:Gem::Version
153
- version: 0.26.7
153
+ version: 0.27.0.rc1
154
154
  type: :development
155
155
  prerelease: false
156
156
  version_requirements: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - '='
159
159
  - !ruby/object:Gem::Version
160
- version: 0.26.7
160
+ version: 0.27.0.rc1
161
161
  description: A proposals component for decidim's participatory spaces.
162
162
  email:
163
163
  - josepjaume@gmail.com
@@ -361,7 +361,6 @@ files:
361
361
  - app/queries/decidim/proposals/metrics/proposals_metric_manage.rb
362
362
  - app/queries/decidim/proposals/metrics/votes_metric_manage.rb
363
363
  - app/queries/decidim/proposals/similar_proposals.rb
364
- - app/services/decidim/proposals/collaborative_draft_search.rb
365
364
  - app/services/decidim/proposals/diff_renderer.rb
366
365
  - app/services/decidim/proposals/proposal_builder.rb
367
366
  - app/services/decidim/proposals/proposal_search.rb
@@ -376,7 +375,6 @@ files:
376
375
  - app/views/decidim/proposals/admin/proposal_notes/_proposal_notes.html.erb
377
376
  - app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb
378
377
  - app/views/decidim/proposals/admin/proposals/_form.html.erb
379
- - app/views/decidim/proposals/admin/proposals/_js-callout.html.erb
380
378
  - app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb
381
379
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_valuator.html.erb
382
380
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb
@@ -391,8 +389,7 @@ files:
391
389
  - app/views/decidim/proposals/admin/proposals/new.html.erb
392
390
  - app/views/decidim/proposals/admin/proposals/publish_answers.js.erb
393
391
  - app/views/decidim/proposals/admin/proposals/show.html.erb
394
- - app/views/decidim/proposals/admin/proposals/update_category.js.erb
395
- - app/views/decidim/proposals/admin/proposals/update_scope.js.erb
392
+ - app/views/decidim/proposals/admin/proposals/update_attribute.js.erb
396
393
  - app/views/decidim/proposals/admin/proposals_imports/new.html.erb
397
394
  - app/views/decidim/proposals/collaborative_drafts/_accept_request_access_form.html.erb
398
395
  - app/views/decidim/proposals/collaborative_drafts/_collaborative_drafts.html.erb
@@ -469,7 +466,6 @@ files:
469
466
  - config/locales/et-EE.yml
470
467
  - config/locales/et.yml
471
468
  - config/locales/eu.yml
472
- - config/locales/fa-IR.yml
473
469
  - config/locales/fi-pl.yml
474
470
  - config/locales/fi-plain.yml
475
471
  - config/locales/fi.yml
@@ -478,7 +474,6 @@ files:
478
474
  - config/locales/fr.yml
479
475
  - config/locales/ga-IE.yml
480
476
  - config/locales/gl.yml
481
- - config/locales/gn-PY.yml
482
477
  - config/locales/hr-HR.yml
483
478
  - config/locales/hr.yml
484
479
  - config/locales/hu.yml
@@ -487,13 +482,10 @@ files:
487
482
  - config/locales/is.yml
488
483
  - config/locales/it.yml
489
484
  - config/locales/ja.yml
490
- - config/locales/ka-GE.yml
491
- - config/locales/kaa.yml
492
485
  - config/locales/ko-KR.yml
493
486
  - config/locales/ko.yml
494
487
  - config/locales/lb-LU.yml
495
488
  - config/locales/lb.yml
496
- - config/locales/lo-LA.yml
497
489
  - config/locales/lt-LT.yml
498
490
  - config/locales/lt.yml
499
491
  - config/locales/lv.yml
@@ -501,7 +493,6 @@ files:
501
493
  - config/locales/mt.yml
502
494
  - config/locales/nl.yml
503
495
  - config/locales/no.yml
504
- - config/locales/oc-FR.yml
505
496
  - config/locales/om-ET.yml
506
497
  - config/locales/pl.yml
507
498
  - config/locales/pt-BR.yml
@@ -619,14 +610,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
619
610
  requirements:
620
611
  - - ">="
621
612
  - !ruby/object:Gem::Version
622
- version: '2.7'
613
+ version: '3.0'
623
614
  required_rubygems_version: !ruby/object:Gem::Requirement
624
615
  requirements:
625
- - - ">="
616
+ - - ">"
626
617
  - !ruby/object:Gem::Version
627
- version: '0'
618
+ version: 1.3.1
628
619
  requirements: []
629
- rubygems_version: 3.1.6
620
+ rubygems_version: 3.2.22
630
621
  signing_key:
631
622
  specification_version: 4
632
623
  summary: Decidim proposals module
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- # A service to encapsualte all the logic when searching and filtering
6
- # collaborative drafts in a participatory process.
7
- class CollaborativeDraftSearch < ResourceSearch
8
- text_search_fields :title, :body
9
-
10
- # Public: Initializes the service.
11
- # component - A Decidim::Component to get the drafts from.
12
- # page - The page number to paginate the results.
13
- # per_page - The number of drafts to return per page.
14
- def initialize(options = {})
15
- super(CollaborativeDraft.all, options)
16
- end
17
-
18
- # Handle the search_text filter
19
- #
20
- # We can't use the search from `ResourceFilter` since these fields aren't
21
- # translated.
22
- def search_search_text
23
- query
24
- .where("title::text ILIKE ?", "%#{search_text}%")
25
- .or(query.where("body ILIKE ?", "%#{search_text}%"))
26
- end
27
-
28
- # Handle the state filter
29
- def search_state
30
- return query if state.member?("all")
31
-
32
- apply_scopes(%w(open withdrawn published), state)
33
- end
34
-
35
- # Filters drafts by the name of the classes they are linked to. By default,
36
- # returns all drafts. When a `related_to` param is given, then it camelcases item
37
- # to find the real class name and checks the links for the Collaborative Draft.
38
- #
39
- # The `related_to` param is expected to be in this form:
40
- #
41
- # "decidim/meetings/meeting"
42
- #
43
- # This can be achieved by performing `klass.name.underscore`.
44
- #
45
- # Returns only those drafts that are linked to the given class name.
46
- def search_related_to
47
- from = query
48
- .joins(:resource_links_from)
49
- .where(decidim_resource_links: { to_type: related_to.camelcase })
50
-
51
- to = query
52
- .joins(:resource_links_to)
53
- .where(decidim_resource_links: { from_type: related_to.camelcase })
54
-
55
- query.where(id: from).or(query.where(id: to))
56
- end
57
- end
58
- end
59
- end
@@ -1,6 +0,0 @@
1
- <div class="callout callout--full <%= css %>" data-closable>
2
- <%= text %>
3
- <button class="close-button" type="button" data-close="">
4
- <span aria-hidden="true">×</span>
5
- </button>
6
- </div>
@@ -1,26 +0,0 @@
1
- <% if flash.now[:error].present? %>
2
- $("#js-form-recategorize-proposals #category_id").addClass("is-invalid-input")
3
- $("<%= escape_javascript(render partial: %q{js-callout}, locals: { css: %q{alert}, text: flash.now[:error] }) %>").appendTo(".callout-wrapper");
4
- <% end %>
5
-
6
- <% if flash.now[:alert].present? %>
7
- $("#js-form-recategorize-proposals #category_id").removeClass("is-invalid-input")
8
- $("<%= escape_javascript(render partial: %q{js-callout}, locals: { css: %q{warning}, text: flash.now[:alert] }) %>").appendTo(".callout-wrapper");
9
- <% end %>
10
-
11
- <% if flash.now[:notice].present? %>
12
- $("<%= escape_javascript(render partial: %q{js-callout}, locals: { css: %q{success}, text: flash.now[:notice] }) %>").appendTo(".callout-wrapper");
13
-
14
- <% proposal_ids.each do |id| %>
15
- $(".table-list [data-id='<%= id %>']")
16
- .replaceWith("<%= escape_javascript(render partial: %q{proposal-tr}, locals: { proposal: proposal_find(id) }) %>");
17
- <% end %>
18
-
19
- $("#js-form-recategorize-proposals #category_id").removeClass("is-invalid-input")
20
- $(".js-check-all").prop('checked', false);
21
- $(".js-check-all-proposal").prop('checked', false);
22
- window.hideBulkActionsButton();
23
- window.hideBulkActionForms();
24
- window.showOtherActionsButtons();
25
- window.selectedProposalsCountUpdate();
26
- <% end %>
@@ -1,27 +0,0 @@
1
- <% if flash.now[:error].present? %>
2
- $("#js-form-scope-change-proposals #scope_id").addClass("is-invalid-input")
3
- $("<%= escape_javascript(render partial: %q{js-callout}, locals: { css: %q{alert}, text: flash.now[:error] }) %>").appendTo(".callout-wrapper");
4
- <% end %>
5
-
6
- <% if flash.now[:alert].present? %>
7
- $("#js-form-scope-change-proposals #scope_id").removeClass("is-invalid-input")
8
- $("<%= escape_javascript(render partial: %q{js-callout}, locals: { css: %q{warning}, text: flash.now[:alert] }) %>").appendTo(".callout-wrapper");
9
- <% end %>
10
-
11
- <% if flash.now[:notice].present? %>
12
- $("<%= escape_javascript(render partial: %q{js-callout}, locals: { css: %q{success}, text: flash.now[:notice] }) %>").appendTo(".callout-wrapper");
13
-
14
- <% @proposal_ids.each do |id| %>
15
- $(".table-list [data-id='<%= id %>']")
16
- .replaceWith("<%= escape_javascript(render partial: %q{proposal-tr}, locals: { proposal: proposal_find(id) }) %>");
17
- <% end %>
18
-
19
- $("#js-form-scope-change-proposals #scope_id").removeClass("is-invalid-input")
20
- $(".js-check-all").prop('checked', false);
21
- $(".js-check-all-proposal").prop('checked', false);
22
-
23
- window.hideBulkActionForms();
24
- window.hideBulkActionsButton();
25
- window.showOtherActionsButtons();
26
- window.selectedProposalsCountUpdate();
27
- <% end %>
@@ -1 +0,0 @@
1
- fa:
@@ -1 +0,0 @@
1
- gn:
@@ -1 +0,0 @@
1
- ka:
@@ -1 +0,0 @@
1
- kaa:
@@ -1 +0,0 @@
1
- lo:
@@ -1 +0,0 @@
1
- oc: