Sha256: abd76bb5ec2c36dc834081025708521f3a8800a2af5f31b3a028a8d0b8ac4a7d
Contents?: true
Size: 1.89 KB
Versions: 1
Compression:
Stored size: 1.89 KB
Contents
# frozen_string_literal: true module Decidim module Lausanne module Budgets # Exposes the line items resource so users can create and remove from orders. class LineItemsController < Decidim::Lausanne::Budgets::ApplicationController include NeedsCurrentOrder helper_method :budget, :project, :user_record def create enforce_permission_to :vote, :project, project: project, budget: budget, workflow: current_workflow respond_to do |format| AddLineItem.call(persisted_current_order, project, current_user) do on(:ok) do |order| self.current_order = order format.html { redirect_back(fallback_location: lausanne_budget_path(budget)) } format.js { render "update_budget" } end on(:invalid) do render nothing: true, status: :unprocessable_entity end end end end def destroy respond_to do |format| RemoveLineItem.call(current_order, project) do on(:ok) do |order| self.current_order = order format.html { redirect_back(fallback_location: lausanne_budget_path(budget)) } format.js { render "update_budget" } end on(:invalid) do render nothing: true, status: :unprocessable_entity end end end end private def user_record @user_record = current_user_record end def project @project ||= Project.includes(:budget).find_by( id: params.require(:project_id), loz_budgets_budget_id: params.require(:lausanne_budget_id) ) end def budget @budget ||= project.budget end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
decidim-lausanne-budgets-0.1.0 | app/controllers/decidim/lausanne/budgets/line_items_controller.rb |