Sha256: bc949f802a4c59aa75b406c804d68ecd22c56d16148c82ece34ff94c899f598a

Contents?: true

Size: 965 Bytes

Versions: 1

Compression:

Stored size: 965 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Lausanne
    module Budgets
      module Admin
        # This controller is the abstract class from which all other controllers of
        # this engine inherit.
        #
        # Note that it inherits from `Decidim::Components::BaseController`, which
        # override its layout and provide all kinds of useful methods.
        class ApplicationController < Decidim::Admin::Components::BaseController
          helper_method :budget, :projects, :project

          def budget
            @budget ||= LausanneBudget.where(component: current_component).includes(:projects).find_by(id: params[:lausanne_budget_id])
          end

          def projects
            return unless budget

            @projects ||= budget.projects
          end

          def project
            return unless projects

            @project ||= projects.find(params[:id])
          end
        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/admin/application_controller.rb