13.6.3.33 Doc::revise()
13.6.3.33.1 Description
string revise ( string $comment = '' )
Le document courant est enregistré en base et est figé. Sa propriété locked
vaut alors -1
. La méthode Doc::isFixed()
permet de savoir si un document est
figé.
Une copie du document est créée. Un nouvel identifiant est créé et est affecté à
la propriété id
. Le document conserve le même identifiant initial (propriété
initid
) et son numéro de révision (propriété revision
) est incrémenté de un.
L'objet courant devient le nouveau document avec un nouvel identifiant.
13.6.3.33.1.1 Avertissements
Un document figé ne peut pas être révisé. Un document qui n'a pas d'identifiant ne peut pas être révisé.
13.6.3.33.2 Liste des paramètres
- (string)
comment
- Si
comment
n'est pas vide, le message sera ajouté à l'historique avant la révision.
13.6.3.33.3 Valeur de retour
Message d'erreur : Si un message non vide est retourné alors la révision a été abandonnée (la raison est donnée par le message d'erreur).
13.6.3.33.4 Erreurs / Exceptions
Les causes d'erreur sont :
- document figé,
- problème de droits : la révision nécessite le droit
edit
sur le document et le droitcreate
sur la famille du document, - retour d'erreur de l'hameçon preRevise().
13.6.3.33.5 Historique
Cette méthode était anciennement nommée addRevision
.
13.6.3.33.6 Exemples
Exemple de création d'une révision.
/** @var \Dcp\Family\MyFamily */ $d = new_Doc("", "MY_DOCUMENT"); if ($d->isAlive()) { printf("Identifiant %d\n", $d->id); $err=$d->revise(); if (empty($err)) { printf("Nouvel identifiant %d", $d->id); } else { printf("Erreur de révision %s", $err); } }
13.6.3.33.7 Notes
Lors d'un ajout de documents les hameçons suivants sont lancés :
-
Doc::preRevise()
- Fige le document et enregistrement en base
-
Doc::preCreated()
- Copie du document et création nouvel identifiant
Doc::postCreated()
-
Doc::postRevise()
13.6.3.33.7.1 Hameçon preRevise
L'hameçon preRevise
a pour rôle de valider les conditions de révision du
document. Si cette méthode retourne une chaîne de caractère non-vide alors elle
est considérée comme un retour d'erreur et la révision n'est pas effectuée.
Ce message est retourné par la méthode Doc::revise()
.
13.6.3.33.7.2 Hameçon postRevise
L'hameçon postRevise
a pour rôle de réaliser un post-traitement après la
révision. Cette méthode utilise la nouvelle révision. Si cette méthode retourne
une chaîne de caractères non-vide alors elle est considérée comme un message
d'erreur. Ce message est enregistré dans l'historique du document.