Sha256: 356b999ab5eacd56290dd74ee0c7108e7a4e439fe67a7221625cdf490a7ad3b2
Contents?: true
Size: 1.48 KB
Versions: 20
Compression:
Stored size: 1.48 KB
Contents
module ErpApp module Desktop module SecurityManagement class BaseController < ::ErpApp::Desktop::BaseController # used for related_searchbox 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 protected def page offset = params[:start].to_f offset > 0 ? (offset / params[:limit].to_f).to_i + 1 : 1 end def per_page params[:limit].nil? ? 10 : params[:limit].to_i end end end#SecurityManagement end#Desktop end#ErpApp
Version data entries
20 entries across 20 versions & 1 rubygems