def delete_media(id_media): """ Suppression d'un media .. :quickref: Commons; """ TMediaRepository(id_media=id_media).delete() TMediumRepository.sync_medias() return {"resp": "media {} deleted".format(id_media)}
def insert_or_update_media(id_media=None): """ Insertion ou mise à jour d'un média avec prise en compte des fichiers joints .. :quickref: Commons; """ # gestion des parametres de route if request.files: file = request.files["file"] else: file = None data = {} if request.form: formData = dict(request.form) for key in formData: data[key] = formData[key] if data[key] in ["null", "undefined"]: data[key] = None if isinstance(data[key], list): data[key] = data[key][0] if ( key in ["id_table_location", "id_nomenclature_media_type", "id_media"] and data[key] is not None ): data[key] = int(data[key]) if data[key] == "true": data[key] = True if data[key] == "false": data[key] = False else: data = request.get_json(silent=True) try: m = TMediaRepository( data=data, file=file, id_media=id_media ).create_or_update_media() except GeoNatureError as e: return str(e), 400 TMediumRepository.sync_medias() return m.as_dict()
def _format_site_data(data): ''' Procédure de sérialisation non récursive des modèles ''' base = data.base_site.as_dict(recursif=False) base["id"] = data.base_site.id_base_site geometry = geojson.Feature( geometry=to_shape(getattr(data.base_site, 'geom'))) base['geom'] = [geometry['geometry']['coordinates']] result = data.as_dict(recursif=False) result['menaces_ids'] = [ menace.id_nomenclature_menaces for menace in data.menaces_ids ] result['amenagements_ids'] = [ amenagement.id_nomenclature_amenagement for amenagement in data.amenagements_ids ] base.update(result) # get medium medium = TMediumRepository.get_medium_for_entity( data.base_site.uuid_base_site) if (medium): base['medium'] = [m.as_dict() for m in medium] return base
def _format_occtax_data(data): ''' Procédure de sérialisation non récursive des modèles ''' result = data.as_dict(recursif=False) result['id'] = data.id_contact_taxon result['indices'] = [ indice.id_nomenclature_indice for indice in data.indices ] result['denombrements'] = [d.as_dict() for d in data.denombrements] # get medium medium = TMediumRepository().get_medium_for_entity( data.uuid_chiro_visite_contact_taxon) if (medium): result['medium'] = [m.as_dict() for m in medium] return result