diff --git a/tabellio/contest/contest.py b/tabellio/contest/contest.py index 6d1c856..1878dee 100644 --- a/tabellio/contest/contest.py +++ b/tabellio/contest/contest.py @@ -85,6 +85,15 @@ class Participate(BrowserView): new_id = '%s-%s' % (new_id, counter) break + for attr in ('name', 'address', 'zipcode', 'locality', 'phone', + 'email', 'answer1', 'answer2'): + if not self.request.form.get(attr, '').strip(): + self.context.plone_utils.addPortalMessage( + _(u'You must fill all fields to participate.'), + type='warning') + self.request.response.redirect('./') + return + type_info = portal_types.getTypeInfo('tabellio.contest.participant') type_info._constructInstance(self.context, new_id) object = self.context[new_id] @@ -105,6 +114,11 @@ class PickWinner(BrowserView): if potential_winners: winner = random.SystemRandom().choice(potential_winners) winner.winner = True + self.context.plone_utils.addPortalMessage( + _(u'A winner has been picked.')) + else: + self.context.plone_utils.addPortalMessage( + _(u'No winner could be found.'), type='error') self.request.response.redirect('./participants')