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");
Example #2
0
 /**
  * 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;
     }
 }
Example #3
0
/**
 * $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();
Example #4
0
 * @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();
Example #5
0
 * $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;
            }