Skip to content
Extraits de code Groupes Projets
Valider 269281c3 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[add] versioning management on error 409 for push_alfresco_file function

parent 6dd7a95d
Branches 12.0-lm
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -219,7 +219,8 @@ class CgscopAlfresco(models.AbstractModel): ...@@ -219,7 +219,8 @@ class CgscopAlfresco(models.AbstractModel):
_("Le dossier parent n'existe pas ou n'est pas renseigné !") _("Le dossier parent n'existe pas ou n'est pas renseigné !")
) )
cmis_obj = backend.get_cmis_repository().getObject(folder) cmis_rep = backend.get_cmis_repository()
cmis_obj = cmis_rep.getObject(folder)
_logger.info("Chargement document Alfresco : %s" % name) _logger.info("Chargement document Alfresco : %s" % name)
try: try:
file_upload = cmis_obj.createDocument( file_upload = cmis_obj.createDocument(
...@@ -229,10 +230,20 @@ class CgscopAlfresco(models.AbstractModel): ...@@ -229,10 +230,20 @@ class CgscopAlfresco(models.AbstractModel):
contentType="application/pdf", contentType="application/pdf",
) )
return file_upload return file_upload
except UpdateConflictException:
_logger.info("Le document %s existe déjà dans le dossier spécifié" % name)
# Recherche noderef document existant
children = cmis_obj.getChildren().getResults()
old_cmis_file = list(filter(lambda f: f.name == name, children))[0]
# Création d'une copie de travail du document pour versionnage
pwc = old_cmis_file.checkout()
# Mise à jour de la version
pwc.checkin(
contentFile=file, contentType="application/pdf", properties=metadata
)
except ( except (
ContentAlreadyExistsException, ContentAlreadyExistsException,
ObjectNotFoundException, ObjectNotFoundException,
UpdateConflictException,
InvalidArgumentException, InvalidArgumentException,
) as e: ) as e:
_logger.error(e) _logger.error(e)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter