app/controllers/decidim/budgets/admin/projects_controller.rb in decidim-budgets-0.27.0 vs app/controllers/decidim/budgets/admin/projects_controller.rb in decidim-budgets-0.27.1

- old
+ new

@@ -150,12 +150,12 @@ scope: "decidim.budgets.admin" ) end on(:update_projects_selection) do - flash.now[:notice] = update_projects_bulk_response_successful(@response, :selected) - flash.now[:alert] = update_projects_bulk_response_errored(@response, :selected) + flash.now[:notice] = update_projects_bulk_response_successful(@response, :selected, selection: @selection) + flash.now[:alert] = update_projects_bulk_response_errored(@response, :selected, selection: @selection) end end respond_to do |format| format.js { render :update_attribute, locals: { form_selector: "#js-form-change-selected-projects", attribute_selector: "#selected_value" } } @@ -186,62 +186,50 @@ def project @project ||= projects.find(params[:id]) end - def update_projects_bulk_response_successful(response, subject) + def update_projects_bulk_response_successful(response, subject, extra = {}) return if response[:successful].blank? + interpolations = { + subject_name: response[:subject_name], + projects: response[:successful].to_sentence + } + case subject when :category - t( - "projects.update_category.success", - subject_name: response[:subject_name], - projects: response[:successful].to_sentence, - scope: "decidim.budgets.admin" - ) + t("projects.update_category.success", scope: "decidim.budgets.admin", **interpolations) when :scope - t( - "projects.update_scope.success", - subject_name: response[:subject_name], - projects: response[:successful].to_sentence, - scope: "decidim.budgets.admin" - ) + t("projects.update_scope.success", scope: "decidim.budgets.admin", **interpolations) when :selected - t( - "projects.update_selected.success", - subject_name: response[:subject_name], - projects: response[:successful].to_sentence, - scope: "decidim.budgets.admin" - ) + if extra[:selection] + t("projects.update_selected.success.selected", scope: "decidim.budgets.admin", **interpolations) + else + t("projects.update_selected.success.unselected", scope: "decidim.budgets.admin", **interpolations) + end end end - def update_projects_bulk_response_errored(response, subject) + def update_projects_bulk_response_errored(response, subject, extra = {}) return if response[:errored].blank? + interpolations = { + subject_name: response[:subject_name], + projects: response[:errored].to_sentence + } + case subject when :category - t( - "projects.update_category.invalid", - subject_name: response[:subject_name], - projects: response[:errored].to_sentence, - scope: "decidim.budgets.admin" - ) + t("projects.update_category.invalid", scope: "decidim.budgets.admin", **interpolations) when :scope - t( - "projects.update_scope.invalid", - subject_name: response[:subject_name], - projects: response[:errored].to_sentence, - scope: "decidim.budgets.admin" - ) + t("projects.update_scope.invalid", scope: "decidim.budgets.admin", **interpolations) when :selected - t( - "projects.update_selected.invalid", - subject_name: response[:subject_name], - projects: response[:errored].to_sentence, - scope: "decidim.budgets.admin" - ) + if extra[:selection] + t("projects.update_selected.invalid.selected", scope: "decidim.budgets.admin", **interpolations) + else + t("projects.update_selected.invalid.unselected", scope: "decidim.budgets.admin", **interpolations) + end end end end end end