get_submitted_post_value('date') !== null) { $date = $f->get_submitted_post_value('date'); } elseif($f->get_submitted_get_value('date') !== null) { $date = $f->get_submitted_get_value('date'); } $code_barres = ""; if($f->get_submitted_post_value('code_barres') !== null) { $code_barres = $f->get_submitted_post_value('code_barres'); } elseif($f->get_submitted_get_value('code_barres')!==null) { $code_barres = $f->get_submitted_get_value('code_barres'); } // Booléen permettant de définir si un enregistrement à eu lieu $correct = false; // Booléen permettant de définir si les dates peuvent êtres enregistrées $date_error = false; // Si le formulaire a été validé if ($f->get_submitted_post_value('validation') !== null) { //Tous les champs doivent obligatoirement être remplis if ( !empty($date) && !empty($code_barres) ){ //Vérification de l'existence de la consultation $sql = "SELECT consultation, type_consultation FROM ".DB_PREFIXE."consultation LEFT JOIN ".DB_PREFIXE."service ON service.service = consultation.service WHERE code_barres = '".$f->db->escapesimple($code_barres)."'"; $res = $f->db->query($sql); $f->addToLog("app/demandes_avis_mise_a_jour_des_dates.php : db->query(\"".$sql."\")", VERBOSE_MODE); $f->isDatabaseError($res); //Si le code barres est correct if($res->numrows() == 1) { //Un retour de demande d'avis ne peut être saisie que si le type de //consultation est "avec_avis_attendu" $row =& $res->fetchRow(DB_FETCHMODE_ASSOC); if ( strcasecmp($row['type_consultation'], "avec_avis_attendu") === 0 ){ //On met à jour la date après l'écran de vérification if($f->get_submitted_post_value("is_valid") != null and $f->get_submitted_post_value("is_valid") == "true") { require_once '../obj/consultation.class.php'; $consultation = new consultation($row['consultation'], $f->db, DEBUG); $consultation->setParameter("maj", 1); $valF = array(); foreach($consultation->champs as $id => $champ) { $valF[$champ] = $consultation->val[$id]; } $valF['date_reception']=$date; $consultation->modifier($valF, $f->db, DEBUG); // Vérification de la finalisation du document // correspondant au code barres if($consultation->valF["om_final_consultation"] === true) { $message_class = "valid"; $message = _("Saisie enregistree"); $code_barres = ""; } else { // $message_class = "error"; $message = sprintf(_("Le document correspondant au code barres %s n'est pas finalise, la date ne sera pas mise a jour."), $code_barres); } } //Sinon on récupère les infos du dossier pour les afficher else { // Récupération des infos du dossier $sqlInfo = "SELECT dossier_libelle, libelle, date_reception, TO_CHAR(date_envoi ,'DD/MM/YYYY') as date_envoi FROM ".DB_PREFIXE."consultation LEFT JOIN ".DB_PREFIXE."dossier ON dossier.dossier = consultation.dossier LEFT JOIN ".DB_PREFIXE."service ON service.service = consultation.service WHERE code_barres='".$code_barres."'"; $resInfo = $f->db->query($sqlInfo); $f->isDatabaseError($resInfo); $infos = $resInfo->fetchRow(DB_FETCHMODE_ASSOC); } } //C'est un autre type de consultation else{ $message_class = "error"; $message = _("Cette consultation n'a pas d'avis attendu."); } } else { $message_class = "error"; $message = _("Le numero saisi ne correspond a aucun code barres de consultation."); } } else { $message_class = "error"; $message = _("Tous les champs doivent etre remplis."); } } // $f->setTitle(_("suivi")." -> "._("demande d'avis")." -> "._("mise a jour des dates")); $f->setFlag(NULL); $f->display(); /** * Affichage des messages et du formulaire */ // Ouverture de la balise - Conteneur d'onglets printf ("
\n\n"); // Affichage de la liste des onglets $f->layout->display_tab_lien_onglet_un(_("consultation")); // Ouverture de la balise - Onglet 1 printf("\t
\n\n"); echo "
"; echo ""; echo "
"; echo "
"; // Affichage du message de validation ou d'erreur if (isset($message) && isset($message_class) && $message != "") { $f->displayMessage($message_class, $message); } // Inclusion de la classe de gestion des formulaires require_once "../obj/om_formulaire.class.php"; // Ouverture du formulaire printf("\t\n"); // Paramétrage des champs du formulaire $champs = array("date", "code_barres"); if(isset($infos)) { array_push($champs, "dossier_libelle", "service", "date_envoi", "date_reception", "is_valid"); } // Création d'un nouvel objet de type formulaire $form = new formulaire(NULL, 0, 0, $champs); // Paramétrage des champs du formulaire // Parametrage du champ date $form->setLib("date", _("Date")."* :"); if(isset($infos)) { $form->setType("date", "hiddenstaticdate"); } else { $form->setType("date", "date"); } $form->setVal("date", $date); $form->setTaille("date", 10); $form->setMax("date", 10); // Parametrage du champ code_barres $form->setLib("code_barres", _("Code barres de consultation")."* :"); if(isset($infos)) { $form->setType("code_barres", "hiddenstatic"); } else { $form->setType("code_barres", "text"); } $form->setVal("code_barres", $code_barres); $form->setTaille("code_barres", 20); $form->setMax("code_barres", 20); // Ajout des infos du dossier correspondantes à la consultation séléctionnée if(isset($infos)) { // Tous les champs sont défini par defaut à static foreach ($infos as $key => $value) { $form->setType($key, "static"); $form->setVal($key, $value); } // Les champs dont on vient de définir la valeur sont en gras $form->setBloc("date_reception",'DF',"",'bold'); // Parametrage du champ dossier $form->setLib("dossier_libelle", _("dossier_libelle")." :"); $form->setType("dossier_libelle", "static"); $form->setVal("dossier_libelle", $infos['dossier_libelle']); // Parametrage du champ service $form->setLib("service", _("service")." :"); $form->setType("service", "static"); $form->setVal("service", $infos['libelle']); // Parametrage des libellés d'envoi avec RAR $form->setLib("date_envoi", _("Envoi demande d'avis")." :"); $form->setLib("date_reception", _("Retour demande d'avis")." :"); $form->setVal("date_reception", $date); // Ajout d'un champ hidden permettant de savoir que le formulaire précédant est celui de vérification $form->setLib("is_valid", _("Valide")." :"); $form->setType("is_valid", "hidden"); $form->setVal("is_valid", 'true'); $form->setFieldset('dossier_libelle','D',_('Synthese')); $form->setFieldset('is_valid','F'); } // Création du fieldset regroupant les champs permettant la mise à jour des date $form->setFieldset('date','D',_('Mise a jour')); $form->setFieldset('code_barres','F'); // Affichage du formulaire $form->entete(); $form->afficher($champs, 0, false, false); $form->enpied(); // Affichage du bouton printf("\t
\n"); // if(!$date_error) { $f->layout->display_form_button(array("value" => _("Valider"), "name" => "validation")); } // Si pas sur l'écran de validation if(isset($infos)) { printf("Retour"); } printf("\t
\n"); // Fermeture du formulaire printf("\t\n"); echo "
"; // Fermeture de la balise - Onglet 1 printf("\n\t
\n"); // Fermeture de la balise - Conteneur d'onglets printf("
\n"); ?>