Skip to content

Commit

Permalink
Merge pull request #1875 from magfest/fix-dupe-badge-num-check
Browse files Browse the repository at this point in the history
Fix badge_num checks
  • Loading branch information
binary1230 committed Jun 17, 2016
2 parents 03fff38 + d253512 commit 44f760f
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions uber/model_checks.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,22 +264,24 @@ def dealer_needs_group(attendee):

@validation.Attendee
def dupe_badge_num(attendee):
if attendee.badge_num != 0 and attendee.session.query(Attendee).filter(id != attendee.id)\
if c.NUMBERED_BADGES and attendee.badge_num != 0 and attendee.session.query(Attendee)\
.filter(Attendee.id != attendee.id)\
.filter_by(badge_type=attendee.badge_type, badge_num=attendee.badge_num).count():
return 'Another attendee already exists with that badge number!'


@validation.Attendee
def invalid_badge_num(attendee):
try:
badge_num = int(attendee.badge_num)
except:
return '{!r} is not a valid badge number'.format(attendee.badge_num)
else:
if attendee.badge_num != 0:
min_num, max_num = c.BADGE_RANGES[attendee.badge_type]
if not (min_num <= badge_num <= max_num):
return '{} badge numbers must fall within {} and {}'.format(attendee.badge_type_label, min_num, max_num)
if c.NUMBERED_BADGES:
try:
badge_num = int(attendee.badge_num)
except:
return '{!r} is not a valid badge number'.format(attendee.badge_num)
else:
if attendee.badge_num != 0:
min_num, max_num = c.BADGE_RANGES[attendee.badge_type]
if not (min_num <= badge_num <= max_num):
return '{} badge numbers must fall within {} and {}'.format(attendee.badge_type_label, min_num, max_num)


@validation.MPointsForCash
Expand Down

0 comments on commit 44f760f

Please sign in to comment.