Project

General

Profile

Feature #10828 ยป restapi-issues-id-param.patch

Jeffrey Clark, 2012-05-03 22:01

View differences:

app/controllers/issues_controller.rb
66 66
        @limit = Setting.feeds_limit.to_i
67 67
      when 'xml', 'json'
68 68
        @offset, @limit = api_offset_and_limit
69

  
70
        @query.available_filters["id"] = { :type => :integer, :order => 1 }
71
        @query.add_short_filter('id', params[:id]) if params[:id]
72

  
73
        @query.available_filters["parent_id"] = { :type => :integer, :order => 1 }
74
        @query.add_short_filter('parent_id', params[:parent_id]) if params[:parent_id]
75

  
76
        @query.available_filters["root_id"] = { :type => :integer, :order => 1 }
77
        @query.add_short_filter('root_id', params[:root_id]) if params[:root_id]
69 78
      else
70 79
        @limit = per_page_option
71 80
      end
app/models/query.rb
720 720
          if is_custom_filter
721 721
            sql = "(#{db_table}.#{db_field} <> '' AND CAST(#{db_table}.#{db_field} AS decimal(60,3)) = #{value.first.to_i})"
722 722
          else
723
            sql = "#{db_table}.#{db_field} = #{value.first.to_i}"
723
            if value.length > 1
724
              sql = "#{db_table}.#{db_field} IN (" + value.collect{|val| val.to_i}.join(",") + ")"
725
            else
726
              sql = "#{db_table}.#{db_field} = #{value.first.to_i}"
727
            end
724 728
          end
725 729
        when :float
726 730
          if is_custom_filter
    (1-1/1)