Uniformize and clean boxes behaviour and translation.

This commit is contained in:
Laurent Destailleur 2014-10-27 21:48:28 +01:00
parent 132ddf65d6
commit 0abeea059e
12 changed files with 189 additions and 142 deletions

View File

@ -65,8 +65,9 @@ if ($action == 'add')
$sql.= " FROM ".MAIN_DB_PREFIX."user_param"; $sql.= " FROM ".MAIN_DB_PREFIX."user_param";
$sql.= " WHERE param = 'MAIN_BOXES_".$db->escape(GETPOST("pos","alpha"))."' AND value = '1'"; $sql.= " WHERE param = 'MAIN_BOXES_".$db->escape(GETPOST("pos","alpha"))."' AND value = '1'";
$sql.= " AND entity = ".$conf->entity; $sql.= " AND entity = ".$conf->entity;
$resql = $db->query($sql);
dol_syslog("boxes.php search fk_user to activate box for", LOG_DEBUG); dol_syslog("boxes.php search fk_user to activate box for", LOG_DEBUG);
$resql = $db->query($sql);
if ($resql) if ($resql)
{ {
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
@ -227,8 +228,8 @@ $actives = array();
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order,"; $sql = "SELECT b.rowid, b.box_id, b.position, b.box_order,";
$sql.= " bd.rowid as boxid"; $sql.= " bd.rowid as boxid";
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as bd"; $sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as bd";
$sql.= " WHERE b.entity = ".$conf->entity; $sql.= " WHERE b.box_id = bd.rowid";
$sql.= " AND b.box_id = bd.rowid"; $sql.= " AND b.entity IN (0,".(! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)?"1,":"").$conf->entity.")";
$sql.= " AND b.fk_user=0"; $sql.= " AND b.fk_user=0";
$sql.= " ORDER by b.position, b.box_order"; $sql.= " ORDER by b.position, b.box_order";
@ -237,6 +238,8 @@ $resql = $db->query($sql);
if ($resql) if ($resql)
{ {
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
// Check record to know if we must recalculate sort order
$i = 0; $i = 0;
$decalage=0; $decalage=0;
$var=false; $var=false;
@ -310,7 +313,6 @@ if ($resql)
$db->free($resql); $db->free($resql);
} }
// Available boxes to activate // Available boxes to activate
$boxtoadd=InfoBox::listBoxes($db,'available',-1,null,$actives); $boxtoadd=InfoBox::listBoxes($db,'available',-1,null,$actives);
@ -372,7 +374,7 @@ print '</table>';
// Activated boxes // Activated boxes
$boxactivated=InfoBox::listBoxes($db,'activated',-1,null); $boxactivated=InfoBox::listBoxes($db,'activated',-1,null);
//var_dump($boxactivated);
print "<br>\n\n"; print "<br>\n\n";
print_titre($langs->trans("BoxesActivated")); print_titre($langs->trans("BoxesActivated"));

View File

@ -58,22 +58,25 @@ class box_commandes extends ModeleBoxes
include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
$commandestatic=new Commande($db); $commandestatic=new Commande($db);
$this->info_box_head = array('text' => $langs->trans("BoxTitleLastCustomerOrders",$max)); $userstatic = new User($db);
$this->info_box_head = array('text' => $langs->trans("BoxTitleLast".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."CustomerOrders",$max));
if ($user->rights->commande->lire) if ($user->rights->commande->lire)
{ {
$sql = "SELECT s.nom as name, s.rowid as socid,"; $sql = "SELECT s.nom as name, s.rowid as socid,";
$sql.= " c.ref, c.tms, c.rowid,"; $sql.= " c.ref, c.tms, c.rowid, c.date_commande,";
$sql.= " c.fk_statut, c.facture"; $sql.= " c.fk_statut, c.fk_user_valid, c.facture, c.total_ht";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."commande as c"; $sql.= ", ".MAIN_DB_PREFIX."commande as c";
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";
$sql.= " WHERE c.fk_soc = s.rowid"; $sql.= " WHERE c.fk_soc = s.rowid";
$sql.= " AND c.entity = ".$conf->entity; $sql.= " AND c.entity = ".$conf->entity;
if (! empty($conf->global->ORDER_BOX_LAST_ORDERS_VALIDATED_ONLY)) $sql.=" AND c.fk_statut = 1";
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if ($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; if ($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id;
$sql.= " ORDER BY c.date_commande DESC, c.ref DESC "; if ($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE) $sql.= " ORDER BY c.date_commande DESC, c.ref DESC ";
else $sql.= " ORDER BY c.tms DESC, c.ref DESC ";
$sql.= $db->plimit($max, 0); $sql.= $db->plimit($max, 0);
$result = $db->query($sql); $result = $db->query($sql);
@ -86,29 +89,43 @@ class box_commandes extends ModeleBoxes
while ($i < $num) while ($i < $num)
{ {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$date=$db->jdate($objp->date_commande);
$datem=$db->jdate($objp->tms); $datem=$db->jdate($objp->tms);
$this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', $this->info_box_contents[$i][] = array('td' => 'align="left" width="16"',
'logo' => $this->boximg, 'logo' => $this->boximg,
'url' => DOL_URL_ROOT."/commande/card.php?id=".$objp->rowid); 'url' => DOL_URL_ROOT."/commande/card.php?id=".$objp->rowid);
$this->info_box_contents[$i][1] = array('td' => 'align="left"', $this->info_box_contents[$i][] = array('td' => 'align="left"',
'text' => $objp->ref, 'text' => $objp->ref,
'url' => DOL_URL_ROOT."/commande/card.php?id=".$objp->rowid); 'url' => DOL_URL_ROOT."/commande/card.php?id=".$objp->rowid);
$this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"', $this->info_box_contents[$i][] = array('td' => 'align="left" width="16"',
'logo' => 'company', 'logo' => 'company',
'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid);
$this->info_box_contents[$i][3] = array('td' => 'align="left"', $this->info_box_contents[$i][] = array('td' => 'align="left"',
'text' => $objp->name, 'text' => $objp->name,
'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid);
$this->info_box_contents[$i][4] = array('td' => 'align="right"', $this->info_box_contents[$i][] = array('td' => 'align="right"',
'text' => dol_print_date($datem,'day'), 'text' => price($objp->total_ht),
);
if (! empty($conf->global->ORDER_BOX_LAST_ORDERS_SHOW_VALIDATE_USER))
{
if ($objp->fk_user_valid > 0) $userstatic->fetch($objp->fk_user_valid);
$this->info_box_contents[$i][] = array('td' => 'align="right"',
'text' => (($objp->fk_user_valid > 0)?$userstatic->getNomUrl(1):''),
'url' => (($objp->fk_user_valid > 0)?DOL_URL_ROOT.'/user/card.php?id='.$objp->fk_user_valid:'')
);
}
$this->info_box_contents[$i][] = array('td' => 'align="right"',
'text' => dol_print_date($date,'day'),
); );
$this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', $this->info_box_contents[$i][] = array('td' => 'align="right" width="18"',
'text' => $commandestatic->LibStatut($objp->fk_statut,$objp->facture,3)); 'text' => $commandestatic->LibStatut($objp->fk_statut,$objp->facture,3));
$i++; $i++;

View File

@ -56,7 +56,7 @@ class box_factures extends ModeleBoxes
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$facturestatic=new Facture($db); $facturestatic=new Facture($db);
$text = $langs->trans("BoxTitleLastCustomerBills",$max); $text = $langs->trans("BoxTitleLast".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."CustomerBills",$max);
$this->info_box_head = array( $this->info_box_head = array(
'text' => $text, 'text' => $text,
'limit'=> dol_strlen($text) 'limit'=> dol_strlen($text)
@ -64,7 +64,7 @@ class box_factures extends ModeleBoxes
if ($user->rights->facture->lire) if ($user->rights->facture->lire)
{ {
$sql = "SELECT f.rowid as facid, f.facnumber, f.type, f.amount, f.datef as df"; $sql = "SELECT f.rowid as facid, f.facnumber, f.type, f.total as total_ht, f.datef as df";
$sql.= ", f.paye, f.fk_statut, f.datec, f.tms"; $sql.= ", f.paye, f.fk_statut, f.datec, f.tms";
$sql.= ", s.nom as name, s.rowid as socid"; $sql.= ", s.nom as name, s.rowid as socid";
$sql.= ", f.date_lim_reglement as datelimite"; $sql.= ", f.date_lim_reglement as datelimite";
@ -75,7 +75,8 @@ class box_factures extends ModeleBoxes
$sql.= " AND f.entity = ".$conf->entity; $sql.= " AND f.entity = ".$conf->entity;
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id;
$sql.= " ORDER BY f.tms DESC"; if ($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE) $sql.= " ORDER BY f.datef DESC, f.facnumber DESC ";
else $sql.= " ORDER BY f.tms DESC, f.facnumber DESC ";
$sql.= $db->plimit($max, 0); $sql.= $db->plimit($max, 0);
$result = $db->query($sql); $result = $db->query($sql);
@ -91,7 +92,8 @@ class box_factures extends ModeleBoxes
{ {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$datelimite=$db->jdate($objp->datelimite); $datelimite=$db->jdate($objp->datelimite);
$datec=$db->jdate($objp->datec); $date=$db->jdate($objp->df);
$datem=$db->jdate($objp->tms);
$picto='bill'; $picto='bill';
if ($objp->type == 1) $picto.='r'; if ($objp->type == 1) $picto.='r';
@ -118,10 +120,14 @@ class box_factures extends ModeleBoxes
'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid);
$this->info_box_contents[$i][4] = array('td' => 'align="right"', $this->info_box_contents[$i][4] = array('td' => 'align="right"',
'text' => dol_print_date($datec,'day'), 'text' => price($objp->total_ht),
); );
$this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', $this->info_box_contents[$i][5] = array('td' => 'align="right"',
'text' => dol_print_date($date,'day'),
);
$this->info_box_contents[$i][6] = array('td' => 'align="right" width="18"',
'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3)); 'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3));
$i++; $i++;

View File

@ -58,13 +58,13 @@ class box_factures_fourn extends ModeleBoxes
$facturestatic=new FactureFournisseur($db); $facturestatic=new FactureFournisseur($db);
$this->info_box_head = array( $this->info_box_head = array(
'text' => $langs->trans("BoxTitleLastSupplierBills",$max) 'text' => $langs->trans("BoxTitleLast".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."SupplierBills",$max)
); );
if ($user->rights->fournisseur->facture->lire) if ($user->rights->fournisseur->facture->lire)
{ {
$sql = "SELECT s.nom as name, s.rowid as socid,"; $sql = "SELECT s.nom as name, s.rowid as socid,";
$sql.= " f.rowid as facid, f.ref, f.ref_supplier, f.amount,"; $sql.= " f.rowid as facid, f.ref, f.ref_supplier, f.total_ht,";
$sql.= " f.paye, f.fk_statut,"; $sql.= " f.paye, f.fk_statut,";
$sql.= ' f.datef as df,'; $sql.= ' f.datef as df,';
$sql.= ' f.datec as datec,'; $sql.= ' f.datec as datec,';
@ -76,7 +76,8 @@ class box_factures_fourn extends ModeleBoxes
$sql.= " AND f.entity = ".$conf->entity; $sql.= " AND f.entity = ".$conf->entity;
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id;
$sql.= " ORDER BY f.tms DESC"; if ($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE) $sql.= " ORDER BY f.datef DESC, f.ref DESC ";
else $sql.= " ORDER BY f.tms DESC, f.ref DESC ";
$sql.= $db->plimit($max, 0); $sql.= $db->plimit($max, 0);
$result = $db->query($sql); $result = $db->query($sql);
@ -92,7 +93,8 @@ class box_factures_fourn extends ModeleBoxes
{ {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$datelimite=$db->jdate($objp->datelimite); $datelimite=$db->jdate($objp->datelimite);
$datec=$db->jdate($objp->datec); $date=$db->jdate($objp->df);
$datem=$db->jdate($objp->tms);
$late = ''; $late = '';
if ($objp->paye == 0 && $datelimite && $datelimite < ($now - $conf->facture->fournisseur->warning_delay)) $late=img_warning(sprintf($l_due_date, dol_print_date($datelimite,'day'))); if ($objp->paye == 0 && $datelimite && $datelimite < ($now - $conf->facture->fournisseur->warning_delay)) $late=img_warning(sprintf($l_due_date, dol_print_date($datelimite,'day')));
@ -119,7 +121,7 @@ class box_factures_fourn extends ModeleBoxes
'url' => DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid); 'url' => DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid);
$this->info_box_contents[$i][5] = array('td' => 'align="right"', $this->info_box_contents[$i][5] = array('td' => 'align="right"',
'text' => dol_print_date($datec,'day')); 'text' => dol_print_date($date,'day'));
$fac = new FactureFournisseur($db); $fac = new FactureFournisseur($db);
$fac->fetch($objp->facid); $fac->fetch($objp->facid);

View File

@ -67,15 +67,12 @@ class box_ficheinter extends ModeleBoxes
$sql.= " f.tms as datem,"; $sql.= " f.tms as datem,";
$sql.= " s.nom as name, s.rowid as socid, s.client"; $sql.= " s.nom as name, s.rowid as socid, s.client";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
if (! $user->rights->societe->client->voir) if (! $user->rights->societe->client->voir) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= ", ".MAIN_DB_PREFIX."fichinter as f"; $sql.= ", ".MAIN_DB_PREFIX."fichinter as f";
$sql.= " WHERE f.fk_soc = s.rowid "; $sql.= " WHERE f.fk_soc = s.rowid ";
$sql.= " AND f.entity = ".$conf->entity; $sql.= " AND f.entity = ".$conf->entity;
if (! $user->rights->societe->client->voir && !$user->societe_id) if (! $user->rights->societe->client->voir && !$user->societe_id) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
$sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id;
$sql.= " ORDER BY f.tms DESC"; $sql.= " ORDER BY f.tms DESC";
$sql.= $db->plimit($max, 0); $sql.= $db->plimit($max, 0);

View File

@ -56,84 +56,93 @@ class box_propales extends ModeleBoxes
$this->max=$max; $this->max=$max;
include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php';
$propalstatic=new Propal($db); $propalstatic=new Propal($db);
$this->info_box_head = array('text' => $langs->trans("BoxTitleLastPropals",$max)); $this->info_box_head = array('text' => $langs->trans("BoxTitleLast".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."Propals",$max));
if ($user->rights->propale->lire) if ($user->rights->propale->lire)
{ {
$sql = "SELECT s.nom as name, s.rowid as socid,"; $sql = "SELECT s.nom as name, s.rowid as socid,";
$sql.= " p.rowid, p.ref, p.fk_statut, p.datep as dp, p.datec, p.fin_validite, p.date_cloture"; $sql.= " p.rowid, p.ref, p.fk_statut, p.datep as dp, p.datec, p.fin_validite, p.date_cloture, p.total_ht, p.tms";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."propal as p"; $sql.= ", ".MAIN_DB_PREFIX."propal as p";
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";
$sql.= " WHERE p.fk_soc = s.rowid"; $sql.= " WHERE p.fk_soc = s.rowid";
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id;
$sql.= " ORDER BY p.datep DESC, p.ref DESC "; if ($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE) $sql.= " ORDER BY p.datep DESC, p.ref DESC ";
$sql.= $db->plimit($max, 0); else $sql.= " ORDER BY p.tms DESC, p.ref DESC ";
$sql.= $db->plimit($max, 0);
$result = $db->query($sql); $result = $db->query($sql);
if ($result) if ($result)
{ {
$num = $db->num_rows($result); $num = $db->num_rows($result);
$now=dol_now(); $now=dol_now();
$i = 0; $i = 0;
while ($i < $num) while ($i < $num)
{ {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$datec=$db->jdate($objp->datec); $date=$db->jdate($objp->dp);
$dateterm=$db->jdate($objp->fin_validite); $datec=$db->jdate($objp->datec);
$dateclose=$db->jdate($objp->date_cloture); $datem=$db->jdate($objp->tms);
$dateterm=$db->jdate($objp->fin_validite);
$dateclose=$db->jdate($objp->date_cloture);
$late = ''; $late = '';
if ($objp->fk_statut == 1 && $dateterm < ($now - $conf->propal->cloture->warning_delay)) { $late = img_warning($langs->trans("Late")); } if ($objp->fk_statut == 1 && $dateterm < ($now - $conf->propal->cloture->warning_delay)) {
$late = img_warning($langs->trans("Late"));
}
$this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"',
'logo' => $this->boximg, 'logo' => $this->boximg,
'url' => DOL_URL_ROOT."/comm/propal.php?id=".$objp->rowid); 'url' => DOL_URL_ROOT."/comm/propal.php?id=".$objp->rowid);
$this->info_box_contents[$i][1] = array('td' => 'align="left"', $this->info_box_contents[$i][1] = array('td' => 'align="left"',
'text' => $objp->ref, 'text' => $objp->ref,
'text2'=> $late, 'text2'=> $late,
'url' => DOL_URL_ROOT."/comm/propal.php?id=".$objp->rowid); 'url' => DOL_URL_ROOT."/comm/propal.php?id=".$objp->rowid);
$this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"', $this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"',
'logo' => 'company', 'logo' => 'company',
'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid);
$this->info_box_contents[$i][3] = array('td' => 'align="left"', $this->info_box_contents[$i][3] = array('td' => 'align="left"',
'text' => dol_trunc($objp->name,40), 'text' => dol_trunc($objp->name,40),
'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid);
$this->info_box_contents[$i][4] = array('td' => 'align="right"', $this->info_box_contents[$i][4] = array('td' => 'align="right"',
'text' => dol_print_date($datec,'day')); 'text' => price($objp->total_ht),
);
$this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', $this->info_box_contents[$i][5] = array('td' => 'align="right"',
'text' => $propalstatic->LibStatut($objp->fk_statut,3)); 'text' => dol_print_date($date,'day'));
$i++; $this->info_box_contents[$i][6] = array('td' => 'align="right" width="18"',
} 'text' => $propalstatic->LibStatut($objp->fk_statut,3));
if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedProposals")); $i++;
}
$db->free($result); if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedProposals"));
}
else $db->free($result);
{ }
$this->info_box_contents[0][0] = array( 'td' => 'align="left"', else
'maxlength'=>500, {
'text' => ($db->error().' sql='.$sql)); $this->info_box_contents[0][0] = array( 'td' => 'align="left"',
} 'maxlength'=>500,
} 'text' => ($db->error().' sql='.$sql));
else }
{ }
$this->info_box_contents[0][0] = array('td' => 'align="left"', else
'text' => $langs->trans("ReadPermissionNotAllowed")); {
} $this->info_box_contents[0][0] = array('td' => 'align="left"',
'text' => $langs->trans("ReadPermissionNotAllowed"));
}
} }
/** /**

View File

@ -58,12 +58,12 @@ class box_supplier_orders extends ModeleBoxes
include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
$supplierorderstatic=new CommandeFournisseur($db); $supplierorderstatic=new CommandeFournisseur($db);
$this->info_box_head = array('text' => $langs->trans("BoxTitleLatestSupplierOrders", $max)); $this->info_box_head = array('text' => $langs->trans("BoxTitleLatest".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."SupplierOrders", $max));
if ($user->rights->fournisseur->commande->lire) if ($user->rights->fournisseur->commande->lire)
{ {
$sql = "SELECT s.nom as name, s.rowid as socid,"; $sql = "SELECT s.nom as name, s.rowid as socid,";
$sql.= " c.ref, c.tms, c.rowid,"; $sql.= " c.ref, c.tms, c.rowid, c.date_commande,";
$sql.= " c.fk_statut"; $sql.= " c.fk_statut";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."commande_fournisseur as c"; $sql.= ", ".MAIN_DB_PREFIX."commande_fournisseur as c";
@ -72,7 +72,8 @@ class box_supplier_orders extends ModeleBoxes
$sql.= " AND c.entity = ".$conf->entity; $sql.= " AND c.entity = ".$conf->entity;
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if ($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; if ($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id;
$sql.= " ORDER BY c.date_commande DESC, c.ref DESC "; if ($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE) $sql.= " ORDER BY c.date_commande DESC, c.ref DESC ";
else $sql.= " ORDER BY c.tms DESC, c.ref DESC ";
$sql.= $db->plimit($max, 0); $sql.= $db->plimit($max, 0);
$result = $db->query($sql); $result = $db->query($sql);
@ -84,7 +85,8 @@ class box_supplier_orders extends ModeleBoxes
while ($i < $num) while ($i < $num)
{ {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$datem=$db->jdate($objp->tms); $date=$db->jdate($objp->date_commande);
$datem=$db->jdate($objp->tms);
$urlo = DOL_URL_ROOT."/fourn/commande/card.php?id=".$objp->rowid; $urlo = DOL_URL_ROOT."/fourn/commande/card.php?id=".$objp->rowid;
$urls = DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid; $urls = DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid;
@ -106,7 +108,7 @@ class box_supplier_orders extends ModeleBoxes
'url' => $urls); 'url' => $urls);
$this->info_box_contents[$i][4] = array('td' => 'align="right"', $this->info_box_contents[$i][4] = array('td' => 'align="right"',
'text' => dol_print_date($datem,'day'), 'text' => dol_print_date($date,'day'),
); );
$this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', $this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"',

View File

@ -54,7 +54,7 @@ class InfoBox
$boxes=array(); $boxes=array();
$confuserzone='MAIN_BOXES_'.$zone; $confuserzone='MAIN_BOXES_'.$zone;
if ($mode == 'activated') if ($mode == 'activated') // activated
{ {
$sql = "SELECT b.rowid, b.position, b.box_order, b.fk_user,"; $sql = "SELECT b.rowid, b.position, b.box_order, b.fk_user,";
$sql.= " d.rowid as box_id, d.file, d.note, d.tms"; $sql.= " d.rowid as box_id, d.file, d.note, d.tms";
@ -66,18 +66,11 @@ class InfoBox
else $sql.= " AND b.fk_user = 0"; else $sql.= " AND b.fk_user = 0";
$sql.= " ORDER BY b.box_order"; $sql.= " ORDER BY b.box_order";
} }
else else // available
{ {
$sql = "SELECT d.rowid as box_id, d.file, d.note, d.tms"; $sql = "SELECT d.rowid as box_id, d.file, d.note, d.tms";
$sql.= " FROM ".MAIN_DB_PREFIX."boxes_def as d"; $sql.= " FROM ".MAIN_DB_PREFIX."boxes_def as d";
if (! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)) $sql.= " WHERE d.entity IN (0,".(! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)?"1,":"").$conf->entity.")";
{
$sql.= " WHERE entity IN (1,".$conf->entity.")"; // TODO add method for define another master entity
}
else
{
$sql.= " WHERE entity = ".$conf->entity;
}
} }
dol_syslog(get_class()."::listBoxes get default box list for mode=".$mode." userid=".(is_object($user)?$user->id:'')."", LOG_DEBUG); dol_syslog(get_class()."::listBoxes get default box list for mode=".$mode." userid=".(is_object($user)?$user->id:'')."", LOG_DEBUG);
@ -92,6 +85,7 @@ class InfoBox
if (! in_array($obj->box_id, $excludelist)) if (! in_array($obj->box_id, $excludelist))
{ {
if (preg_match('/^([^@]+)@([^@]+)$/i',$obj->file,$regs)) if (preg_match('/^([^@]+)@([^@]+)$/i',$obj->file,$regs))
{ {
$boxname = preg_replace('/\.php$/i','',$regs[1]); $boxname = preg_replace('/\.php$/i','',$regs[1]);
@ -104,9 +98,11 @@ class InfoBox
$relsourcefile = "/core/boxes/".$boxname.".php"; $relsourcefile = "/core/boxes/".$boxname.".php";
} }
//print $obj->box_id.'-'.$boxname.'-'.$relsourcefile.'<br>';
// TODO PERF Do not make "dol_include_once" here, nor "new" later. This means, we must store a 'depends' field to store modules list, then // TODO PERF Do not make "dol_include_once" here, nor "new" later. This means, we must store a 'depends' field to store modules list, then
// the "enabled" condition for modules forbidden for external users and the depends condition can be done. // the "enabled" condition for modules forbidden for external users and the depends condition can be done.
// Goal is to avoid making a new instance for each boxes returned by select. // Goal is to avoid making a "new" done for each boxes returned by select.
dol_include_once($relsourcefile); dol_include_once($relsourcefile);
if (class_exists($boxname)) if (class_exists($boxname))
{ {
@ -161,15 +157,19 @@ class InfoBox
//print 'xx module='.$module.' enabled='.$enabled; //print 'xx module='.$module.' enabled='.$enabled;
if ($enabled) $boxes[]=$box; if ($enabled) $boxes[]=$box;
else unset($box); else unset($box);
} }
else
{
dol_syslog("Failed to load box '".$boxname."' into file '".$relsourcefile."'", LOG_WARNING);
}
} }
$j++; $j++;
} }
} }
else else
{ {
//dol_print_error($db); dol_syslog($db->lasterror(),LOG_ERR);
$error=$db->lasterror(); return array('error'=>$db->lasterror());
} }
return $boxes; return $boxes;

View File

@ -98,8 +98,10 @@ class modCommande extends DolibarrModules
$this->const[$r][4] = 0; $this->const[$r][4] = 0;
// Boxes // Boxes
$this->boxes = array(); $this->boxes = array(
$this->boxes = array(0=>array('file'=>'box_commandes.php','enabledbydefaulton'=>'Home'),2=>array('file'=>'box_graph_orders_permonth.php','enabledbydefaulton'=>'Home')); 0=>array('file'=>'box_commandes.php','enabledbydefaulton'=>'Home'),
2=>array('file'=>'box_graph_orders_permonth.php','enabledbydefaulton'=>'Home')
);
// Permissions // Permissions
$this->rights = array(); $this->rights = array();

View File

@ -12,6 +12,7 @@ BoxLastProspects=Last modified prospects
BoxLastCustomers=Last modified customers BoxLastCustomers=Last modified customers
BoxLastSuppliers=Last modified suppliers BoxLastSuppliers=Last modified suppliers
BoxLastCustomerOrders=Last customer orders BoxLastCustomerOrders=Last customer orders
BoxLastValidatedCustomerOrders=Last validated customer orders
BoxLastBooks=Last books BoxLastBooks=Last books
BoxLastActions=Last actions BoxLastActions=Last actions
BoxLastContracts=Last contracts BoxLastContracts=Last contracts
@ -27,26 +28,29 @@ BoxTitleNbOfCustomers=Number of clients
BoxTitleLastRssInfos=Last %s news from %s BoxTitleLastRssInfos=Last %s news from %s
BoxTitleLastProducts=Last %s modified products/services BoxTitleLastProducts=Last %s modified products/services
BoxTitleProductsAlertStock=Products in stock alert BoxTitleProductsAlertStock=Products in stock alert
BoxTitleLastCustomerOrders=Last %s modified customer orders BoxTitleLastCustomerOrders=Last %s customer orders
BoxTitleLastModifiedCustomerOrders=Last %s modified customer orders
BoxTitleLastSuppliers=Last %s recorded suppliers BoxTitleLastSuppliers=Last %s recorded suppliers
BoxTitleLastCustomers=Last %s recorded customers BoxTitleLastCustomers=Last %s recorded customers
BoxTitleLastModifiedSuppliers=Last %s modified suppliers BoxTitleLastModifiedSuppliers=Last %s modified suppliers
BoxTitleLastModifiedCustomers=Last %s modified customers BoxTitleLastModifiedCustomers=Last %s modified customers
BoxTitleLastCustomersOrProspects=Last %s modified customers or prospects BoxTitleLastCustomersOrProspects=Last %s customers or prospects
BoxTitleLastPropals=Last %s recorded proposals BoxTitleLastPropals=Last %s proposals
BoxTitleLastModifiedPropals=Last %s modified proposals
BoxTitleLastCustomerBills=Last %s customer's invoices BoxTitleLastCustomerBills=Last %s customer's invoices
BoxTitleLastModifiedCustomerBills=Last %s modified customer invoices
BoxTitleLastSupplierBills=Last %s supplier's invoices BoxTitleLastSupplierBills=Last %s supplier's invoices
BoxTitleLastProspects=Last %s recorded prospects BoxTitleLastModifiedSupplierBills=Last %s modified supplier invoices
BoxTitleLastModifiedProspects=Last %s modified prospects BoxTitleLastModifiedProspects=Last %s modified prospects
BoxTitleLastProductsInContract=Last %s products/services in a contract BoxTitleLastProductsInContract=Last %s products/services in a contract
BoxTitleLastModifiedMembers=Last %s modified members BoxTitleLastModifiedMembers=Last %s members
BoxTitleLastFicheInter=Last %s modified intervention BoxTitleLastFicheInter=Last %s modified intervention
BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer's invoices BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices
BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier's invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices
BoxTitleCurrentAccounts=Opened account's balances BoxTitleCurrentAccounts=Opened account's balances
BoxTitleSalesTurnover=Sales turnover BoxTitleSalesTurnover=Sales turnover
BoxTitleTotalUnpaidCustomerBills=Unpaid customer's invoices BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices
BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier's invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices
BoxTitleLastModifiedContacts=Last %s modified contacts/addresses BoxTitleLastModifiedContacts=Last %s modified contacts/addresses
BoxMyLastBookmarks=My last %s bookmarks BoxMyLastBookmarks=My last %s bookmarks
BoxOldestExpiredServices=Oldest active expired services BoxOldestExpiredServices=Oldest active expired services
@ -76,7 +80,8 @@ NoContractedProducts=No products/services contracted
NoRecordedContracts=No recorded contracts NoRecordedContracts=No recorded contracts
NoRecordedInterventions=No recorded interventions NoRecordedInterventions=No recorded interventions
BoxLatestSupplierOrders=Latest supplier orders BoxLatestSupplierOrders=Latest supplier orders
BoxTitleLatestSupplierOrders=%s latest supplier orders BoxTitleLatestSupplierOrders=Last %s supplier orders
BoxTitleLatestModifiedSupplierOrders=Last %s modified supplier orders
NoSupplierOrder=No recorded supplier order NoSupplierOrder=No recorded supplier order
BoxCustomersInvoicesPerMonth=Customer invoices per month BoxCustomersInvoicesPerMonth=Customer invoices per month
BoxSuppliersInvoicesPerMonth=Supplier invoices per month BoxSuppliersInvoicesPerMonth=Supplier invoices per month

View File

@ -12,6 +12,7 @@ BoxLastProspects=Derniers prospects modifiés
BoxLastCustomers=Derniers clients modifiés BoxLastCustomers=Derniers clients modifiés
BoxLastSuppliers=Derniers fournisseurs modifiés BoxLastSuppliers=Derniers fournisseurs modifiés
BoxLastCustomerOrders=Dernières commandes BoxLastCustomerOrders=Dernières commandes
BoxLastValidatedCustomerOrders=Dernières commandes clients validées
BoxLastBooks=Derniers livres BoxLastBooks=Derniers livres
BoxLastActions=Derniers événements BoxLastActions=Derniers événements
BoxLastContracts=Derniers contrats BoxLastContracts=Derniers contrats
@ -27,26 +28,29 @@ BoxTitleNbOfCustomers=Nombre de clients
BoxTitleLastRssInfos=Les %s dernières informations de %s BoxTitleLastRssInfos=Les %s dernières informations de %s
BoxTitleLastProducts=Les %s derniers produits/services enregistrés BoxTitleLastProducts=Les %s derniers produits/services enregistrés
BoxTitleProductsAlertStock=Produits en alerte stock BoxTitleProductsAlertStock=Produits en alerte stock
BoxTitleLastCustomerOrders=Les %s dernières commandes clients modifiées BoxTitleLastCustomerOrders=Les %s dernières commandes clients
BoxTitleLastModifiedCustomerOrders=Last %s modified customer orders
BoxTitleLastSuppliers=Les %s derniers fournisseurs enregistrés BoxTitleLastSuppliers=Les %s derniers fournisseurs enregistrés
BoxTitleLastCustomers=Les %s derniers clients enregistrés BoxTitleLastCustomers=Les %s derniers clients enregistrés
BoxTitleLastModifiedSuppliers=Les %s derniers fournisseurs modifiés BoxTitleLastModifiedSuppliers=Les %s derniers fournisseurs modifiés
BoxTitleLastModifiedCustomers=Les %s derniers clients modifiés BoxTitleLastModifiedCustomers=Les %s derniers clients modifiés
BoxTitleLastCustomersOrProspects=Les %s derniers clients ou prospects modifiés BoxTitleLastCustomersOrProspects=Les %s derniers prospects
BoxTitleLastPropals=Les %s dernières propositions enregistrées BoxTitleLastPropals=Les %s dernières propales
BoxTitleLastCustomerBills=Les %s dernières factures clients modifiées BoxTitleLastModifiedPropals=Last %s modified proposals
BoxTitleLastSupplierBills=Les %s dernières factures fournisseurs modifiées BoxTitleLastCustomerBills=Les %s dernières factures clients
BoxTitleLastProspects=Les %s derniers prospects enregistrés BoxTitleLastModifiedCustomerBills=Last %s modified customer invoices
BoxTitleLastSupplierBills=Les %s dernières factures fournisseurs
BoxTitleLastModifiedSupplierBills=Last %s modified supplier invoices
BoxTitleLastModifiedProspects=Les %s derniers prospects modifiés BoxTitleLastModifiedProspects=Les %s derniers prospects modifiés
BoxTitleLastProductsInContract=Les %s derniers produits/services contractés BoxTitleLastProductsInContract=Les %s derniers produits/services contractés
BoxTitleLastModifiedMembers=Les %s derniers adhérents modifiés BoxTitleLastModifiedMembers=Les %s derniers adhérents
BoxTitleLastFicheInter=Les %s dernières fiches d'intervention modifiées BoxTitleLastFicheInter=Les %s dernières fiche d'intervention modifiée
BoxTitleOldestUnpaidCustomerBills=Les %s plus anciennes factures clients impayées BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices
BoxTitleOldestUnpaidSupplierBills=Les %s plus anciennes factures fournisseurs impayées BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices
BoxTitleCurrentAccounts=Soldes des comptes ouverts BoxTitleCurrentAccounts=Soldes des comptes ouverts
BoxTitleSalesTurnover=Le chiffre d'affaires réalisé BoxTitleSalesTurnover=Le chiffre d'affaires réalisé
BoxTitleTotalUnpaidCustomerBills=Impayés clients BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices
BoxTitleTotalUnpaidSuppliersBills=Impayés fournisseurs BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices
BoxTitleLastModifiedContacts=Les %s derniers contacts/adresses modifiés BoxTitleLastModifiedContacts=Les %s derniers contacts/adresses modifiés
BoxMyLastBookmarks=Mes %s derniers marque-pages BoxMyLastBookmarks=Mes %s derniers marque-pages
BoxOldestExpiredServices=Plus anciens services expirés BoxOldestExpiredServices=Plus anciens services expirés
@ -76,7 +80,8 @@ NoContractedProducts=Pas de produit/service contracté
NoRecordedContracts=Pas de contrat enregistré NoRecordedContracts=Pas de contrat enregistré
NoRecordedInterventions=Pas fiche d'intervention enregistrée NoRecordedInterventions=Pas fiche d'intervention enregistrée
BoxLatestSupplierOrders=Dernières commandes fournisseur BoxLatestSupplierOrders=Dernières commandes fournisseur
BoxTitleLatestSupplierOrders=Les %s dernières commandes fournisseur enregistrées BoxTitleLatestSupplierOrders=Les %s dernières commandes fournisseurs
BoxTitleLatestModifiedSupplierOrders=Les %s dernières commandes fournisseurs
NoSupplierOrder=Pas de commande fournisseur enregistrée NoSupplierOrder=Pas de commande fournisseur enregistrée
BoxCustomersInvoicesPerMonth=Factures clients par mois BoxCustomersInvoicesPerMonth=Factures clients par mois
BoxSuppliersInvoicesPerMonth=Factures fournisseurs par mois BoxSuppliersInvoicesPerMonth=Factures fournisseurs par mois

View File

@ -1792,7 +1792,7 @@ class User extends CommonObject
$result.=($lien.img_object($langs->trans("ShowUser"),'user').$lienfin); $result.=($lien.img_object($langs->trans("ShowUser"),'user').$lienfin);
if ($withpicto != 2) $result.=' '; if ($withpicto != 2) $result.=' ';
} }
$result.=$lien.$this->getFullName($langs).$lienfin; $result.=$lien.$this->getFullName($langs,'','',16).$lienfin;
return $result; return $result;
} }