decidim-proposals 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b76e73596c6643507620912308d1d0fb378bdf6b
4
- data.tar.gz: 8db8bfb80feff77d0441515d77ace77e88432286
3
+ metadata.gz: 0e402f0c7815c844f71feab64eb6c0ba24eb0212
4
+ data.tar.gz: 6272d3cf287ba6e1bd302cf89165ead266c41fe5
5
5
  SHA512:
6
- metadata.gz: fd95c03ce940920518be6b2832b2db5dcae64a65624760355090a5fb179fbcfd88e51325d7786522a01a70cddd38fb1e4e55e5b67f40cccdfa7ec26f1a12fab4
7
- data.tar.gz: e88b4bd67e8754b4c4a42ea0a8e9d67f161bba5b7332fd0c1583134aa3fce54783f6acd914331d5a73f4daba964a65131e8d5376f2532a827ef7870e8acaa0f3
6
+ metadata.gz: 17d7d9569a92625edd185177e230107c81c41d6209fd6448180aa662bb939fa4169cc05838638b089ed3c9b73ee017fd5029e05ec098c4e5329944f461a94387
7
+ data.tar.gz: 8f91779210c7b26b0b133e0b9e941a9966088adfcd4c7ff99f389b1542073a57bc9380cd7244334a925a75ddf556f517576bb5fd047a1d89b0e68e1616fee80f
@@ -1 +1,2 @@
1
1
  //= link decidim/proposals/social_share.js
2
+ //= link decidim/proposals/add_proposal.js
@@ -0,0 +1,23 @@
1
+ $(() => {
2
+ window.DecidimProposals = window.DecidimProposals || {};
3
+
4
+ window.DecidimProposals.bindProposalAddress = () => {
5
+ const $checkbox = $('#proposal_has_address');
6
+ const $addressInput = $('#address_input');
7
+
8
+ if ($checkbox.length > 0) {
9
+ const toggleInput = () => {
10
+ if ($checkbox[0].checked) {
11
+ $addressInput.show();
12
+ } else {
13
+ $addressInput.hide();
14
+ }
15
+ }
16
+ toggleInput();
17
+ $checkbox.on('change', toggleInput);
18
+ }
19
+ };
20
+
21
+ window.DecidimProposals.bindProposalAddress();
22
+ });
23
+
@@ -14,11 +14,13 @@ module Decidim
14
14
  attribute :category_id, Integer
15
15
  attribute :scope_id, Integer
16
16
  attribute :user_group_id, Integer
17
+ attribute :has_address, Boolean
17
18
 
18
19
  validates :title, :body, presence: true, etiquette: true
19
20
  validates :title, length: { maximum: 150 }
20
21
  validates :body, length: { maximum: 500 }, etiquette: true
21
- validates :address, geocoding: true, if: -> { current_feature.settings.geocoding_enabled? }
22
+ validates :address, geocoding: true, if: ->(form) { Decidim.geocoder.present? && form.has_address? }
23
+ validates :address, presence: true, if: ->(form) { form.has_address? }
22
24
  validates :category, presence: true, if: ->(form) { form.category_id.present? }
23
25
  validates :scope, presence: true, if: ->(form) { form.scope_id.present? }
24
26
 
@@ -47,6 +49,10 @@ module Decidim
47
49
  def scope
48
50
  @scope ||= process_scope || organization_scopes.where(id: scope_id).first
49
51
  end
52
+
53
+ def has_address?
54
+ current_feature.settings.geocoding_enabled? && has_address
55
+ end
50
56
  end
51
57
  end
52
58
  end
@@ -21,8 +21,8 @@ module Decidim
21
21
 
22
22
  geocoded_by :address, http_headers: ->(proposal) { { "Referer" => proposal.feature.organization.host } }
23
23
 
24
- scope :accepted, -> { where(state: "accepted") }
25
- scope :rejected, -> { where(state: "rejected") }
24
+ scope :accepted, -> { where(state: "accepted") }
25
+ scope :rejected, -> { where(state: "rejected") }
26
26
 
27
27
  def self.order_randomly(seed)
28
28
  transaction do
@@ -91,6 +91,18 @@ module Decidim
91
91
  def reported_content_url
92
92
  ResourceLocatorPresenter.new(self).url
93
93
  end
