Merge pull request #13944 from atm-maxime/fix_board_expensereport

Fix board expensereport and holiday
This commit is contained in:
Laurent Destailleur 2020-05-23 14:20:28 +02:00 committed by GitHub
commit 475abbe24b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 11 deletions

View File

@ -970,7 +970,7 @@ class ExpenseReport extends CommonObject
{
// phpcs:enable
global $conf;
$this->lines=array();
$sql = ' SELECT de.rowid, de.comments, de.qty, de.value_unit, de.date, de.rang,';
@ -2274,7 +2274,7 @@ class ExpenseReport extends CommonObject
public function load_state_board()
{
// phpcs:enable
global $conf;
global $conf, $user;
$this->nb=array();
@ -2282,6 +2282,12 @@ class ExpenseReport extends CommonObject
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as ex";
$sql.= " WHERE ex.fk_statut > 0";
$sql.= " AND ex.entity IN (".getEntity('expensereport').")";
if(!$user->rights->expensereport->readall)
{
$userchildids = $user->getAllChildIds(1);
$sql.= " AND (ex.fk_user_author IN (".join(',', $userchildids).")";
$sql.= " OR ex.fk_user_validator IN (".join(',', $userchildids)."))";
}
$resql=$this->db->query($sql);
if ($resql) {
@ -2316,15 +2322,17 @@ class ExpenseReport extends CommonObject
$now=dol_now();
$userchildids = $user->getAllChildIds(1);
$sql = "SELECT ex.rowid, ex.date_valid";
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as ex";
if ($option == 'toapprove') $sql.= " WHERE ex.fk_statut = 2";
else $sql.= " WHERE ex.fk_statut = 5";
$sql.= " AND ex.entity IN (".getEntity('expensereport').")";
$sql.= " AND (ex.fk_user_author IN (".join(',', $userchildids).")";
$sql.= " OR ex.fk_user_validator IN (".join(',', $userchildids)."))";
if(!$user->rights->expensereport->readall)
{
$userchildids = $user->getAllChildIds(1);
$sql.= " AND (ex.fk_user_author IN (".join(',', $userchildids).")";
$sql.= " OR ex.fk_user_validator IN (".join(',', $userchildids)."))";
}
$resql=$this->db->query($sql);
if ($resql)

View File

@ -2182,12 +2182,20 @@ class Holiday extends CommonObject
public function load_state_board()
{
// phpcs:enable
global $user;
$this->nb=array();
$sql = "SELECT count(h.rowid) as nb";
$sql.= " FROM ".MAIN_DB_PREFIX."holiday as h";
$sql.= " WHERE h.statut > 1";
$sql.= " AND h.entity IN (".getEntity('holiday').")";
if(!$user->rights->expensereport->read_all)
{
$userchildids = $user->getAllChildIds(1);
$sql.= " AND (h.fk_user IN (".join(',', $userchildids).")";
$sql.= " OR h.fk_validator IN (".join(',', $userchildids)."))";
}
$resql=$this->db->query($sql);
if ($resql) {
@ -2221,14 +2229,16 @@ class Holiday extends CommonObject
$now=dol_now();
$userchildids = $user->getAllChildIds(1);
$sql = "SELECT h.rowid, h.date_debut";
$sql.= " FROM ".MAIN_DB_PREFIX."holiday as h";
$sql.= " WHERE h.statut = 2";
$sql.= " AND h.entity IN (".getEntity('holiday').")";
$sql.= " AND (h.fk_user IN (".join(',', $userchildids).")";
$sql.= " OR h.fk_validator IN (".join(',', $userchildids)."))";
if(!$user->rights->expensereport->read_all)
{
$userchildids = $user->getAllChildIds(1);
$sql.= " AND (h.fk_user IN (".join(',', $userchildids).")";
$sql.= " OR h.fk_validator IN (".join(',', $userchildids)."))";
}
$resql=$this->db->query($sql);
if ($resql)

View File

@ -324,7 +324,7 @@ if (empty($user->societe_id))
include_once $includes[$key]; // Loading a class cost around 1Mb
$board=new $classe($db);
$board->load_state_board($user);
$board->load_state_board();
$boardloaded[$classe]=$board;
}
else