Sha256: 95872ceb548acbffde7fdbf265c081fd8e7204d0b2e6283cc02cf258e2ba9a4e
Contents?: true
Size: 1.17 KB
Versions: 17
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true require "active_support/concern" module Decidim module Budgets # Shared behaviour for controllers that need the current order to be present. module NeedsCurrentOrder extend ActiveSupport::Concern included do helper_method :current_order, :can_have_order?, :voted_for? # The current order created by the user. # # Returns an Order. def current_order @current_order ||= Order.includes(:projects).find_or_initialize_by(user: current_user, budget:) end def current_order=(order) @current_order = order end def persisted_current_order current_order if current_order&.persisted? end def can_have_order? current_user.present? && voting_open? && current_participatory_space.can_participate?(current_user) && allowed_to?(:create, :order, budget:, workflow: current_workflow) end # Return true if the user has voted the project def voted_for?(project) current_order && current_order.projects.include?(project) end end end end end
Version data entries
17 entries across 17 versions & 1 rubygems