OSDN Git Service

9f479ef19777873ee1f4ec7cde8664fa576565b8
[elecoma/elecoma.git] / app / controllers / admin / suppliers_controller.rb
1 class Admin::SuppliersController < Admin::BaseController
2   #共通
3   resource_controller
4   before_filter :admin_permission_check_supplier
5   before_filter :check_supplier_use
6   before_filter :check_default,:only => [:edit,:confirm]
7   
8   def search
9     @condition = SupplierSearchForm.new(params[:condition])
10     unless @condition.valid?
11       render :action => "index"
12       return
13     end
14
15     sql_condition, conditions = SupplierSearchForm.get_sql_condition(@condition)
16     sql = SupplierSearchForm.get_sql_select + sql_condition
17     sqls = [sql]
18     conditions.each do |c|
19       sqls << c
20     end
21     @suppliers = Supplier.paginate_by_sql(sqls,
22                                           :page => params[:page],
23                                           :per_page => @condition.per_page ||10,
24                                           :order => "id")  
25   end
26   
27   edit.before do
28     get_supplier    
29   end
30   
31   #確認画面
32   def confirm
33     if !params[:id].blank?
34       get_supplier
35     else  
36       @supplier = Supplier.new(params[:supplier])
37     end
38     #入力チェック
39     unless @supplier.valid?
40       if !params[:id].blank?
41         render :action => :edit
42       else
43         render :action => :new
44       end
45       return
46     end
47   end
48   #遷移先指定  
49   [create, update,destroy].each do |action|
50     action.wants.html do
51       redirect_to :action => "index"
52     end
53   end
54   #仕入先を使用しているかしないと判断のフィルタ
55   def check_supplier_use
56     unless @system_supplier_use_flag
57       redirect_to :controller=>"/admin/home"
58       return
59     end
60   end
61   #編集・削除の時、ID=1かどうかチェック
62   #ID=1のデータは編集不可、削除不可にさせる
63   def check_default
64     if params[:id].to_i == Supplier::DEFAULT_SUPPLIER_ID
65       redirect_to :controller=>"/admin/suppliers"
66       return
67     end
68   end
69   private
70   def get_supplier
71       @supplier = Supplier.find_by_id(params[:id])
72       @supplier.attributes = params[:supplier]    
73   end  
74 end