decidim-proposals 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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