13.6.2.5 Doc::preDuplicate()
Hameçon (ou hook) utilisé par la méthode Doc::duplicate()
.
Cette méthode est appelée avant la duplication du document.
13.6.2.5.1 Description
string preDuplicate ( Doc &$origin )
Cette méthode permet d'ajouter des conditions spécifiques avant la duplication du document.
13.6.2.5.1.1 Avertissements
Cette méthode est appelée sur le document en cours de duplication. Son identificateur est vide, il n'est pas encore enregistré en base de donnée. Le document contient les valeurs des attributs du document d'origine.
13.6.2.5.2 Liste des paramètres
- (Doc)
origin
- Document d'origine de la duplication.
13.6.2.5.3 Valeur de retour
Message d'erreur. Si la méthode retourne une chaîne de caractères non vide, elle est considérée comme un message d'erreur et la duplication est abandonnée.
Ce message est retourné par la méthode Doc::duplicate()
si elle
est non vide.
13.6.2.5.4 Erreurs / Exceptions
Aucune.
13.6.2.5.5 Historique
Anciennement Doc::preCopy()
.
13.6.2.5.6 Exemples
Cet exemple, interdit la duplication d'un document révisé.
namespace My; use \Dcp\AttributeIdentifiers\MyFamily as MyAttributes; class MyFamily extends Dcp\Family\Document { public function preDuplicate(Doc &$origin) { if ($origin->isFixed()) return "Fixed document - not duplicated"; } return ''; } }
13.6.2.5.7 Notes
Même le compte "admin" ne peut pas outrepasser les conditions de duplication de cette méthode.
Le menu de duplication n'est pas accessible si cette méthode retourne un message d'erreur.