def post(self): user = tusers.get_current_user() if user: #Check if we are modifying a tournament or making a new one if self.request.get('id'): new_tournament = ndb.Key('Tournament', int(self.request.get('id'))).get() else: new_tournament = Tournament() new_tournament.name = self.request.get('name') new_tournament.owner = [user.key] new_tournament.trackpin = pin_gen() dates_valid = True try: new_tournament.start = datetime.datetime.strptime(self.request.get('start'), '%Y-%m-%d').date() new_tournament.end = datetime.datetime.strptime(self.request.get('end'), '%Y-%m-%d').date() except ValueError: dates_valid = False if (dates_valid and len(new_tournament.name) > 0): new_tournament.put() #Create a registration record reg = new_tournament.preRegRecord().get() if (reg == None): reg = PreRegRecord(parent=new_tournament.key) reg.open = False reg.put() #Send the user back to the tournaments page self.redirect('/tournaments') else: self.redirect(tusers.create_login_url(self.request.uri))