# File vendor/plugins/sortable_column_headers/lib/sortable_column_headers.rb, line 226
  def get_data_name_for_sort_param(sortable_name, *args)
    if args.size >= 1
      if args.first.kind_of?(Class)
        model = args.first
        if args.size >= 2
          field = args[1].to_s
          if args.size == 3
            data_name = args[2].to_s # col_alias
          else args.size == 2
            data_name = model.table_name+'.'+field
          end
        else
          raise sch_err_msg
        end

      # BEGIN - The "new" way ...
      elsif args.first.kind_of?(Hash)

        if !args.first[:model].blank? && args.first[:model].kind_of?(Class)
          model = args.first[:model]
          if !args.first[:field].blank?
            field = args.first[:field].to_s
            data_name = model.table_name+'.'+field
          end
        elsif !args.first[:field].blank? || !args.first[:alias].blank?
          if !args.first[:field].blank?
            field = args.first[:field].to_s
            data_name = field
          end
          if !args.first[:alias].blank?
            col_alias = args.first[:alias].to_s
            if col_alias[-1].chr == '!'
              col_alias.chop!
              got_chopped = true
            end
            data_name = col_alias
          end
        else
          raise sch_err_msg
        end
      # END - The "new" way

      else
        data_name = args.first.to_s
        if data_name[-1].chr == '!'
          data_name.chop!
          got_chopped = true
        end
      end
    else
      raise sch_err_msg
    end
    data_name ||= nil
    got_chopped ||= false
  
    return data_name, got_chopped
  end