Refactored dashboard indicator
This commit is contained in:
parent
bedaa483ad
commit
d1f73499e9
@ -1725,17 +1725,15 @@ class Adherent extends CommonObject
|
|||||||
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
||||||
*
|
*
|
||||||
* @param User $user Objet user
|
* @param User $user Objet user
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user)
|
function load_board($user)
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf, $langs;
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe
|
if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
$now=dol_now();
|
||||||
|
|
||||||
$sql = "SELECT a.rowid, a.datefin";
|
$sql = "SELECT a.rowid, a.datefin";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as a";
|
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as a";
|
||||||
@ -1746,12 +1744,24 @@ class Adherent extends CommonObject
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
|
$langs->load("members");
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay=$conf->adherent->cotisation->warning_delay/60/60/24;
|
||||||
|
$response->label=$langs->trans("MembersWithSubscriptionToReceive");
|
||||||
|
$response->url=DOL_URL_ROOT.'/adherents/list.php?mainmenu=members&statut=1';
|
||||||
|
$response->img=img_object($langs->trans("Members"),"user");
|
||||||
|
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
if ($this->db->jdate($obj->datefin) < ($now - $conf->adherent->cotisation->warning_delay)) $this->nbtodolate++;
|
|
||||||
|
if ($this->db->jdate($obj->datefin) < ($now - $conf->adherent->cotisation->warning_delay)) {
|
||||||
|
$response->nbtodolate++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -712,18 +712,14 @@ class ActionComm extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
||||||
*
|
*
|
||||||
* @param User $user Objet user
|
* @param User $user Objet user
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user)
|
function load_board($user)
|
||||||
{
|
{
|
||||||
global $conf, $user;
|
global $conf, $user, $langs;
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
|
||||||
|
|
||||||
$sql = "SELECT a.id, a.datep as dp";
|
$sql = "SELECT a.id, a.datep as dp";
|
||||||
$sql.= " FROM (".MAIN_DB_PREFIX."actioncomm as a";
|
$sql.= " FROM (".MAIN_DB_PREFIX."actioncomm as a";
|
||||||
@ -739,13 +735,25 @@ class ActionComm extends CommonObject
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
|
$now = dol_now();
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay = $conf->actions->warning_delay/60/60/24;
|
||||||
|
$response->label = $langs->trans("ActionsToDo");
|
||||||
|
$response->url = DOL_URL_ROOT.'/comm/action/listactions.php?status=todo&mainmenu=agenda';
|
||||||
|
$response->img = img_object($langs->trans("Actions"),"action");
|
||||||
|
|
||||||
// This assignment in condition is not a bug. It allows walking the results.
|
// This assignment in condition is not a bug. It allows walking the results.
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
if (isset($obj->dp) && $this->db->jdate($obj->dp) < ($now - $conf->actions->warning_delay)) $this->nbtodolate++;
|
|
||||||
|
if (isset($obj->dp) && $this->db->jdate($obj->dp) < ($now - $conf->actions->warning_delay)) {
|
||||||
|
$response->nbtodolate++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -140,9 +140,7 @@ if (empty($reshook))
|
|||||||
{
|
{
|
||||||
if (empty($conf->global->MAILING_LIMIT_SENDBYWEB))
|
if (empty($conf->global->MAILING_LIMIT_SENDBYWEB))
|
||||||
{
|
{
|
||||||
//TODO: What is this for?
|
// As security measure, we don't allow send from the GUI
|
||||||
// Pour des raisons de securite, on ne permet pas cette fonction via l'IHM,
|
|
||||||
// on affiche donc juste un message
|
|
||||||
setEventMessage($langs->trans("MailingNeedCommand"), 'warnings');
|
setEventMessage($langs->trans("MailingNeedCommand"), 'warnings');
|
||||||
setEventMessage('<textarea cols="70" rows="'.ROWS_2.'" wrap="soft">php ./scripts/emailings/mailing-send.php '.$object->id.'</textarea>', 'warnings');
|
setEventMessage('<textarea cols="70" rows="'.ROWS_2.'" wrap="soft">php ./scripts/emailings/mailing-send.php '.$object->id.'</textarea>', 'warnings');
|
||||||
setEventMessage($langs->trans("MailingNeedCommand2"), 'warnings');
|
setEventMessage($langs->trans("MailingNeedCommand2"), 'warnings');
|
||||||
|
|||||||
@ -116,10 +116,6 @@ class Propal extends CommonObject
|
|||||||
var $labelstatut=array();
|
var $labelstatut=array();
|
||||||
var $labelstatut_short=array();
|
var $labelstatut_short=array();
|
||||||
|
|
||||||
// Pour board
|
|
||||||
var $nbtodo;
|
|
||||||
var $nbtodolate;
|
|
||||||
|
|
||||||
var $specimen;
|
var $specimen;
|
||||||
|
|
||||||
|
|
||||||
@ -2349,15 +2345,12 @@ class Propal extends CommonObject
|
|||||||
*
|
*
|
||||||
* @param User $user Object user
|
* @param User $user Object user
|
||||||
* @param int $mode "opened" for proposal to close, "signed" for proposal to invoice
|
* @param int $mode "opened" for proposal to close, "signed" for proposal to invoice
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user,$mode)
|
function load_board($user,$mode)
|
||||||
{
|
{
|
||||||
global $conf, $user;
|
global $conf, $user, $langs;
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
|
||||||
$clause = " WHERE";
|
$clause = " WHERE";
|
||||||
|
|
||||||
$sql = "SELECT p.rowid, p.ref, p.datec as datec, p.fin_validite as datefin";
|
$sql = "SELECT p.rowid, p.ref, p.datec as datec, p.fin_validite as datefin";
|
||||||
@ -2376,25 +2369,43 @@ class Propal extends CommonObject
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
if ($mode == 'opened') $delay_warning=$conf->propal->cloture->warning_delay;
|
$langs->load("propal");
|
||||||
if ($mode == 'signed') $delay_warning=$conf->propal->facturation->warning_delay;
|
$now=dol_now();
|
||||||
|
|
||||||
|
if ($mode == 'opened') {
|
||||||
|
$delay_warning=$conf->propal->cloture->warning_delay;
|
||||||
|
$statut = 1;
|
||||||
|
$label = $langs->trans("PropalsToClose");
|
||||||
|
}
|
||||||
|
if ($mode == 'signed') {
|
||||||
|
$delay_warning=$conf->propal->facturation->warning_delay;
|
||||||
|
$statut = 2;
|
||||||
|
$label = $langs->trans("PropalsToBill");
|
||||||
|
}
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay = $delay_warning;
|
||||||
|
$response->label = $label;
|
||||||
|
$response->url = DOL_URL_ROOT.'/comm/propal/list.php?viewstatut='.$statut;
|
||||||
|
$response->img = img_object($langs->trans("Propals"),"propal");
|
||||||
|
|
||||||
// This assignment in condition is not a bug. It allows walking the results.
|
// This assignment in condition is not a bug. It allows walking the results.
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
if ($mode == 'opened')
|
if ($mode == 'opened')
|
||||||
{
|
{
|
||||||
$datelimit = $this->db->jdate($obj->datefin);
|
$datelimit = $this->db->jdate($obj->datefin);
|
||||||
if ($datelimit < ($now - $delay_warning))
|
if ($datelimit < ($now - $delay_warning))
|
||||||
{
|
{
|
||||||
$this->nbtodolate++;
|
$response->nbtodolate++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TODO Definir regle des propales a facturer en retard
|
// TODO Definir regle des propales a facturer en retard
|
||||||
// if ($mode == 'signed' && ! count($this->FactureListeArray($obj->rowid))) $this->nbtodolate++;
|
// if ($mode == 'signed' && ! count($this->FactureListeArray($obj->rowid))) $this->nbtodolate++;
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -106,10 +106,6 @@ class Commande extends CommonOrder
|
|||||||
|
|
||||||
var $lines = array();
|
var $lines = array();
|
||||||
|
|
||||||
// Pour board
|
|
||||||
var $nbtodo;
|
|
||||||
var $nbtodolate;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
@ -2729,15 +2725,12 @@ class Commande extends CommonOrder
|
|||||||
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
||||||
*
|
*
|
||||||
* @param User $user Object user
|
* @param User $user Object user
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user)
|
function load_board($user)
|
||||||
{
|
{
|
||||||
global $conf, $user;
|
global $conf, $user, $langs;
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
|
||||||
$clause = " WHERE";
|
$clause = " WHERE";
|
||||||
|
|
||||||
$sql = "SELECT c.rowid, c.date_creation as datec, c.date_livraison as delivery_date, c.fk_statut";
|
$sql = "SELECT c.rowid, c.date_creation as datec, c.date_livraison as delivery_date, c.fk_statut";
|
||||||
@ -2756,14 +2749,26 @@ class Commande extends CommonOrder
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
|
$now=dol_now();
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay=$conf->commande->client->warning_delay/60/60/24;
|
||||||
|
$response->label=$langs->trans("OrdersToProcess");
|
||||||
|
$response->url=DOL_URL_ROOT.'/commande/list.php?viewstatut=-3';
|
||||||
|
$response->img=img_object($langs->trans("Orders"),"order");
|
||||||
|
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
|
|
||||||
$date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date;
|
$date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date;
|
||||||
if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->client->warning_delay)) $this->nbtodolate++;
|
|
||||||
|
if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->client->warning_delay)) {
|
||||||
|
$response->nbtodolate++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -881,18 +881,14 @@ class Account extends CommonObject
|
|||||||
*
|
*
|
||||||
* @param User $user Objet user
|
* @param User $user Objet user
|
||||||
* @param int $filteraccountid To get info for a particular account id
|
* @param int $filteraccountid To get info for a particular account id
|
||||||
* @return int <0 if KO, 0=Nothing to show, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user,$filteraccountid=0)
|
function load_board($user,$filteraccountid=0)
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf, $langs;
|
||||||
|
|
||||||
if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe
|
if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
|
||||||
|
|
||||||
$sql = "SELECT b.rowid, b.datev as datefin";
|
$sql = "SELECT b.rowid, b.datev as datefin";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b,";
|
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX."bank_account as ba";
|
$sql.= " ".MAIN_DB_PREFIX."bank_account as ba";
|
||||||
@ -902,17 +898,27 @@ class Account extends CommonObject
|
|||||||
$sql.= " AND (ba.rappro = 1 AND ba.courant != 2)"; // Compte rapprochable
|
$sql.= " AND (ba.rappro = 1 AND ba.courant != 2)"; // Compte rapprochable
|
||||||
if ($filteraccountid) $sql.=" AND ba.rowid = ".$filteraccountid;
|
if ($filteraccountid) $sql.=" AND ba.rowid = ".$filteraccountid;
|
||||||
|
|
||||||
//print $sql;
|
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$num=$this->db->num_rows($resql);
|
$langs->load("banks");
|
||||||
|
$now=dol_now();
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay=$conf->bank->rappro->warning_delay/60/60/24;
|
||||||
|
$response->label=$langs->trans("TransactionsToConciliate");
|
||||||
|
$response->url=DOL_URL_ROOT.'/compta/bank/index.php?leftmenu=bank&mainmenu=bank';
|
||||||
|
$response->img=img_object($langs->trans("TransactionsToConciliate"),"payment");
|
||||||
|
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->rappro->warning_delay)) $this->nbtodolate++;
|
if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->rappro->warning_delay)) {
|
||||||
|
$response->nbtodolate++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $num;
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -117,9 +117,6 @@ class Facture extends CommonInvoice
|
|||||||
var $lines=array();
|
var $lines=array();
|
||||||
var $line;
|
var $line;
|
||||||
var $extraparams=array();
|
var $extraparams=array();
|
||||||
//! Pour board
|
|
||||||
var $nbtodo;
|
|
||||||
var $nbtodolate;
|
|
||||||
var $specimen;
|
var $specimen;
|
||||||
|
|
||||||
var $fac_rec;
|
var $fac_rec;
|
||||||
@ -3088,15 +3085,12 @@ class Facture extends CommonInvoice
|
|||||||
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
||||||
*
|
*
|
||||||
* @param User $user Object user
|
* @param User $user Object user
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user)
|
function load_board($user)
|
||||||
{
|
{
|
||||||
global $conf, $user;
|
global $conf, $user, $langs;
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
|
||||||
$clause = " WHERE";
|
$clause = " WHERE";
|
||||||
|
|
||||||
$sql = "SELECT f.rowid, f.date_lim_reglement as datefin";
|
$sql = "SELECT f.rowid, f.date_lim_reglement as datefin";
|
||||||
@ -3115,12 +3109,25 @@ class Facture extends CommonInvoice
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
|
$langs->load("bills");
|
||||||
|
$now=dol_now();
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay=$conf->facture->client->warning_delay/60/60/24;
|
||||||
|
$response->label=$langs->trans("CustomerBillsUnpaid");
|
||||||
|
$response->url=DOL_URL_ROOT.'/compta/facture/impayees.php';
|
||||||
|
$response->img=img_object($langs->trans("Bills"),"bill");
|
||||||
|
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
if ($this->db->jdate($obj->datefin) < ($now - $conf->facture->client->warning_delay)) $this->nbtodolate++;
|
|
||||||
|
if ($this->db->jdate($obj->datefin) < ($now - $conf->facture->client->warning_delay)) {
|
||||||
|
$response->nbtodolate++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -432,18 +432,14 @@ class RemiseCheque extends CommonObject
|
|||||||
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
||||||
*
|
*
|
||||||
* @param User $user Objet user
|
* @param User $user Objet user
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user)
|
function load_board($user)
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf, $langs;
|
||||||
|
|
||||||
if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe
|
if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
|
||||||
|
|
||||||
$sql = "SELECT b.rowid, b.datev as datefin";
|
$sql = "SELECT b.rowid, b.datev as datefin";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b";
|
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b";
|
||||||
$sql.= ", ".MAIN_DB_PREFIX."bank_account as ba";
|
$sql.= ", ".MAIN_DB_PREFIX."bank_account as ba";
|
||||||
@ -456,12 +452,25 @@ class RemiseCheque extends CommonObject
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
|
$langs->load("banks");
|
||||||
|
$now=dol_now();
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay=$conf->bank->cheque->warning_delay/60/60/24;
|
||||||
|
$response->label=$langs->trans("BankChecksToReceipt");
|
||||||
|
$response->url=DOL_URL_ROOT.'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=accountancy';
|
||||||
|
$response->img=img_object($langs->trans("BankChecksToReceipt"),"payment");
|
||||||
|
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->cheque->warning_delay)) $this->nbtodolate++;
|
|
||||||
|
if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->cheque->warning_delay)) {
|
||||||
|
$response->nbtodolate++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1881,15 +1881,11 @@ class Contrat extends CommonObject
|
|||||||
*
|
*
|
||||||
* @param User $user Objet user
|
* @param User $user Objet user
|
||||||
* @param string $mode "inactive" pour services a activer, "expired" pour services expires
|
* @param string $mode "inactive" pour services a activer, "expired" pour services expires
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user,$mode)
|
function load_board($user,$mode)
|
||||||
{
|
{
|
||||||
global $conf, $user;
|
global $conf, $user, $langs;
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
|
||||||
|
|
||||||
$this->from = " FROM ".MAIN_DB_PREFIX."contrat as c";
|
$this->from = " FROM ".MAIN_DB_PREFIX."contrat as c";
|
||||||
$this->from.= ", ".MAIN_DB_PREFIX."contratdet as cd";
|
$this->from.= ", ".MAIN_DB_PREFIX."contratdet as cd";
|
||||||
@ -1920,15 +1916,35 @@ class Contrat extends CommonObject
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
|
$langs->load("contracts");
|
||||||
|
$now=dol_now();
|
||||||
|
|
||||||
|
if ($mode == 'inactives') {
|
||||||
|
$warning_delay = $conf->contrat->services->inactifs->warning_delay;
|
||||||
|
$label = $langs->trans("BoardNotActivatedServices");
|
||||||
|
$url = DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=0';
|
||||||
|
} else {
|
||||||
|
$warning_delay = $conf->contrat->services->expires->warning_delay;
|
||||||
|
$url = DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=4&filter=expired';
|
||||||
|
$label = $langs->trans("BoardRunningServices");
|
||||||
|
}
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay = $warning_delay/60/60/24;
|
||||||
|
$response->label = $label;
|
||||||
|
$response->url = $url;
|
||||||
|
$response->img = img_object($langs->trans("Contract"),"contract");
|
||||||
|
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
if ($mode == 'inactives')
|
|
||||||
if ($obj->datefin && $this->db->jdate($obj->datefin) < ($now - $conf->contrat->services->inactifs->warning_delay)) $this->nbtodolate++;
|
if ($obj->datefin && $this->db->jdate($obj->datefin) < ($now - $warning_delay)) {
|
||||||
if ($mode == 'expired')
|
$response->nbtodolate++;
|
||||||
if ($obj->datefin && $this->db->jdate($obj->datefin) < ($now - $conf->contrat->services->expires->warning_delay)) $this->nbtodolate++;
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
69
htdocs/core/class/BoardResponse.class.php
Normal file
69
htdocs/core/class/BoardResponse.class.php
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/core/class/BoardResponse.class.php
|
||||||
|
* \brief Class that represents response of load_board functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
class BoardResponse
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Image URL to represent the board item
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $img;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Label of the warning
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $label;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* URL to list to do items
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $url;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delay time to mark an item as late
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
public $warning_delay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (optional) If set, to do late items will link to this url
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $lateurl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of items to do
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
public $nbtodo = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of to do items which are late
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
public $nbtodolate = 0;
|
||||||
|
|
||||||
|
}
|
||||||
@ -2000,15 +2000,12 @@ class CommandeFournisseur extends CommonOrder
|
|||||||
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
||||||
*
|
*
|
||||||
* @param User $user Objet user
|
* @param User $user Objet user
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user)
|
function load_board($user)
|
||||||
{
|
{
|
||||||
global $conf, $user;
|
global $conf, $user, $langs;
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
|
||||||
$clause = " WHERE";
|
$clause = " WHERE";
|
||||||
|
|
||||||
$sql = "SELECT c.rowid, c.date_creation as datec, c.fk_statut,c.date_livraison as delivery_date";
|
$sql = "SELECT c.rowid, c.date_creation as datec, c.fk_statut,c.date_livraison as delivery_date";
|
||||||
@ -2026,14 +2023,25 @@ class CommandeFournisseur extends CommonOrder
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
|
$now=dol_now();
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay=$conf->commande->fournisseur->warning_delay/60/60/24;
|
||||||
|
$response->label=$langs->trans("SuppliersOrdersToProcess");
|
||||||
|
$response->url=DOL_URL_ROOT.'/fourn/commande/index.php';
|
||||||
|
$response->img=img_object($langs->trans("Orders"),"order");
|
||||||
|
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
|
|
||||||
$date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date;
|
$date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date;
|
||||||
if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->fournisseur->warning_delay)) $this->nbtodolate++;
|
if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->fournisseur->warning_delay)) {
|
||||||
|
$response->nbtodolate++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1421,15 +1421,12 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
* Load indicators for dashboard (this->nbtodo and this->nbtodolate)
|
||||||
*
|
*
|
||||||
* @param User $user Object user
|
* @param User $user Object user
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return BoardResponse|int <0 if KO, BoardResponse if OK
|
||||||
*/
|
*/
|
||||||
function load_board($user)
|
function load_board($user)
|
||||||
{
|
{
|
||||||
global $conf, $user;
|
global $conf, $user, $langs;
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$this->nbtodo=$this->nbtodolate=0;
|
|
||||||
$sql = 'SELECT ff.rowid, ff.date_lim_reglement as datefin';
|
$sql = 'SELECT ff.rowid, ff.date_lim_reglement as datefin';
|
||||||
$sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as ff';
|
$sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as ff';
|
||||||
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||||
@ -1442,13 +1439,24 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
|
$langs->load("bills");
|
||||||
|
$now=dol_now();
|
||||||
|
|
||||||
|
$response = new BoardResponse();
|
||||||
|
$response->warning_delay=$conf->facture->fournisseur->warning_delay/60/60/24;
|
||||||
|
$response->label=$langs->trans("SupplierBillsToPay");
|
||||||
|
$response->url=DOL_URL_ROOT.'/fourn/facture/list.php?filtre=paye:0';
|
||||||
|
$response->img=img_object($langs->trans("Bills"),"bill");
|
||||||
|
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
while ($obj=$this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
$this->nbtodo++;
|
$response->nbtodo++;
|
||||||
if (! empty($obj->datefin) && $this->db->jdate($obj->datefin) < ($now - $conf->facture->fournisseur->warning_delay)) $this->nbtodolate++;
|
if (! empty($obj->datefin) && $this->db->jdate($obj->datefin) < ($now - $conf->facture->fournisseur->warning_delay)) {
|
||||||
|
$response->nbtodolate++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
return 1;
|
return $response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
161
htdocs/index.php
161
htdocs/index.php
@ -291,7 +291,8 @@ print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
|
|||||||
* Dolibarr Working Board with weather
|
* Dolibarr Working Board with weather
|
||||||
*/
|
*/
|
||||||
$showweather=empty($conf->global->MAIN_DISABLE_METEO)?1:0;
|
$showweather=empty($conf->global->MAIN_DISABLE_METEO)?1:0;
|
||||||
$rowspan=0;
|
|
||||||
|
//Array that contains all BoardResponse classes to process them
|
||||||
$dashboardlines=array();
|
$dashboardlines=array();
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">'."\n";
|
print '<table class="noborder" width="100%">'."\n";
|
||||||
@ -309,18 +310,14 @@ print '</tr>'."\n";
|
|||||||
// Do not include sections without management permission
|
// Do not include sections without management permission
|
||||||
//
|
//
|
||||||
|
|
||||||
|
require DOL_DOCUMENT_ROOT.'/core/class/BoardResponse.class.php';
|
||||||
|
|
||||||
// Number of actions to do (late)
|
// Number of actions to do (late)
|
||||||
if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->read)
|
if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->read)
|
||||||
{
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
|
||||||
$board=new ActionComm($db);
|
$board=new ActionComm($db);
|
||||||
$board->load_board($user);
|
$dashboardlines[] = $board->load_board($user);
|
||||||
$board->warning_delay=$conf->actions->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("ActionsToDo");
|
|
||||||
$board->url=DOL_URL_ROOT.'/comm/action/listactions.php?status=todo&mainmenu=agenda';
|
|
||||||
$board->img=img_object($langs->trans("Actions"),"action");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Number of customer orders a deal
|
// Number of customer orders a deal
|
||||||
@ -328,13 +325,8 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire)
|
|||||||
{
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
|
||||||
$board=new Commande($db);
|
$board=new Commande($db);
|
||||||
$board->load_board($user);
|
|
||||||
$board->warning_delay=$conf->commande->client->warning_delay/60/60/24;
|
$dashboardlines[] = $board->load_board($user);
|
||||||
$board->label=$langs->trans("OrdersToProcess");
|
|
||||||
$board->url=DOL_URL_ROOT.'/commande/list.php?viewstatut=-3';
|
|
||||||
$board->img=img_object($langs->trans("Orders"),"order");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Number of suppliers orders a deal
|
// Number of suppliers orders a deal
|
||||||
@ -342,172 +334,89 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande
|
|||||||
{
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
|
||||||
$board=new CommandeFournisseur($db);
|
$board=new CommandeFournisseur($db);
|
||||||
$board->load_board($user);
|
|
||||||
$board->warning_delay=$conf->commande->fournisseur->warning_delay/60/60/24;
|
$dashboardlines[] = $board->load_board($user);
|
||||||
$board->label=$langs->trans("SuppliersOrdersToProcess");
|
|
||||||
$board->url=DOL_URL_ROOT.'/fourn/commande/index.php';
|
|
||||||
$board->img=img_object($langs->trans("Orders"),"order");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Number of commercial proposals opened (expired)
|
// Number of commercial proposals opened (expired)
|
||||||
if (! empty($conf->propal->enabled) && $user->rights->propale->lire)
|
if (! empty($conf->propal->enabled) && $user->rights->propale->lire)
|
||||||
{
|
{
|
||||||
$langs->load("propal");
|
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php';
|
||||||
$board=new Propal($db);
|
$board=new Propal($db);
|
||||||
$board->load_board($user,"opened");
|
$dashboardlines[] = $board->load_board($user,"opened");
|
||||||
$board->warning_delay=$conf->propal->cloture->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("PropalsToClose");
|
|
||||||
$board->url=DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=1';
|
|
||||||
$board->img=img_object($langs->trans("Propals"),"propal");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Number of commercial proposals CLOSED signed (billed)
|
// Number of commercial proposals CLOSED signed (billed)
|
||||||
if (! empty($conf->propal->enabled) && $user->rights->propale->lire)
|
$dashboardlines[] = $board->load_board($user,"signed");
|
||||||
{
|
|
||||||
$langs->load("propal");
|
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php';
|
|
||||||
$board=new Propal($db);
|
|
||||||
$board->load_board($user,"signed");
|
|
||||||
$board->warning_delay=$conf->propal->facturation->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("PropalsToBill");
|
|
||||||
$board->url=DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=2';
|
|
||||||
$board->img=img_object($langs->trans("Propals"),"propal");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Number of services enabled (delayed)
|
// Number of services enabled (delayed)
|
||||||
if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire)
|
if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire)
|
||||||
{
|
{
|
||||||
$langs->load("contracts");
|
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
|
||||||
$board=new Contrat($db);
|
$board=new Contrat($db);
|
||||||
$board->load_board($user,"inactives");
|
$dashboardlines[] = $board->load_board($user,"inactives");
|
||||||
$board->warning_delay=$conf->contrat->services->inactifs->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("BoardNotActivatedServices");
|
|
||||||
$board->url=DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=0';
|
|
||||||
$board->img=img_object($langs->trans("Contract"),"contract");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Number of active services (expired)
|
// Number of active services (expired)
|
||||||
if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire)
|
$dashboardlines[] = $board->load_board($user,"expired");
|
||||||
{
|
|
||||||
$langs->load("contracts");
|
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
|
|
||||||
$board=new Contrat($db);
|
|
||||||
$board->load_board($user,"expired");
|
|
||||||
$board->warning_delay=$conf->contrat->services->expires->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("BoardRunningServices");
|
|
||||||
$board->url=DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=4&filter=expired';
|
|
||||||
$board->img=img_object($langs->trans("Contract"),"contract");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
}
|
||||||
// Number of invoices customers (has paid)
|
// Number of invoices customers (has paid)
|
||||||
if (! empty($conf->facture->enabled) && $user->rights->facture->lire)
|
if (! empty($conf->facture->enabled) && $user->rights->facture->lire)
|
||||||
{
|
{
|
||||||
$langs->load("bills");
|
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||||
$board=new Facture($db);
|
$board=new Facture($db);
|
||||||
$board->load_board($user);
|
$dashboardlines[] = $board->load_board($user);
|
||||||
$board->warning_delay=$conf->facture->client->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("CustomerBillsUnpaid");
|
|
||||||
$board->url=DOL_URL_ROOT.'/compta/facture/impayees.php';
|
|
||||||
$board->img=img_object($langs->trans("Bills"),"bill");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Number of supplier invoices (has paid)
|
// Number of supplier invoices (has paid)
|
||||||
if (! empty($conf->fournisseur->enabled) && ! empty($conf->facture->enabled) && $user->rights->facture->lire)
|
if (! empty($conf->fournisseur->enabled) && ! empty($conf->facture->enabled) && $user->rights->facture->lire)
|
||||||
{
|
{
|
||||||
$langs->load("bills");
|
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
|
||||||
$board=new FactureFournisseur($db);
|
$board=new FactureFournisseur($db);
|
||||||
$board->load_board($user);
|
$dashboardlines[] = $board->load_board($user);
|
||||||
$board->warning_delay=$conf->facture->fournisseur->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("SupplierBillsToPay");
|
|
||||||
$board->url=DOL_URL_ROOT.'/fourn/facture/list.php?filtre=paye:0';
|
|
||||||
$board->img=img_object($langs->trans("Bills"),"bill");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Number of transactions to conciliate
|
// Number of transactions to conciliate
|
||||||
if (! empty($conf->banque->enabled) && $user->rights->banque->lire && ! $user->societe_id)
|
if (! empty($conf->banque->enabled) && $user->rights->banque->lire && ! $user->societe_id)
|
||||||
{
|
{
|
||||||
$langs->load("banks");
|
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
||||||
$board=new Account($db);
|
$board=new Account($db);
|
||||||
$found=$board->load_board($user);
|
$dashboardlines[] = $board->load_board($user);
|
||||||
if ($found > 0)
|
|
||||||
{
|
|
||||||
$board->warning_delay=$conf->bank->rappro->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("TransactionsToConciliate");
|
|
||||||
$board->url=DOL_URL_ROOT.'/compta/bank/index.php?leftmenu=bank&mainmenu=bank';
|
|
||||||
$board->img=img_object($langs->trans("TransactionsToConciliate"),"payment");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Number of cheque to send
|
// Number of cheque to send
|
||||||
if (! empty($conf->banque->enabled) && $user->rights->banque->lire && ! $user->societe_id)
|
if (! empty($conf->banque->enabled) && $user->rights->banque->lire && ! $user->societe_id)
|
||||||
{
|
{
|
||||||
$langs->load("banks");
|
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/compta/paiement/cheque/class/remisecheque.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/compta/paiement/cheque/class/remisecheque.class.php';
|
||||||
$board=new RemiseCheque($db);
|
$board=new RemiseCheque($db);
|
||||||
$board->load_board($user);
|
$dashboardlines[] = $board->load_board($user);
|
||||||
$board->warning_delay=$conf->bank->cheque->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("BankChecksToReceipt");
|
|
||||||
$board->url=DOL_URL_ROOT.'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=accountancy';
|
|
||||||
$board->img=img_object($langs->trans("BankChecksToReceipt"),"payment");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Number of foundation members
|
// Number of foundation members
|
||||||
if (! empty($conf->adherent->enabled) && $user->rights->adherent->lire && ! $user->societe_id)
|
if (! empty($conf->adherent->enabled) && $user->rights->adherent->lire && ! $user->societe_id)
|
||||||
{
|
{
|
||||||
$langs->load("members");
|
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||||
$board=new Adherent($db);
|
$board=new Adherent($db);
|
||||||
$board->load_board($user);
|
$dashboardlines[] = $board->load_board($user);
|
||||||
$board->warning_delay=$conf->adherent->cotisation->warning_delay/60/60/24;
|
|
||||||
$board->label=$langs->trans("MembersWithSubscriptionToReceive");
|
|
||||||
$board->url=DOL_URL_ROOT.'/adherents/list.php?mainmenu=members&statut=1';
|
|
||||||
$board->img=img_object($langs->trans("Members"),"user");
|
|
||||||
$rowspan++;
|
|
||||||
$dashboardlines[]=$board;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate total nb of late
|
// Calculate total nb of late
|
||||||
$totallate=0;
|
$totallate=0;
|
||||||
foreach($dashboardlines as $key => $board)
|
|
||||||
{
|
|
||||||
if ($board->nbtodolate > 0) $totallate+=$board->nbtodolate;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show dashboard
|
|
||||||
$var=true;
|
$var=true;
|
||||||
foreach($dashboardlines as $key => $board)
|
|
||||||
|
$valid_dashboardlines = array_filter($dashboardlines, function ($board) {
|
||||||
|
return $board instanceof BoardResponse;
|
||||||
|
});
|
||||||
|
|
||||||
|
$rowspan = count($valid_dashboardlines);
|
||||||
|
|
||||||
|
foreach($valid_dashboardlines as $board)
|
||||||
{
|
{
|
||||||
|
if ($board->nbtodolate > 0) {
|
||||||
|
$totallate += $board->nbtodolate;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show dashboard
|
||||||
|
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print '<tr '.$bc[$var].'><td width="16">'.$board->img.'</td><td>'.$board->label.'</td>';
|
print '<tr '.$bc[$var].'><td width="16">'.$board->img.'</td><td>'.$board->label.'</td>';
|
||||||
print '<td align="right"><a href="'.$board->url.'">'.$board->nbtodo.'</a></td>';
|
print '<td align="right"><a href="'.$board->url.'">'.$board->nbtodo.'</a></td>';
|
||||||
@ -531,8 +440,6 @@ foreach($dashboardlines as $key => $board)
|
|||||||
if ($rowspan <= 2) $options='height="24"'; // Weather logo is smaller if dashboard has few elements
|
if ($rowspan <= 2) $options='height="24"'; // Weather logo is smaller if dashboard has few elements
|
||||||
else if ($rowspan <= 3) $options='height="48"'; // Weather logo is smaller if dashboard has few elements
|
else if ($rowspan <= 3) $options='height="48"'; // Weather logo is smaller if dashboard has few elements
|
||||||
print showWeather($totallate,$text,$options);
|
print showWeather($totallate,$text,$options);
|
||||||
//print showWeather(0,'');
|
|
||||||
//print showWeather(40,$text);
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
$showweather=0;
|
$showweather=0;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user