Adding posibility of requesting no pagination

stable
Alejandro Alonso 2014-07-02 08:59:08 +02:00
parent e6096518e7
commit 1f6f1f841b
4 changed files with 20 additions and 14 deletions

View File

@ -35,36 +35,37 @@ class HttpService extends taiga.Service
request: (options) ->
options.headers = _.merge({}, options.headers or {}, @.headers())
console.log options
if _.isPlainObject(options.data)
options.data = JSON.stringify(options.data)
return @http(options)
get: (url, params) ->
options = {method: "GET", url: url}
get: (url, params, options) ->
options = _.merge({method: "GET", url: url}, options)
options.params = params if params
return @.request(options)
post: (url, data, params) ->
options = {method: "POST", url: url}
post: (url, data, params, options) ->
options = _.merge({method: "POST", url: url}, options)
options.data = data if data
options.params = params if params
return @.request(options)
put: (url, data, params) ->
options = {method: "PUT", url: url}
put: (url, data, params, options) ->
options = _.merge({method: "PUT", url: url}, options)
options.data = data if data
options.params = params if params
return @.request(options)
patch: (url, data, params) ->
options = {method: "PATCH", url: url}
patch: (url, data, params, options) ->
options = _.merge({method: "PATCH", url: url}, options)
options.data = data if data
options.params = params if params
return @.request(options)
delete: (url, data, params) ->
options = {method: "DELETE", url: url}
delete: (url, data, params, options) ->
options = _.merge({method: "DELETE", url: url}, options)
options.data = data if data
options.params = params if params
return @.request(options)

View File

@ -106,9 +106,13 @@ class RepositoryService extends taiga.Service
return defered.promise
queryMany: (name, params) ->
queryMany: (name, params, options={}) ->
url = @urls.resolve(name)
return @http.get(url, params).then (data) =>
httpOptions = {headers: {}}
if options.disablePagination?
httpOptions.headers["x-disable-pagination"] = "1"
return @http.get(url, params, httpOptions).then (data) =>
return _.map(data.data, (x) => @model.make_model(name, x))
queryOne: (name, id, params) ->

View File

@ -36,7 +36,8 @@ resourceProvider = ($repo, $model) ->
service.list = (projectId) ->
params = {"project": projectId}
return $repo.queryMany("milestones", params).then (milestones) =>
options = {disablePagination:true}
return $repo.queryMany("milestones", params, options).then (milestones) =>
for m in milestones
uses = m.user_stories
uses = _.map(uses, (u) => $model.make_model("userstories", u))