decidim-budgets 0.11.2 → 0.12.0.pre

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/budgets/project_cell.rb +21 -0
  3. data/app/cells/decidim/budgets/project_m/data.erb +12 -0
  4. data/app/cells/decidim/budgets/project_m/footer.erb +5 -0
  5. data/app/cells/decidim/budgets/project_m_cell.rb +18 -0
  6. data/app/controllers/decidim/budgets/admin/projects_controller.rb +10 -0
  7. data/app/permissions/decidim/budgets/admin/permissions.rb +31 -0
  8. data/app/permissions/decidim/budgets/permissions.rb +24 -0
  9. data/app/services/decidim/budgets/project_search.rb +1 -1
  10. data/app/views/decidim/budgets/admin/projects/index.html.erb +8 -8
  11. data/app/views/decidim/budgets/projects/_linked_projects.html.erb +0 -1
  12. data/app/views/decidim/budgets/projects/_project.html.erb +3 -3
  13. data/app/views/decidim/budgets/projects/_project_budget_button.html.erb +2 -2
  14. data/app/views/decidim/budgets/projects/index.html.erb +1 -1
  15. data/app/views/decidim/budgets/projects/show.html.erb +2 -2
  16. data/config/locales/ca.yml +7 -1
  17. data/config/locales/en.yml +7 -1
  18. data/config/locales/es.yml +7 -1
  19. data/config/locales/eu.yml +7 -1
  20. data/config/locales/fi.yml +7 -1
  21. data/config/locales/fr.yml +7 -1
  22. data/config/locales/gl.yml +7 -1
  23. data/config/locales/it.yml +7 -1
  24. data/config/locales/nl.yml +7 -1
  25. data/config/locales/pl.yml +9 -1
  26. data/config/locales/pt-BR.yml +7 -1
  27. data/config/locales/pt.yml +7 -1
  28. data/config/locales/ru.yml +9 -1
  29. data/config/locales/sv.yml +7 -1
  30. data/config/locales/uk.yml +9 -1
  31. data/lib/decidim/budgets/component.rb +3 -1
  32. data/lib/decidim/budgets/engine.rb +5 -0
  33. data/lib/decidim/budgets/version.rb +1 -1
  34. metadata +20 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f859640f1ceb0aa6a56bfa33f9560864726dc428583d98ca9837cee4b9bde52b
4
- data.tar.gz: fd46782a87db27166f93d529f36823e31e548317706c5ce57e51b93c89a13e0c
3
+ metadata.gz: 4970b83c1695c6003e2600e17edf7fc231367bbdda7079a750a6db4b802e1571
4
+ data.tar.gz: 91afeb74692b32d8ee0a1a30636097ed4d0cee0a8fcf6e6c310c641d84c6efe6
5
5
  SHA512:
6
- metadata.gz: 03fcf92fe5647a59aa1b18fee46157296ad66444732b53a4cfec2277850898fcd011f46d9b38d9ce60226232e7a886b1ca1b83499c4903d5d7a85f0891974692
7
- data.tar.gz: 3cd9f97e44abcf799405755c85940e9c55148369fb16785d59e071091e7d832d7f2bfaf953d5fcbe5450b004ef90e2a647c51ceeb6064622a19e5bcd6ff7b91f
6
+ metadata.gz: 6755ade0e52f7ca459dcfdb00703ca6383c57679cce602ea3652913150c2bce63e5f25dfead35d84e5f4940850b18ed033f5e3f81927e9ac5b8fe4b2552ac2a5
7
+ data.tar.gz: 9f928f3f3ea5e83d95ee253a6e03a650d091801f3096a01920055605f9be26945fde2abba3be727262d5f3936cac93d29214dff05ec45871758e024a3a590dce
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Budgets
5
+ # This cell renders the budget project card for an instance of a project
6
+ # the default size is the Medium Card (:m)
7
+ class ProjectCell < Decidim::ViewModel
8
+ include Cell::ViewModel::Partial
9
+
10
+ def show
11
+ cell card_size, model
12
+ end
13
+
14
+ private
15
+
16
+ def card_size
17
+ "decidim/budgets/project_m"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,12 @@
1
+ <div class="card__icondata">
2
+ <ul class="card-data">
3
+ <li class="card-data__item">
4
+ <%= icon "euro-outline", class: "icon--big" %>
5
+ </li>
6
+ <li class="card-data__item">
7
+ <div class="text-left text-uppercase">
8
+ <strong class="heading4"><%= budget_to_currency model.budget %></strong>
9
+ </div>
10
+ </li>
11
+ </ul>
12
+ </div>
@@ -0,0 +1,5 @@
1
+ <div class="card__footer">
2
+ <div class="card__support">
3
+ <%= link_to t("view", scope: "decidim.budgets.projects.project"), resource_path, class: "card__button button secondary button--sc small light" %>
4
+ </div>
5
+ </div>
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Budgets
5
+ # This cell renders the Medium (:m) project card
6
+ # for an given instance of a Project
7
+ class ProjectMCell < Decidim::CardMCell
8
+ include ActiveSupport::NumberHelper
9
+ include Decidim::Budgets::ProjectsHelper
10
+
11
+ private
12
+
13
+ def resource_icon
14
+ icon "projects", class: "icon--big"
15
+ end
16
+ end
17
+ end
18
+ end
@@ -8,10 +8,14 @@ module Decidim
8
8
  helper_method :projects, :finished_orders, :pending_orders
