decidim-proposals 0.0.7 → 0.0.8.1

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: 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: {}