def post(self): userPreference = userprefs.get_userprefs() try: idSelected = self.request.get('current-trip-select') if idSelected != 0: newCurrentTrip = trip.get_trip(int(idSelected)) userPreference.current_trip = newCurrentTrip userPreference.put() except: # User entered a value that wasn't legal. Ignore for now. logging.warning("Error: Trip not set") self.redirect('/options')
def post(self): currentUserprefs = userprefs.get_userprefs() current_trip_name = self.request.get('trip_name') if len(current_trip_name) == 0: current_trip_name = 'Empty trip name' trip_key_id = int(self.request.get('trip_key_id', default_value=0)) if trip_key_id != 0: current_trip = trip.get_trip(trip_key_id) current_trip.trip_name = current_trip_name current_trip.delete_non_creator_members() else: current_trip = trip.Trip(trip_name = current_trip_name) current_trip.put() currentUserprefs.current_trip = current_trip currentUserprefs.put() # Update the creator Member data creatorMember = member.get_member_for_trip(current_trip.key(), current_trip.created_by_user.email()) creatorMember.display_name = self.request.get('creator_display_name') creatorMember.email_address = member.standardize_email_address(self.request.get('creator_email_address', default_value='')) creatorMember.phone_number = member.standardize_phone_number(self.request.get('creator_phone_number')) creatorMember.put() displayNameValues=self.request.get_all('display_name') emailAddressValues=self.request.get_all('email_address') phoneNumberValues=self.request.get_all('phone_number') for i in range(len(displayNameValues)): try: if len(emailAddressValues[i]) == 0: continue # Make the key name the email address standardized_email_address = member.standardize_email_address(emailAddressValues[i]) newMember = member.get_member_for_trip(current_trip.key(), standardized_email_address) newMember.display_name = displayNameValues[i] newMember.email_address = standardized_email_address newMember.phone_number = member.standardize_phone_number(phoneNumberValues[i]) newMember.put(); # logging.info("Successfully added member.") # logging.info("i=" + str(i) + " displayName = " + displayNameValues[i]) # logging.info("i=" + str(i) + " emailAddressValues = " + emailAddressValues[i].lower()) # logging.info("i=" + str(i) + " phoneNumberValues = " + phoneNumberValues[i]) except: logging.info("Error: Did not add member at index " + str(i) + ".") # TODO: Clean up the transactions!!!! # If an email address got removed then the transactions for the deleted email must go! # That is one solution to this problem. self.redirect('/options')