Skip to content
Snippets Groups Projects
Commit 269281c3 authored by Benjamin - Le Filament's avatar Benjamin - Le Filament
Browse files

[add] versioning management on error 409 for push_alfresco_file function

parent 6dd7a95d
No related branches found
No related tags found
No related merge requests found
......@@ -219,7 +219,8 @@ class CgscopAlfresco(models.AbstractModel):
_("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)
try:
file_upload = cmis_obj.createDocument(
......@@ -229,10 +230,20 @@ class CgscopAlfresco(models.AbstractModel):
contentType="application/pdf",
)
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 (
ContentAlreadyExistsException,
ObjectNotFoundException,
UpdateConflictException,
InvalidArgumentException,
) as e:
_logger.error(e)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment