if ($type == "AUTHOR" || CCanDo::edit() && !CCanDo::admin()) { $user_id = $user->_id; } if ($evenements) { $listeFiches = CFicheEi::loadFichesEtat($type, $user_id, $where, 0, false, null, true); $item = new CEiItem(); $item->ei_categorie_id = $evenements; $listTypes = array_keys($item->loadMatchingList()); foreach ($listeFiches as $id => $fiche) { if (count(array_intersect($fiche->_ref_evenement, $listTypes)) == 0) { unset($listeFiches[$id]); } if ($filter_item != "" && strrpos($fiche->evenements, $filter_item) === false) { unset($listeFiches[$id]); } } $countFiches = count($listeFiches); $listeFiches = array_slice($listeFiches, intval($first), 20, true); // PHP's LIMIT } else { $countFiches = CFicheEi::loadFichesEtat($type, $user_id, $where, 0, true); $listeFiches = CFicheEi::loadFichesEtat($type, $user_id, $where, 0, false, $countFiches > 20 ? $first : null); } // Création du template $smarty = new CSmartyDP(); $smarty->assign("listeFiches", $listeFiches); $smarty->assign("countFiches", $countFiches); $smarty->assign("type", $type); $smarty->assign("first", $first); $smarty->assign("selected_fiche_id", $selected_fiche_id); $smarty->display("inc_ei_liste.tpl");
/** * Chargement des fiches selon l'état * * @param string $etat état de la fiche * @param int $user_id rédacteur de la fiche * @param array $where_termine liste de paramètres WHERE SQL * @param int $annule inclusion des annulés * @param bool $countOnly retourner uniquement le nombre de fiches * @param int $first début de la liste * @param bool $noLimit pas de paramètre LIMIT SQL * * @return CFicheEi[]|int */ static function loadFichesEtat($etat, $user_id = null, $where_termine = array(), $annule = 0, $countOnly = false, $first = 0, $noLimit = false) { $where = array(); $where["annulee"] = "= '{$annule}'"; switch ($etat) { case "AUTHOR": $where["fiches_ei.user_id"] = "= '{$user_id}'"; break; case "VALID_FICHE": $where["fiches_ei.date_validation"] = " IS NULL"; break; case "ATT_CS": $where["fiches_ei.date_validation"] = " IS NOT NULL"; $where["fiches_ei.service_date_validation"] = " IS NULL"; if ($user_id) { $where["fiches_ei.service_valid_user_id"] = "= '{$user_id}'"; } break; case "ATT_QUALITE": $where["fiches_ei.service_date_validation"] = " IS NOT NULL"; $where["fiches_ei.qualite_date_validation"] = " IS NULL"; if ($user_id) { $where["fiches_ei.service_valid_user_id"] = "= '{$user_id}'"; } break; case "ATT_VERIF": $where["fiches_ei.qualite_date_validation"] = " IS NOT NULL"; $where["fiches_ei.qualite_date_verification"] = " IS NULL"; $where["fiches_ei.qualite_date_controle"] = " IS NULL"; break; case "ATT_CTRL": $where["fiches_ei.qualite_date_verification"] = " IS NOT NULL"; $where["fiches_ei.qualite_date_controle"] = " IS NULL"; break; case "ALL_TERM": if ($user_id) { $where["fiches_ei.service_valid_user_id"] = "= '{$user_id}'"; $where["fiches_ei.qualite_date_validation"] = " IS NOT NULL"; } else { $where["fiches_ei.qualite_date_controle"] = " IS NOT NULL"; } break; case "ANNULE": $where["annulee"] = "= '1'"; break; } $where = array_merge($where, $where_termine); $order = "fiches_ei.date_incident DESC, fiches_ei.fiche_ei_id DESC"; $fiche = new CFicheEi(); if ($countOnly) { return $fiche->loadGroupList($where, null, null, null, null, true); } else { $listFiches = $fiche->loadGroupList($where, $order, $noLimit ? null : $first + 0 . ',20'); foreach ($listFiches as $_fiche) { $_fiche->loadRefsFwd(); } return $listFiches; } }
/** * $Id: vw_incident.php 19316 2013-05-28 09:33:17Z rhum1 $ * * @package Mediboard * @subpackage Qualite * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 19316 $ */ CCanDo::checkRead(); $fiche_ei_id = CValue::get("fiche_ei_id", 0); //Récupération du type de fiche à générer et de la RSPO concernée. $type_ei_id = CValue::get("type_ei_id"); $blood_salvage_id = CValue::get("blood_salvage_id"); $fiche = new CFicheEi(); $listFct = new CFunctions(); // Droit admin et edition de fiche if (CCanDo::admin() && $fiche_ei_id) { $fiche->load($fiche_ei_id); } // Chargement des Utilisateurs if (CCanDo::admin()) { $listFct = CMediusers::loadFonctions(PERM_READ); foreach ($listFct as $fct) { $fct->loadRefsUsers(); } } $fiche->loadRefsFwd(); if (!$fiche->_ref_evenement) { $fiche->_ref_evenement = array();
* @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ global $can, $g; $can->needsAdmin(); $months_count = CValue::getOrSession("months_count", 12); $months_relative = CValue::getOrSession("months_relative", 0); $filters = CValue::getOrSession("filters", array()); $evts = CValue::get("evenements"); $comparison = CValue::getOrSession("comparison", array("elem_concerne", "_criticite", "evenements")); $graphs = array(); $dates = array(); $ticks = array(); $options = array(); $list_evts = explode('|', $evts); $fiche = new CFicheEi(); $enums = array(); foreach ($fiche->_specs as $field => $spec) { if ($spec instanceof CEnumSpec || $spec instanceof CBoolSpec) { $enums[$field] = $spec->_locales; } } for ($i = $months_count - 1; $i >= 0; --$i) { $mr = $months_relative + $i; $sample_end = CMbDT::transform("-{$mr} MONTHS", CMbDT::date(), "%Y-%m-31 23:59:59"); $sample_start = CMbDT::transform("-{$mr} MONTHS", CMbDT::date(), "%Y-%m-01 00:00:00"); $dates[$sample_start] = array('start' => $sample_start, 'end' => $sample_end); } $type = new CEiCategorie(); /** @var CEiCategorie[] $types */ $types = $type->loadList();
* $Id$ * * @package Mediboard * @subpackage Qualite * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ $fiche_ei_id = CValue::getOrSession("fiche_ei_id", null); $catFiche = array(); $fiche = new CFicheEi(); if (!$fiche->load($fiche_ei_id)) { // Cette fiche n'est pas valide $fiche_ei_id = null; CValue::setSession("fiche_ei_id"); $fiche = new CFicheEi(); } else { $fiche->loadRefsFwd(); $fiche->loadRefItems(); // Liste des Catégories d'EI $categorie = new CEiCategorie(); /** @var CEiCategorie[] $listCategories */ $listCategories = $categorie->loadList(null, "nom"); foreach ($listCategories as $keyCat => $_categorie) { foreach ($fiche->_ref_items as $_item) { if ($_item->ei_categorie_id == $keyCat) { if (!isset($catFiche[$listCategories[$keyCat]->nom])) { $catFiche[$listCategories[$keyCat]->nom] = array(); } $catFiche[$listCategories[$keyCat]->nom][] = $_item; }