def post(self, vanity_url=None, operation=None, key=None): logging.info('ProviderScheduleHandler POST') # instantiate and fill the form schedule_form = ProviderScheduleForm().get_form(self.request.POST, obj=Schedule()) provider = db.get_provider_from_vanity_url(vanity_url) error_messages = None if schedule_form.validate(): # Store schedule if operation == 'add': new_schedule = Schedule() schedule_form.populate_obj(new_schedule) new_schedule.provider = provider.key new_schedule.put() # stored eduction logging.debug("(ProviderSchedule.post) New schedule %s " % new_schedule) elif operation == 'edit': schedule_key = ndb.Key(urlsafe=key) if schedule_key: schedule = schedule_key.get() schedule_form.populate_obj(schedule) schedule.put() # stored logging.info( "(ProviderEducationHandler.post) Stored schedule key=%s" % schedule.key) else: logging.info( "(ProviderEducationHandler.post) No schedule found for key %s" % key) else: logging.error('Operation Not handled %s' % operation) self.redirect('/provider/schedule/%s' % provider.vanity_url) else: error_messages = schedule_form.errors logging.info('Schedule form did not validate: %s' % error_messages) kwargs = {} kwargs['schedule_form'] = schedule_form kwargs['edit_key'] = key self.render_schedule(provider, **kwargs)