2012-04-16 08:48:01 +02:00
|
|
|
# encoding: utf-8
|
2009-01-06 11:49:19 +01:00
|
|
|
class SuppliersController < ApplicationController
|
|
|
|
before_filter :authenticate_suppliers, :except => [:index, :list]
|
2009-01-18 17:42:51 +01:00
|
|
|
helper :deliveries
|
2009-01-06 11:49:19 +01:00
|
|
|
|
|
|
|
def index
|
2013-03-16 17:53:24 +01:00
|
|
|
@suppliers = Supplier.undeleted.order(:name)
|
2009-01-18 17:42:51 +01:00
|
|
|
@deliveries = Delivery.recent
|
2009-01-06 11:49:19 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
def show
|
|
|
|
@supplier = Supplier.find(params[:id])
|
2009-01-18 17:42:51 +01:00
|
|
|
@deliveries = @supplier.deliveries.recent
|
2014-02-24 14:33:05 +01:00
|
|
|
@orders = @supplier.orders.recent
|
2009-01-06 11:49:19 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
# new supplier
|
|
|
|
# if shared_supplier_id is given, the new supplier will filled whith its attributes
|
|
|
|
def new
|
|
|
|
if params[:shared_supplier_id]
|
|
|
|
shared_supplier = SharedSupplier.find(params[:shared_supplier_id])
|
2013-06-12 10:47:54 +02:00
|
|
|
@supplier = shared_supplier.suppliers.new(shared_supplier.autofill_attributes)
|
2009-01-06 11:49:19 +01:00
|
|
|
else
|
|
|
|
@supplier = Supplier.new
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def create
|
|
|
|
@supplier = Supplier.new(params[:supplier])
|
|
|
|
if @supplier.save
|
2013-02-08 00:31:09 +01:00
|
|
|
flash[:notice] = I18n.t('suppliers.create.notice')
|
2009-01-08 16:33:27 +01:00
|
|
|
redirect_to suppliers_path
|
2009-01-06 11:49:19 +01:00
|
|
|
else
|
|
|
|
render :action => 'new'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def edit
|
|
|
|
@supplier = Supplier.find(params[:id])
|
|
|
|
end
|
|
|
|
|
|
|
|
def update
|
|
|
|
@supplier = Supplier.find(params[:id])
|
|
|
|
if @supplier.update_attributes(params[:supplier])
|
2013-02-08 00:31:09 +01:00
|
|
|
flash[:notice] = I18n.t('suppliers.update.notice')
|
2009-01-08 16:33:27 +01:00
|
|
|
redirect_to @supplier
|
2009-01-06 11:49:19 +01:00
|
|
|
else
|
|
|
|
render :action => 'edit'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def destroy
|
2009-01-08 16:33:27 +01:00
|
|
|
@supplier = Supplier.find(params[:id])
|
2013-03-16 17:53:24 +01:00
|
|
|
@supplier.mark_as_deleted
|
2013-02-08 00:31:09 +01:00
|
|
|
flash[:notice] = I18n.t('suppliers.destroy.notice')
|
2009-01-08 16:33:27 +01:00
|
|
|
redirect_to suppliers_path
|
2009-01-06 11:49:19 +01:00
|
|
|
rescue => e
|
2013-02-08 00:31:09 +01:00
|
|
|
flash[:error] = I18n.t('errors.general_msg', :msg => e.message)
|
2009-01-08 16:33:27 +01:00
|
|
|
redirect_to @supplier
|
2009-01-06 11:49:19 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
# gives a list with all available shared_suppliers
|
|
|
|
def shared_suppliers
|
|
|
|
@shared_suppliers = SharedSupplier.find(:all)
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|