94
+
95
+ # Public: Overrides the `notifiable?` Notifiable concern method.
96
+ # When a proposal is commented the proposal's author is notified if it is not the same
97
+ # who has commented the proposal and if the proposal's author has comment notifications enabled.
98
+ def notifiable?(context)
99
+ context[:author] != author && author.comments_notifications?
100
+ end
101
+
102
+ # Public: Overrides the `users_to_notify` Notifiable concern method.
103
+ def users_to_notify
104
+ [author]
105
+ end
94
106
  end
95
107
  end
96
108
  end
@@ -8,6 +8,7 @@
8
8
  <div class="card__author author-data author-data--small">
9
9
  <%= render partial: "author", locals: { proposal: proposal } %>
10
10
  </div>
11
+ <%= feature_reference(proposal, class: "reference--text-left") %>
11
12
  </div>
12
13
  <%= render partial: "proposal_badge", locals: { proposal: proposal } %>
13
14
  <p><%= truncate(proposal.body, length: 100) %></p>
@@ -20,6 +20,9 @@
20
20
 
21
21
  <% if feature_settings.geocoding_enabled? %>
22
22
  <div class="field">
23
+ <%= form.check_box :has_address %>
24
+ </div>
25
+ <div class="field" id="address_input">
23
26
  <%= form.text_field :address %>
24
27
  </div>
25
28
  <% end %>
@@ -50,3 +53,5 @@
50
53
  </div>
51
54
  </div>
52
55
  </div>
56
+
57
+ <%= javascript_include_tag "decidim/proposals/add_proposal" %>
@@ -4,7 +4,7 @@ fr:
4
4
  proposal:
5
5
  body: Corps de texte
6
6
  category_id: Catégorie
7
- scope_id: Domaine d'application
7
+ scope_id: Zone d'application
8
8
  title: Titre
9
9
  user_group_id: Créer une proposition en tant que
10
10
  proposal_answer:
@@ -21,12 +21,12 @@ fr:
21
21
  comments_enabled: Commentaires activés
22
22
  geocoding_enabled: Géocodage activé
23
23
  official_proposals_enabled: Propositions officielles activées
24
- proposal_answering_enabled: Réponse aux propositions activée
24
+ proposal_answering_enabled: '"Réponses aux propositions" activé'
25
25
  vote_limit: Limite de vote
26
26
  step:
27
27
  comments_blocked: Commentaires bloqués
28
28
  creation_enabled: Module propositions activé
29
- proposal_answering_enabled: Réponse aux propositions activée
29
+ proposal_answering_enabled: '"Réponses aux propositions" activé'
30
30
  votes_blocked: Votes bloqués
31
31
  votes_enabled: Votes activés
32
32
  votes_hidden: Cacher les votes (si les votes sont activés, le compte des votes sera caché)
@@ -43,7 +43,7 @@ fr:
43
43
  name: Proposition
44
44
  proposal_answers:
45
45
  edit:
46
- accepted: Publié
46
+ accepted: Retenue
47
47
  answer_proposal: Répondre
48
48
  rejected: Refusée
49
49
  title: Réponse à la proposition %{title}
@@ -62,7 +62,7 @@ fr:
62
62
  create: Créer
63
63
  title: Créer une proposition
64
64
  answers:
65
- accepted: Publié
65
+ accepted: Retenues
66
66
  not_answered: Resté sans réponse
67
67
  rejected: Refusée
68
68
  create:
@@ -73,7 +73,7 @@ fr:
73
73
  fields:
74
74
  category: Catégorie
75
75
  official_proposal: Proposition officielle
76
- scope: Domaine d'application
76
+ scope: Zone d'application
77
77
  state: Etat
78
78
  title: Titre
79
79
  proposals:
@@ -82,7 +82,7 @@ fr:
82
82
  one: 1 proposition
83
83
  other: "%{count} propositions"
84
84
  filters:
85
- accepted: Publié
85
+ accepted: Retenues
86
86
  activity: Activité
87
87
  all: Toutes
88
88
  category: Catégorie
@@ -92,10 +92,10 @@ fr:
92
92
  origin: Retour à l'original
93
93
  rejected: Refusée
94
94
  related_to: Liée à
95
- scopes: Domaines d'application
95
+ scopes: Zones d'application
96
96
  search: Rechercher
