/** * @see parent::getPerm() */ function getPerm($permType) { $this->loadRefAuthor(); $this->loadRefCategory(); // Permission de base $perm = parent::getPerm($permType); // Il faut au moins avoir le droit de lecture sur la catégories if ($this->file_category_id) { $perm &= $this->_ref_category->getPerm(PERM_READ); } // Gestion d'un document confidentiel if ($this->private) { $sameFunction = $this->_ref_author->function_id == CMediusers::get()->function_id; $isAdmin = CMediusers::get()->isAdmin(); $perm &= $sameFunction || $isAdmin; } return $perm; }
/** * @see parent::getPerm() */ function getPerm($permType) { $basePerm = CModule::getCanDo('soins')->edit || CModule::getCanDo('dPurgences')->edit || CModule::getCanDo('dPcabinet')->edit || CModule::getCanDo('dPbloc')->edit || CModule::getCanDo('dPplanningOp')->edit; return $basePerm && parent::getPerm($permType); }