decidim-budgets 0.30.3 → 0.31.0.rc2
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 +4 -4
 - data/app/cells/decidim/budgets/budget_list_item/show.erb +19 -9
 - data/app/cells/decidim/budgets/budget_list_item/vote_action.erb +2 -2
 - data/app/cells/decidim/budgets/budget_list_item_cell.rb +44 -10
 - data/app/cells/decidim/budgets/budgets_list/card_list.erb +0 -2
 - data/app/cells/decidim/budgets/budgets_list/main_list.erb +2 -2
 - data/app/cells/decidim/budgets/budgets_list/show.erb +3 -3
 - data/app/cells/decidim/budgets/budgets_list/voted.erb +12 -10
 - data/app/cells/decidim/budgets/budgets_list_cell.rb +22 -0
 - data/app/cells/decidim/budgets/project_budget_amount_cell.rb +14 -0
 - data/app/cells/decidim/budgets/project_l/extra_data.erb +8 -2
 - data/app/cells/decidim/budgets/project_l/metadata.erb +1 -1
 - data/app/cells/decidim/budgets/project_l_cell.rb +2 -4
 - data/app/cells/decidim/budgets/project_metadata_cell.rb +15 -19
 - data/app/cells/decidim/budgets/project_selected_status_cell.rb +1 -11
 - data/app/cells/decidim/budgets/project_vote_button/show.erb +5 -5
 - data/app/cells/decidim/budgets/project_vote_button_cell.rb +14 -9
 - data/app/cells/decidim/budgets/project_votes_count_cell.rb +8 -14
 - data/app/commands/decidim/budgets/cancel_order.rb +5 -0
 - data/app/controllers/decidim/budgets/admin/budgets_controller.rb +2 -2
 - data/app/controllers/decidim/budgets/admin/projects_controller.rb +2 -2
 - data/app/controllers/decidim/budgets/admin/proposals_imports_controller.rb +1 -1
 - data/app/controllers/decidim/budgets/application_controller.rb +13 -1
 - data/app/controllers/decidim/budgets/budgets_controller.rb +1 -3
 - data/app/controllers/decidim/budgets/line_items_controller.rb +19 -0
 - data/app/controllers/decidim/budgets/orders_controller.rb +20 -0
 - data/app/controllers/decidim/budgets/projects_controller.rb +3 -1
 - data/app/forms/decidim/budgets/admin/component_form.rb +4 -30
 - data/app/helpers/decidim/budgets/application_helper.rb +1 -0
 - data/app/helpers/decidim/budgets/projects_helper.rb +11 -7
 - data/app/models/decidim/budgets/order.rb +2 -2
 - data/app/packs/entrypoints/decidim_budgets.js +1 -0
 - data/app/packs/src/decidim/budgets/admin/projects.js +2 -2
 - data/app/packs/src/decidim/budgets/budgetSummaryBackdrop.js +41 -0
 - data/app/packs/src/decidim/budgets/exit_handler.js +7 -2
 - data/app/packs/src/decidim/budgets/progressFixed.js +1 -1
 - data/app/packs/src/decidim/budgets/projects.js +1 -1
 - data/app/packs/stylesheets/budgets.scss +57 -37
 - data/app/permissions/decidim/budgets/permissions.rb +17 -13
 - data/app/presenters/decidim/budgets/project_presenter.rb +2 -4
 - data/app/views/decidim/budgets/admin/budgets/_actions.html.erb +65 -18
 - data/app/views/decidim/budgets/admin/budgets/_budget-tr.html.erb +4 -4
 - data/app/views/decidim/budgets/admin/budgets/_form.html.erb +1 -1
 - data/app/views/decidim/budgets/admin/budgets/index.html.erb +14 -11
 - data/app/views/decidim/budgets/admin/budgets/manage_trash.html.erb +2 -1
 - data/app/views/decidim/budgets/admin/projects/_actions.html.erb +66 -22
 - data/app/views/decidim/budgets/admin/projects/_bulk-actions.html.erb +15 -17
 - data/app/views/decidim/budgets/admin/projects/_form.html.erb +1 -1
 - data/app/views/decidim/budgets/admin/projects/_project-tr.html.erb +7 -7
 - data/app/views/decidim/budgets/admin/projects/bulk_actions/_dropdown.html.erb +23 -30
 - data/app/views/decidim/budgets/admin/projects/index.html.erb +2 -2
 - data/app/views/decidim/budgets/admin/projects/manage_trash.html.erb +2 -1
 - data/app/views/decidim/budgets/line_items/update_budget.js.erb +6 -5
 - data/app/views/decidim/budgets/orders/status.html.erb +30 -30
 - data/app/views/decidim/budgets/projects/_addition_selector.html.erb +1 -1
 - data/app/views/decidim/budgets/projects/_budget_summary.html.erb +5 -1
 - data/app/views/decidim/budgets/projects/_exit_modal.html.erb +1 -1
 - data/app/views/decidim/budgets/projects/_project.html.erb +5 -1
 - data/app/views/decidim/budgets/projects/_project_budget_button.html.erb +1 -9
 - data/app/views/decidim/budgets/projects/_projects.html.erb +3 -1
 - data/app/views/decidim/budgets/projects/index.html.erb +28 -6
 - data/app/views/decidim/budgets/projects/order_progress_summary/_content.html.erb +30 -0
 - data/app/views/decidim/budgets/projects/order_progress_summary/_content_responsive.html.erb +56 -0
 - data/app/views/decidim/budgets/projects/order_progress_summary/_progress_box.html.erb +43 -0
 - data/app/views/decidim/budgets/projects/order_progress_summary/_progress_box_buttons.html.erb +12 -0
 - data/app/views/decidim/budgets/projects/order_progress_summary/_progress_box_sticky.html.erb +25 -0
 - data/app/views/decidim/budgets/projects/show.html.erb +30 -17
 - data/config/assets.rb +2 -2
 - data/config/locales/ar.yml +0 -8
 - data/config/locales/bg.yml +2 -18
 - data/config/locales/ca-IT.yml +26 -14
 - data/config/locales/ca.yml +26 -14
 - data/config/locales/cs.yml +21 -18
 - data/config/locales/de.yml +26 -14
 - data/config/locales/el.yml +0 -7
 - data/config/locales/en.yml +26 -14
 - data/config/locales/es-MX.yml +26 -14
 - data/config/locales/es-PY.yml +26 -14
 - data/config/locales/es.yml +25 -13
 - data/config/locales/eu.yml +26 -14
 - data/config/locales/fi-plain.yml +26 -14
 - data/config/locales/fi.yml +26 -14
 - data/config/locales/fr-CA.yml +26 -14
 - data/config/locales/fr.yml +26 -14
 - data/config/locales/ga-IE.yml +0 -5
 - data/config/locales/gl.yml +0 -7
 - data/config/locales/hu.yml +2 -18
 - data/config/locales/id-ID.yml +0 -7
 - data/config/locales/is-IS.yml +0 -6
 - data/config/locales/it.yml +0 -7
 - data/config/locales/ja.yml +26 -14
 - data/config/locales/kaa.yml +0 -1
 - data/config/locales/ko.yml +0 -5
 - data/config/locales/lb.yml +0 -7
 - data/config/locales/lt.yml +2 -18
 - data/config/locales/lv.yml +0 -7
 - data/config/locales/nl.yml +0 -7
 - data/config/locales/no.yml +0 -7
 - data/config/locales/pl.yml +2 -18
 - data/config/locales/pt-BR.yml +2 -18
 - data/config/locales/pt.yml +0 -7
 - data/config/locales/ro-RO.yml +7 -7
 - data/config/locales/ru.yml +0 -7
 - data/config/locales/sk.yml +0 -7
 - data/config/locales/sq-AL.yml +0 -3
 - data/config/locales/sv.yml +25 -13
 - data/config/locales/tr-TR.yml +0 -8
 - data/config/locales/uk.yml +0 -7
 - data/config/locales/zh-CN.yml +0 -8
 - data/config/locales/zh-TW.yml +0 -7
 - data/db/migrate/20250912110212_move_voting_rules_to_radio_buttons.rb +22 -0
 - data/lib/decidim/api/budget_type.rb +7 -0
 - data/lib/decidim/api/project_type.rb +29 -1
 - data/lib/decidim/budgets/budget_order_pdf.rb +73 -0
 - data/lib/decidim/budgets/component.rb +26 -13
 - data/lib/decidim/budgets/engine.rb +3 -11
 - data/lib/decidim/budgets/seeds.rb +16 -5
 - data/lib/decidim/budgets/test/factories.rb +3 -18
 - data/lib/decidim/budgets/version.rb +1 -1
 - data/lib/decidim/budgets/workflows/base.rb +0 -14
 - data/lib/decidim/budgets.rb +1 -5
 - metadata +21 -15
 - data/app/queries/decidim/budgets/metrics/budget_followers_metric_measure.rb +0 -32
 - data/app/queries/decidim/budgets/metrics/budget_participants_metric_measure.rb +0 -27
 - data/app/views/decidim/budgets/projects/_order_progress_summary_content.html.erb +0 -122
 - /data/app/views/decidim/budgets/projects/{_order_progress_progressbar_marks_right.html.erb → order_progress_summary/_progressbar_marks_right.html.erb} +0 -0
 