97
97
  state: État
98
- voted: Voté
98
+ voted: Votées
99
99
  filters_small_view:
100
100
  close_modal: Fermer la fenêtre de dialogue
101
101
  filter: Filtrer
@@ -111,7 +111,7 @@ fr:
111
111
  new:
112
112
  back: Retour
113
113
  select_a_category: Veuillez sélectionner une catégorie
114
- send: Envoyer
114
+ send: Publier
115
115
  title: Nouvelle proposition
116
116
  orders:
117
117
  label: 'Classement des propositions par:'
@@ -119,7 +119,7 @@ fr:
119
119
  random: Aléatoire
120
120
  recent: Les plus récents
121
121
  show:
122
- proposal_accepted_reason: 'Cette proposition a été acceptée parce que :'
122
+ proposal_accepted_reason: 'Cette proposition a été retenue parce que :'
123
123
  proposal_rejected_reason: 'Cette proposition a été refusée parce que:'
124
124
  report: Signaler
125
125
  vote_button:
@@ -7,7 +7,7 @@ class MigrateProposalReportsDataToReports < ActiveRecord::Migration[5.0]
7
7
  end
8
8
 
9
9
  def change
10
- Decidim::Proposals::ProposalReport.all.each do |proposal_report|
10
+ Decidim::Proposals::ProposalReport.find_each do |proposal_report|
11
11
  moderation = Decidim::Moderation.find_or_create_by!(reportable: proposal_report.proposal,
12
12
  participatory_process: proposal_report.proposal.feature.participatory_process)
13
13
  Decidim::Report.create!(moderation: moderation,
@@ -72,7 +72,7 @@ Decidim.register_feature(:proposals) do |feature|
72
72
  end
73
73
 
74
74
  feature.seeds do
75
- Decidim::ParticipatoryProcess.all.each do |process|
75
+ Decidim::ParticipatoryProcess.find_each do |process|
76
76
  next unless process.steps.any?
77
77
 
78
78
  feature = Decidim::Feature.create!(
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.3.2
4
+ version: 0.4.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: 2017-06-19 00:00:00.000000000 Z
13
+ date: 2017-07-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.3.2
21
+ version: 0.4.0
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.3.2
28
+ version: 0.4.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: decidim-comments
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.3.2
35
+ version: 0.4.0
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.3.2
42
+ version: 0.4.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rectify
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -88,56 +88,56 @@ dependencies:
88
88
  requirements:
89
89
  - - '='
90
90
  - !ruby/object:Gem::Version
91
- version: 0.3.2
91
+ version: 0.4.0
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - '='
97
97
  - !ruby/object:Gem::Version
98
- version: 0.3.2
98
+ version: 0.4.0
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: decidim-meetings
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - '='
104
104
  - !ruby/object:Gem::Version
105
- version: 0.3.2
105
+ version: 0.4.0
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - '='
111
111
  - !ruby/object:Gem::Version
112
- version: 0.3.2
112
+ version: 0.4.0
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: decidim-results
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
117
  - - '='
118
118
  - !ruby/object:Gem::Version
119
- version: 0.3.2
119
+ version: 0.4.0
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - '='
125
125
  - !ruby/object:Gem::Version
126
- version: 0.3.2
126
+ version: 0.4.0
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: decidim-budgets
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - '='
132
132
  - !ruby/object:Gem::Version
133
- version: 0.3.2
133
+ version: 0.4.0
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - '='
139
139
  - !ruby/object:Gem::Version
140
- version: 0.3.2
140
+ version: 0.4.0
141
141
  description: A proposals component for decidim's participatory processes.
142
142
  email:
143
143
  - josepjaume@gmail.com
@@ -152,6 +152,7 @@ files:
152
152
  - app/assets/config/decidim_proposals_manifest.css
153
153
  - app/assets/config/decidim_proposals_manifest.js
154
154
  - app/assets/images/decidim/proposals/icon.svg
155
+ - app/assets/javascripts/decidim/proposals/add_proposal.js.es6
155
156
  - app/assets/javascripts/decidim/proposals/social_share.js
156
157
  - app/assets/stylesheets/decidim/proposals/social_share.css.scss
157
158
  - app/commands/decidim/proposals/admin/answer_proposal.rb