decidim-proposals 0.0.7 → 0.0.8.1

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: 05e3711ed4a9f525f365f4ea55d0f39d547d0de7
4
- data.tar.gz: 706ae8059577cce78abf39a64e5a14a1c1a8635f
3
+ metadata.gz: 75c9248549b4dc4df51d06f9f1bf752282ea76f6
4
+ data.tar.gz: 3b2f16f8b6f3fad572f785ec3993febb73fdc391
5
5
  SHA512:
6
- metadata.gz: 629035816274dda24c526187e7dde1d719f9830e795d549980090840f4162ae27e029c14fd72dbccfd10a2089df0696aebfe6290559eca46911d67c55f1efed9
7
- data.tar.gz: 0441e9a5eb809353b8b9c416fe7fa74fc40276beadf745fe76762a1137cf95d1931bfac1a9a049986e42c38bb08ac92f93e0185f070f37c73d08025de230e885
6
+ metadata.gz: 679e7e973d3a5e924d23416aec08cb8d126ae29974abf37382c61961da44f0b03dea3bdc16a20294db59478223d3aa56926f8ea2483030192d370e31dc813d8e
7
+ data.tar.gz: 76a980cdbea23c026d337a80ee3682e380eff98b1b3ea8d8e628602caffdfd7d824ab258088e93a080b3fb9386565bdda9e10d79892e7aae42a41d1bf4b4c720
data/README.md CHANGED
@@ -18,7 +18,7 @@ $ bundle
18
18
  ```
19
19
 
20
20
  ## Contributing
21
- See [Decidim](https://github.com/AjuntamentdeBarcelona/decidim).
21
+ See [Decidim](https://github.com/decidim/decidim).
22
22
 
23
23
  ## License
24
- See [Decidim](https://github.com/AjuntamentdeBarcelona/decidim).
24
+ See [Decidim](https://github.com/decidim/decidim).
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Proposals
5
+ class ProposalWidgetsController < Decidim::WidgetsController
6
+ helper_method :model, :current_participatory_process
7
+ helper Proposals::ApplicationHelper
8
+
9
+ private
10
+
11
+ def model
12
+ @model ||= Proposal.where(feature: params[:feature_id]).find(params[:proposal_id])
13
+ end
14
+
15
+ def current_participatory_process
16
+ @current_participatory_process ||= model.feature.participatory_process
17
+ end
18
+
19
+ def iframe_url
20
+ @iframe_url ||= proposal_proposal_widget_url(model)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -4,6 +4,7 @@ module Decidim
4
4
  module Proposals
5
5
  # Exposes the proposal resource so users can view and create them.
6
6
  class ProposalsController < Decidim::Proposals::ApplicationController
7
+ helper Decidim::WidgetUrlsHelper
7
8
  include FormFactory
8
9
  include FilterResource
9
10
 
@@ -19,9 +20,6 @@ module Decidim
19
20
  .includes(:category)
20
21
  .includes(:scope)
21
22
 
22
- @proposals = @proposals.page(params[:page]).per(12)
23
- @proposals = reorder(@proposals)
24
-
25
23
  @voted_proposals = if current_user
26
24
  ProposalVote.where(
27
25
  author: current_user,
@@ -30,6 +28,10 @@ module Decidim
30
28
  else
31
29
  []
32
30
  end
31
+
32
+ @proposals = @proposals.page(params[:page]).per(12)
33
+ @proposals = reorder(@proposals)
34
+
33
35
  end
34
36
 
35
37
  def show
@@ -63,8 +65,15 @@ module Decidim
63
65
 
64
66
  private
65
67
 
68
+ # Gets how the proposals should be ordered based on the choice made by the user.
69
+ #
70
+ # Note that when votes are active and hidden at the same time, the "most_voted"
71
+ # option is not available, so it's replaced to "random" to avoid people
72
+ # changing the URL manually.
66
73
  def order
67
- @order = params[:order] || "random"
74
+ return @order if @order
75
+ @order = "random" if current_settings.votes_enabled? && current_settings.votes_hidden? && params[:order] == "most_voted"
76
+ @order ||= params[:order] || "random"
68
77
  end
69
78
 
70
79
  # Returns: A random float number between -1 and 1 to be used as a random seed at the database.
@@ -27,6 +27,21 @@ module Decidim
27
27
 
28
28
  I18n.t(value, scope: "decidim.proposals.answers")
29
29
  end
30
+
31
+ # Public: The css class applied based on the proposal state.
32
+ #
33
+ # state - The String state of the proposal.
34
+ #
35
+ # Returns a String.
36
+ def proposal_state_css_class(state)
37
+ if state == "accepted"
38
+ "text-success"
39
+ elsif state == "rejected"
40
+ "text-alert"
41
+ else
42
+ "text-warning"
43
+ end
44
+ end
30
45
  end
31
46
  end
32
47
  end
@@ -7,7 +7,7 @@ module Decidim
7
7
  def order_fields
8
8
  @order_fields ||= begin
9
9
  order_fields = [:random, :recent]
10
- order_fields << :most_voted if current_settings.votes_enabled?
10
+ order_fields << :most_voted if current_settings.votes_enabled? && !current_settings.votes_hidden?
11
11
  order_fields
12
12
  end
13
13
  end
@@ -40,17 +40,14 @@
40
40
  <% end %>
41
41
  </td>
42
42
  <td>
43
- <% if proposal.state.nil? %>
44
- <% if can? :update, proposal %>
45
- <%= link_to t("actions.answer", scope: "decidim.proposals"), edit_proposal_proposal_answer_path(proposal_id: proposal.id, id: proposal.id), class: "button tiny" %>
46
- <% end %>
47
- <% else %>
48
- <strong class="<%= proposal.state == 'accepted' ? 'text-success' : 'text-alert' %>">
49
- <%= humanize_proposal_state proposal.state %>
50
- </strong>
51
- <% end %>
43
+ <strong class="<%= proposal_state_css_class proposal.state %>">
44
+ <%= humanize_proposal_state proposal.state %>
45
+ </strong>
52
46
  </td>
53
47
  <td class="table-list__actions">
48
+ <% if can? :update, proposal %>
49
+ <%= icon_link_to "chat", edit_proposal_proposal_answer_path(proposal_id: proposal.id, id: proposal.id), t("actions.answer", scope: "decidim.proposals"), class: "action-icon--edit-answer" %>
50
+ <% end %>
54
51
  <%= icon_link_to "eye", decidim_proposals.proposal_path(id: proposal, feature_id: current_feature, participatory_process_id: current_participatory_process), t("actions.preview", scope: "decidim.proposals.admin"), class: "action-icon--preview", target: :blank %>
55
52
  </td>
56
53
  </tr>
@@ -0,0 +1,25 @@
1
+ <div class="column">
2
+ <article class="card card--proposal">
3
+ <div class="card__content">
4
+ <div class="card__header">
5
+ <%= link_to model do%>
6
+ <h5 class="card__title"><%= model.title %></h5>
7
+ <% end %>
8
+ <div class="card__author author-data author-data--small">
9
+ <div class="author-data__main">
10
+ <div class="author author--inline">
11
+ <span class="author__avatar author__avatar--small">
12
+ <%= image_tag model.author_avatar_url %>
13
+ </span>
14
+ <span class="author__name"><%= model.author_name %></span>
15
+ <%= l model.created_at, format: "%d/%m/%Y" %>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </div>
20
+ <%= render partial: "decidim/proposals/proposals/proposal_badge", locals: { proposal: model } %>
21
+ <p><%= truncate(model.body, length: 100) %></p>
22
+ <%= render partial: "decidim/proposals/proposals/tags", locals: { proposal: model } %>
23
+ </div>
24
+ </article>
25
+ </div>
@@ -1,8 +1,14 @@
1
1
  <div id="proposal-<%= proposal.id %>-vote-button">
2
2
  <% if !current_user %>
3
- <button class="card__button button <%= vote_button_classes(from_proposals_list) %>" data-toggle="loginModal">
4
- <%= t('.vote') %>
5
- </button>
3
+ <% if current_settings.votes_blocked? %>
4
+ <button class="card__button button <%= vote_button_classes(from_proposals_list) %> disabled" data-toggle="loginModal">
5
+ <%= t('.votes_blocked') %>
6
+ </button>
7
+ <% else %>
8
+ <button class="card__button button <%= vote_button_classes(from_proposals_list) %>" data-toggle="loginModal">
9
+ <%= t('.vote') %>
10
+ </button>
11
+ <% end %>
6
12
  <% else %>
7
13
  <% if @voted_proposals ? @voted_proposals.include?(proposal.id) : proposal.voted_by?(current_user) %>
8
14
  <% if vote_limit_enabled? %>
@@ -1,9 +1,10 @@
1
1
  <div id="proposal-<%= proposal.id %>-votes-count" class="card__support__data">
2
- <span class="<%= votes_count_classes(from_proposals_list)[:number] %>">
3
- <%= proposal.proposal_votes_count %>
4
- </span>
5
- <span class="<%= votes_count_classes(from_proposals_list)[:label] %>">
6
- <%= t('.count', count: proposal.proposal_votes_count) %>
7
- </span>
8
-
2
+ <% if !current_settings.votes_hidden? %>
3
+ <span class="<%= votes_count_classes(from_proposals_list)[:number] %>">
4
+ <%= proposal.proposal_votes_count %>
5
+ </span>
6
+ <span class="<%= votes_count_classes(from_proposals_list)[:label] %>">
7
+ <%= t('.count', count: proposal.proposal_votes_count) %>
8
+ </span>
9
+ <% end %>
9
10
  </div>
@@ -31,17 +31,14 @@
31
31
  <% if current_settings.votes_enabled? %>
32
32
  <div class="card extra">
33
33
  <div class="card__content">
34
- <div id="proposal-<%= @proposal.id %>-votes-count">
35
- <%= render partial: "votes_count", locals: { proposal: @proposal, from_proposals_list: false } %>
36
- </div>
37
- <div id="proposal-<%= @proposal.id %>-vote-button">
38
- <%= render partial: "vote_button", locals: { proposal: @proposal, from_proposals_list: false } %>
39
- </div>
34
+ <%= render partial: "votes_count", locals: { proposal: @proposal, from_proposals_list: false } %>
35
+ <%= render partial: "vote_button", locals: { proposal: @proposal, from_proposals_list: false } %>
40
36
  </div>
41
37
  </div>
42
38
  <% end %>
43
39
  <%= feature_reference(@proposal) %>
44
40
  <%= render partial: "decidim/shared/share_modal" %>
41
+ <%= embed_modal_for proposal_proposal_widget_url(@proposal, format: :js) %>
45
42
  </div>
46
43
  <div class="columns mediumlarge-8 mediumlarge-pull-4">
47
44
  <div class="section">
@@ -13,7 +13,7 @@ ca:
13
13
  features:
14
14
  proposals:
15
15
  actions:
16
- create: Crear propostes
16
+ create: Crear
17
17
  vote: Donar suport
18
18
  name: Propostes
19
19
  settings:
@@ -32,7 +32,7 @@ ca:
32
32
  proposals:
33
33
  actions:
34
34
  answer: Respondre
35
- new: Nova proposta
35
+ new: Nova
36
36
  title: Accions
37
37
  admin:
38
38
  actions:
@@ -43,7 +43,7 @@ ca:
43
43
  proposal_answers:
44
44
  edit:
45
45
  accepted: Acceptada
46
- answer_proposal: Resposta de la proposta
46
+ answer_proposal: Resposta
47
47
  rejected: Rebutjada
48
48
  title: Respondre a la proposta %{title}
49
49
  proposals:
@@ -58,8 +58,8 @@ ca:
58
58
  index:
59
59
  title: Propostes
60
60
  new:
61
- create: Crear proposta
62
- title: Nova proposta
61
+ create: Crear
62
+ title: Crear proposta
63
63
  answers:
64
64
  accepted: Acceptada
65
65
  not_answered: No resposta
@@ -14,7 +14,7 @@ en:
14
14
  features:
15
15
  proposals:
16
16
  actions:
17
- create: Create proposals
17
+ create: Create
18
18
  vote: Vote
19
19
  name: Proposals
20
20
  settings:
@@ -30,10 +30,11 @@ en:
30
30
  proposal_answering_enabled: Proposal answering enabled
31
31
  votes_blocked: Votes blocked
32
32
  votes_enabled: Votes enabled
33
+ votes_hidden: Votes hidden (if votes are enabled, checking this will hide the number of votes)
33
34
  proposals:
34
35
  actions:
35
36
  answer: Answer
36
- new: New Proposal
37
+ new: New
37
38
  title: Actions
38
39
  admin:
39
40
  actions:
@@ -44,7 +45,7 @@ en:
44
45
  proposal_answers:
45
46
  edit:
46
47
  accepted: Accepted
47
- answer_proposal: Answer proposal
48
+ answer_proposal: Answer
48
49
  rejected: Rejected
49
50
  title: Answer for proposal %{title}
50
51
  proposals:
@@ -59,8 +60,8 @@ en:
59
60
  index:
60
61
  title: Proposals
61
62
  new:
62
- create: Create proposal
63
- title: New proposal
63
+ create: Create
64
+ title: Create proposal
64
65
  answers:
65
66
  accepted: Accepted
66
67
  not_answered: Not answered
@@ -13,7 +13,7 @@ es:
13
13
  features:
14
14
  proposals:
15
15
  actions:
16
- create: Crear propuestas
16
+ create: Crear
17
17
  vote: Dar apoyo
18
18
  name: Propuestas
19
19
  settings:
@@ -32,7 +32,7 @@ es:
32
32
  proposals:
33
33
  actions:
34
34
  answer: Respuesta
35
- new: Nueva propuesta
35
+ new: Nueva
36
36
  title: Acciones
37
37
  admin:
38
38
  actions:
@@ -43,7 +43,7 @@ es:
43
43
  proposal_answers:
44
44
  edit:
45
45
  accepted: Aceptada
46
- answer_proposal: Respuesta a la propuesta
46
+ answer_proposal: Respuesta
47
47
  rejected: Rechazada
48
48
  title: Responder a la propuesta %{title}
49
49
  proposals:
@@ -58,8 +58,8 @@ es:
58
58
  index:
59
59
  title: Propuestas
60
60
  new:
61
- create: Crear propuesta
62
- title: Nueva propuesta
61
+ create: Crear
62
+ title: Crear propuesta
63
63
  answers:
64
64
  accepted: Aceptadas
65
65
  not_answered: No contestada
@@ -13,7 +13,6 @@ eu:
13
13
  features:
14
14
  proposals:
15
15
  actions:
16
- create: Sortu proposamenak
17
16
  vote: Proiektuaren alde egin
18
17
  name: Proposamenak
19
18
  settings:
@@ -32,7 +31,6 @@ eu:
32
31
  proposals:
33
32
  actions:
34
33
  answer: Erantzuna
35
- new: Proposamen berria
36
34
  title: Ekintzak
37
35
  admin:
38
36
  actions:
@@ -43,7 +41,6 @@ eu:
43
41
  proposal_answers:
44
42
  edit:
45
43
  accepted: Onartuta
46
- answer_proposal: Erantzuna proposamenari
47
44
  rejected: Baztertuta
48
45
  title: 'Erantzun proposamen honi: %{title}'
49
46
  proposals:
@@ -57,9 +54,6 @@ eu:
57
54
  select_a_category: Aukeratu kategoria bat
58
55
  index:
59
56
  title: Proposamenak
60
- new:
61
- create: Sortu proposamena
62
- title: Proposamen berria
63
57
  answers:
64
58
  accepted: Onartuta
65
59
  not_answered: Erantzun gabe
@@ -13,7 +13,6 @@ fi:
13
13
  features:
14
14
  proposals:
15
15
  actions:
16
- create: Luo ehdotuksia
17
16
  vote: Äänestä
18
17
  name: Ehdotukset
19
18
  settings:
@@ -40,7 +39,6 @@ fi:
40
39
  proposal_answers:
41
40
  edit:
42
41
  accepted: Hyväksytty
43
- answer_proposal: Vastaa ehdotukseen
44
42
  rejected: Hylätty
45
43
  title: 'Vastaa ehdotukseen: %{title}'
46
44
  proposals:
@@ -54,9 +52,6 @@ fi:
54
52
  select_a_category: Valitse kategoria
55
53
  index:
56
54
  title: Ehdotukset
57
- new:
58
- create: Luo ehdotus
59
- title: Uusi ehdotus
60
55
  answers:
61
56
  accepted: Hyväksytty
62
57
  not_answered: Vastaamaton
@@ -0,0 +1,5 @@
1
+ fr:
2
+ activemodel:
3
+ attributes:
4
+ proposal:
5
+ title: Titre
@@ -0,0 +1,5 @@
1
+ nl:
2
+ activemodel:
3
+ attributes:
4
+ proposal:
5
+ title: Titel
@@ -0,0 +1,5 @@
1
+ class RemoveNotNullReferenceProposals < ActiveRecord::Migration[5.0]
2
+ def change
3
+ change_column_null :decidim_proposals_proposals, :reference, true
4
+ end
5
+ end
@@ -13,6 +13,7 @@ module Decidim
13
13
  routes do
14
14
  resources :proposals, only: [:create, :new, :index, :show] do
15
15
  resource :proposal_vote, only: [:create, :destroy]
16
+ resource :proposal_widget, only: :show, path: "embed"
16
17
  end
17
18
  root to: "proposals#index"
18
19
  end
@@ -26,6 +26,7 @@ Decidim.register_feature(:proposals) do |feature|
26
26
  feature.settings(:step) do |settings|
27
27
  settings.attribute :votes_enabled, type: :boolean
28
28
  settings.attribute :votes_blocked, type: :boolean
29
+ settings.attribute :votes_hidden, type: :boolean, default: false
29
30
  settings.attribute :comments_blocked, type: :boolean, default: false
30
31
  settings.attribute :creation_enabled, type: :boolean
31
32
  settings.attribute :proposal_answering_enabled, type: :boolean, default: true
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.0.7
4
+ version: 0.0.8.1
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-04-07 00:00:00.000000000 Z
13
+ date: 2017-04-27 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.0.7
21
+ version: 0.0.8.1
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.0.7
28
+ version: 0.0.8.1
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.0.7
35
+ version: 0.0.8.1
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.0.7
42
+ version: 0.0.8.1
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.0.7
91
+ version: 0.0.8.1
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.0.7
98
+ version: 0.0.8.1
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.0.7
105
+ version: 0.0.8.1
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.0.7
112
+ version: 0.0.8.1
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.0.7
119
+ version: 0.0.8.1
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.0.7
126
+ version: 0.0.8.1
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.0.7
133
+ version: 0.0.8.1
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.0.7
140
+ version: 0.0.8.1
141
141
  description: A proposals component for decidim's participatory processes.
142
142
  email:
143
143
  - josepjaume@gmail.com
@@ -162,6 +162,7 @@ files:
162
162
  - app/controllers/decidim/proposals/admin/proposals_controller.rb
163
163
  - app/controllers/decidim/proposals/application_controller.rb
164
164
  - app/controllers/decidim/proposals/proposal_votes_controller.rb
165
+ - app/controllers/decidim/proposals/proposal_widgets_controller.rb
165
166
  - app/controllers/decidim/proposals/proposals_controller.rb
166
167
  - app/forms/decidim/proposals/admin/proposal_answer_form.rb
167
168
  - app/forms/decidim/proposals/admin/proposal_form.rb
@@ -182,6 +183,7 @@ files:
182
183
  - app/views/decidim/proposals/admin/proposals/index.html.erb
183
184
  - app/views/decidim/proposals/admin/proposals/new.html.erb
184
185
  - app/views/decidim/proposals/proposal_votes/update_buttons_and_counters.js.erb
186
+ - app/views/decidim/proposals/proposal_widgets/show.html.erb
185
187
  - app/views/decidim/proposals/proposals/_count.html.erb
186
188
  - app/views/decidim/proposals/proposals/_filters.html.erb
187
189
  - app/views/decidim/proposals/proposals/_filters_small_view.html.erb
@@ -205,6 +207,8 @@ files:
205
207
  - config/locales/es.yml
206
208
  - config/locales/eu.yml
207
209
  - config/locales/fi.yml
210
+ - config/locales/fr.yml
211
+ - config/locales/nl.yml
208
212
  - db/migrate/20161212110850_create_decidim_proposals.rb
209
213
  - db/migrate/20170112115253_create_proposal_votes.rb
210
214
  - db/migrate/20170113114245_add_text_search_indexes.rb
@@ -218,13 +222,14 @@ files:
218
222
  - db/migrate/20170220152416_add_hidden_at_to_proposals.rb
219
223
  - db/migrate/20170228105156_add_geolocalization_fields_to_proposals.rb
220
224
  - db/migrate/20170307085300_migrate_proposal_reports_data_to_reports.rb
225
+ - db/migrate/20170410073742_remove_not_null_reference_proposals.rb
221
226
  - lib/decidim/proposals.rb
222
227
  - lib/decidim/proposals/admin.rb
223
228
  - lib/decidim/proposals/admin_engine.rb
224
229
  - lib/decidim/proposals/engine.rb
225
230
  - lib/decidim/proposals/feature.rb
226
231
  - lib/decidim/proposals/test/factories.rb
227
- homepage: https://github.com/AjuntamentdeBarcelona/decidim
232
+ homepage: https://github.com/decidim/decidim
228
233
  licenses:
229
234
  - AGPLv3
230
235
  metadata: {}