| 
         @@ -1,11 +1,3 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <div id="project-<%= project.id %>-budget-button">
         
     | 
| 
       2 
     | 
    
         
            -
               
     | 
| 
       3 
     | 
    
         
            -
                  <button class="button button__lg w-full button__secondary"
         
     | 
| 
       4 
     | 
    
         
            -
                    data-dialog-open="loginModal"
         
     | 
| 
       5 
     | 
    
         
            -
                    aria-label="<%= t(".added_descriptive", resource_name: translated_attribute(project.title)) %>">
         
     | 
| 
       6 
     | 
    
         
            -
                    <%= t("add", scope: "decidim.budgets.projects.project_budget_button") %>
         
     | 
| 
       7 
     | 
    
         
            -
                  </button>
         
     | 
| 
       8 
     | 
    
         
            -
              <% else %>
         
     | 
| 
       9 
     | 
    
         
            -
                <%= cell("decidim/budgets/project_vote_button", project, project_item: true) %>
         
     | 
| 
       10 
     | 
    
         
            -
              <% end %>
         
     | 
| 
      
 2 
     | 
    
         
            +
              <%= cell("decidim/budgets/project_vote_button", project, project_item: true, button_extra_classes: "w-full") %>
         
     | 
| 
       11 
3 
     | 
    
         
             
            </div>
         
     | 
| 
         @@ -1,3 +1,9 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <% if @focus_mode %>
         
     | 
| 
      
 2 
     | 
    
         
            +
              <% content_for :focus_mode, true %>
         
     | 
| 
      
 3 
     | 
    
         
            +
              <% content_for :focus_mode_return_path, budgets_path %>
         
     | 
| 
      
 4 
     | 
    
         
            +
              <% content_for :focus_mode_return_string, t("decidim.budgets.projects.back_to_budgets") %>
         
     | 
| 
      
 5 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
       1 
