def get(self): profile = get_profile() template_values = make_user_links(self.request.uri) error_list = [] key = self.request.get('key') if key and (key != 'None'): r_key = ndb.Key(urlsafe=key) bike_ride = r_key.get() template_values['submitValue'] = 'Update' if bike_ride: if r_key.parent() != profile.key: error_list.append('Attempt to edit bikeRide not owned by user') else: error_list.append('bikeRide not found') else: key = None bike_ride = BikeRide() template_values['submitValue'] = 'Create' if len(error_list) > 0: logging.info('%s' % error_list) self.redirect('/user/errorPage') else: bike_ride_form = BikeRideForm(obj=bike_ride) bike_ride_form.bike.choices = [(bike.key.urlsafe(), bike.brand + ' ' + bike.model) for bike in Bike.query(ancestor=profile.key).fetch()] bike_ride_form.bike.data = (bike_ride.bike.urlsafe() if bike_ride.bike else 0) bike_ride_form.rideType.choices = [(rideType.key.urlsafe(), rideType.name) for rideType in RideType.query().fetch()] bike_ride_form.rideType.data = (bike_ride.rideType.urlsafe() if bike_ride.rideType else 0) template_values['form'] = bike_ride_form template = jinjaEnvironment.get_template('template/rideentry.html') template_values['menu'] = make_menu(page='user/rideentry') template_values['key'] = key self.response.out.write(template.render(template_values))
def get(self): profile = get_profile() template = jinjaEnvironment.get_template('template/bikeoverview.html') template_values = make_user_links(self.request.uri) template_values['menu'] = make_menu(page='user/bikeoverview') template_values['bikes'] = Bike.query(ancestor=profile.key).fetch() template_values['biketypes'] = BikeType.query().fetch() self.response.out.write(template.render(template_values))
def post(self): error_list = [] profile = get_profile() key = self.request.get('key') if key and (key != 'None'): r_key = ndb.Key(urlsafe=key) bike_ride = r_key.get() if bike_ride: if r_key.parent() != profile.key: error_list.append('Attempt to edit bikeRide not owned by user') else: error_list.append('bikeRide not found') else: bike_ride = BikeRide(parent=profile.key) if len(error_list) > 0: logging.info('%s' % error_list) self.redirect('/user/errorPage') else: form_data = BikeRideForm(self.request.POST, bike_ride) form_data.bike.choices = [(bike.key.urlsafe(), bike.brand) for bike in Bike.query().fetch()] form_data.rideType.choices = [(rideType.key.urlsafe(), rideType.name) for rideType in RideType.query().fetch()] logging.info("data from bikeride form is: %s", form_data) logging.info("data from the bikeride request is: %s", self.request) if form_data.validate(): form_data.bike.data = ndb.Key(urlsafe=form_data.bike.data) form_data.rideType.data = ndb.Key(urlsafe=form_data.rideType.data) form_data.populate_obj(bike_ride) bike_ride.put() self.redirect('/user/rideroverview') else: template = jinjaEnvironment.get_template('template/rideentry.html') template_values = make_user_links(self.request.uri) template_values['menu'] = make_menu(page='user/rideentry') template_values['submitValue'] = 'Fix' template_values['form'] = form_data template_values['key'] = key self.response.out.write(template.render(template_values))