13.5.2.1 Dir::preInsertDocument()
La méthode preInsertDocument est appelée par la méthode
insertDocument ou
insertMultipleDocuments avant l'insertion du
document dans le Dossier (si l'argument
noprepost est égal à false).
13.5.2.1.1 Description
string preInsertDocument ( string $docid, bool $multiple = false )
13.5.2.1.1.1 Avertissements
Aucun.
13.5.2.1.2 Liste des paramètres
- (string)
docid - L'identifiant (identifiant numérique ou nom logique) du document qui va être inséré dans le Dossier.
- (bool)
multiple -
multipleest positionné par la méthodeinsertMultipleDocumentspour indiquer quepreInsertDoucmentest appelé dans le cadre de l'insertion de plusieurs documents.Valeurs possibles :
-
true: Indique que le document inséré l'est dans le cadre de l'insertion de plusieurs documents. -
false: Indique qu'un seul document est inséré dans le dossier.
-
13.5.2.1.3 Valeur de retour
La méthode retourne une chaîne vide s'il n'y a pas d'erreurs, ou une chaîne non- vide contenant le message d'erreur dans le cas contraire.
13.5.2.1.4 Erreurs / Exceptions
Si la méthode preInsertDocument retourne une chaîne non-vide, alors
l'insertion n'est pas faite, et la méthode
insertDocument retourne avec le message retourné par
preInsertDocument.
13.5.2.1.5 Historique
13.5.2.1.5.1 Release 3.2.5
La méthode preInsertDocument remplace la méthode précédemment nommée
preInsertDoc.
L'utilisation de preInsertDoc est obsolète depuis la version 3.2.5 de
dynacase-core.
13.5.2.1.6 Exemples
namespace Facturation; class ArchiveFacture extends \Dcp\Family\Dir { public function preInsertDocument($docId, $multiple = false) { $err=parent::preInsertDocument($docId, $multiple); if (empty($err)) { $facture = new_Doc('', $docId, true); // prendre la dernière révision if ($facture->isAlive()) { /* * Seule les factures payés peuvent * être insérées dans ce dossier. */ if ($facture->isPaid()) { return sprintf( "La facture '%s' ne peut être archivée car elle n'est pas payée.", $facture->getTitle() ); } } } return $err; } protected function isPaid() { // Test de facturation } }
13.5.2.1.7 Notes
Aucune.