예제 #1
0
 def _copySessionToForm(self, session):
     """
     Converts a session object into a session_form message
     :param session: A session object
     :return: session_form
     """
     session_form = SessionForm()
     exclusions = ['typeOfSession', 'speaker']
     session_form = ndb_to_message(session, session_form, exclusions)
     if session.typeOfSession:
         session_form.typeOfSession = SessionType(session.typeOfSession)
     if session.speaker:
         session_form.speaker = self._getSpeakerFormFromWsKey(
             session.speaker)
     session_form.check_initialized()
     return session_form
예제 #2
0
 def createSpeaker(self, request):
     """ Create a speaker """
     # Make sure the user is logged in.
     user = endpoints.get_current_user()
     if not user:
         raise endpoints.UnauthorizedException('Authorization required.')
     user_id = getUserId(user)
     user_key = ndb.Key(Profile, user_id)
     # Create the Speaker object
     speaker = Speaker()
     # Copy the fields from the request to the Speaker
     speaker = message_to_ndb(request, speaker)
     # Allocate the Speaker id and set the key with the User as parent
     speaker_id = speaker.allocate_ids(size=1, parent=user_key)[0]
     speaker.key = ndb.Key(Speaker, speaker_id, parent=user_key)
     # Write the speaker to the db
     speaker.put()
     # Create a SpeakerForm and copy the fields from the request
     speaker_form = SpeakerForm()
     speaker_form = ndb_to_message(speaker, speaker_form)
     # Send back the SpeakerForm including the websafe key
     return speaker_form
예제 #3
0
 def _copySpeakerToForm(self, speaker):
     """ Copies the fields from a Speaker object to a Speaker message """
     speaker_form = SpeakerForm()
     speaker_form = ndb_to_message(speaker, speaker_form)
     speaker_form.check_initialized()
     return speaker_form