Fix checking in something that is checked in multiple times

This commit is contained in:
Raphael Michel
2018-08-14 08:56:53 +02:00
parent a01edecaef
commit 0cbacbb959

View File

@@ -116,10 +116,13 @@ def perform_checkin(op: OrderPosition, clist: CheckinList, given_answers: dict,
require_answers
)
else:
ci, created = Checkin.objects.get_or_create(position=op, list=clist, defaults={
'datetime': dt,
'nonce': nonce,
})
try:
ci, created = Checkin.objects.get_or_create(position=op, list=clist, defaults={
'datetime': dt,
'nonce': nonce,
})
except Checkin.MultipleObjectsReturned:
ci, created = Checkin.objects.filter(position=op, list=clist).last(), False
if created or (nonce and nonce == ci.nonce):
if created: