Enhance statistics retrieval by adding user role checks for Thanato users in PageController and MenuStatisticService
This commit is contained in:
parent
5591a27d82
commit
c1cb86b5ce
@ -1982,7 +1982,10 @@ class PageController extends Controller {
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function getStats(){
|
||||
$result = $this->menuStatisticService->getStats($this->idNextcloud);
|
||||
$isThanato = in_array(UserGroupConstant::THANATOS_GROUP_NAME,$this->groups);
|
||||
$isAdmin = in_array(UserGroupConstant::ADMIN_GROUP_NAME,$this->groups);
|
||||
$isUserThanatoOnly = $isThanato && !$isAdmin;
|
||||
$result = $this->menuStatisticService->getStats($this->idNextcloud,$isUserThanatoOnly);
|
||||
return json_encode($result);
|
||||
}
|
||||
|
||||
|
||||
@ -1575,9 +1575,24 @@ class Bdd {
|
||||
/**
|
||||
* Number defunt
|
||||
*/
|
||||
public function numberDefunt($idNextcloud){
|
||||
$sql = "SELECT count(*) as c from ".$this->tableprefix."defunt;";
|
||||
return $this->execSQL($sql, array());
|
||||
public function numberDefunt($idNextcloud,$isUserThanatoOnly = false){
|
||||
$defuntCount = 0;
|
||||
if($isUserThanatoOnly == false){
|
||||
$sql = "SELECT count(*) as c from ".$this->tableprefix."defunt;";
|
||||
$defuntCountBythanato = $this->execSQLNoJsonReturn($sql, array());
|
||||
if(!empty($defuntCountBythanato)){
|
||||
$defuntCount = $defuntCountBythanato[0]['c'];
|
||||
}
|
||||
}
|
||||
else{
|
||||
$thanato = $this->getThanatoByUserUuid($idNextcloud);
|
||||
if($thanato != null){
|
||||
$thanatoId = $thanato["id"];
|
||||
$defuntsIdRelatedToThanato = $this->getDefuntIdsRelatedToThanato($thanatoId);
|
||||
$defuntCount = count($defuntsIdRelatedToThanato);
|
||||
}
|
||||
}
|
||||
return $defuntCount;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -58,10 +58,10 @@ class MenuStatisticService {
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function getStats($idNextCloud){
|
||||
public function getStats($idNextCloud,$isUserThanatoOnly = false){
|
||||
$res = array();
|
||||
$res['client'] = json_decode($this->gestionBdd->numberClient($idNextCloud))[0]->c;
|
||||
$res['defunt'] = json_decode($this->gestionBdd->numberDefunt($idNextCloud))[0]->c;
|
||||
$res['defunt'] = $this->gestionBdd->numberDefunt($idNextCloud,$isUserThanatoOnly);
|
||||
$res['thanato'] = json_decode($this->gestionBdd->numberThanato($idNextCloud))[0]->c;
|
||||
$res['devis'] = json_decode($this->gestionBdd->numberDevis($idNextCloud))[0]->c;
|
||||
$res['lieu'] = json_decode($this->gestionBdd->numberLieu($idNextCloud))[0]->c;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$currentUserIsAdmin = (isset($_['groups']) && in_array('admin', $_['groups']));
|
||||
|
||||
$currentUserIsAdmin = (isset($_['groups']) && in_array(OCA\Gestion\Constants\UserGroupConstant::ADMIN_GROUP_NAME, $_['groups']));
|
||||
?>
|
||||
<ul class="app-navigation">
|
||||
<li class="app-navigation-entry"><span class="navmarg"></span><b><?php p($l->t('Manage')); ?></b></li>
|
||||
@ -24,22 +25,22 @@ $currentUserIsAdmin = (isset($_['groups']) && in_array('admin', $_['groups']));
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-toggle-pictures"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['lieu']); ?>">
|
||||
<?php p($l->t('Lieux')); ?>
|
||||
</a>
|
||||
<div class="app-navigation-entry-utils-submenu">
|
||||
<ul>
|
||||
<li class="app-navigation-entry-utils-counter">
|
||||
<span id="statslieu">
|
||||
<div class="loader"></div>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<?php if ($currentUserIsAdmin): ?>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-toggle-pictures"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['lieu']); ?>">
|
||||
<?php p($l->t('Lieux')); ?>
|
||||
</a>
|
||||
<div class="app-navigation-entry-utils-submenu">
|
||||
<ul>
|
||||
<li class="app-navigation-entry-utils-counter">
|
||||
<span id="statslieu">
|
||||
<div class="loader"></div>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-category-integration"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['produit']); ?>">
|
||||
@ -98,23 +99,21 @@ $currentUserIsAdmin = (isset($_['groups']) && in_array('admin', $_['groups']));
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-template-add"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['devis']); ?>">
|
||||
<?php p($l->t('Quotes')); ?>
|
||||
</a>
|
||||
<div class="app-navigation-entry-utils-submenu">
|
||||
<ul>
|
||||
<li class="app-navigation-entry-utils-counter">
|
||||
<span id="statsdevis">
|
||||
<div class="loader"></div>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<?php if ($currentUserIsAdmin): ?>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-template-add"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['devis']); ?>">
|
||||
<?php p($l->t('Quotes')); ?>
|
||||
</a>
|
||||
<div class="app-navigation-entry-utils-submenu">
|
||||
<ul>
|
||||
<li class="app-navigation-entry-utils-counter">
|
||||
<span id="statsdevis">
|
||||
<div class="loader"></div>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-toggle-pictures"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['facture']); ?>">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user