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
-
multiple
est positionné par la méthodeinsertMultipleDocuments
pour indiquer quepreInsertDoucment
est 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.