70 |
} |
} |
71 |
|
|
72 |
//Si le document est déjà finalisé, le lien de l'édition est celui du stockage |
//Si le document est déjà finalisé, le lien de l'édition est celui du stockage |
73 |
$om_final_instruction = $this->getVal("om_final_consultation"); |
$om_final_consultation = $this->getVal("om_final_consultation"); |
74 |
if ( $om_final_instruction== "t" ){ |
if ( $om_final_consultation== "t" ){ |
75 |
|
|
76 |
//On affiche le bon lien pour l'édition |
//On affiche le bon lien pour l'édition |
77 |
$this->actions_sup["pdfetat"]["lien"] = "../spg/file.php?id="; |
$this->actions_sup["pdfetat"]["lien"] = "../spg/file.php?id="; |
78 |
$this->actions_sup["pdfetat"]["id"] = |
$this->actions_sup["pdfetat"]["id"] = |
79 |
"&obj=consultation&champ=om_fichier_consultation"; |
"&obj=consultation&champ=om_fichier_consultation"; |
80 |
//On cache les liens d'action |
//On cache les liens d'action |
81 |
$this->parameters["actions"]["modifier"] = NULL; |
$this->parameters["actions"]["modifier"] = NULL; |
82 |
$this->parameters["actions"]["supprimer"] = NULL; |
$this->parameters["actions"]["supprimer"] = NULL; |
83 |
|
$this->actions_sup["finalisation"] = NULL; |
84 |
} |
} |
85 |
//Si le document n'est pas finalisé, le lien de l'édition est le lien de |
//Si le document n'est pas finalisé, le lien de l'édition est le lien de |
86 |
//génération à la volée |
//génération à la volée |
87 |
if ( $om_final_instruction!= "t" ){ |
if ( $om_final_consultation!= "t" ){ |
88 |
|
|
89 |
//On affiche le bon lien pour l'édition |
//On affiche le bon lien pour l'édition |
90 |
$this->actions_sup["pdfetat"]["lien"] = "../app/pdf_consultation.php?idx="; |
$this->actions_sup["pdfetat"]["lien"] = "../app/pdf_consultation.php?idx="; |
91 |
$this->actions_sup["pdfetat"]["id"] = "&obj=consultation"; |
$this->actions_sup["pdfetat"]["id"] = "&obj=consultation"; |
92 |
|
$this->actions_sup["definalisation"] = NULL; |
93 |
|
if( $this->f->isUserInstructeur() ){ |
94 |
|
$this->parameters["actions"]["modifier"] = NULL; |
95 |
|
} |
96 |
} |
} |
97 |
|
|
98 |
$idxformulaire = $this->getParameter("idxformulaire"); |
$idxformulaire = $this->getParameter("idxformulaire"); |
689 |
$form->setSelect("fichier", $params); |
$form->setSelect("fichier", $params); |
690 |
} |
} |
691 |
} |
} |
692 |
|
|
693 |
/** |
/** |
694 |
* Finalisation du document lors de l'ajout d'une consultation |
* Finalisation du document lors de l'ajout d'une consultation |
695 |
*/ |
*/ |
748 |
} |
} |
749 |
} |
} |
750 |
|
|
751 |
|
/** |
752 |
|
* Finalisation des documents. |
753 |
|
* @param string $champ champ du fichier à finaliser |
754 |
|
* @param booleen $status permet de définir si on finalise ou définalise |
755 |
|
* @param string $sousform permet de savoir si se trouve dans un sousformulaire (passé au javascript) |
756 |
|
*/ |
757 |
|
function finaliser($champ = '', $status, $sousform, $retourformulaire) { |
758 |
|
|
759 |
|
// Si on finalise le document |
760 |
|
if ($status == 1) { |
761 |
|
|
762 |
|
// Génération du PDF |
763 |
|
$_GET['output'] = "string"; |
764 |
|
$f = $this->f; |
765 |
|
include '../app/pdf_consultation.php'; |
766 |
|
|
767 |
|
// Métadonnées du document |
768 |
|
$metadata = array( |
769 |
|
'filename' => 'consultation_'.$idx.'.pdf', |
770 |
|
'mimetype' => 'application/pdf', |
771 |
|
'size' => strlen($pdf_output) |
772 |
|
); |
773 |
|
|
774 |
|
// Récupération des métadonnées calculées après validation |
775 |
|
$spe_metadata = $this->getMetadata("om_fichier_consultation"); |
776 |
|
|
777 |
|
$metadata = array_merge($metadata, $spe_metadata); |
778 |
|
|
779 |
|
// Si le document a déjà été finalisé |
780 |
|
if ( $this->getVal("om_fichier_consultation") != '' ){ |
781 |
|
|
782 |
|
// Met à jour le document mais pas son uid |
783 |
|
$uid = $this->f->storage->update( |
784 |
|
$this->getVal("om_fichier_consultation"), $pdf_output, $metadata); |
785 |
|
} |
786 |
|
// Sinon, ajoute le document et récupère son uid |
787 |
|
else { |
788 |
|
|
789 |
|
// Stockage du PDF |
790 |
|
$uid = $this->f->storage->create($pdf_output, $metadata); |
791 |
|
} |
792 |
|
|
793 |
|
} |
794 |
|
// |
795 |
|
else { |
796 |
|
|
797 |
|
//Récupération de l'uid du document finalisé |
798 |
|
$uid = $this->getVal("om_fichier_consultation"); |
799 |
|
|
800 |
|
//On dé-finalise avant de finaliser |
801 |
|
if ( $uid == '' || $uid == 'OP_FAILURE' ){ |
802 |
|
return -1; |
803 |
|
} |
804 |
|
} |
805 |
|
|
806 |
|
//Mise à jour des données |
807 |
|
if ($uid != '' || $uid == 'OP_FAILURE') { |
808 |
|
|
809 |
|
// Logger |
810 |
|
$this->addToLog("finaliser() - begin", EXTRA_VERBOSE_MODE); |
811 |
|
|
812 |
|
// Recuperation de la valeur de la cle primaire de l'objet |
813 |
|
if ($this->getVal($this->clePrimaire) != '') { |
814 |
|
// |
815 |
|
$id = $this->getVal($this->clePrimaire); |
816 |
|
} |
817 |
|
else { |
818 |
|
// |
819 |
|
$id=$this->id; |
820 |
|
} |
821 |
|
|
822 |
|
$actions = array(); |
823 |
|
|
824 |
|
// Tableau contenant le lien vers le PDF et lien du portlet pour la |
825 |
|
// mise à jour de l'interface |
826 |
|
if ($status == 0) { |
827 |
|
|
828 |
|
// Lien pour ouvrir le PDF |
829 |
|
$lien = '../app/pdf_consultation.php?idx='.$id; |
830 |
|
|
831 |
|
// |
832 |
|
if ($this->f->isAccredited('consultation') || |
833 |
|
$this->f->isAccredited('consultation_modifier')) { |
834 |
|
|
835 |
|
$actions["modifier"] = ($sousform!='')? |
836 |
|
'<li><a href="#" onclick="ajaxIt(\'consultation\', |
837 |
|
\'../scr/sousform.php?obj=consultation&action=1&idx='. |
838 |
|
$this->getVal($this->clePrimaire). |
839 |
|
'&premiersf=0&trisf=&retourformulaire='.$retourformulaire.'&idxformulaire='. |
840 |
|
$this->getVal("dossier"). |
841 |
|
'&retour=form\');"> |
842 |
|
<span class="om-prev-icon om-icon-16 edit-16" title="'. |
843 |
|
_('Modifier').'">'. |
844 |
|
_('Modifier'). |
845 |
|
'</span></a></li>': |
846 |
|
'<li> |
847 |
|
<a href="form.php?obj=consultation&action=1'.'&idx='. |
848 |
|
$this->getVal($this->clePrimaire). |
849 |
|
'&premier=&advs_id=&recherche=&tricol=&selectioncol=&valide=&retour=form"> |
850 |
|
<span class="om-prev-icon om-icon-16 edit-16" title="'. |
851 |
|
_('Modifier').'">'. |
852 |
|
_('Modifier'). |
853 |
|
'</span></a></li>'; |
854 |
|
} |
855 |
|
|
856 |
|
//Si l'utilisateur a le droit de supprimer l'objet |
857 |
|
if ( $this->f->isAccredited('consultation') || |
858 |
|
$this->f->isAccredited('consultation_supprimer') ){ |
859 |
|
|
860 |
|
$actions["supprimer"] = ($sousform!='')? |
861 |
|
'<li><a href="#" onclick="ajaxIt(\'consultation\', |
862 |
|
\'../scr/sousform.php?obj=consultation&action=2&idx='. |
863 |
|
$this->getVal($this->clePrimaire). |
864 |
|
'&premiersf=0&trisf=&retourformulaire='.$retourformulaire.'&idxformulaire='. |
865 |
|
$this->getVal("dossier"). |
866 |
|
'&retour=form\');"> |
867 |
|
<span class="om-prev-icon om-icon-16 delete-16" title="'. |
868 |
|
_('Supprimer').'">'. |
869 |
|
_('Supprimer'). |
870 |
|
'</span></a></li>': |
871 |
|
'<li> |
872 |
|
<a href="form.php?obj=consultation&action=1'.'&idx='. |
873 |
|
$this->getVal($this->clePrimaire). |
874 |
|
'&premier=&advs_id=&recherche=&tricol=&selectioncol=&valide=&retour=form"> |
875 |
|
<span class="om-prev-icon om-icon-16 delete-16" title="'. |
876 |
|
_('Supprimer').'">'. |
877 |
|
_('Supprimer'). |
878 |
|
'</span></a></li>'; |
879 |
|
} |
880 |
|
} |
881 |
|
else { |
882 |
|
|
883 |
|
// Lien permettant d'afficher le PDF |
884 |
|
$lien = '../spg/file.php?obj=consultation&'. |
885 |
|
'champ=om_fichier_consultation&id='.$id; |
886 |
|
} |
887 |
|
|
888 |
|
// |
889 |
|
$retour = array( |
890 |
|
"portlet"=> "<a href=\"#\" onclick=\"finalizeDocument(". |
891 |
|
$id.", 'consultation', '".$sousform."', ".(($status==0)?1:0).")\"> |
892 |
|
<span class=\"om-prev-icon om-icon-16 om-icon-fix " |
893 |
|
.(($status==1)?"de":"")."finalise\" title=\"". |
894 |
|
(($status==1)?_("Reprendre la redaction du document"):_("Finaliser le document"))."\">". |
895 |
|
(($status==1)?_("Reprendre la redaction du document"):_("Finaliser le document"))."</span> |
896 |
|
</a>", |
897 |
|
"pdf" => $lien, |
898 |
|
"actions" => $actions |
899 |
|
); |
900 |
|
|
901 |
|
foreach ($this->champs as $key => $value) { |
902 |
|
// |
903 |
|
$val[$value] = $this->val[$key]; |
904 |
|
} |
905 |
|
|
906 |
|
$this->setvalF($val); |
907 |
|
|
908 |
|
// Verification de la validite des donnees |
909 |
|
$this->verifier($this->val, $this->db, DEBUG); |
910 |
|
// Verification du verrou |
911 |
|
$this->testverrou(); |
912 |
|
// Si les verifications precedentes sont correctes, on procede a |
913 |
|
// la modification, sinon on ne fait rien et on retourne une erreur |
914 |
|
if ($this->correct) { |
915 |
|
|
916 |
|
// Execution du trigger 'before' specifique au MODE 'update' |
917 |
|
$this->triggermodifier( $id, $this->db, $this->val, DEBUG); |
918 |
|
|
919 |
|
// |
920 |
|
$valF = ''; |
921 |
|
$valF["om_final_consultation"] = ($status==1)?TRUE:FALSE; |
922 |
|
$valF["om_fichier_consultation"] = $uid; |
923 |
|
|
924 |
|
// Execution de la requête de modification des donnees de l'attribut |
925 |
|
// valF de l'objet dans l'attribut table de l'objet |
926 |
|
$res = $this->db->autoExecute(DB_PREFIXE.$this->table, $valF, |
927 |
|
DB_AUTOQUERY_UPDATE, $this->getCle($id)); |
928 |
|
$this->addToLog("finaliser() : db->autoExecute(\"".DB_PREFIXE.$this->table."\", ".print_r($valF, true).", DB_AUTOQUERY_UPDATE, \"".$this->getCle($id)."\")", VERBOSE_MODE); |
929 |
|
|
930 |
|
// Si une erreur survient |
931 |
|
if (database::isError($res)) { |
932 |
|
|
933 |
|
// Appel de la methode de recuperation des erreurs |
934 |
|
$this->erreur_db($res->getDebugInfo(), $res->getMessage(), ''); |
935 |
|
} else { |
936 |
|
|
937 |
|
// Log |
938 |
|
$this->addToLog(_("Requete executee"), VERBOSE_MODE); |
939 |
|
// Log |
940 |
|
$message = _("Enregistrement")." ".$id." "; |
941 |
|
$message .= _("de la table")." \"".$this->table."\" "; |
942 |
|
$message .= "[ ".$this->db->affectedRows()." "; |
943 |
|
$message .= _("enregistrement(s) mis a jour")." ]"; |
944 |
|
$this->addToLog($message, VERBOSE_MODE); |
945 |
|
// Mise en place du verrou pour ne pas finaliser plusieurs fois |
946 |
|
// le meme document |
947 |
|
$this->verrouille(); |
948 |
|
// Execution du trigger 'after' specifique au MODE 'update' |
949 |
|
$this->triggermodifierapres($id, $this->db, $this->val, DEBUG); |
950 |
|
|
951 |
|
return $retour; |
952 |
|
} |
953 |
|
// |
954 |
|
} else { |
955 |
|
|
956 |
|
// Message d'echec (saut d'une ligne supplementaire avant le |
957 |
|
// message pour qu'il soit mis en evidence) |
958 |
|
$this->addToLog(_("Finalisation non enregistree")); |
959 |
|
return -1; |
960 |
|
} |
961 |
|
} |
962 |
|
// Si le document n'a pas été stocké |
963 |
|
else{ |
964 |
|
|
965 |
|
return -1; |
966 |
|
} |
967 |
|
} |
968 |
|
|
969 |
|
|
970 |
/** |
/** |
971 |
* Récupération du numéro de dossier d'instruction à ajouter aux métadonnées |
* Récupération du numéro de dossier d'instruction à ajouter aux métadonnées |
1144 |
} |
} |
1145 |
|
|
1146 |
}// fin classe |
}// fin classe |
1147 |
?> |
?> |