9
9
 
10
10
  def new
11
+ enforce_permission_to :create, :project
12
+
11
13
  @form = form(ProjectForm).instance
12
14
  end
13
15
 
14
16
  def create
17
+ enforce_permission_to :create, :project
18
+
15
19
  @form = form(ProjectForm).from_params(params)
16
20
 
17
21
  CreateProject.call(@form) do
@@ -28,10 +32,14 @@ module Decidim
28
32
  end
29
33
 
30
34
  def edit
35
+ enforce_permission_to :update, :project, project: project
36
+
31
37
  @form = form(ProjectForm).from_model(project)
32
38
  end
33
39
 
34
40
  def update
41
+ enforce_permission_to :update, :project, project: project
42
+
35
43
  @form = form(ProjectForm).from_params(params)
36
44
 
37
45
  UpdateProject.call(@form, project) do
@@ -48,6 +56,8 @@ module Decidim
48
56
  end
49
57
 
50
58
  def destroy
59
+ enforce_permission_to :destroy, :project, project: project
60
+
51
61
  DestroyProject.call(project, current_user) do
52
62
  on(:ok) do
53
63
  flash[:notice] = I18n.t("projects.destroy.success", scope: "decidim.budgets.admin")
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Budgets
5
+ module Admin
6
+ class Permissions < Decidim::DefaultPermissions
7
+ def permissions
8
+ # The public part needs to be implemented yet
9
+ return permission_action if permission_action.scope != :admin
10
+
11
+ return permission_action if permission_action.subject != :project
12
+
13
+ case permission_action.action
14
+ when :create
15
+ permission_action.allow!
16
+ when :update, :destroy
17
+ permission_action.allow! if project.present?
18
+ end
19
+
20
+ permission_action
21
+ end
22
+
23
+ private
24
+
25
+ def project
26
+ @project ||= context.fetch(:project, nil)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Budgets
5
+ class Permissions < Decidim::DefaultPermissions
6
+ def permissions
7
+ return permission_action unless user
8
+
9
+ # Delegate the admin permission checks to the admin permissions class
10
+ return Decidim::Budgets::Admin::Permissions.new(user, permission_action, context).permissions if permission_action.scope == :admin
11
+ return permission_action if permission_action.scope != :public
12
+
13
+ return permission_action if permission_action.subject != :project
14
+
15
+ case permission_action.action
16
+ when :report
17
+ permission_action.allow!
18
+ end
19
+
20
+ permission_action
21
+ end
22
+ end
23
+ end
24
+ end
@@ -24,7 +24,7 @@ module Decidim
24
24
  def results
25
25
  @results ||= Project.transaction do
26
26
  Project.connection.execute("SELECT setseed(#{Project.connection.quote(random_seed)})")
27
- super.reorder("RANDOM()").load
27
+ super.reorder(Arel.sql("RANDOM()")).load
28
28
  end
29
29
  end
30
30
 
@@ -2,7 +2,7 @@
2
2
  <div class="card-divider">
3
3
  <h2 class="card-title">
4
4
  <%= t(".title") %>
5
- <%= link_to t("actions.new", scope: "decidim.budgets", name: t("models.project.name", scope: "decidim.budgets.admin")), new_project_path, class: "button tiny button--title" if can? :manage, current_component %>
5
+ <%= link_to t("actions.new", scope: "decidim.budgets", name: t("models.project.name", scope: "decidim.budgets.admin")), new_project_path, class: "button tiny button--title" if allowed_to? :create, :project %>
6
6
  </h2>
