Allow editing of linked deliveries and orders at invoice

This commit is contained in:
Patrick Gansterer 2016-03-11 13:23:13 +01:00
parent 14e2fd179e
commit efb929e64f
12 changed files with 72 additions and 34 deletions

View file

@ -14,9 +14,21 @@ class Finance::InvoicesController < ApplicationController
@invoice = Invoice.new :supplier_id => params[:supplier_id]
@invoice.deliveries << Delivery.find_by_id(params[:delivery_id]) if params[:delivery_id]
@invoice.orders << Order.find_by_id(params[:order_id]) if params[:order_id]
fill_deliveries_and_orders_collection @invoice.id, @invoice.supplier_id
end
def edit
fill_deliveries_and_orders_collection @invoice.id, @invoice.supplier_id
end
def form_on_supplier_id_change
fill_deliveries_and_orders_collection params[:invoice_id], params[:supplier_id]
render :layout => false
end
def fill_deliveries_and_orders_collection(invoice_id, supplier_id)
@deliveries_collection = Delivery.where('invoice_id = ? OR (invoice_id IS NULL AND supplier_id = ?)', invoice_id, supplier_id).order(:delivered_on)
@orders_collection = Order.where('invoice_id = ? OR (invoice_id IS NULL AND supplier_id = ? AND state = ?)', invoice_id, supplier_id, 'finished').order(:ends)
end
def create