def get(self): next_event = Event.get_next_event_by_date() if next_event: registration_opens = next_event.date - timedelta(days=14) registration_open = datetime.now() > registration_opens presentations = Presentation.query(ancestor=self.get_group_key()).filter(Presentation.event_key == next_event.key).fetch(100) registrations = Registration.query(ancestor=next_event.key).fetch(100) template_values = { 'registrations_remaining': ( next_event.capacity - Registration.query(ancestor=next_event.key).count(next_event.capacity) ), 'registrations': registrations, 'event': next_event, 'presentations': presentations, 'registration_open': registration_open, 'registration_opens': registration_opens } self.render('register.html', template_values) else: self.response.write('There is no next event setup')
def index(self): next_event = Event.get_next_event_by_date() if next_event: ancestor_key = next_event.key registrations_query = Registration.query(ancestor=ancestor_key).order(Registration.name) registrations = registrations_query.fetch(100) template_values = { 'registrations': registrations, 'event_name': urllib.quote_plus(next_event.title), } self.render('registrations.html', template_values) else: self.response.write('Event name not specified')
def test_PostingARegistrationShouldSendAConfirmationEmailWithLink(self): #Arrange self.create_event(capacity=20) self.mail_stub = self.testbed.get_stub(testbed.MAIL_SERVICE_NAME) form = self.testapp.get("/register").form form['email_address'] = '*****@*****.**' form['name'] = 'Bob Smith' form['twitter_handle'] = '@bob' #Act response = form.submit().follow() #Assert registration = Registration.query().fetch(1)[0]; messages = self.mail_stub.get_sent_messages(to='*****@*****.**') self.assertEqual(1, len(messages)) self.assertEqual('*****@*****.**', messages[0].sender) self.assertTrue('/registration/' + registration.key.urlsafe() in messages[0].body.payload, 'email should contain a link to the registration')