// Marges et format /** @var $links CModeleToPack[] */ $links = $pack->_back['modele_links']; $first_modele = reset($links); $first_modele = $first_modele->_ref_modele; $compte_rendu->factory = $first_modele->factory; $compte_rendu->margin_top = $first_modele->margin_top; $compte_rendu->margin_left = $first_modele->margin_left; $compte_rendu->margin_right = $first_modele->margin_right; $compte_rendu->margin_bottom = $first_modele->margin_bottom; $compte_rendu->page_height = $first_modele->page_height; $compte_rendu->page_width = $first_modele->page_width; $compte_rendu->font = $first_modele->font; $compte_rendu->size = $first_modele->size; } $compte_rendu->_source = $compte_rendu->generateDocFromModel(null, $header_id, $footer_id); $compte_rendu->updateFormFields(); } } if (!$compte_rendu->_id) { if (!$compte_rendu->font) { $compte_rendu->font = array_search(CAppUI::conf("dPcompteRendu CCompteRendu default_font"), CCompteRendu::$fonts); } if (!$compte_rendu->size) { $compte_rendu->size = CAppUI::conf("dPcompteRendu CCompteRendu default_size"); } } $compte_rendu->loadRefsFwd(); $compte_rendu->_ref_object->loadRefsFwd(); $object =& $compte_rendu->_ref_object; $curr_user = CMediusers::get();
if ($modele->header_id || $modele->footer_id) { if ($header_id != $modele->header_id) { $_POST["_source"] = CCompteRendu::replaceComponent($_POST["_source"], $header_id); } if ($footer_id != $modele->footer_id) { $_POST["_source"] = CCompteRendu::replaceComponent($_POST["_source"], $footer_id, "footer"); } } else { $_POST["_source"] = $modele->generateDocFromModel($_POST["_source"], $header_id, $footer_id); } } else { // Document existant $cr = new CCompteRendu(); $cr->load($_POST["compte_rendu_id"]); if (!$cr->header_id && !$cr->footer_id && !$header_id && !$footer_id) { $_POST["_source"] = $cr->generateDocFromModel($_POST["_source"], $header_id, $footer_id); } else { if ($header_id != $cr->header_id) { $_POST["_source"] = CCompteRendu::replaceComponent($_POST["_source"], $header_id); } if ($footer_id != $cr->footer_id) { $_POST["_source"] = CCompteRendu::replaceComponent($_POST["_source"], $footer_id, "footer"); } } } } // Application des listes de choix $fields = array(); $values = array(); if (isset($_POST["_CListeChoix"])) { $listes = $_POST["_CListeChoix"];
$_sejour->loadRefPatient(); $_sejour->loadRefPraticien(); } CSejour::massLoadNDA($sejours); CPatient::massLoadIPP($patients); CStoredObject::massCountBackRefs($sejours, "affectations"); CStoredObject::massCountBackRefs($sejours, "consultations"); CStoredObject::massCountBackRefs($sejours, "files"); // Tri par nom de patient $sorter = CMbArray::pluck($sejours, "_ref_patient", "nom"); array_multisort($sorter, SORT_ASC, $sejours); // Chargement du modèle $modele = new CCompteRendu(); $modele->load($modele_id); $modele->loadContent(); $source = $modele->generateDocFromModel(); $nbDoc = array(); foreach ($sejours as $_sejour) { $compte_rendu = new CCompteRendu(); $compte_rendu->setObject($_sejour); $compte_rendu->nom = $modele->nom; $compte_rendu->modele_id = $modele->_id; $compte_rendu->margin_top = $modele->margin_top; $compte_rendu->margin_bottom = $modele->margin_bottom; $compte_rendu->margin_left = $modele->margin_left; $compte_rendu->margin_right = $modele->margin_right; $compte_rendu->page_height = $modele->page_height; $compte_rendu->page_width = $modele->page_width; $compte_rendu->fast_edit = $modele->fast_edit; $compte_rendu->fast_edit_pdf = $modele->fast_edit_pdf; $compte_rendu->private = $modele->private;