def get(self): message_type = "" message = "" message_code = self.request.get("message") if message_code and Message.message.__contains__(message_code): message = Message.message[message_code] if message_code.startswith("e"): message_type = "error" else: message_type = "success" user = users.get_current_user() user_email = user.email() access_link = users.create_logout_url("/") trips = list(Trip.query().order(Trip.start)) template_values = { "info": AppInfo, "user_email": user_email, "access_link": access_link, "trips": trips, "section": "browse", "message_type": message_type, "message": message } jinja = jinja2.get_jinja2(app=self.app) self.response.write(jinja.render_template("views/trips/browse.html", **template_values))
def post(self): request = to_json(self.request.body) # Verify the token on the Google servers url = "https://www.googleapis.com/oauth2/v3/tokeninfo?id_token={}".format(request.get('token')) result = urlfetch.fetch(url=url, method=urlfetch.GET, ) if result.status_code == 200: content = to_json(result.content) # Need to check the 'aud' property once we have a user to actually test this stuff with. # For now we'll just assume everything worked and return a formatted new user user = User.query(User.email==content.get('email')).get() if user is None: # Need to create a new user user = User() user.email = content.get('email') user.put() self.response.status_int = 200 self.response.headers['Access-Control-Allow-Origin'] = "http://www.myvoyagr.co" self.response.write(user.format()) else: # Get all the trips associated with the user and add it to the response trips = {} trip_qry = Trip.query(ancestor=user.key).fetch() for trip in trip_qry: trips[trip.name] = trip.key.id() self.response.status_int = 200 self.response.headers['Access-Control-Allow-Origin'] = "http://www.myvoyagr.co" self.response.write({'user': user.format(), 'trips' : trips}) return else: self.response.status_int = 400 self.response.headers['Access-Control-Allow-Origin'] = "http://www.myvoyagr.co" self.response.write({'error': 'There was an error authenticating the user'}) return
def get(self, user_id): if user_id is None: self.response.status_int = 400 self.response.write({'error': 'Missing user id'}) return user = ndb.Key(urlsafe=user_id).get() if user is None: self.response.status_int = 400 self.response.write({'error': 'No user exists with that ID'}) return # Get all the trips associated with the user and add it to the response trips = {} trip_qry = Trip.query(ancestor=user.key).fetch() for trip in trip_qry: trips[trip.name] = trip.key.urlsafe() self.response.status_int = 200 self.response.headers['Access-Control-Allow-Origin'] = "https://www.myvoyagr.co" self.response.write({'user': user.format(), 'trips' : trips}) return
def get(self): user = users.get_current_user() user_email = user.email() message_type = "" message = "" message_code = self.request.get("message") if message_code and Message.message.__contains__(message_code): message = Message.message[message_code] if message_code.startswith("e"): message_type = "error" else: message_type = "success" access_link = users.create_logout_url("/") trips = list(Trip.query(Trip.owner == user_email).order(Trip.start)) all_collaborations = dict() for t in trips: trip_collaborations = list( Collaboration.query(Collaboration.trip_key == t.key.id()).order(Collaboration.date)) all_collaborations[t.key.id()] = trip_collaborations template_values = { "info": AppInfo, "user_email": user_email, "access_link": access_link, "trips": trips, "section": "manage", "collaborations": all_collaborations, "message_type": message_type, "message": message } jinja = jinja2.get_jinja2(app=self.app) self.response.write(jinja.render_template("views/trips/manage.html", **template_values))