def post_dataset(info_role): if info_role.value_filter == "0": raise InsufficientRightsError( ('User "{}" cannot "{}" a dataser').format( info_role.id_role, info_role.code_action ), 403, ) data = dict(request.get_json()) cor_dataset_actor = data.pop("cor_dataset_actor") dataset = TDatasets(**data) for cor in cor_dataset_actor: # remove id_cda if None otherwise merge no working well if "id_cda" in cor and cor["id_cda"] is None: cor.pop("id_cda") dataset.cor_dataset_actor.append(CorDatasetActor(**cor)) if dataset.id_dataset: DB.session.merge(dataset) else: DB.session.add(dataset) DB.session.commit() return dataset.as_dict(True)
def post_dataset(): data = dict(request.get_json()) cor_dataset_actor = data.pop('cor_dataset_actor') dataset = TDatasets(**data) for cor in cor_dataset_actor: dataset.cor_dataset_actor.append(CorDatasetActor(**cor)) if dataset.id_dataset: DB.session.merge(dataset) else: DB.session.add(dataset) DB.session.commit() return dataset.as_dict(True)
def post_dataset(info_role): """ Post a dataset .. :quickref: Metadata; """ if info_role.value_filter == "0": raise InsufficientRightsError( ('User "{}" cannot "{}" a dataset').format( info_role.id_role, info_role.code_action ), 403, ) data = dict(request.get_json()) cor_dataset_actor = data.pop("cor_dataset_actor") modules = data.pop("modules") dataset = TDatasets(**data) for cor in cor_dataset_actor: # remove id_cda if None otherwise merge no working well if "id_cda" in cor and cor.get("id_cda") is None: cor.pop("id_cda") dataset.cor_dataset_actor.append(CorDatasetActor(**cor)) # init the relationship as an empty list modules_obj = ( DB.session.query(TModules).filter(TModules.id_module.in_(modules)).all() ) dataset.modules = modules_obj if dataset.id_dataset: DB.session.merge(dataset) # add id_digitiser only on creation else: dataset.id_digitizer = info_role.id_role DB.session.add(dataset) DB.session.commit() return dataset.as_dict(True)