/** * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { global $conf, $langs; $clause = " WHERE"; $sql = "SELECT c.rowid, c.date_creation as datec, c.date_commande, c.fk_statut, c.date_livraison as delivery_date"; $sql .= " FROM " . MAIN_DB_PREFIX . "commande_fournisseur as c"; if (!$user->rights->societe->client->voir && !$user->societe_id) { $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "societe_commerciaux as sc ON c.fk_soc = sc.fk_soc"; $sql .= " WHERE sc.fk_user = "******" AND"; } $sql .= $clause . " c.entity = " . $conf->entity; $sql .= " AND (c.fk_statut BETWEEN 1 AND 2)"; if ($user->societe_id) { $sql .= " AND c.fk_soc = " . $user->societe_id; } $resql = $this->db->query($sql); if ($resql) { $commandestatic = new CommandeFournisseur($this->db); $response = new WorkboardResponse(); $response->warning_delay = $conf->commande->fournisseur->warning_delay / 60 / 60 / 24; $response->label = $langs->trans("SuppliersOrdersToProcess"); $response->url = DOL_URL_ROOT . '/fourn/commande/list.php?statut=1,2,3'; $response->img = img_object($langs->trans("Orders"), "order"); while ($obj = $this->db->fetch_object($resql)) { $response->nbtodo++; $commandestatic->date_livraison = $this->db->jdate($obj->delivery_date); $commandestatic->date_commande = $this->db->jdate($obj->date_commande); $commandestatic->statut = $obj->fk_statut; if ($commandestatic->hasDelay()) { $response->nbtodolate++; } } return $response; } else { $this->error = $this->db->error(); return -1; } }