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

Version Path
erp_app-3.1.16 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.15 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.14 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.13 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.12 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.11 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.10 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.9 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.8 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.7 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.6 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.5 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.4 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.3 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.2 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.0.16 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.0.15 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.1 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.1.0 app/controllers/erp_app/desktop/security_management/base_controller.rb
erp_app-3.0.14 app/controllers/erp_app/desktop/security_management/base_controller.rb