def form_updates_case(form, case_type=None, parent_case_type=None): if form.form_type == 'module_form': form.requires = 'case' form.actions.update_case = UpdateCaseAction( update={'question1': '/data/question1'}) form.actions.update_case.condition.type = 'always' if parent_case_type: module = form.get_module() module.parent_select.active = True parent_select_module = next( module for module in module.get_app().get_modules() if module.case_type == parent_case_type) module.parent_select.module_id = parent_select_module.unique_id else: case_type = case_type or form.get_module().case_type index = len([ load for load in form.actions.load_update_cases if load.case_type == case_type ]) action = LoadUpdateAction( case_type=case_type, case_tag='load_{}_{}'.format(case_type, index), ) if parent_case_type: parent_action = form.actions.load_update_cases[-1] assert parent_action.case_type == parent_case_type action.parent_tag = parent_action.case_tag form.actions.load_update_cases.append(action)
def form_updates_case(form, case_type=None, parent_case_type=None): if form.form_type == 'module_form': form.requires = 'case' form.actions.update_case = UpdateCaseAction(update={'question1': '/data/question1'}) form.actions.update_case.condition.type = 'always' if parent_case_type: module = form.get_module() module.parent_select.active = True parent_select_module = next( module for module in module.get_app().get_modules() if module.case_type == parent_case_type ) module.parent_select.module_id = parent_select_module.unique_id else: case_type = case_type or form.get_module().case_type index = len([load for load in form.actions.load_update_cases if load.case_type == case_type]) action = LoadUpdateAction( case_type=case_type, case_tag='load_{}_{}'.format(case_type, index), ) if parent_case_type: parent_action = form.actions.load_update_cases[-1] assert parent_action.case_type == parent_case_type action.parent_tag = parent_action.case_tag form.actions.load_update_cases.append(action)
def _load_case(self, child_module_form, case_type, parent_module=None): action = LoadUpdateAction(case_tag=case_type, case_type=case_type) if parent_module: action.parent_tag = parent_module.case_type child_module_form.actions.load_update_cases.append(action)