Пример #1
0
CValue::setSession("elem_concerne", $elem_concerne);
CValue::setSession("evenements", $evenements);
CValue::setSession("filter_item", $filter_item);
$selected_fiche_id = CValue::getOrSession("selected_fiche_id");
$where = array();
if ($elem_concerne) {
    $where["fiches_ei.elem_concerne"] = "= '{$elem_concerne}'";
}
if ($selected_user_id) {
    $where["fiches_ei.user_id"] = "= '{$selected_user_id}'";
}
if ($selected_service_valid_user_id) {
    $where["fiches_ei.service_valid_user_id"] = "= '{$selected_service_valid_user_id}'";
}
$user_id = null;
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]);
        }
    }
Пример #2
0
    }
    function doStore()
    {
        global $doc_ged_id, $file_id, $_validation;
        $this->_obj->date = CMbDT::dateTime();
        $this->_obj->remarques = CAppUI::tr("Modele");
        $this->_obj->doc_ged_id = $doc_ged_id;
        if ($file_id !== null) {
            $this->_obj->file_id = $file_id;
            $this->_obj->doc_ged_suivi_id = null;
        }
        if ($msg = $this->_obj->store()) {
            CAppUI::setMsg($msg, UI_MSG_ERROR);
            if ($this->redirectError) {
                $this->redirect =& $this->redirectError;
            }
        }
    }
}
$do1 = new CDoDocGedAddEdit();
if (!CCanDo::admin()) {
    $do1->doRedirect();
}
$do1->doIt();
if ($file_id) {
    $do2 = new CDoDocGedSuiviAddEdit();
    $do2->doIt();
} elseif ($_firstModeleGed) {
    $do1->dodelete();
    CAppUI::setMsg("CDocGed-msg-error_file", UI_MSG_ERROR);
}
 /**
  * @see parent::canRead()
  */
 function canRead()
 {
     if (!$this->sejour_id || CCanDo::admin()) {
         return parent::canRead();
     }
     // Tout utilisateur peut consulter une consultation de séjour en lecture seule
     return $this->_canRead = 1;
 }
Пример #4
0
 * @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();
}
/*
 * Si l'on est dans le cas où nous souhaitons préremplir automatiquement 
 * quelques champs à l'aide du modèle de fiche d'incident (module cell saver).
 */
if ($type_ei_id) {
    $type_fiche = new CTypeEi();
Пример #5
0
 */
CCanDo::checkRead();
$user = CUser::get();
$fiche_ei_id = CValue::getOrSession("fiche_ei_id", null);
$ficheAnnuleVisible = CValue::getOrSession("ficheAnnuleVisible", 0);
$ficheTermineVisible = CValue::getOrSession("ficheTermineVisible", 0);
$selected_user_id = CValue::getOrSession("selected_user_id");
$selected_service_valid_user_id = CValue::getOrSession("selected_service_valid_user_id");
$elem_concerne = CValue::getOrSession("elem_concerne");
$evenements = CValue::getOrSession("evenements");
$filter_item = CValue::getOrSession("filter_item");
$catFiche = array();
$fiche = new CFicheEi();
$droitFiche = !$fiche->load($fiche_ei_id);
$droitFiche = $droitFiche || !CCanDo::edit() && $fiche->user_id != $user->_id;
$droitFiche = $droitFiche || CCanDo::edit() && !CCanDo::admin() && $fiche->user_id != $user->_id && $fiche->service_valid_user_id != $user->_id;
// Liste des Catégories d'EI
$categorie = new CEiCategorie();
/** @var CEiCategorie[] $listCategories */
$listCategories = $categorie->loadList(null, "nom");
if ($droitFiche) {
    // Cette fiche n'est pas valide
    $fiche_ei_id = null;
    CValue::setSession("fiche_ei_id");
    $fiche = new CFicheEi();
} else {
    $fiche->loadRefsFwd();
    $fiche->loadRefItems();
    foreach ($listCategories as $keyCat => $_categorie) {
        foreach ($fiche->_ref_items as $keyItem => $_item) {
            if ($_item->ei_categorie_id == $keyCat) {
Пример #6
0
            $where["object_class"] = "= '{$filter->object_class}'";
        }
}
if ($filter->type) {
    $where["type"] = "= '{$filter->type}'";
}
if ($filter->_date_min) {
    $where[] = "date >= '{$filter->_date_min}'";
}
if ($filter->_date_max) {
    $where[] = "date <= '{$filter->_date_max}'";
}
$log = new CUserLog();
$list = null;
$list_count = null;
$is_admin = CCanDo::admin();
$dossiers_medicaux_shared = CAppUI::conf("dPetablissement dossiers_medicaux_shared");
if (!$stats) {
    $index = isset($where["object_id"]) ? "object_id" : null;
    /** @var CUserLog[] $list */
    $list = $log->loadList($where, "date DESC", "{$start}, 100", null, null, $index);
    // Sort by id with PHP cuz dumbass MySQL won't limit rowscan before sorting
    // even though `date` is explicit as first intention sorter AND obvious index in most cases
    // Tends to be a known limitation
    array_multisort(CMbArray::pluck($list, "_id"), SORT_DESC, $list);
    $list_count = $log->countList($where, null, null, $index);
    $group_id = CGroups::loadCurrent()->_id;
    $users = CStoredObject::massLoadFwdRef($list, "user_id");
    CStoredObject::massLoadFwdRef($list, "object_id");
    // Mass loading des mediusers et des fonctions
    $mediuser = new CMediusers();