Class: ErpApp::Desktop::SecurityManagement::BaseController

Inherits:
BaseController show all
Defined in:
app/controllers/erp_app/desktop/security_management/base_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#index

Instance Method Details

#searchObject

used for related_searchbox



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/controllers/erp_app/desktop/security_management/base_controller.rb', line 7

def search
  if params[:model].blank? or (params[:displayField].blank? and params[:search_fields].blank?)
    render :inline => '[]'
  else
    related_model = params[:model].camelize.constantize
    query = related_model

    unless params[:search_fields].blank?
      #related_searchbox
      search_fields = params[:search_fields].split(',')
      unless params[:query].blank?
        sql = ''
        search_fields.each_with_index do |f,i|
          sql += " OR " if i > 0
          sql += "UPPER(#{f}) LIKE UPPER('%#{params[:query]}%')"
        end
        query = query.where(sql)
      end
      query = query.paginate(:page => page, :per_page => per_page)
    end

    total = query.count
    data = query.all
    render :inline => { :data => data, :total => total}.to_json
  end
end