Another fix for poll handler getting next poll if there are no poll records yet.
This commit is contained in:
parent
89bdb3b790
commit
ab64a335e4
1 changed files with 16 additions and 10 deletions
|
@ -25,17 +25,23 @@ PollHandler = class PollHandler extends Handler
|
||||||
super arguments...
|
super arguments...
|
||||||
|
|
||||||
getNextPoll: (req, res, userPollsRecordID) ->
|
getNextPoll: (req, res, userPollsRecordID) ->
|
||||||
UserPollsRecord.findOne(_id: mongoose.Types.ObjectId(userPollsRecordID)).lean().exec (err, userPollsRecord) =>
|
if userPollsRecordID and userPollsRecordID isnt '-'
|
||||||
return @sendDatabaseError(res, err) if err
|
UserPollsRecord.findOne(_id: mongoose.Types.ObjectId(userPollsRecordID)).lean().exec (err, userPollsRecord) =>
|
||||||
answeredPolls = _.keys(userPollsRecord?.polls ? {})
|
|
||||||
if answeredPolls.length
|
|
||||||
query = {_id: {$nin: (mongoose.Types.ObjectId(pollID) for pollID in answeredPolls)}}
|
|
||||||
else
|
|
||||||
query = {}
|
|
||||||
Poll.findOne(query).sort('priority').exec (err, poll) =>
|
|
||||||
return @sendDatabaseError(res, err) if err
|
return @sendDatabaseError(res, err) if err
|
||||||
return @sendNotFoundError(res) unless poll
|
answeredPolls = _.keys(userPollsRecord?.polls ? {})
|
||||||
@sendSuccess res, @formatEntity(req, poll)
|
@getNextUnansweredPoll req, res, answeredPolls
|
||||||
|
else
|
||||||
|
@getNextUnansweredPoll req, res, []
|
||||||
|
|
||||||
|
getNextUnansweredPoll: (req, res, answeredPolls) ->
|
||||||
|
if answeredPolls.length
|
||||||
|
query = {_id: {$nin: (mongoose.Types.ObjectId(pollID) for pollID in answeredPolls)}}
|
||||||
|
else
|
||||||
|
query = {}
|
||||||
|
Poll.findOne(query).sort('priority').exec (err, poll) =>
|
||||||
|
return @sendDatabaseError(res, err) if err
|
||||||
|
return @sendNotFoundError(res) unless poll
|
||||||
|
@sendSuccess res, @formatEntity(req, poll)
|
||||||
|
|
||||||
delete: (req, res, slugOrID) ->
|
delete: (req, res, slugOrID) ->
|
||||||
return @sendForbiddenError res unless req.user?.isAdmin()
|
return @sendForbiddenError res unless req.user?.isAdmin()
|
||||||
|
|
Reference in a new issue