* Autocomplete des packs de modèles * * @category CompteRendu * @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version SVN: $Id:\$ * @link http://www.mediboard.org */ $user_id = CValue::get("user_id"); $function_id = CValue::get("function_id"); $etab = CGroups::loadCurrent(); $group_id = $etab->_id; $object_class = CValue::get("object_class"); $keywords = CValue::post("keywords_pack"); $where = array(); $where["object_class"] = "= '{$object_class}'"; $where[] = "(\n pack.user_id IN ('" . $user_id . "', '" . CAppUI::$user->_id . "') OR\n pack.function_id = '{$function_id}' OR\n pack.group_id = '{$group_id}'\n)"; $where[] = "pack.pack_id IN ( SELECT pack_id FROM modele_to_pack)"; $order = "nom"; $pack = new CPack(); $packs = $pack->seek($keywords, $where, null, null, null, $order); /** @var $_pack CPack */ foreach ($packs as $_pack) { $_pack->getModelesIds(); } $smarty = new CSmartyDP(); $smarty->assign("packs", $packs); $smarty->assign("nodebug", true); $smarty->assign("keywords", $keywords); $smarty->display("inc_pack_autocomplete.tpl");
<?php /** * Liste des modèles d'un pack de modèles * * @category CompteRendu * @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version SVN: $Id:\$ * @link http://www.mediboard.org */ CCanDo::checkEdit(); $pack_id = CValue::get("pack_id"); // Chargement du pack $pack = new CPack(); $pack->load($pack_id); $pack->loadBackRefs("modele_links", "modele_to_pack_id"); // Création du template $smarty = new CSmartyDP(); $smarty->assign("pack", $pack); $smarty->display("inc_list_modeles_links.tpl");
$compte_rendu->modele_id = $modele_id; $header_id = null; $footer_id = null; // Utilisation des headers/footers if ($compte_rendu->header_id || $compte_rendu->footer_id) { $header_id = $compte_rendu->header_id; $footer_id = $compte_rendu->footer_id; } // On fournit la cible if ($target_id && $target_class) { $compte_rendu->object_id = $target_id; $compte_rendu->object_class = $target_class; } // A partir d'un pack if ($pack_id) { $pack = new CPack(); $pack->load($pack_id); $pack->loadContent(); $compte_rendu->nom = $pack->nom; $compte_rendu->object_class = $pack->object_class; $compte_rendu->fast_edit = $pack->fast_edit; $compte_rendu->fast_edit_pdf = $pack->fast_edit_pdf; $compte_rendu->_source = $pack->_source; $compte_rendu->modele_id = null; $pack->loadHeaderFooter(); $header_id = $pack->_header_found->_id; $footer_id = $pack->_footer_found->_id; // Marges et format /** @var $links CModeleToPack[] */ $links = $pack->_back['modele_links']; $first_modele = reset($links);
* @package Mediboard * @subpackage Cabinet * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkRead(); // !! Attention, régression importante si ajout de type de paiement // Récupération des paramètres $operation_id = CValue::get("operation_id", null); $op = new COperation(); $op->load($operation_id); $op->loadRefsFwd(); $op->_ref_sejour->loadRefsFwd(); $patient =& $op->_ref_sejour->_ref_patient; $pack_id = CValue::get("pack_id", null); $pack = new CPack(); $pack->load($pack_id); // Creation des template manager $listCr = array(); foreach ($pack->_modeles as $key => $value) { $listCr[$key] = new CTemplateManager(); $listCr[$key]->valueMode = true; $op->fillTemplate($listCr[$key]); $patient->fillTemplate($listCr[$key]); $listCr[$key]->applyTemplate($value); } // Création du template $smarty = new CSmartyDP(); $smarty->assign("listCr", $listCr); $smarty->display("print_pack.tpl");
CCanDo::checkRead(); $user_id = CValue::getOrSession("user_id"); $function_id = CValue::getOrSession("function_id"); $object_class = CValue::getOrSession("object_class"); $user = CMediusers::get($user_id); $owner = "prat"; $owner_id = $user->_id; $owners = $user->getOwners(); if ($function_id) { $function = new CFunctions(); $function->load($function_id); $owner = "func"; $owner_id = $function->_id; $owners = array("func" => $function, "etab" => $function->loadRefGroup()); } $packs = CPack::loadAllPacksFor($owner_id, $owner, $object_class); if ($function_id) { unset($packs["prat"]); } foreach ($packs as $_packs_by_owner) { foreach ($_packs_by_owner as $_pack) { /** @var $_pack CPack */ $_pack->loadRefOwner(); $_pack->loadBackRefs("modele_links"); $_pack->loadHeaderFooter(); } } // Création du template $smarty = new CSmartyDP(); $smarty->assign("owners", $owners); $smarty->assign("packs", $packs);
/** * Charge les packs pour un propriétaire donné * * @param int $id identifiant du propriétaire * @param string $owner [optional] * @param string $object_class [optional] * * @todo: refactor this to be in a super class * * @return array */ static function loadAllPacksFor($id, $owner = 'user', $object_class = null) { // Accès aux packs de modèles de la fonction et de l'établissement $module = CModule::getActive("dPcompteRendu"); $is_admin = $module && $module->canAdmin(); $access_function = $is_admin || CAppUI::conf("compteRendu CCompteRendu access_function"); $access_group = $is_admin || CAppUI::conf("compteRendu CCompteRendu access_group"); $packs = array(); $packs["prat"] = array(); if ($access_function) { $packs["func"] = array(); } if ($access_group) { $packs["etab"] = array(); } // Clauses de recherche $pack = new CPack(); $where = array(); if ($object_class) { $where["object_class"] = "= '{$object_class}'"; } $order = "object_class, nom"; switch ($owner) { case 'prat': // Modèle du praticien $user = new CMediusers(); if (!$user->load($id)) { return $packs; } $user->loadRefFunction(); $where["user_id"] = "= '{$user->_id}'"; $where["function_id"] = "IS NULL"; $where["group_id"] = "IS NULL"; $packs["prat"] = $pack->loadlist($where, $order); case 'func': // Modèle de la fonction if (isset($packs["func"])) { if (isset($user)) { $func_id = $user->function_id; } else { $func = new CFunctions(); if (!$func->load($id)) { return $packs; } $func_id = $func->_id; } $where["user_id"] = "IS NULL"; $where["function_id"] = "= '{$func_id}'"; $where["group_id"] = "IS NULL"; $packs["func"] = $pack->loadlist($where, $order); } case 'etab': // Modèle de l'établissement if (isset($packs["etab"])) { $etab_id = CGroups::loadCurrent()->_id; if ($owner == 'etab') { $etab = new CGroups(); if (!$etab->load($id)) { return $packs; } $etab_id = $etab->_id; } else { if (isset($func)) { $etab_id = $func->group_id; } else { if (isset($func_id)) { $func = new CFunctions(); $func->load($func_id); $etab_id = $func->group_id; } } } $where["user_id"] = "IS NULL"; $where["function_id"] = "IS NULL"; $where["group_id"] = " = '{$etab_id}'"; $packs["etab"] = $pack->loadlist($where, $order); } break; default: trigger_error("Wrong type '{$owner}'", E_WARNING); } return $packs; }
<?php /** * Interface des packs de documents * * @category DPcompteRendu * @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version SVN: $Id:\$ * @link http://www.mediboard.org */ CCanDo::checkRead(); $filtre = new CPack(); $filtre->user_id = CValue::getOrSession("user_id"); $filtre->function_id = CValue::getOrSession("function_id"); $filtre->object_class = CValue::getOrSession("filter_class"); $filtre->loadRefOwner(); $classes = CCompteRendu::getTemplatedClasses(); $module = CModule::getActive("dPcompteRendu"); $is_admin = $module && $module->canAdmin(); $access_function = $is_admin || CAppUI::conf("compteRendu CCompteRendu access_function"); // Création du template $smarty = new CSmartyDP(); $smarty->assign("classes", $classes); $smarty->assign("filtre", $filtre); $smarty->assign("access_function", $access_function); $smarty->display("vw_idx_packs.tpl");