Class: Decidim::Budgets::OrdersController
Overview
Exposes the order resource so users can checkout it.
Instance Method Summary
collapse
#current_workflow, #resource_added?, #show_votes_count?, #voting_finished?, #voting_open?
Instance Method Details
#checkout ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'app/controllers/decidim/budgets/orders_controller.rb', line 13
def checkout
enforce_permission_to :vote, :project, order: current_order, budget:, workflow: current_workflow
Checkout.call(current_order) do
on(:ok) do
redirect_to status_budget_order_path(budget)
end
on(:invalid) do
flash.now[:alert] = I18n.t("orders.checkout.error", scope: "decidim")
redirect_to budgets_path
end
end
end
|
#destroy ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'app/controllers/decidim/budgets/orders_controller.rb', line 28
def destroy
CancelOrder.call(current_order) do
on(:ok) do
flash[:notice] = I18n.t("orders.destroy.success", scope: "decidim")
redirect_to redirect_path
end
on(:invalid) do
flash.now[:alert] = I18n.t("orders.destroy.error", scope: "decidim")
redirect_to redirect_path
end
end
end
|
#export_pdf ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'app/controllers/decidim/budgets/orders_controller.rb', line 46
def export_pdf
enforce_permission_to :export_pdf, :order, order: current_order
pdf_export = Decidim::Budgets::OrderPDF.new(current_order).render
output = if pdf_signature_service
pdf_signature_service.new(pdf: pdf_export.read).signed_pdf
else
pdf_export.read
end
send_data output, filename: "order_#{current_order.id}.pdf", type: "application/pdf"
end
|
#status ⇒ Object
42
43
44
|
# File 'app/controllers/decidim/budgets/orders_controller.rb', line 42
def status
redirect_to redirect_path unless current_order.persisted?
end
|