7
7
  </div>
8
8
 
@@ -28,19 +28,19 @@
28
28
  <td class="table-list__actions">
29
29
  <%= icon_link_to "eye", resource_locator(project).path, t("actions.preview", scope: "decidim.budgets"), target: :blank, class: "action-icon--preview" %>
30
30
 
31
- <% if can? :update, current_component %>
31
+ <% if allowed_to? :update, :project, project: project %>
32
32
  <%= icon_link_to "pencil", edit_project_path(project), t("actions.edit", scope: "decidim.budgets"), class: "action-icon--edit" %>
33
33
  <% end %>
34
34
 
35
- <% if can? :update, current_component %>
35
+ <% if allowed_to? :update, :project, project: project %>
36
36
  <%= icon_link_to "folder", project_attachment_collections_path(project), t("actions.attachment_collections", scope: "decidim.budgets"), class: "action-icon--attachment_collections" %>
37
37
  <% end %>
38
38
 
39
- <% if can? :update, current_component %>
39
+ <% if allowed_to? :update, :project, project: project %>
40
40
  <%= icon_link_to "paperclip", project_attachments_path(project), t("actions.attachments", scope: "decidim.budgets"), class: "action-icon--attachments" %>
41
41
  <% end %>
42
42
 
43
- <% if can? :destroy, current_component %>
43
+ <% if allowed_to? :destroy, :project, project: project %>
44
44
  <%= icon_link_to "circle-x", project_path(project), t("actions.destroy", scope: "decidim.budgets"), method: :delete, class: "action-icon--remove", data: { confirm: t("actions.confirm_destroy", scope: "decidim.budgets") } %>
45
45
  <% end %>
46
46
  </td>
@@ -52,8 +52,8 @@
52
52
  </div>
53
53
  </div>
54
54
  <div class="card-divider">
55
- <strong><%= t ".finished_orders" %>: </strong><span><%= finished_orders.count %></span>
56
- <span>|</span>
57
- <strong><%= t ".pending_orders" %>: </strong><span><%= pending_orders.count %></span>
55
+ <strong><%= t ".finished_orders" %>:&nbsp;</strong><span><%= finished_orders.count %></span>
56
+ <span>&nbsp;|&nbsp;</span>
57
+ <strong><%= t ".pending_orders" %>:&nbsp;</strong><span><%= pending_orders.count %></span>
58
58
  </div>
59
59
  </div>
@@ -1,6 +1,5 @@
1
1
  <div class="card card--action card--list">
2
2
  <% resources.each do |project| %>
3
- <% next unless project.component.published? %>
4
3
  <div class="card--list__item">
5
4
  <%= icon "actions", class: "card--list__icon", remove_icon_class: true %>
6
5
  <%= link_to resource_locator(project).path, class: "card--list__text card__link card__link--block" do %>
@@ -6,7 +6,7 @@
6
6
  <%= translated_attribute project.title %>
7
7
  </h5>
8
8
  <% end %>
9
- <%= render partial: "decidim/shared/tags", locals: { resource: project, tags_class_extra: "tags--project" } %>
9
+ <%= cell "decidim/tags", project, context: {extra_classes: ["tags--project"]} %>
10
10
  </div>
11
11
  </div>
12
12
  <% if current_user.present? %>
@@ -15,7 +15,7 @@
15
15
  <span class="card--list__data__number budget-list__number">
16
16
  <%= budget_to_currency(project.budget) %>
17
17
  </span>
