Files
grecia/app/controllers/management/spending_proposals_controller.rb
2016-03-29 18:47:49 +02:00

47 lines
1.4 KiB
Ruby

class Management::SpendingProposalsController < Management::BaseController
before_action :check_verified_user
def new
@spending_proposal = SpendingProposal.new
end
def create
@spending_proposal = SpendingProposal.new(spending_proposal_params)
@spending_proposal.author = managed_user
if @spending_proposal.save_with_captcha
redirect_to management_spending_proposal_path(@spending_proposal), notice: t('flash.actions.create.notice', resource_name: t("activerecord.models.spending_proposal", count: 1))
else
render :new
end
end
def show
@spending_proposal = SpendingProposal.find(params[:id])
set_spending_proposal_votes(@spending_proposal)
end
private
def spending_proposal_params
params.require(:spending_proposal).permit(:title, :description, :external_url, :geozone_id, :terms_of_service, :captcha, :captcha_key)
end
def check_verified_user
unless current_user.level_two_or_three_verified?
redirect_to management_document_verifications_path, alert: t("management.spending_proposals.alert.unverified_user")
end
end
def current_user
managed_user
end
# This should not be necessary. Maybe we could create a specific show view for managers.
def set_spending_proposal_votes(spending_proposals)
@spending_proposal_votes = current_user ? current_user.spending_proposal_votes(spending_proposals) : {}
end
end