def handle_create_participant(self): ref_id = self.ref_id session = self.session claim = session.query(Claim).filter_by(ref_id=ref_id).first() assert isinstance(claim, Claim) self.set_claim_form(claim) self.set_claim_form_choices(self.claim_form) form = ParticipantCreate(None) self.element_form = InactiveElementEdit(None) if claim.narrative: form.type.data = "individual" else: form.type.data = "class" form.ref_id = 'UNASSIGNED' parts, part_links, active = get_participants(self.session, ref_id) self.participant_form = self.finish_participant_form(form, parts) # ? self.update_graph(claim, parts, part_links) self.set_hidden_fields(claim.ref_id, NOPARTICIPANT, NOELEMENT)
def handle_form_g_e_t_request(self): ref_id = self.ref_id logging.info("GET request") if ref_id: claim = self.session.query(Claim).filter_by(ref_id=ref_id).one() self.set_claim_form(claim) parts, part_links, active = get_participants(self.session, ref_id) if parts: active_element = get_head_element(self.session, active) self.set_participant_form(active, parts) if active_element: choices = element_choices(self.session, active) self.set_element_form(active_element, choices) self.set_hidden_fields(claim.ref_id, active.ref_id, str(active_element.element_id)) else: self.element_form = InactiveElementEdit(None) self.set_hidden_fields(claim.ref_id, active.ref_id, NOELEMENT) if part_links: self.update_graph(claim, parts, part_links) else: form = ParticipantCreate(None) form.ref_id = 'UNASSIGNED' if active: form.type.data = active.type else: form.type.data = 'UNASSIGNED' # should guess from claim self.participant_form = self.finish_participant_form(form, parts) # ? self.element_form = InactiveElementEdit(None) self.set_hidden_fields(claim.ref_id, NOPARTICIPANT, NOELEMENT) else: # GET for claim edit w/o ref_id means create a new claim self.claim_form = ClaimCreate(None) self.set_claim_form_choices(self.claim_form) inactive_participant_form = InactiveParticipantEdit(None) inactive_element_form = InactiveElementEdit(None) self.participant_form = inactive_participant_form self.element_form = inactive_element_form self.set_hidden_fields(NOCLAIM, NOPARTICIPANT, NOELEMENT)