18
- <%= action_authorized_button_to "vote", order_line_item_path(project_id: project), method: :delete, remote: true, data: { disable: true, budget: project.budget, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out?, class: "button tiny budget--list__action success" do %>
18
+ <%= action_authorized_button_to "vote", order_line_item_path(project_id: project), method: :delete, remote: true, data: { disable: true, budget: project.budget, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button tiny budget--list__action success" do %>
19
19
  <%= icon("check", class: "icon--small", aria_label: t(".remove"), role: "img") %>
20
20
  <% end %>
21
21
  <% if current_settings.show_votes? %>
@@ -29,7 +29,7 @@
29
29
  <span class="card--list__data__number budget-list__number">
30
30
  <%= budget_to_currency(project.budget) %>
31
31
  </span>
32
- <%= action_authorized_button_to "vote", order_line_item_path(project_id: project), method: :post, remote: true, data: { disable: true, budget: project.budget, add: true, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out?, class: "button tiny hollow budget--list__action" do %>
32
+ <%= action_authorized_button_to "vote", order_line_item_path(project_id: project), method: :post, remote: true, data: { disable: true, budget: project.budget, add: true, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button tiny hollow budget--list__action" do %>
33
33
  <%= icon("check", class: "icon--small", aria_label: t(".add"), role: "img") %>
34
34
  <% end %>
35
35
  <% if current_settings.show_votes? %>
@@ -1,8 +1,8 @@
1
1
  <% if current_user.present? %>
2
2
  <% if current_order && current_order.projects.include?(project) %>
3
- <%= action_authorized_button_to "vote", t(".added"), order_line_item_path(project_id: project), method: :delete, remote: true, data: { disable: true, budget: project.budget, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out?, class: "button expanded button--sc success budget--list__action" %>
3
+ <%= action_authorized_button_to "vote", t(".added"), order_line_item_path(project_id: project), method: :delete, remote: true, data: { disable: true, budget: project.budget, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button expanded button--sc success budget--list__action" %>
4
4
  <% else %>
5
- <%= action_authorized_button_to "vote", t(".add"), order_line_item_path(project_id: project), method: :post, remote: true, data: { disable: true, budget: project.budget, add: true, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out?, class: "button expanded button--sc budget--list__action" %>
5
+ <%= action_authorized_button_to "vote", t(".add"), order_line_item_path(project_id: project), method: :post, remote: true, data: { disable: true, budget: project.budget, add: true, "redirect-url": project_path(project) }, disabled: !current_settings.votes_enabled? || current_order_checked_out? || !current_participatory_space.can_participate?(current_user), class: "button expanded button--sc budget--list__action" %>
6
6
  <% end %>
7
7
  <% else %>
8
8
  <button class="button expanded button--sc disabled" data-toggle="loginModal"><%= t(".add") %></button>
@@ -1,6 +1,6 @@
1
1
  <%= render partial: "decidim/shared/component_announcement" %>
2
2
 
3
- <% if current_user.present? && current_settings.votes_enabled? %>
3
+ <% if current_user.present? && current_settings.votes_enabled? && current_participatory_space.can_participate?(current_user) %>
4
4
  <div class="row column">
5
5
  <%= render partial: "budget_summary", locals: { include_heading: true } %>
6
6
  </div>
@@ -4,7 +4,7 @@
4
4
  ) %>
5
5
 
6
6
  <div class="row column view-header">
7
- <% if current_user.present? && current_settings.votes_enabled? %>
7
+ <% if current_user.present? && current_settings.votes_enabled? && current_participatory_space.can_participate?(current_user) %>
8
8
  <%= render partial: "budget_summary", locals: { include_heading: false } %>
9
9
  <% end %>
10
10
  <%= link_to projects_path, class: "muted-link" do %>
@@ -38,7 +38,7 @@
38
38
  <div class="columns mediumlarge-8 mediumlarge-pull-4">
39
39
  <div class="section">
40
40
  <%= decidim_sanitize translated_attribute project.description %>
41
- <%= render partial: "decidim/shared/tags", locals: { resource: project, tags_class_extra: "tags--project" } %>
41
+ <%= cell "decidim/tags", project, context: {extra_classes: ["tags--project"]} %>
42
42
  </div>
43
43
  <%= linked_resources_for project, :proposals, "included_proposals" %>
44
44
  <%= linked_resources_for project, :results, "included_projects" %>
@@ -8,6 +8,11 @@ ca:
8
8
  description: Descripció
9
9
  proposal_ids: Propostes relacionades
10
10
  title: Títol
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Projecte
15
+ other: Projectes
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ ca:
99
104
  one: 1 suport
100
105
  other: "%{count} suports"
101
106
  remove: Esborrar
107
+ view: Veure
102
108
  project_budget_button:
103
109
  add: Afegir
104
110
  added: Afegit
@@ -131,7 +137,7 @@ ca:
131
137
  success: El seu vot ha estat cancel·lat correctament
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Propostes incloses en aquest projecte:'
140
+ project_proposal: 'Propostes incloses en aquest projecte:'
135
141
  index:
136
142
  confirmed_orders_count: Recompte de vots
137
143
  total_budget: Pressupost total
@@ -9,6 +9,11 @@ en:
9
9
  description: Description
10
10
  proposal_ids: Related proposals
11
11
  title: Title
12
+ activerecord:
13
+ models:
14
+ decidim/budgets/project:
15
+ one: Project
16
+ other: Projects
12
17
  decidim:
13
18
  budgets:
14
19
  actions:
@@ -100,6 +105,7 @@ en:
100
105
  one: 1 support
101
106
  other: "%{count} supports"
102
107
  remove: Remove
108
+ view: View
103
109
  project_budget_button:
104
110
  add: Add
105
111
  added: Added
@@ -132,7 +138,7 @@ en:
132
138
  success: Your vote has been canceled successfully
133
139
  resource_links:
134
140
  included_proposals:
135
- project_proposals: 'Proposals included in this project:'
141
+ project_proposal: 'Proposals included in this project:'
136
142
  index:
137
143
  confirmed_orders_count: Votes count
138
144
  total_budget: Total budget
@@ -8,6 +8,11 @@ es:
8
8
  description: Descripción
9
9
  proposal_ids: Propuestas relacionadas
10
10
  title: Título
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Proyecto
15
+ other: Proyectos
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ es:
99
104
  one: 1 apoyo
100
105
  other: "%{count} apoyos"
101
106
  remove: Eliminar
107
+ view: Ver
102
108
  project_budget_button:
103
109
  add: Añadir
104
110
  added: Añadido
@@ -131,7 +137,7 @@ es:
131
137
  success: Tu voto ha sido cancelado correctamente
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Propuestas incluidas en este proyecto:'
140
+ project_proposal: 'Propuestas incluidas en este proyecto:'
135
141
  index:
136
142
  confirmed_orders_count: Número de votos
137
143
  total_budget: Presupuesto total
@@ -8,6 +8,11 @@ eu:
8
8
  description: Descripción
9
9
  proposal_ids: Honekin lotutako proposamenak
10
10
  title: Titulua
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Proiektua
15
+ other: Proiektuak
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ eu:
99
104
  one: 1 sostengu 
100
105
  other: "%{count} sostengu"
101
106
  remove: Kendu
107
+ view: ikusi
102
108
  project_budget_button:
103
109
  add: Gehitu
104
110
  added: Erantsita
@@ -131,7 +137,7 @@ eu:
131
137
  success: Zure botua zuzen ezeztatu da
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Proiektu honetan jasotako proposamenak:'
140
+ project_proposal: 'Proiektu honetan jasotako proposamenak:'
135
141
  index:
136
142
  confirmed_orders_count: Botoen zenbaketa
137
143
  total_budget: Guztizko aurrekontua
@@ -8,6 +8,11 @@ fi:
8
8
  description: Kuvaus
9
9
  proposal_ids: Liittyvät esitykset
10
10
  title: Otsikko
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: projekti
15
+ other: projektit
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ fi:
99
104
  one: 1 kannatus
100
105
  other: "%{count} kannatusta"
101
106
  remove: Poista
107
+ view: näkymä
102
108
  project_budget_button:
103
109
  add: Lisää
104
110
  added: Lisätty
@@ -131,7 +137,7 @@ fi:
131
137
  success: Äänesi on peruttu onnistuneesti
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Tähän projektiin liittyvät ehdotukset:'
140
+ project_proposal: 'Tähän projektiin liittyvät ehdotukset:'
135
141
  index:
136
142
  confirmed_orders_count: Äänten määrä
137
143
  total_budget: Koko budjetti
@@ -8,6 +8,11 @@ fr:
8
8
  description: Description
9
9
  proposal_ids: Propositions liées
10
10
  title: Titre
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Projet
15
+ other: Projets
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ fr:
99
104
  one: 1 soutien
100
105
  other: "%{count} soutiens"
101
106
  remove: Supprimer
107
+ view: Voir
102
108
  project_budget_button:
103
109
  add: Ajouter
104
110
  added: Ajouté
@@ -131,7 +137,7 @@ fr:
131
137
  success: Votre vote a été annulé avec succès
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Propositions incluses dans ce projet:'
140
+ project_proposal: 'Propositions incluses dans ce projet:'
135
141
  index:
136
142
  confirmed_orders_count: Nombre de votes
137
143
  total_budget: Budget total
@@ -8,6 +8,11 @@ gl:
8
8
  description: Descrición
9
9
  proposal_ids: Propostas relacionadas
10
10
  title: Título
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Proxecto
15
+ other: Proxectos
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ gl:
99
104
  one: 1 apoio
100
105
  other: "%{count} soporta"
101
106
  remove: Quitar
107
+ view: Ver
102
108
  project_budget_button:
103
109
  add: Engadir
104
110
  added: Engadido
@@ -131,7 +137,7 @@ gl:
131
137
  success: O teu voto foi cancelado correctamente
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Propostas incluídas neste proxecto:'
140
+ project_proposal: 'Propostas incluídas neste proxecto:'
135
141
  index:
136
142
  confirmed_orders_count: Reconto de votos
137
143
  total_budget: Orzamento total
@@ -8,6 +8,11 @@ it:
8
8
  description: Descrizione
9
9
  proposal_ids: Proposte correlate
10
10
  title: Titolo
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Progetto
15
+ other: progetti
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ it:
99
104
  one: 1 supporto/voto
100
105
  other: "%{count} supportati/voti"
101
106
  remove: Elimina
107
+ view: vista
102
108
  project_budget_button:
103
109
  add: Aggiungi
104
110
  added: Aggiunto
@@ -131,7 +137,7 @@ it:
131
137
  success: OK, il tuo voto è stato cancellato.
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Proposte incluse in questo progetto:'
140
+ project_proposal: 'Proposte incluse in questo progetto:'
135
141
  index:
136
142
  confirmed_orders_count: Computo dei voti
137
143
  total_budget: Budget totale
@@ -8,6 +8,11 @@ nl:
8
8
  description: Beschrijving
9
9
  proposal_ids: Verwante voorstellen
10
10
  title: Titel
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: project
15
+ other: projecten
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ nl:
99
104
  one: 1 ondersteuning
100
105
  other: "%{count} ondersteuning"
101
106
  remove: Verwijderen
107
+ view: Uitzicht
102
108
  project_budget_button:
103
109
  add: Toevoegen
104
110
  added: Toegevoegd
@@ -131,7 +137,7 @@ nl:
131
137
  success: Uw stem is succesvol geannuleerd
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Voorstellen opgenomen in dit project:'
140
+ project_proposal: 'Voorstellen opgenomen in dit project:'
135
141
  index:
136
142
  confirmed_orders_count: Aantal stemmen
137
143
  total_budget: Totale begroting
@@ -8,6 +8,13 @@ pl:
8
8
  description: Opis
9
9
  proposal_ids: Proponowane propozycje
10
10
  title: Tytuł
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Projekt
15
+ few: Projektowanie
16
+ many: Projektowanie
17
+ other: Projektowanie
11
18
  decidim:
12
19
  budgets:
13
20
  actions:
@@ -105,6 +112,7 @@ pl:
105
112
  many: "%{count} obsługuje"
106
113
  other: "%{count} obsługuje"
107
114
  remove: Usunąć
115
+ view: Widok
108
116
  project_budget_button:
109
117
  add: Dodaj
110
118
  added: W dodatku
@@ -137,7 +145,7 @@ pl:
137
145
  success: Twój głos został pomyślnie zakończony
138
146
  resource_links:
139
147
  included_proposals:
140
- project_proposals: 'Propozycje zawarte w tym projekcie:'
148
+ project_proposal: 'Propozycje zawarte w tym projekcie:'
141
149
  index:
142
150
  confirmed_orders_count: Liczba głosów
143
151
  total_budget: Cały budżet
@@ -8,6 +8,11 @@ pt-BR:
8
8
  description: Descrição
9
9
  proposal_ids: Propostas relacionadas
10
10
  title: Título
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Projeto
15
+ other: Projetos
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ pt-BR:
99
104
  one: 1 suporte
100
105
  other: "%{count} suporta"
101
106
  remove: Remover
107
+ view: Ver
102
108
  project_budget_button:
103
109
  add: Adicionar
104
110
  added: Adicionado
@@ -131,7 +137,7 @@ pt-BR:
131
137
  success: Seu voto foi cancelado com sucesso
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Propostas incluídas neste projeto:'
140
+ project_proposal: 'Propostas incluídas neste projeto:'
135
141
  index:
136
142
  confirmed_orders_count: Contagem de votos
137
143
  total_budget: Orçamento total
@@ -8,6 +8,11 @@ pt:
8
8
  description: Descrição
9
9
  proposal_ids: Propostas relacionadas
10
10
  title: Título
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Projeto
15
+ other: Projetos
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ pt:
99
104
  one: 1 suporte
100
105
  other: "%{count} suporta"
101
106
  remove: Remover
107
+ view: Visão
102
108
  project_budget_button:
103
109
  add: Adicionar
104
110
  added: Adicionado
@@ -131,7 +137,7 @@ pt:
131
137
  success: Seu voto foi cancelado com sucesso
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Propostas incluídas neste projeto:'
140
+ project_proposal: 'Propostas incluídas neste projeto:'
135
141
  index:
136
142
  confirmed_orders_count: Contagem de votos
137
143
  total_budget: Orçamento total
@@ -8,6 +8,13 @@ ru:
8
8
  description: Описание
9
9
  proposal_ids: Подобные предложения
10
10
  title: Название
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Проект
15
+ few: Проекта
16
+ many: Проектов
17
+ other: Проектов
11
18
  decidim:
12
19
  budgets:
13
20
  actions:
@@ -105,6 +112,7 @@ ru:
105
112
  many: "%{count} поддерживает"
106
113
  other: "%{count} поддерживает"
107
114
  remove: Удалить
115
+ view: Посмотреть
108
116
  project_budget_button:
109
117
  add: Добавить
110
118
  added: Добавлено
@@ -137,7 +145,7 @@ ru:
137
145
  success: Ваш голос успешно отменен
138
146
  resource_links:
139
147
  included_proposals:
140
- project_proposals: 'Предложения, включенные в этот проект:'
148
+ project_proposal: 'Предложения, включенные в этот проект:'
141
149
  index:
142
150
  confirmed_orders_count: Количество голосов
143
151
  total_budget: Общий бюджет
@@ -8,6 +8,11 @@ sv:
8
8
  description: Beskrivning
9
9
  proposal_ids: Relaterade förslag
10
10
  title: Titel
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Projekt
15
+ other: projekt
11
16
  decidim:
12
17
  budgets:
13
18
  actions:
@@ -99,6 +104,7 @@ sv:
99
104
  one: 1 stöd
100
105
  other: "%{count} stöder"
101
106
  remove: Avlägsna
107
+ view: Se
102
108
  project_budget_button:
103
109
  add: Lägg till
104
110
  added: Tillagd
@@ -131,7 +137,7 @@ sv:
131
137
  success: Din röst har avbrutits framgångsrikt
132
138
  resource_links:
133
139
  included_proposals:
134
- project_proposals: 'Förslag som ingår i detta projekt:'
140
+ project_proposal: 'Förslag som ingår i detta projekt:'
135
141
  index:
136
142
  confirmed_orders_count: Antal röster
137
143
  total_budget: Total budget
@@ -8,6 +8,13 @@ uk:
8
8
  description: Опис
9
9
  proposal_ids: Супутні пропозиції
10
10
  title: Назва
11
+ activerecord:
12
+ models:
13
+ decidim/budgets/project:
14
+ one: Задум
15
+ few: Задуми
16
+ many: Задумів
17
+ other: Задумів
11
18
  decidim:
12
19
  budgets:
13
20
  actions:
@@ -105,6 +112,7 @@ uk:
105
112
  many: "%{count} людей підтримують"
106
113
  other: "%{count} людей підтримують"
107
114
  remove: Видалити
115
+ view: Переглянути
108
116
  project_budget_button:
109
117
  add: Додати
110
118
  added: Додано
@@ -137,7 +145,7 @@ uk:
137
145
  success: Ваш голос було успішно скасовано
138
146
  resource_links:
139
147
  included_proposals:
140
- project_proposals: 'Пропозиції, включені до цього задуму:'
148
+ project_proposal: 'Пропозиції, включені до цього задуму:'
141
149
  index:
142
150
  confirmed_orders_count: Кількість голосів
143
151
  total_budget: Загальний кошторис
@@ -7,6 +7,7 @@ Decidim.register_component(:budgets) do |component|
7
7
  component.admin_engine = Decidim::Budgets::AdminEngine
8
8
  component.icon = "decidim/budgets/icon.svg"
9
9
  component.stylesheet = "decidim/budgets/budgets"
10
+ component.permissions_class_name = "Decidim::Budgets::Permissions"
10
11
 
11
12
  component.actions = %(vote)
12
13
 
@@ -14,9 +15,10 @@ Decidim.register_component(:budgets) do |component|
14
15
  raise StandardError, "Can't remove this component" if Decidim::Budgets::Project.where(component: instance).any?
15
16
  end
16
17
 
17
- component.register_resource do |resource|
18
+ component.register_resource(:project) do |resource|
18
19
  resource.model_class_name = "Decidim::Budgets::Project"
19
20
  resource.template = "decidim/budgets/projects/linked_projects"
21
+ resource.card = "decidim/budgets/project"
20
22
  end
21
23
 
22
24
  component.register_stat :projects_count, primary: true, priority: Decidim::StatsRegistry::LOW_PRIORITY do |components, start_at, end_at|
@@ -26,6 +26,11 @@ module Decidim
26
26
  initializer "decidim_budgets.assets" do |app|
27
27
  app.config.assets.precompile += %w(decidim_budgets_manifest.js)
28
28
  end
29
+
30
+ initializer "decidim_budgets.add_cells_view_paths" do
31
+ Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Budgets::Engine.root}/app/cells")
32
+ Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Budgets::Engine.root}/app/views") # for partials
33
+ end
29
34
  end
30
35
  end
31
36
  end
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-budgets version.
5
5
  module Budgets
6
6
  def self.version
7
- "0.11.2"
7
+ "0.12.0.pre"
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-budgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.2
4
+ version: 0.12.0.pre
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: 2018-06-13 00:00:00.000000000 Z
13
+ date: 2018-06-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-comments
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.11.2
21
+ version: 0.12.0.pre
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.11.2
28
+ version: 0.12.0.pre
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.11.2
35
+ version: 0.12.0.pre
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.11.2
42
+ version: 0.12.0.pre
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: kaminari
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -74,42 +74,42 @@ dependencies:
74
74
  requirements:
75
75
  - - '='
76
76
  - !ruby/object:Gem::Version
77
- version: 0.11.2
77
+ version: 0.12.0.pre
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - '='
83
83
  - !ruby/object:Gem::Version
84
- version: 0.11.2
84
+ version: 0.12.0.pre
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: decidim-dev
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - '='
90
90
  - !ruby/object:Gem::Version
91
- version: 0.11.2
91
+ version: 0.12.0.pre
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.11.2
98
+ version: 0.12.0.pre
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: decidim-proposals
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - '='
104
104
  - !ruby/object:Gem::Version
105
- version: 0.11.2
105
+ version: 0.12.0.pre
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.11.2
112
+ version: 0.12.0.pre
113
113
  description: A budgets component for decidim's participatory spaces.
114
114
  email:
115
115
  - josepjaume@gmail.com
@@ -129,6 +129,10 @@ files:
129
129
  - app/assets/stylesheets/decidim/budgets/budget/_budget-list.scss
130
130
  - app/assets/stylesheets/decidim/budgets/budget/_budget-meter.scss
131
131
  - app/assets/stylesheets/decidim/budgets/budget/_progress.scss
132
+ - app/cells/decidim/budgets/project_cell.rb
133
+ - app/cells/decidim/budgets/project_m/data.erb
134
+ - app/cells/decidim/budgets/project_m/footer.erb
135
+ - app/cells/decidim/budgets/project_m_cell.rb
132
136
  - app/commands/decidim/budgets/add_line_item.rb
133
137
  - app/commands/decidim/budgets/admin/create_project.rb
134
138
  - app/commands/decidim/budgets/admin/destroy_project.rb
@@ -152,6 +156,8 @@ files:
152
156
  - app/models/decidim/budgets/line_item.rb
153
157
  - app/models/decidim/budgets/order.rb
154
158
  - app/models/decidim/budgets/project.rb
159
+ - app/permissions/decidim/budgets/admin/permissions.rb
160
+ - app/permissions/decidim/budgets/permissions.rb
155
161
  - app/presenters/decidim/budgets/admin_log/project_presenter.rb
156
162
  - app/queries/decidim/budgets/filtered_projects.rb
157
163
  - app/services/decidim/budgets/project_search.rb
@@ -223,9 +229,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
223
229
  version: '2.3'
224
230
  required_rubygems_version: !ruby/object:Gem::Requirement
225
231
  requirements:
226
- - - ">="
232
+ - - ">"
227
233
  - !ruby/object:Gem::Version
228
- version: '0'
234
+ version: 1.3.1
229
235
  requirements: []
230
236
  rubyforge_project:
231
237
  rubygems_version: 2.7.6