Merge branch 'master' into production

This commit is contained in:
Matt Lott 2015-10-09 14:26:54 -07:00
commit 4c763a86ce
3 changed files with 8 additions and 12 deletions
app
server/commons

View file

@ -265,8 +265,7 @@ mixin invite-tab
p(data-i18n="courses.invite_link_p_2") p(data-i18n="courses.invite_link_p_2")
.form .form
.form-group .form-group
textarea#invite-emails-textarea.form-control( textarea#invite-emails-textarea.form-control
rows=3, data-i18n="[placeholder]courses.enter_emails")
.help-block(data-i18n="courses.enter_emails") .help-block(data-i18n="courses.enter_emails")
.form-group .form-group
button#invite-btn.btn.btn-success(data-i18n="courses.send_invites") button#invite-btn.btn.btn-success(data-i18n="courses.send_invites")

View file

@ -30,7 +30,7 @@ module.exports = class TrialRequestsView extends RootView
-1 -1
else else
1 1
@trialRequests = new CocoCollection([], { url: '/db/trial.request', model: TrialRequest, comparator: sortRequests }) @trialRequests = new CocoCollection([], { url: '/db/trial.request?conditions[sort]=-_id&conditions[limit]=500', model: TrialRequest, comparator: sortRequests })
@supermodel.loadCollection(@trialRequests, 'trial-requests', {cache: false}) @supermodel.loadCollection(@trialRequests, 'trial-requests', {cache: false})
getRenderData: -> getRenderData: ->

View file

@ -179,21 +179,18 @@ module.exports = class Handler
# if it's not a text search but the user is an admin, let him try stuff anyway # if it's not a text search but the user is an admin, let him try stuff anyway
else if req.user?.isAdmin() else if req.user?.isAdmin()
# admins can send any sort of query down the wire # admins can send any sort of query down the wire
# Example URL: http://localhost:3000/db/user?filter[anonymous]=true
filter = {} filter = {}
filter[key] = (val for own key, val of req.query.filter when key not in specialParameters) if 'filter' of req.query filter[key] = JSON.parse(val) for own key, val of req.query.filter when key not in specialParameters if 'filter' of req.query
query = @modelClass.find(filter) query = @modelClass.find(filter)
# Conditions are chained query functions, for example: query.find().limit(20).sort('-dateCreated') # Conditions are chained query functions, for example: query.find().limit(20).sort('-dateCreated')
conditions = JSON.parse(req.query.conditions || '[]') # Example URL: http://localhost:3000/db/user?conditions[limit]=20&conditions[sort]=-dateCreated
hasLimit = false hasLimit = false
try try
for condition in conditions for own key, val of req.query.conditions
name = condition[0] query = query[key](val)
f = query[name] hasLimit ||= key is 'limit'
args = condition[1..]
query = query[name](args...)
hasLimit ||= f is 'limit'
catch e catch e
return @sendError(res, 422, 'Badly formed conditions.') return @sendError(res, 422, 'Badly formed conditions.')
query.limit(2000) unless hasLimit query.limit(2000) unless hasLimit