7 
     | 
    
         
             
            <% add_decidim_meta_tags(
         
     | 
| 
       2 
8 
     | 
    
         
             
              description: translated_attribute(budget.description),
         
     | 
| 
       3 
9 
     | 
    
         
             
              title: t("decidim.components.pagination.page_title",
         
     | 
| 
         @@ -10,7 +16,10 @@ 
     | 
|
| 
       10 
16 
     | 
    
         
             
            <%= append_javascript_pack_tag "decidim_budgets" %>
         
     | 
| 
       11 
17 
     | 
    
         
             
            <%= append_stylesheet_pack_tag "decidim_budgets" %>
         
     | 
| 
       12 
18 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
            <% if @focus_mode %>
         
     | 
| 
      
 20 
     | 
    
         
            +
              <%= render partial: "budget_summary", locals: { responsive: true, focus_mode_origin: "index" } %>
         
     | 
| 
      
 21 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
       14 
23 
     | 
    
         
             
            <%= cell("decidim/budgets/budget_information_modal", budget) %>
         
     | 
| 
       15 
24 
     | 
    
         | 
| 
       16 
25 
     | 
    
         
             
            <% content_for :aside do %>
         
     | 
| 
         @@ -27,9 +36,9 @@ 
     | 
|
| 
       27 
36 
     | 
    
         
             
                <%= render partial: "budget_excess" %>
         
     | 
| 
       28 
37 
     | 
    
         
             
                <%= render partial: "budget_confirm" %>
         
     | 
| 
       29 
38 
     | 
    
         | 
| 
       30 
     | 
    
         
            -
                <%  
     | 
| 
      
 39 
     | 
    
         
            +
                <% if @focus_mode && !voting_finished? %>
         
     | 
| 
       31 
40 
     | 
    
         
             
                  <div class="budget-summary__container">
         
     | 
| 
       32 
     | 
    
         
            -
                    <%= render partial: "budget_summary", locals: {  
     | 
| 
      
 41 
     | 
    
         
            +
                    <%= render partial: "budget_summary", locals: { responsive: false, focus_mode_origin: "index" } %>
         
     | 
| 
       33 
42 
     | 
    
         
             
                  </div>
         
     | 
| 
       34 
43 
     | 
    
         
             
                <% end %>
         
     | 
| 
       35 
44 
     | 
    
         | 
| 
         @@ -43,9 +52,19 @@ 
     | 
|
| 
       43 
52 
     | 
    
         | 
| 
       44 
53 
     | 
    
         
             
                <% unless voting_finished? %>
         
     | 
| 
       45 
54 
     | 
    
         
             
                  <section class="layout-main__section">
         
     | 
| 
       46 
     | 
    
         
            -
                    < 
     | 
| 
       47 
     | 
    
         
            -
                       
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
      
 55 
     | 
    
         
            +
                    <div class="flex justify-between items-center mb-4">
         
     | 
| 
      
 56 
     | 
    
         
            +
                      <div class="flex items-center gap-2">
         
     | 
| 
      
 57 
     | 
    
         
            +
                        <span class="text-xl font-semibold">
         
     | 
| 
      
 58 
     | 
    
         
            +
                          <%= t("select_projects", scope: "decidim.budgets.projects") %>
         
     | 
| 
      
 59 
     | 
    
         
            +
                        </span>
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
                        <% if cell("decidim/budgets/budget_information_modal", budget).more_information.present? %>
         
     | 
| 
      
 62 
     | 
    
         
            +
                          <button type="button" data-dialog-open="budget-modal-info" aria-haspopup="dialog" tabindex="0" class="button button__icon button__text-secondary lg:hidden">
         
     | 
| 
      
 63 
     | 
    
         
            +
                            <%= icon "question-line" %>
         
     | 
| 
      
 64 
     | 
    
         
            +
                          </button>
         
     | 
| 
      
 65 
     | 
    
         
            +
                        <% end %>
         
     | 
| 
      
 66 
     | 
    
         
            +
                      </div>
         
     | 
| 
      
 67 
     | 
    
         
            +
                    </div>
         
     | 
| 
       49 
68 
     | 
    
         
             
                  </section>
         
     | 
| 
       50 
69 
     | 
    
         
             
                <% end %>
         
     | 
| 
       51 
70 
     | 
    
         | 
| 
         @@ -56,4 +75,7 @@ 
     | 
|
| 
       56 
75 
     | 
    
         
             
                <%= cell("decidim/announcement", t("empty", scope: "decidim.budgets.projects")) %>
         
     | 
| 
       57 
76 
     | 
    
         
             
              <% end %>
         
     | 
| 
       58 
77 
     | 
    
         | 
| 
      
 78 
     | 
    
         
            +
              <% if current_user&.ephemeral? %>
         
     | 
| 
      
 79 
     | 
    
         
            +
                <div class="h-40 bg-transparent"></div>
         
     | 
| 
      
 80 
     | 
    
         
            +
              <% end %>
         
     | 
| 
       59 
81 
     | 
    
         
             
            <% end %>
         
     | 
| 
         @@ -0,0 +1,30 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <div data-order-progress-responsive="false" class="budget-summary__content">
         
     | 
| 
      
 2 
     | 
    
         
            +
              <%= render partial: "decidim/budgets/projects/order_progress_summary/progress_box" %>
         
     | 
| 
      
 3 
     | 
    
         
            +
              <%= render partial: "decidim/budgets/projects/order_progress_summary/progress_box_buttons" %>
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              <div class="budget-summary__button-modal">
         
     | 
| 
      
 6 
     | 
    
         
            +
                <button type="button" data-dialog-open="budget-modal-info" aria-haspopup="dialog" tabindex="0" class="button button__text button__xs underline font-bold">
         
     | 
| 
      
 7 
     | 
    
         
            +
                  <%= t("more_information", scope: "decidim.budgets.budget_information_modal") %>
         
     | 
| 
      
 8 
     | 
    
         
            +
                </button>
         
     | 
| 
      
 9 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              <div class="w-screen max-w-screen progressbox-fixed-wrapper" data-progressbox-fixed>
         
     | 
| 
      
 12 
     | 
    
         
            +
                <div class="gap-0 layout-item py-4 items-center budget-summary__progressbar">
         
     | 
| 
      
 13 
     | 
    
         
            +
                  <%= render partial: "decidim/budgets/projects/order_progress_summary/progress_box_sticky" %>
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  <div class="layout-item__aside budget-summary__progressbox-buttons hidden lg:block">
         
     | 
| 
      
 16 
     | 
    
         
            +
                    <% if !current_order_checked_out? && voting_open? %>
         
     | 
| 
      
 17 
     | 
    
         
            +
                      <button class="button button__secondary button__lg mt-2 md:mt-0 w-full" data-dialog-open="budget-confirm" <%= budget_confirm_disabled_attr %>>
         
     | 
| 
      
 18 
     | 
    
         
            +
                        <%= t("vote", scope: "decidim.budgets.projects.budget_summary") %>
         
     | 
| 
      
 19 
     | 
    
         
            +
                      </button>
         
     | 
| 
      
 20 
     | 
    
         
            +
                    <% end %>
         
     | 
| 
      
 21 
     | 
    
         
            +
                    <% if current_order_checked_out? %>
         
     | 
| 
      
 22 
     | 
    
         
            +
                      <%= link_to budget_order_path(return_to: "budget"), method: :delete, class: "button button__lg button__secondary cancel-order w-full mt-2 md:mt-0", data: { confirm: t("are_you_sure", scope: "decidim.budgets.projects.budget_confirm") } do %>
         
     | 
| 
      
 23 
     | 
    
         
            +
                        <span><%= t("cancel_order", scope: "decidim.budgets.projects.budget_summary") %></span>
         
     | 
| 
      
 24 
     | 
    
         
            +
                        <%= icon "delete-bin-line" %>
         
     | 
| 
      
 25 
     | 
    
         
            +
                      <% end %>
         
     | 
| 
      
 26 
     | 
    
         
            +
                    <% end %>
         
     | 
| 
      
 27 
     | 
    
         
            +
                  </div>
         
     | 
| 
      
 28 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 29 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 30 
     | 
    
         
            +
            </div>
         
     | 
| 
         @@ -0,0 +1,56 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <% focus_mode_index = local_assigns[:focus_mode_origin] == "index" %>
         
     | 
| 
      
 2 
     | 
    
         
            +
            <% focus_mode_show = local_assigns[:focus_mode_origin] == "show" %>
         
     | 
| 
      
 3 
     | 
    
         
            +
            <% start_voting_param = params[:start_voting] %>
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            <% show_vote_button = !current_order_checked_out? && voting_open? && current_order_can_be_checked_out? %>
         
     | 
| 
      
 6 
     | 
    
         
            +
            <% show_hint = !show_vote_button && start_voting_param.present? %>
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            <div data-order-progress-responsive="true" class="bg-transparent">
         
     | 
| 
      
 9 
     | 
    
         
            +
              <% if show_hint %>
         
     | 
| 
      
 10 
     | 
    
         
            +
                <div id="progress-summary-backdrop" class="fixed hidden inset-0 z-40 bg-black/50"></div>
         
     | 
| 
      
 11 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              <div class="fixed bottom-0 left-0 z-50 flex flex-col w-full" data-controller="sticky-buttons">
         
     | 
| 
      
 14 
     | 
    
         
            +
                <div class="budget-summary__content rounded-t-lg" data-progressbox-fixed>
         
     | 
| 
      
 15 
     | 
    
         
            +
                  <div class="flex items-center justify-between">
         
     | 
| 
      
 16 
     | 
    
         
            +
                    <%= render partial: "decidim/budgets/projects/order_progress_summary/progress_box" %>
         
     | 
| 
      
 17 
     | 
    
         
            +
                    <button
         
     | 
| 
      
 18 
     | 
    
         
            +
                      id="progress-summary-button"
         
     | 
| 
      
 19 
     | 
    
         
            +
                      data-controller="dropdown"
         
     | 
| 
      
 20 
     | 
    
         
            +
                      data-target="progress-summary-dropdown-menu"
         
     | 
| 
      
 21 
     | 
    
         
            +
                      data-open="<%= show_hint ? "true" : "false" %>"
         
     | 
| 
      
 22 
     | 
    
         
            +
                      aria-expanded="<%= show_hint ? "true" : "false" %>"
         
     | 
| 
      
 23 
     | 
    
         
            +
                      class="w-auto pr-0 cursor-pointer">
         
     | 
| 
      
 24 
     | 
    
         
            +
                      <%= icon "arrow-up-s-line" %>
         
     | 
| 
      
 25 
     | 
    
         
            +
                      <%= icon "arrow-down-s-line" %>
         
     | 
| 
      
 26 
     | 
    
         
            +
                    </button>
         
     | 
| 
      
 27 
     | 
    
         
            +
                  </div>
         
     | 
| 
      
 28 
     | 
    
         
            +
                  <div class="pt-5" id="progress-summary-dropdown-menu" aria-hidden="<%= show_hint ? "false" : "true" %>">
         
     | 
| 
      
 29 
     | 
    
         
            +
                    <ul class="list-disc">
         
     | 
| 
      
 30 
     | 
    
         
            +
                      <li>
         
     | 
| 
      
 31 
     | 
    
         
            +
                        <%= current_rule_description %>
         
     | 
| 
      
 32 
     | 
    
         
            +
                      </li>
         
     | 
| 
      
 33 
     | 
    
         
            +
                    </ul>
         
     | 
| 
      
 34 
     | 
    
         
            +
                  </div>
         
     | 
| 
      
 35 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                <% if focus_mode_show %>
         
     | 
| 
      
 38 
     | 
    
         
            +
                  <div class="p-4 bg-white">
         
     | 
| 
      
 39 
     | 
    
         
            +
                    <%= render partial: "decidim/budgets/projects/project_budget_button" %>
         
     | 
| 
      
 40 
     | 
    
         
            +
                  </div>
         
     | 
| 
      
 41 
     | 
    
         
            +
                <% elsif focus_mode_index && show_vote_button %>
         
     | 
| 
      
 42 
     | 
    
         
            +
                  <div class="p-4 bg-white">
         
     | 
| 
      
 43 
     | 
    
         
            +
                    <button class="button button__secondary button__lg w-full" data-dialog-open="budget-confirm">
         
     | 
| 
      
 44 
     | 
    
         
            +
                      <%= t("vote", scope: "decidim.budgets.projects.budget_summary") %>
         
     | 
| 
      
 45 
     | 
    
         
            +
                    </button>
         
     | 
| 
      
 46 
     | 
    
         
            +
                  </div>
         
     | 
| 
      
 47 
     | 
    
         
            +
                <% elsif focus_mode_index && current_order_checked_out? %>
         
     | 
| 
      
 48 
     | 
    
         
            +
                  <div class="p-4 bg-white">
         
     | 
| 
      
 49 
     | 
    
         
            +
                    <%= link_to budget_order_path(return_to: "budget"), method: :delete, class: "button button__lg button__secondary cancel-order w-full", data: { confirm: t("are_you_sure", scope: "decidim.budgets.projects.budget_confirm") } do %>
         
     | 
| 
      
 50 
     | 
    
         
            +
                      <span><%= t("cancel_order", scope: "decidim.budgets.projects.budget_summary") %></span>
         
     | 
| 
      
 51 
     | 
    
         
            +
                      <%= icon "delete-bin-line" %>
         
     | 
| 
      
 52 
     | 
    
         
            +
                    <% end %>
         
     | 
| 
      
 53 
     | 
    
         
            +
                  </div>
         
     | 
| 
      
 54 
     | 
    
         
            +
                <% end %>
         
     | 
| 
      
 55 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 56 
     | 
    
         
            +
            </div>
         
     | 
| 
         @@ -0,0 +1,43 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <div class="budget-summary__progressbox w-full" data-current-allocation="<%= current_order ? current_order.total : 0 %>">
         
     | 
| 
      
 2 
     | 
    
         
            +
              <% if current_order_checked_out? %>
         
     | 
| 
      
 3 
     | 
    
         
            +
                <%= t("title", scope: "decidim.budgets.projects.budget_summary.checked_out") %>
         
     | 
| 
      
 4 
     | 
    
         
            +
                <div class="budget-summary__content__header">
         
     | 
| 
      
 5 
     | 
    
         
            +
                  <span class="budget-summary__content__header--title">
         
     | 
| 
      
 6 
     | 
    
         
            +
                    <%= t("name", scope: "decidim.components.budgets") %>
         
     | 
| 
      
 7 
     | 
    
         
            +
                  </span>
         
     | 
| 
      
 8 
     | 
    
         
            +
                  /
         
     | 
| 
      
 9 
     | 
    
         
            +
                  <%= translated_attribute(budget.title) %>
         
     | 
| 
      
 10 
     | 
    
         
            +
                  <p class="budget-summary__content__header--description">
         
     | 
| 
      
 11 
     | 
    
         
            +
                    <%= t("description", scope: "decidim.budgets.projects.budget_summary.checked_out") %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  </p>
         
     | 
| 
      
 13 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 14 
     | 
    
         
            +
              <% else %>
         
     | 
| 
      
 15 
     | 
    
         
            +
                <p class="budget-summary__progressbox--checked_out">
         
     | 
| 
      
 16 
     | 
    
         
            +
                  <%= current_rule_description %>
         
     | 
| 
      
 17 
     | 
    
         
            +
                </p>
         
     | 
| 
      
 18 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 19 
     | 
    
         
            +
              <div class="budget-summary__progressbar">
         
     | 
| 
      
 20 
     | 
    
         
            +
                <div class="budget-progress" role="progressbar" aria-label="<%= t("budget", scope: "decidim.budgets.projects.order_progress") %>" aria-valuenow="<%= current_order_budget_percent %>" aria-valuetext="<%= current_order_budget_percent %> %" aria-valuemin="0" aria-valuemax="100">
         
     | 
| 
      
 21 
     | 
    
         
            +
                  <div class="budget-summary__progressbar--minimum" style="width: <%= current_order_budget_percent_minimum %>%">
         
     | 
| 
      
 22 
     | 
    
         
            +
                  </div>
         
     | 
| 
      
 23 
     | 
    
         
            +
                  <div class="budget-summary__progressbar--meter bg-success" style="width: <%= current_order_budget_percent %>%"> </div>
         
     | 
| 
      
 24 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 25 
     | 
    
         
            +
                <div class="budget-summary__progressbar-marks">
         
     | 
| 
      
 26 
     | 
    
         
            +
                  <span class="budget-summary__progressbar-legend">
         
     | 
| 
      
 27 
     | 
    
         
            +
                    <strong id="order-total-budget" class="budget-summary__progressbar-legend-strong">
         
     | 
| 
      
 28 
     | 
    
         
            +
                      <%= render partial: "decidim/budgets/projects/order_total_budget" %>
         
     | 
| 
      
 29 
     | 
    
         
            +
                    </strong>
         
     | 
| 
      
 30 
     | 
    
         
            +
                    <%= t("assigned", scope: "decidim.budgets.projects.order_progress") %>
         
     | 
| 
      
 31 
     | 
    
         
            +
                  </span>
         
     | 
| 
      
 32 
     | 
    
         
            +
                  <% if current_order.minimum_budget > 0 %>
         
     | 
| 
      
 33 
     | 
    
         
            +
                    <span class="budget-summary__progressbar-legend budget-summary__progressbar-marks_center">
         
     | 
| 
      
 34 
     | 
    
         
            +
                      <strong class="budget-summary__progressbar-legend-strong">
         
     | 
| 
      
 35 
     | 
    
         
            +
                        <%= budget_to_currency(current_order.minimum_budget) %>
         
     | 
| 
      
 36 
     | 
    
         
            +
                      </strong>
         
     | 
| 
      
 37 
     | 
    
         
            +
                      <%= t("minimum", scope: "decidim.budgets.projects.order_progress") %>
         
     | 
| 
      
 38 
     | 
    
         
            +
                    </span>
         
     | 
| 
      
 39 
     | 
    
         
            +
                  <% end %>
         
     | 
| 
      
 40 
     | 
    
         
            +
                  <%= render partial: "decidim/budgets/projects/order_progress_summary/progressbar_marks_right" %>
         
     | 
| 
      
 41 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 42 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 43 
     | 
    
         
            +
            </div>
         
     | 
| 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <div class="budget-summary__progressbox-buttons layout-aside__ctas-buttons" data-controller="sticky-buttons">
         
     | 
| 
      
 2 
     | 
    
         
            +
              <% if !current_order_checked_out? && voting_open? %>
         
     | 
| 
      
 3 
     | 
    
         
            +
                <button class="button button__secondary button__lg w-full" data-dialog-open="budget-confirm" <%= budget_confirm_disabled_attr %>>
         
     | 
| 
      
 4 
     | 
    
         
            +
                  <%= t("vote", scope: "decidim.budgets.projects.budget_summary") %>
         
     | 
| 
      
 5 
     | 
    
         
            +
                </button>
         
     | 
| 
      
 6 
     | 
    
         
            +
              <% elsif current_order_checked_out? %>
         
     | 
| 
      
 7 
     | 
    
         
            +
                <%= link_to budget_order_path(return_to: "budget"), method: :delete, class: "button button__lg button__secondary cancel-order w-full", data: { confirm: t("are_you_sure", scope: "decidim.budgets.projects.budget_confirm") } do %>
         
     | 
| 
      
 8 
     | 
    
         
            +
                  <span><%= t("cancel_order", scope: "decidim.budgets.projects.budget_summary") %></span>
         
     | 
| 
      
 9 
     | 
    
         
            +
                  <%= icon "delete-bin-line" %>
         
     | 
| 
      
 10 
     | 
    
         
            +
                <% end %>
         
     | 
| 
      
 11 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 12 
     | 
    
         
            +
            </div>
         
     | 
| 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <div class="budget-summary__progressbox layout-item__main">
         
     | 
| 
      
 2 
     | 
    
         
            +
              <div class="budget-progress relative" role="progressbar" aria-valuenow="<%= current_order_budget_percent %>" aria-valuetext="<%= current_order_budget_percent %>%" aria-valuemin="0" aria-valuemax="100">
         
     | 
| 
      
 3 
     | 
    
         
            +
                <div class="budget-summary__progressbar--minimum" style="width: <%= current_order_budget_percent_minimum %>%">
         
     | 
| 
      
 4 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 5 
     | 
    
         
            +
                <div class="budget-summary__progressbar--meter bg-success" style="width: <%= current_order_budget_percent %>%">
         
     | 
| 
      
 6 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 7 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 8 
     | 
    
         
            +
              <div class="budget-summary__progressbar-marks">
         
     | 
| 
      
 9 
     | 
    
         
            +
                <span class="budget-summary__progressbar-legend" style="width: <%= current_order_budget_percent_minimum %>%;">
         
     | 
| 
      
 10 
     | 
    
         
            +
                  <%= t("assigned", scope: "decidim.budgets.projects.order_progress") %>
         
     | 
| 
      
 11 
     | 
    
         
            +
                  <strong id="order-total-budget-sticky" class="budget-summary__progressbar-legend-strong">
         
     | 
| 
      
 12 
     | 
    
         
            +
                    <%= render partial: "decidim/budgets/projects/order_total_budget" %>
         
     | 
| 
      
 13 
     | 
    
         
            +
                  </strong>
         
     | 
| 
      
 14 
     | 
    
         
            +
                </span>
         
     | 
| 
      
 15 
     | 
    
         
            +
                <% if current_order.minimum_budget > 0 %>
         
     | 
| 
      
 16 
     | 
    
         
            +
                <span class="budget-summary__progressbar-legend budget-summary__progressbar-marks_center">
         
     | 
| 
      
 17 
     | 
    
         
            +
                  <%= t("minimum", scope: "decidim.budgets.projects.order_progress") %>
         
     | 
| 
      
 18 
     | 
    
         
            +
                  <strong class="budget-summary__progressbar-legend-strong">
         
     | 
| 
      
 19 
     | 
    
         
            +
                    <%= budget_to_currency(current_order.minimum_budget) %>
         
     | 
| 
      
 20 
     | 
    
         
            +
                  </strong>
         
     | 
| 
      
 21 
     | 
    
         
            +
                </span>
         
     | 
| 
      
 22 
     | 
    
         
            +
                <% end %>
         
     | 
| 
      
 23 
     | 
    
         
            +
                <%= render partial: "decidim/budgets/projects/order_progress_summary/progressbar_marks_right" %>
         
     | 
| 
      
 24 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 25 
     | 
    
         
            +
            </div>
         
     | 
| 
         @@ -1,3 +1,8 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <% if @focus_mode %>
         
     | 
| 
      
 2 
     | 
    
         
            +
              <% content_for :focus_mode, true %>
         
     | 
| 
      
 3 
     | 
    
         
            +
              <% content_for :focus_mode_return_path, budget_projects_path(budget) %>
         
     | 
| 
      
 4 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       1 
6 
     | 
    
         
             
            <% add_decidim_meta_tags(
         
     | 
| 
       2 
7 
     | 
    
         
             
              title: translated_attribute(project.title),
         
     | 
| 
       3 
8 
     | 
    
         
             
              description: translated_attribute(project.description),
         
     | 
| 
         @@ -20,14 +25,6 @@ edit_link( 
     | 
|
| 
       20 
25 
     | 
    
         
             
            <%= render partial: "exit_modal" %>
         
     | 
| 
       21 
26 
     | 
    
         | 
| 
       22 
27 
     | 
    
         
             
            <div id="project-item">
         
     | 
| 
       23 
     | 
    
         
            -
              <%= render partial: "budget_summary", locals: { include_heading: true, project_item: true, responsive: true } %>
         
     | 
| 
       24 
     | 
    
         
            -
              <% content_for :item_header do %>
         
     | 
| 
       25 
     | 
    
         
            -
                <% unless voting_finished? %>
         
     | 
| 
       26 
     | 
    
         
            -
                  <%= render partial: "budget_summary", locals: { include_heading: true, project_item: true, responsive: false } %>
         
     | 
| 
       27 
     | 
    
         
            -
                  <%= render partial: "budget_excess" %>
         
     | 
| 
       28 
     | 
    
         
            -
                  <%= render partial: "budget_confirm" %>
         
     | 
| 
       29 
     | 
    
         
            -
                <% end %>
         
     | 
| 
       30 
     | 
    
         
            -
              <% end %>
         
     | 
| 
       31 
28 
     | 
    
         
             
              <%= render layout: "layouts/decidim/shared/layout_item", locals: { back_path: budget_projects_path(budget) } do %>
         
     | 
| 
       32 
29 
     | 
    
         
             
                <section class="layout-main__section layout-main__heading">
         
     | 
| 
       33 
30 
     | 
    
         
             
                  <%= cell("decidim/budgets/budget_information_modal", budget) %>
         
     | 
| 
         @@ -38,12 +35,12 @@ edit_link( 
     | 
|
| 
       38 
35 
     | 
    
         
             
                      <%= render partial: "decidim/shared/static_map", locals: { icon_name: "projects", geolocalizable: project } %>
         
     | 
| 
       39 
36 
     | 
    
         
             
                    </div>
         
     | 
| 
       40 
37 
     | 
    
         
             
                  <% end %>
         
     | 
| 
       41 
     | 
    
         
            -
                  <%= cell("decidim/budgets/project_selected_status", project 
     | 
| 
      
 38 
     | 
    
         
            +
                  <%= cell("decidim/budgets/project_selected_status", project) %>
         
     | 
| 
       42 
39 
     | 
    
         | 
| 
       43 
40 
     | 
    
         
             
                  <div class="layout-author">
         
     | 
| 
       44 
41 
     | 
    
         
             
                    <div class="relative flex items-center justify-center w-full">
         
     | 
| 
       45 
42 
     | 
    
         
             
                      <div class="w-10/12 flex items-center gap-4">
         
     | 
| 
       46 
     | 
    
         
            -
                        <h1 class=" 
     | 
| 
      
 43 
     | 
    
         
            +
                        <h1 class="h2 decorator">
         
     | 
| 
       47 
44 
     | 
    
         
             
                          <%= decidim_sanitize translated_attribute project.title %>
         
     | 
| 
       48 
45 
     | 
    
         
             
                        </h1>
         
     | 
| 
       49 
46 
     | 
    
         
             
                      </div>
         
     | 
| 
         @@ -58,7 +55,7 @@ edit_link( 
     | 
|
| 
       58 
55 
     | 
    
         
             
                </section>
         
     | 
| 
       59 
56 
     | 
    
         
             
                <section class="layout-main__section">
         
     | 
| 
       60 
57 
     | 
    
         
             
                  <% if tabs.any? %>
         
     | 
| 
       61 
     | 
    
         
            -
                    <div class="mt-8" data- 
     | 
| 
      
 58 
     | 
    
         
            +
                    <div class="mt-8" data-controller="accordion" data-multiselectable="false" data-collapsible="false">
         
     | 
| 
       62 
59 
     | 
    
         
             
                      <ul class="tab-x-container">
         
     | 
| 
       63 
60 
     | 
    
         
             
                        <% tabs.each_with_index do |tab, i| %>
         
     | 
| 
       64 
61 
     | 
    
         
             
                          <li>
         
     | 
| 
         @@ -89,19 +86,31 @@ edit_link( 
     | 
|
| 
       89 
86 
     | 
    
         
             
                </section>
         
     | 
| 
       90 
87 
     | 
    
         | 
| 
       91 
88 
     | 
    
         
             
                <% content_for :aside do %>
         
     | 
| 
       92 
     | 
    
         
            -
                  <section class="layout-aside__section layout-aside__buttons">
         
     | 
| 
       93 
     | 
    
         
            -
                    <% if voting_open? %>
         
     | 
| 
       94 
     | 
    
         
            -
                      <%= render partial: "project_budget_button", locals: { project: } %>
         
     | 
| 
       95 
     | 
    
         
            -
                    <% end %>
         
     | 
| 
       96 
     | 
    
         
            -
                  </section>
         
     | 
| 
       97 
89 
     | 
    
         
             
                  <section class="layout-aside__section">
         
     | 
| 
       98 
90 
     | 
    
         
             
                    <span class="budget__definition-data__title">
         
     | 
| 
       99 
91 
     | 
    
         
             
                      <%= t("budget", scope: "decidim.budgets.projects.show") %>
         
     | 
| 
       100 
92 
     | 
    
         
             
                    </span>
         
     | 
| 
       101 
93 
     | 
    
         
             
                    <div class="budget__definition-data__number">
         
     | 
| 
       102 
     | 
    
         
            -
                      <%=  
     | 
| 
      
 94 
     | 
    
         
            +
                      <%= budget_to_currency_with_html project.budget_amount %>
         
     | 
| 
       103 
95 
     | 
    
         
             
                    </div>
         
     | 
| 
       104 
96 
     | 
    
         
             
                  </section>
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
                  <% if show_votes_count? %>
         
     | 
| 
      
 99 
     | 
    
         
            +
                    <section class="layout-aside__section">
         
     | 
| 
      
 100 
     | 
    
         
            +
                      <span class="budget__definition-data__title">
         
     | 
| 
      
 101 
     | 
    
         
            +
                        <%= t("votes", scope: "decidim.budgets.projects.show") %>
         
     | 
| 
      
 102 
     | 
    
         
            +
                      </span>
         
     | 
| 
      
 103 
     | 
    
         
            +
                      <div class="budget__definition-data__number" data-spec-project-votes>
         
     | 
| 
      
 104 
     | 
    
         
            +
                        <%= cell "decidim/budgets/project_votes_count", project %>
         
     | 
| 
      
 105 
     | 
    
         
            +
                      </div>
         
     | 
| 
      
 106 
     | 
    
         
            +
                    </section>
         
     | 
| 
      
 107 
     | 
    
         
            +
                  <% end %>
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
                  <% if current_order_checked_out? && resource_added?(project) %>
         
     | 
| 
      
 110 
     | 
    
         
            +
                    <section class="mt-4">
         
     | 
| 
      
 111 
     | 
    
         
            +
                      <%= cell("decidim/budgets/project_voted_hint", project, class: "margin-left-1") %>
         
     | 
| 
      
 112 
     | 
    
         
            +
                    </section>
         
     | 
| 
      
 113 
     | 
    
         
            +
                  <% end %>
         
     | 
| 
       105 
114 
     | 
    
         
             
                <% end %>
         
     | 
| 
       106 
115 
     | 
    
         
             
                <% content_for :item_footer do %>
         
     | 
| 
       107 
116 
     | 
    
         
             
                  <%= comments_for project, polymorphic: [project.budget] %>
         
     | 
| 
         @@ -110,4 +119,8 @@ edit_link( 
     | 
|
| 
       110 
119 
     | 
    
         
             
                  </ul>
         
     | 
| 
       111 
120 
     | 
    
         
             
                <% end %>
         
     | 
| 
       112 
121 
     | 
    
         
             
              <% end %>
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
      
 123 
     | 
    
         
            +
              <% if current_user&.ephemeral? %>
         
     | 
| 
      
 124 
     | 
    
         
            +
                <div class="h-40 bg-transparent"></div>
         
     | 
| 
      
 125 
     | 
    
         
            +
              <% end %>
         
     | 
| 
       113 
126 
     | 
    
         
             
            </div>
         
     | 
    
        data/config/assets.rb
    CHANGED
    
    | 
         @@ -2,8 +2,8 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            base_path = File.expand_path("..", __dir__)
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            Decidim:: 
     | 
| 
       6 
     | 
    
         
            -
            Decidim:: 
     | 
| 
      
 5 
     | 
    
         
            +
            Decidim::Shakapacker.register_path("#{base_path}/app/packs")
         
     | 
| 
      
 6 
     | 
    
         
            +
            Decidim::Shakapacker.register_entrypoints(
         
     | 
| 
       7 
7 
     | 
    
         
             
              decidim_budgets: "#{base_path}/app/packs/entrypoints/decidim_budgets.js",
         
     | 
| 
       8 
8 
     | 
    
         
             
              decidim_budgets_admin: "#{base_path}/app/packs/entrypoints/decidim_budgets_admin.js"
         
     | 
| 
       9 
9 
     | 
    
         
             
            )
         
     | 
    
        data/config/locales/ar.yml
    CHANGED
    
    | 
         @@ -22,10 +22,7 @@ ar: 
     | 
|
| 
       22 
22 
     | 
    
         
             
              decidim:
         
     | 
| 
       23 
23 
     | 
    
         
             
                budgets:
         
     | 
| 
       24 
24 
     | 
    
         
             
                  actions:
         
     | 
| 
       25 
     | 
    
         
            -
                    attachment_collections: المجلدات
         
     | 
| 
       26 
     | 
    
         
            -
                    attachments: مرفقات
         
     | 
| 
       27 
25 
     | 
    
         
             
                    edit: تعديل
         
     | 
| 
       28 
     | 
    
         
            -
                    edit_projects: إدارة المشاريع
         
     | 
| 
       29 
26 
     | 
    
         
             
                    import: استيراد مقترحات للمشاريع
         
     | 
| 
       30 
27 
     | 
    
         
             
                    preview: معاينة
         
     | 
| 
       31 
28 
     | 
    
         
             
                    title: أفعال
         
     | 
| 
         @@ -37,8 +34,6 @@ ar: 
     | 
|
| 
       37 
34 
     | 
    
         
             
                    exports:
         
     | 
| 
       38 
35 
     | 
    
         
             
                      projects: المشاريع
         
     | 
| 
       39 
36 
     | 
    
         
             
                    models:
         
     | 
| 
       40 
     | 
    
         
            -
                      budget:
         
     | 
| 
       41 
     | 
    
         
            -
                        name: ميزانية
         
     | 
| 
       42 
37 
     | 
    
         
             
                      project:
         
     | 
| 
       43 
38 
     | 
    
         
             
                        name: مشروع
         
     | 
| 
       44 
39 
     | 
    
         
             
                    projects:
         
     | 
| 
         @@ -96,7 +91,6 @@ ar: 
     | 
|
| 
       96 
91 
     | 
    
         
             
                      ok: حسنا
         
     | 
| 
       97 
92 
     | 
    
         
             
                    budget_summary:
         
     | 
| 
       98 
93 
     | 
    
         
             
                      are_you_sure: هل أنت متأكد أنك تريد إلغاء تصويتك؟
         
     | 
| 
       99 
     | 
    
         
            -
                      cancel_order: احذف صوتك وابدأ من جديد
         
     | 
| 
       100 
94 
     | 
    
         
             
                      checked_out:
         
     | 
| 
       101 
95 
     | 
    
         
             
                        title: اكتمال التصويت في الميزانية
         
     | 
| 
       102 
96 
     | 
    
         
             
                    count:
         
     | 
| 
         @@ -133,7 +127,5 @@ ar: 
     | 
|
| 
       133 
127 
     | 
    
         
             
                        show_votes: إظهار الأصوات
         
     | 
| 
       134 
128 
     | 
    
         
             
                        votes_choices:
         
     | 
| 
       135 
129 
     | 
    
         
             
                          enabled: تم تمكين التصويت
         
     | 
| 
       136 
     | 
    
         
            -
                statistics:
         
     | 
| 
       137 
     | 
    
         
            -
                  projects_count: مشاريع
         
     | 
| 
       138 
130 
     | 
    
         
             
              index:
         
     | 
| 
       139 
131 
     | 
    
         
             
                confirmed_orders_count: عدد الأصوات
         
     | 
    
        data/config/locales/bg.yml
    CHANGED
    
    | 
         @@ -35,10 +35,7 @@ bg: 
     | 
|
| 
       35 
35 
     | 
    
         
             
                          'true': Не избран за изпълнение
         
     | 
| 
       36 
36 
     | 
    
         
             
                budgets:
         
     | 
| 
       37 
37 
     | 
    
         
             
                  actions:
         
     | 
| 
       38 
     | 
    
         
            -
                    attachment_collections: Папки
         
     | 
| 
       39 
     | 
    
         
            -
                    attachments: Прикачени файлове
         
     | 
| 
       40 
38 
     | 
    
         
             
                    edit: Редактирай
         
     | 
| 
       41 
     | 
    
         
            -
                    edit_projects: Обедини проекти
         
     | 
| 
       42 
39 
     | 
    
         
             
                    import: Импортиране на предложения в проекти
         
     | 
| 
       43 
40 
     | 
    
         
             
                    new_budget: Нов бюджет
         
     | 
| 
       44 
41 
     | 
    
         
             
                    new_project: Нов проект
         
     | 
| 
         @@ -68,8 +65,6 @@ bg: 
     | 
|
| 
       68 
65 
     | 
    
         
             
                    exports:
         
     | 
| 
       69 
66 
     | 
    
         
             
                      projects: Проекти
         
     | 
| 
       70 
67 
     | 
    
         
             
                    models:
         
     | 
| 
       71 
     | 
    
         
            -
                      budget:
         
     | 
| 
       72 
     | 
    
         
            -
                        name: Бюджет
         
     | 
| 
       73 
68 
     | 
    
         
             
                      project:
         
     | 
| 
       74 
69 
     | 
    
         
             
                        name: Проект
         
     | 
| 
       75 
70 
     | 
    
         
             
                    projects:
         
     | 
| 
         @@ -180,6 +175,8 @@ bg: 
     | 
|
| 
       180 
175 
     | 
    
         
             
                  order:
         
     | 
| 
       181 
176 
     | 
    
         
             
                    status:
         
     | 
| 
       182 
177 
     | 
    
         
             
                      title: Вашият глас е приет успешно
         
     | 
| 
      
 178 
     | 
    
         
            +
                  order_pdf:
         
     | 
| 
      
 179 
     | 
    
         
            +
                    title: Вашият глас е приет успешно.
         
     | 
| 
       183 
180 
     | 
    
         
             
                  order_summary_mailer:
         
     | 
| 
       184 
181 
     | 
    
         
             
                    order_summary:
         
     | 
| 
       185 
182 
     | 
    
         
             
                      selected_projects: 'Избраните от Вас проекти са:'
         
     | 
| 
         @@ -203,7 +200,6 @@ bg: 
     | 
|
| 
       203 
200 
     | 
    
         
             
                        title: Максималният брой проекти е надвишен
         
     | 
| 
       204 
201 
     | 
    
         
             
                    budget_summary:
         
     | 
| 
       205 
202 
     | 
    
         
             
                      are_you_sure: Сигурен ли сте, че искате да отмените гласа си?
         
     | 
| 
       206 
     | 
    
         
            -
                      cancel_order: изтрийте Вашия глас
         
     | 
| 
       207 
203 
     | 
    
         
             
                      checked_out:
         
     | 
| 
       208 
204 
     | 
    
         
             
                        description: Вие вече гласувахте бюджета. Ако сте променили решението си, можете да изтриете гласа си.
         
     | 
| 
       209 
205 
     | 
    
         
             
                        title: Гласуването за бюджета приключи
         
     | 
| 
         @@ -229,18 +225,8 @@ bg: 
     | 
|
| 
       229 
225 
     | 
    
         
             
                      assigned: Възложен
         
     | 
| 
       230 
226 
     | 
    
         
             
                      budget: Бюджет
         
     | 
| 
       231 
227 
     | 
    
         
             
                      dynamic_help:
         
     | 
| 
       232 
     | 
    
         
            -
                        keep_adding_projects: Продължете да добавяте проекти
         
     | 
| 
       233 
228 
     | 
    
         
             
                        minimum_reached: Достигнахте минимума, за да можете да гласувате
         
     | 
| 
       234 
     | 
    
         
            -
                        start_adding_projects: Започнете да добавяте проекти
         
     | 
| 
       235 
229 
     | 
    
         
             
                      minimum: Минимум
         
     | 
| 
       236 
     | 
    
         
            -
                      minimum_projects_rule:
         
     | 
| 
       237 
     | 
    
         
            -
                        description: Изберете поне %{minimum_number} желани от Вас проекта и гласувайте, според предпочитанията си за дефиниране на бюджета.
         
     | 
| 
       238 
     | 
    
         
            -
                      projects_rule:
         
     | 
| 
       239 
     | 
    
         
            -
                        description: Изберете най-малко %{minimum_number}, но не повече от %{maximum_number} желани от Вас проекта и гласувайте, според предпочитанията си за дефиниране на бюджета.
         
     | 
| 
       240 
     | 
    
         
            -
                      projects_rule_maximum_only:
         
     | 
| 
       241 
     | 
    
         
            -
                        description: Изберете не повече от %{maximum_number} желани от Вас проекта и гласувайте, според предпочитанията си за дефиниране на бюджета.
         
     | 
| 
       242 
     | 
    
         
            -
                      vote_threshold_percent_rule:
         
     | 
| 
       243 
     | 
    
         
            -
                        description: Присъеденете поне %{minimum_budget} към желаните от вас проекти и гласувайте, според предпочитанията си за дефиниране на бюджета.
         
     | 
| 
       244 
230 
     | 
    
         
             
                    orders:
         
     | 
| 
       245 
231 
     | 
    
         
             
                      highest_cost: Най-висока стойност
         
     | 
| 
       246 
232 
     | 
    
         
             
                      label: Подреждане на проектите по
         
     | 
| 
         @@ -265,7 +251,6 @@ bg: 
     | 
|
| 
       265 
251 
     | 
    
         
             
                      added: Добавено
         
     | 
| 
       266 
252 
     | 
    
         
             
                      all: Всички
         
     | 
| 
       267 
253 
     | 
    
         
             
                    projects_for: Проекти за %{name}
         
     | 
| 
       268 
     | 
    
         
            -
                    select_projects: Изберете Проекти
         
     | 
| 
       269 
254 
     | 
    
         
             
                    show:
         
     | 
| 
       270 
255 
     | 
    
         
             
                      budget: Бюджет
         
     | 
| 
       271 
256 
     | 
    
         
             
                  prompt: Изберете бюджет
         
     | 
| 
         @@ -342,6 +327,5 @@ bg: 
     | 
|
| 
       342 
327 
     | 
    
         
             
                    project_proposal: Предложения, включени в този проект
         
     | 
| 
       343 
328 
     | 
    
         
             
                statistics:
         
     | 
| 
       344 
329 
     | 
    
         
             
                  orders_count: Подкрепа
         
     | 
| 
       345 
     | 
    
         
            -
                  projects_count: Проекти
         
     | 
| 
       346 
330 
     | 
    
         
             
              index:
         
     | 
| 
       347 
331 
     | 
    
         
             
                confirmed_orders_count: Брой гласове
         
     | 
    
        data/config/locales/ca-IT.yml
    CHANGED
    
    | 
         @@ -42,15 +42,15 @@ ca-IT: 
     | 
|
| 
       42 
42 
     | 
    
         
             
                          'true': No s'ha seleccionat per implementar
         
     | 
| 
       43 
43 
     | 
    
         
             
                      taxonomies_part_of_contains:
         
     | 
| 
       44 
44 
     | 
    
         
             
                        label: Taxonomia
         
     | 
| 
      
 45 
     | 
    
         
            +
                  tooltips:
         
     | 
| 
      
 46 
     | 
    
         
            +
                    deleted_projects_info: No podeu eliminar aquest projecte
         
     | 
| 
       45 
47 
     | 
    
         
             
                budgets:
         
     | 
| 
       46 
48 
     | 
    
         
             
                  actions:
         
     | 
| 
       47 
     | 
    
         
            -
                    attachment_collections: Carpetes
         
     | 
| 
       48 
     | 
    
         
            -
                    attachments: Adjunts
         
     | 
| 
       49 
49 
     | 
    
         
             
                    confirm_delete_budget: Segur que vols suprimir aquest pressupost?
         
     | 
| 
       50 
50 
     | 
    
         
             
                    confirm_delete_project: Segur que vols eliminar aquest projecte?
         
     | 
| 
       51 
51 
     | 
    
         
             
                    deleted_budgets_info: Els pressupostos eliminats es poden restaurar des de la paperera.
         
     | 
| 
       52 
52 
     | 
    
         
             
                    edit: Editar
         
     | 
| 
       53 
     | 
    
         
            -
                    edit_projects:  
     | 
| 
      
 53 
     | 
    
         
            +
                    edit_projects: Afegir projectes
         
     | 
| 
       54 
54 
     | 
    
         
             
                    import: Importa propostes a projectes
         
     | 
| 
       55 
55 
     | 
    
         
             
                    new_budget: Afegir pressupost
         
     | 
| 
       56 
56 
     | 
    
         
             
                    new_project: Afegir projecte
         
     | 
| 
         @@ -84,8 +84,6 @@ ca-IT: 
     | 
|
| 
       84 
84 
     | 
    
         
             
                    exports:
         
     | 
| 
       85 
85 
     | 
    
         
             
                      projects: Projectes
         
     | 
| 
       86 
86 
     | 
    
         
             
                    models:
         
     | 
| 
       87 
     | 
    
         
            -
                      budget:
         
     | 
| 
       88 
     | 
    
         
            -
                        name: Pressupost
         
     | 
| 
       89 
87 
     | 
    
         
             
                      project:
         
     | 
| 
       90 
88 
     | 
    
         
             
                        name: Projecte
         
     | 
| 
       91 
89 
     | 
    
         
             
                    projects:
         
     | 
| 
         @@ -179,6 +177,7 @@ ca-IT: 
     | 
|
| 
       179 
177 
     | 
    
         
             
                    cancel_order:
         
     | 
| 
       180 
178 
     | 
    
         
             
                      more_than_one: eliminar el teu vot a %{name} i començar de nou
         
     | 
| 
       181 
179 
     | 
    
         
             
                      only_one: eliminar el teu vot i començar de nou.
         
     | 
| 
      
 180 
     | 
    
         
            +
                    completed: Completat
         
     | 
| 
       182 
181 
     | 
    
         
             
                    count:
         
     | 
| 
       183 
182 
     | 
    
         
             
                      one: "%{count} pressupost"
         
     | 
| 
       184 
183 
     | 
    
         
             
                      other: "%{count} pressupostos"
         
     | 
| 
         @@ -186,6 +185,7 @@ ca-IT: 
     | 
|
| 
       186 
185 
     | 
    
         
             
                    finished_message: Has finalitzat el procés de votació. Gràcies per participar-hi!
         
     | 
| 
       187 
186 
     | 
    
         
             
                    highlighted_cta: Votar a %{name}
         
     | 
| 
       188 
187 
     | 
    
         
             
                    if_change_opinion: Si has canviat d'opinió, pots
         
     | 
| 
      
 188 
     | 
    
         
            +
                    incomplete: Incomplet
         
     | 
| 
       189 
189 
     | 
    
         
             
                    orders:
         
     | 
| 
       190 
190 
     | 
    
         
             
                      highest_cost: Cost més elevat
         
     | 
| 
       191 
191 
     | 
    
         
             
                      label: Ordenar projectes per
         
     | 
| 
         @@ -193,6 +193,8 @@ ca-IT: 
     | 
|
| 
       193 
193 
     | 
    
         
             
                      random: Ordre aleatori
         
     | 
| 
       194 
194 
     | 
    
         
             
                    progress: Acaba la votació
         
     | 
| 
       195 
195 
     | 
    
         
             
                    remove_vote: Eliminar el vot
         
     | 
| 
      
 196 
     | 
    
         
            +
                    see_projects: Mostra els projectes
         
     | 
| 
      
 197 
     | 
    
         
            +
                    see_results: Veure els resultats
         
     | 
| 
       196 
198 
     | 
    
         
             
                    show: Mostra els projectes
         
     | 
| 
       197 
199 
     | 
    
         
             
                    vote: Vota
         
     | 
| 
       198 
200 
     | 
    
         
             
                    voted_budgets: Pressupostos votats
         
     | 
| 
         @@ -223,6 +225,7 @@ ca-IT: 
     | 
|
| 
       223 
225 
     | 
    
         
             
                      pending_to_vote_budgets:
         
     | 
| 
       224 
226 
     | 
    
         
             
                        one: Pots votar en un altre pressupost
         
     | 
| 
       225 
227 
     | 
    
         
             
                        other: Pots votar en altres pressupostos
         
     | 
| 
      
 228 
     | 
    
         
            +
                      share_text: "Acabes de votar pels teus projectes favorits a: \"%{space_name}\"!  🎉 Pots seguir votant a: \"%{component_url}\""
         
     | 
| 
       226 
229 
     | 
    
         
             
                      share_vote: Comparteix el teu vot
         
     | 
| 
       227 
230 
     | 
    
         
             
                      title: El teu vot s'ha tramitat correctament
         
     | 
| 
       228 
231 
     | 
    
         
             
                      view_votes:
         
     | 
| 
         @@ -231,12 +234,16 @@ ca-IT: 
     | 
|
| 
       231 
234 
     | 
    
         
             
                      votes_count:
         
     | 
| 
       232 
235 
     | 
    
         
             
                        one: El teu vot a %{budget_name} ja s'ha registrat.
         
     | 
| 
       233 
236 
     | 
    
         
             
                        other: El teus %{count} vots a %{budget_name} ja s'han registrat.
         
     | 
| 
      
 237 
     | 
    
         
            +
                  order_pdf:
         
     | 
| 
      
 238 
     | 
    
         
            +
                    text: 'Has votat a "%{space_name}", on has seleccionat els projectes següents:'
         
     | 
| 
      
 239 
     | 
    
         
            +
                    title: El teu vot s'ha acceptat correctament.
         
     | 
| 
       234 
240 
     | 
    
         
             
                  order_summary_mailer:
         
     | 
| 
       235 
241 
     | 
    
         
             
                    order_summary:
         
     | 
| 
       236 
242 
     | 
    
         
             
                      selected_projects: 'Els projectes que has seleccionat són:'
         
     | 
| 
       237 
243 
     | 
    
         
             
                      subject: Has votat a l'espai de participació %{space_name}
         
     | 
| 
       238 
244 
     | 
    
         
             
                      voted_on_space: Has votat al pressupost %{budget_name} de l'espai de participació %{space_name}.
         
     | 
| 
       239 
245 
     | 
    
         
             
                  projects:
         
     | 
| 
      
 246 
     | 
    
         
            +
                    back_to_budgets: Tornar als pressupostos
         
     | 
| 
       240 
247 
     | 
    
         
             
                    budget_confirm:
         
     | 
| 
       241 
248 
     | 
    
         
             
                      are_you_sure: Si canvies d'opinió, pots modificar el teu vot més tard.
         
     | 
| 
       242 
249 
     | 
    
         
             
                      cancel: Cancel·lar
         
     | 
| 
         @@ -254,7 +261,7 @@ ca-IT: 
     | 
|
| 
       254 
261 
     | 
    
         
             
                        title: Màxim de projectes excedit
         
     | 
| 
       255 
262 
     | 
    
         
             
                    budget_summary:
         
     | 
| 
       256 
263 
     | 
    
         
             
                      are_you_sure: Segur que vols cancel·lar el teu vot?
         
     | 
| 
       257 
     | 
    
         
            -
                      cancel_order:  
     | 
| 
      
 264 
     | 
    
         
            +
                      cancel_order: Esborra el teu vot
         
     | 
| 
       258 
265 
     | 
    
         
             
                      checked_out:
         
     | 
| 
       259 
266 
     | 
    
         
             
                        description: Ja has votat pel pressupost. Si has canviat d'idea, pots esborrar el teu vot.
         
     | 
| 
       260 
267 
     | 
    
         
             
                        title: Vot pels pressupostos completat
         
     | 
| 
         @@ -280,18 +287,16 @@ ca-IT: 
     | 
|
| 
       280 
287 
     | 
    
         
             
                      assigned: Assignat
         
     | 
| 
       281 
288 
     | 
    
         
             
                      budget: Pressupost
         
     | 
| 
       282 
289 
     | 
    
         
             
                      dynamic_help:
         
     | 
| 
       283 
     | 
    
         
            -
                        keep_adding_projects: Seguir afegint projectes
         
     | 
| 
       284 
290 
     | 
    
         
             
                        minimum_reached: Has arribat al mínim per a poder votar
         
     | 
| 
       285 
     | 
    
         
            -
                        start_adding_projects: Començar a afegir projectes
         
     | 
| 
       286 
291 
     | 
    
         
             
                      minimum: Mínim
         
     | 
| 
       287 
292 
     | 
    
         
             
                      minimum_projects_rule:
         
     | 
| 
       288 
     | 
    
         
            -
                        description: Selecciona com a mínim %{minimum_number} projectes que vulguis i vota segons les teves preferències 
     | 
| 
      
 293 
     | 
    
         
            +
                        description: "<b>Selecciona com a mínim %{minimum_number} projectes</b> que vulguis i vota segons les teves preferències."
         
     | 
| 
       289 
294 
     | 
    
         
             
                      projects_rule:
         
     | 
| 
       290 
     | 
    
         
            -
                        description: Selecciona entre %{minimum_number} i %{maximum_number} projectes que vulguis i vota segons les teves preferències per a definir el pressupost.
         
     | 
| 
      
 295 
     | 
    
         
            +
                        description: "<b>Selecciona entre %{minimum_number} i %{maximum_number} projectes</b> que vulguis i vota segons les teves preferències per a definir el pressupost."
         
     | 
| 
       291 
296 
     | 
    
         
             
                      projects_rule_maximum_only:
         
     | 
| 
       292 
     | 
    
         
            -
                        description: Selecciona fins a %{maximum_number} projectes que vulguis i vota segons les teves preferències 
     | 
| 
      
 297 
     | 
    
         
            +
                        description: "<b>Selecciona fins a %{maximum_number} projectes</b> que vulguis i vota segons les teves preferències."
         
     | 
| 
       293 
298 
     | 
    
         
             
                      vote_threshold_percent_rule:
         
     | 
| 
       294 
     | 
    
         
            -
                        description:  
     | 
| 
      
 299 
     | 
    
         
            +
                        description: "Selecciona els projectes que vulguis <b>fins com a mínim el %{minimum_budget} del total del pressupost</b> i vota segons les teves preferències."
         
     | 
| 
       295 
300 
     | 
    
         
             
                    orders:
         
     | 
| 
       296 
301 
     | 
    
         
             
                      highest_cost: Major cost
         
     | 
| 
       297 
302 
     | 
    
         
             
                      label: Ordenar projectes per
         
     | 
| 
         @@ -316,9 +321,10 @@ ca-IT: 
     | 
|
| 
       316 
321 
     | 
    
         
             
                      added: Afegit
         
     | 
| 
       317 
322 
     | 
    
         
             
                      all: Tots
         
     | 
| 
       318 
323 
     | 
    
         
             
                    projects_for: Projectes per a %{name}
         
     | 
| 
       319 
     | 
    
         
            -
                    select_projects:  
     | 
| 
      
 324 
     | 
    
         
            +
                    select_projects: Afegeix projectes
         
     | 
| 
       320 
325 
     | 
    
         
             
                    show:
         
     | 
| 
       321 
326 
     | 
    
         
             
                      budget: Pressupost
         
     | 
| 
      
 327 
     | 
    
         
            +
                      votes: Vots
         
     | 
| 
       322 
328 
     | 
    
         
             
                  prompt: Seleccionar pressupost
         
     | 
| 
       323 
329 
     | 
    
         
             
                  vote_reminder_mailer:
         
     | 
| 
       324 
330 
     | 
    
         
             
                    vote_reminder:
         
     | 
| 
         @@ -363,6 +369,11 @@ ca-IT: 
     | 
|
| 
       363 
369 
     | 
    
         
             
                        vote_selected_projects_maximum: Número màxim de projectes a seleccionar
         
     | 
| 
       364 
370 
     | 
    
         
             
                        vote_selected_projects_minimum: Número màxim de projectes a seleccionar
         
     | 
| 
       365 
371 
     | 
    
         
             
                        vote_threshold_percent: Percentatge del pressupost mínim per fer el vot
         
     | 
| 
      
 372 
     | 
    
         
            +
                        voting_rule: Normes per a la votació
         
     | 
| 
      
 373 
     | 
    
         
            +
                        voting_rule_choices:
         
     | 
| 
      
 374 
     | 
    
         
            +
                          minimum_projects: Número mínim de projectes a votar
         
     | 
| 
      
 375 
     | 
    
         
            +
                          selected_projects: Número mínim i màxim de projectes a votar
         
     | 
| 
      
 376 
     | 
    
         
            +
                          threshold_percent: Percentatge mínim del pressupost a invertir
         
     | 
| 
       366 
377 
     | 
    
         
             
                        workflow: Workflow
         
     | 
| 
       367 
378 
     | 
    
         
             
                        workflow_choices:
         
     | 
| 
       368 
379 
     | 
    
         
             
                          all: 'Votar a tots: permet a les participants votar a tots els pressupostos.'
         
     | 
| 
         @@ -436,6 +447,7 @@ ca-IT: 
     | 
|
| 
       436 
447 
     | 
    
         
             
                    project_proposal: Propostes incloses en aquest projecte
         
     | 
| 
       437 
448 
     | 
    
         
             
                statistics:
         
     | 
| 
       438 
449 
     | 
    
         
             
                  orders_count: Suports
         
     | 
| 
       439 
     | 
    
         
            -
                  projects_count:  
     | 
| 
      
 450 
     | 
    
         
            +
                  projects_count: Pressupostos
         
     | 
| 
      
 451 
     | 
    
         
            +
                  projects_count_tooltip: El número de pressupostos participatius i el total de vots emesos en aquests.
         
     | 
| 
       440 
452 
     | 
    
         
             
              index:
         
     | 
| 
       441 
453 
     | 
    
         
             
                confirmed_orders_count: Recompte de vots
         
     |