def visit_save_view(request): health_id = request.matchdict['health_id'] form_id = request.matchdict["form"] visit_date = request.POST["visit_date"] health_unit = request.POST["health_unit"] observations = [] person = None with transaction.manager: person = models.DBSession.query(models.Person).\ filter(models.Person.health_id == health_id).first() form = Form(request, schema=VisitSchema()) if form.validate(): for param,value in request.POST.iteritems(): try: param =int(param) print param, value,'\n' with transaction.manager: concept = models.DBSession.query(models.Concept).get(param) if concept: observation = models.Observation() observation.concept = param observation.concept_value observations.append(observation) except ValueError: continue visit = form.bind(models.Visit()) visit.person = person.id visit.observations = observations models.DBSession.add(visit) models.DBSession.flush() #with transaction.manager: # visit.observations = observations # models.DBSession.merge(visit) else: #print form.all_errors() print form.is_error(visit_date) print request.POST return HTTPFound(request.route_url("patients_list_page"))
def visit_save_view(request): health_id = request.matchdict["health_id"] form_id = request.matchdict["form"] visit_date = request.POST["visit_date"] health_unit = request.POST["health_unit"] observations = [] person = None with transaction.manager: person = models.DBSession.query(models.Person).filter(models.Person.health_id == health_id).first() form = Form(request, schema=VisitSchema()) if form.validate(): for param, value in request.POST.iteritems(): try: param = int(param) print param, value, "\n" with transaction.manager: concept = models.DBSession.query(models.Concept).get(param) if concept: observation = models.Observation() observation.concept = param observation.concept_value observations.append(observation) except ValueError: continue visit = form.bind(models.Visit()) visit.person = person.id visit.observations = observations models.DBSession.add(visit) models.DBSession.flush() # with transaction.manager: # visit.observations = observations # models.DBSession.merge(visit) else: # print form.all_errors() print form.is_error(visit_date) print request.POST return HTTPFound(request.route_url("patients_list_page"))
def test_validate_bad_input_with_validators(self): from pyramid_simpleform import Form request = testing.DummyRequest() request.method = "POST" form = Form(request, validators=dict(name=validators.NotEmpty())) self.assert_(not form.validate()) self.assert_(form.is_validated) self.assert_(form.is_error('name')) self.assert_(form.errors_for('name') == ['Please enter a value'])
def test_validate_bad_input_with_validators(self): from pyramid_simpleform import Form request = testing.DummyRequest() request.method = "POST" form = Form(request, validators=dict(name=validators.NotEmpty())) self.assert_(not form.validate()) self.assert_(form.is_validated) self.assert_(form.is_error("name")) self.assert_(form.errors_for("name") == ["Please enter a value"])