Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
5841edd40f
@ -46,6 +46,8 @@ For users:
|
||||
- New: [ task #1016 ] Can define a specific numbering for deposits
|
||||
- New: [ task #918 ] Stock replenishment
|
||||
- Fix: [ bug #992 ] Proforma invoices don't have a separated numeric count
|
||||
- New : Add pdf link into supplier invoice list and supplier order list
|
||||
- New : Genrate auto the PDF for supplier invoice
|
||||
|
||||
For translators:
|
||||
- Qual: Normalized sort order of all languages files with english reference files.
|
||||
|
||||
@ -62,10 +62,11 @@ class PropaleStats extends Stats
|
||||
$object=new Propal($this->db);
|
||||
|
||||
$this->from = MAIN_DB_PREFIX.$object->table_element." as p";
|
||||
//$this->from.= ", ".MAIN_DB_PREFIX."societe as s";
|
||||
$this->from_line = MAIN_DB_PREFIX.$object->table_element_line." as tl";
|
||||
|
||||
$this->field='total_ht';
|
||||
|
||||
$this->field_line='total_ht';
|
||||
|
||||
$this->where.= " p.fk_statut > 0";
|
||||
//$this->where.= " AND p.fk_soc = s.rowid AND p.entity = ".$conf->entity;
|
||||
$this->where.= " AND p.entity = ".$conf->entity;
|
||||
@ -182,5 +183,29 @@ class PropaleStats extends Stats
|
||||
return $this->_getAllByYear($sql);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Return nb, amount of predefined product for year
|
||||
*
|
||||
* @param int $year Year to scan
|
||||
* @return array Array of values
|
||||
*/
|
||||
function getAllByProduct($year)
|
||||
{
|
||||
global $user;
|
||||
|
||||
$sql = "SELECT product.ref, COUNT(product.ref) as nb, SUM(tl.".$this->field_line.") as total, AVG(tl.".$this->field_line.") as avg";
|
||||
$sql.= " FROM ".$this->from.", ".$this->from_line.", ".MAIN_DB_PREFIX."product as product";
|
||||
//if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql.= " WHERE ".$this->where;
|
||||
$sql.= " AND p.rowid = tl.fk_propal AND tl.fk_product = product.rowid";
|
||||
$sql.= " AND p.datep BETWEEN '".$this->db->idate(dol_get_first_day($year,1,false))."' AND '".$this->db->idate(dol_get_last_day($year,12,false))."'";
|
||||
$sql.= " GROUP BY product.ref";
|
||||
$sql.= $this->db->order('nb','DESC');
|
||||
$sql.= $this->db->plimit(20);
|
||||
|
||||
return $this->_getAllByProduct($sql);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@ -66,16 +66,18 @@ class CommandeStats extends Stats
|
||||
{
|
||||
$object=new Commande($this->db);
|
||||
$this->from = MAIN_DB_PREFIX.$object->table_element." as c";
|
||||
//$this->from.= ", ".MAIN_DB_PREFIX."societe as s";
|
||||
$this->from_line = MAIN_DB_PREFIX.$object->table_element_line." as tl";
|
||||
$this->field='total_ht';
|
||||
$this->field_line='total_ht';
|
||||
$this->where.= " c.fk_statut > 0"; // Not draft and not cancelled
|
||||
}
|
||||
if ($mode == 'supplier')
|
||||
{
|
||||
$object=new CommandeFournisseur($this->db);
|
||||
$this->from = MAIN_DB_PREFIX.$object->table_element." as c";
|
||||
//$this->from.= ", ".MAIN_DB_PREFIX."societe as s";
|
||||
$this->from_line = MAIN_DB_PREFIX.$object->table_element_line." as tl";
|
||||
$this->field='total_ht';
|
||||
$this->field_line='total_ht';
|
||||
$this->where.= " c.fk_statut > 2"; // Only approved & ordered
|
||||
}
|
||||
//$this->where.= " AND c.fk_soc = s.rowid AND c.entity = ".$conf->entity;
|
||||
@ -191,6 +193,30 @@ class CommandeStats extends Stats
|
||||
|
||||
return $this->_getAllByYear($sql);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return nb, amount of predefined product for year
|
||||
*
|
||||
* @param int $year Year to scan
|
||||
* @return array Array of values
|
||||
*/
|
||||
function getAllByProduct($year)
|
||||
{
|
||||
global $user;
|
||||
|
||||
$sql = "SELECT product.ref, COUNT(product.ref) as nb, SUM(tl.".$this->field_line.") as total, AVG(tl.".$this->field_line.") as avg";
|
||||
$sql.= " FROM ".$this->from.", ".$this->from_line.", ".MAIN_DB_PREFIX."product as product";
|
||||
//if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql.= " WHERE ".$this->where;
|
||||
$sql.= " AND c.rowid = tl.fk_commande AND tl.fk_product = product.rowid";
|
||||
$sql.= " AND c.date_commande BETWEEN '".$this->db->idate(dol_get_first_day($year,1,false))."' AND '".$this->db->idate(dol_get_last_day($year,12,false))."'";
|
||||
$sql.= " GROUP BY product.ref";
|
||||
$sql.= $this->db->order('nb','DESC');
|
||||
$sql.= $this->db->plimit(20);
|
||||
|
||||
return $this->_getAllByProduct($sql);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@ -209,6 +209,7 @@ class FactureStats extends Stats
|
||||
//if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql.= " WHERE ".$this->where;
|
||||
$sql.= " AND f.rowid = tl.fk_facture AND tl.fk_product = product.rowid";
|
||||
$sql.= " AND f.datef BETWEEN '".$this->db->idate(dol_get_first_day($year,1,false))."' AND '".$this->db->idate(dol_get_last_day($year,12,false))."'";
|
||||
$sql.= " GROUP BY product.ref";
|
||||
$sql.= $this->db->order('nb','DESC');
|
||||
$sql.= $this->db->plimit(20);
|
||||
|
||||
@ -86,29 +86,40 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
$param_year='DOLUSERCOOKIE_param'.$this->boxcode.'year';
|
||||
$param_showinvoicenb='DOLUSERCOOKIE_param'.$this->boxcode.'showinvoicenb';
|
||||
$param_showpropalnb='DOLUSERCOOKIE_param'.$this->boxcode.'showpropalnb';
|
||||
$param_showordernb='DOLUSERCOOKIE_param'.$this->boxcode.'showordernb';
|
||||
$showinvoicenb=GETPOST($param_showinvoicenb,'alpha',4);
|
||||
$showpropalnb=GETPOST($param_showpropalnb,'alpha',4);
|
||||
if (empty($showinvoicenb) && empty($showpropalnb)) { $showpropalnb=1; $showinvoicenb=1; }
|
||||
$showordernb=GETPOST($param_showordernb,'alpha',4);
|
||||
if (empty($showinvoicenb) && empty($showpropalnb) && empty($showordernb)) { $showpropalnb=1; $showinvoicenb=1; $showordernb=1; }
|
||||
$nowarray=dol_getdate(dol_now(),true);
|
||||
$year=(GETPOST($param_year,'',4)?GETPOST($param_year,'int',4):$nowarray['year']);
|
||||
|
||||
$paramtitle=$langs->trans("Products").'/'.$langs->trans("Services");
|
||||
if (empty($conf->produit->enabled)) $paramtitle=$langs->trans("Services");
|
||||
if (empty($conf->service->enabled)) $paramtitle=$langs->trans("Products");
|
||||
|
||||
if ($user->rights->facture->lire)
|
||||
{
|
||||
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
|
||||
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php';
|
||||
|
||||
$mode='customer';
|
||||
$userid=0;
|
||||
$WIDTH=(($showinvoicenb && $showpropalnb) || ! empty($conf->dol_optimize_smallscreen))?'256':'320';
|
||||
$WIDTH=(($showinvoicenb && $showpropalnb) || ! empty($conf->dol_optimize_smallscreen))?'160':'320';
|
||||
$HEIGHT='192';
|
||||
|
||||
$stats = new FactureStats($this->db, 0, $mode, ($userid>0?$userid:0));
|
||||
|
||||
|
||||
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
|
||||
if ($showinvoicenb)
|
||||
{
|
||||
$data1 = $stats->getAllByProductEntry($year,(GETPOST('action')==$refreshaction?-1:(3600*24)));
|
||||
|
||||
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php';
|
||||
|
||||
$showpointvalue = 1;
|
||||
$stats_invoice = new FactureStats($this->db, 0, $mode, ($userid>0?$userid:0));
|
||||
$data1 = $stats_invoice->getAllByProductEntry($year,(GETPOST('action')==$refreshaction?-1:(3600*24)));
|
||||
if (empty($data1))
|
||||
{
|
||||
$showpointvalue=0;
|
||||
$data1=array(array(0=>$langs->trans("None"),1=>1));
|
||||
}
|
||||
$filenamenb = $dir."/prodserforinvoice-".$year.".png";
|
||||
$fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=productstats&file=prodserforinvoice-'.$year.'.png';
|
||||
|
||||
@ -119,13 +130,16 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
$px1->SetData($data1);
|
||||
unset($data1);
|
||||
$px1->SetPrecisionY(0);
|
||||
$i=0;$tot=count($data2);$legend=array();
|
||||
$i=0;$tot=count($data1);$legend=array();
|
||||
while ($i <= $tot)
|
||||
{
|
||||
$legend[]=$data2[$i][0];
|
||||
$legend[]=$data1[$i][0];
|
||||
$i++;
|
||||
}
|
||||
$px1->SetLegend($legend);
|
||||
$px1->setShowLegend(0);
|
||||
$px1->setShowPointValue($showpointvalue);
|
||||
$px1->setShowPercent(0);
|
||||
$px1->SetMaxValue($px1->GetCeilMaxValue());
|
||||
$px1->SetWidth($WIDTH);
|
||||
$px1->SetHeight($HEIGHT);
|
||||
@ -136,22 +150,31 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
$px1->SetCssPrefix("cssboxes");
|
||||
//$px1->mode='depth';
|
||||
$px1->SetType(array('pie'));
|
||||
$px1->SetTitle($langs->trans("BoxProductDistributionFor",$langs->trans("ProductsServices"),$langs->transnoentitiesnoconv("Invoices")));
|
||||
|
||||
$px1->SetTitle($langs->trans("BoxProductDistributionFor",$paramtitle,$langs->transnoentitiesnoconv("Invoices")));
|
||||
|
||||
$px1->draw($filenamenb,$fileurlnb);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* if ($user->rights->propal->lire)
|
||||
if ($user->rights->propal->lire)
|
||||
{
|
||||
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
|
||||
if ($showpropalnb)
|
||||
{
|
||||
$data2 = $stats->getAmountByMonthWithPrevYear($year,(GETPOST('action')==$refreshaction?-1:(3600*24)));
|
||||
|
||||
include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propalestats.class.php';
|
||||
|
||||
$showpointvalue = 1;
|
||||
$stats_proposal = new PropaleStats($this->db, 0, $mode, ($userid>0?$userid:0));
|
||||
$data2 = $stats_proposal->getAllByProductEntry($year,(GETPOST('action')==$refreshaction?-1:(3600*24)));
|
||||
if (empty($data2))
|
||||
{
|
||||
$showpointvalue = 0;
|
||||
$data2=array(array(0=>$langs->trans("None"),1=>1));
|
||||
}
|
||||
|
||||
$filenamenb = $dir."/prodserforpropal-".$year.".png";
|
||||
$fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&file=prodserforpropal-'.$year.'.png';
|
||||
$fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=proposalstats&file=prodserforpropal-'.$year.'.png';
|
||||
|
||||
$px2 = new DolGraph();
|
||||
$mesg = $px2->isGraphKo();
|
||||
@ -167,6 +190,9 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
$i++;
|
||||
}
|
||||
$px2->SetLegend($legend);
|
||||
$px2->setShowLegend(0);
|
||||
$px2->setShowPointValue($showpointvalue);
|
||||
$px2->setShowPercent(0);
|
||||
$px2->SetMaxValue($px2->GetCeilMaxValue());
|
||||
$px2->SetWidth($WIDTH);
|
||||
$px2->SetHeight($HEIGHT);
|
||||
@ -175,14 +201,67 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
$px2->SetHorizTickIncrement(1);
|
||||
$px2->SetPrecisionY(0);
|
||||
$px2->SetCssPrefix("cssboxes");
|
||||
$px2->mode='depth';
|
||||
$px2->SetTitle($langs->trans("BoxProductDistributionFor",$langs->trans("ProductsServices"),$langs->transnoentitiesnoconv("Proposals")));
|
||||
//$px2->mode='depth';
|
||||
$px2->SetType(array('pie'));
|
||||
$px2->SetTitle($langs->trans("BoxProductDistributionFor",$paramtitle,$langs->transnoentitiesnoconv("Proposals")));
|
||||
|
||||
$px2->draw($filenamenb,$fileurlnb);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
if ($user->rights->commande->lire)
|
||||
{
|
||||
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
|
||||
if ($showordernb)
|
||||
{
|
||||
include_once DOL_DOCUMENT_ROOT.'/commande/class/commandestats.class.php';
|
||||
|
||||
$showpointvalue = 1;
|
||||
$stats_order = new CommandeStats($this->db, 0, $mode, ($userid>0?$userid:0));
|
||||
$data3 = $stats_order->getAllByProductEntry($year,(GETPOST('action')==$refreshaction?-1:(3600*24)));
|
||||
if (empty($data3))
|
||||
{
|
||||
$showpointvalue = 0;
|
||||
$data3=array(array(0=>$langs->trans("None"),1=>1));
|
||||
}
|
||||
|
||||
$filenamenb = $dir."/prodserfororder-".$year.".png";
|
||||
$fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&file=prodserfororder-'.$year.'.png';
|
||||
|
||||
$px3 = new DolGraph();
|
||||
$mesg = $px3->isGraphKo();
|
||||
if (! $mesg)
|
||||
{
|
||||
$px3->SetData($data3);
|
||||
unset($data3);
|
||||
$px3->SetPrecisionY(0);
|
||||
$i=0;$tot=count($data3);$legend=array();
|
||||
while ($i <= $tot)
|
||||
{
|
||||
$legend[]=$data3[$i][0];
|
||||
$i++;
|
||||
}
|
||||
$px3->SetLegend($legend);
|
||||
$px3->setShowLegend(0);
|
||||
$px3->setShowPointValue($showpointvalue);
|
||||
$px3->setShowPercent(0);
|
||||
$px3->SetMaxValue($px3->GetCeilMaxValue());
|
||||
$px3->SetWidth($WIDTH);
|
||||
$px3->SetHeight($HEIGHT);
|
||||
//$px3->SetYLabel($langs->trans("AmountOfBillsHT"));
|
||||
$px3->SetShading(3);
|
||||
$px3->SetHorizTickIncrement(1);
|
||||
$px3->SetPrecisionY(0);
|
||||
$px3->SetCssPrefix("cssboxes");
|
||||
//$px3->mode='depth';
|
||||
$px3->SetType(array('pie'));
|
||||
$px3->SetTitle($langs->trans("BoxProductDistributionFor",$paramtitle,$langs->transnoentitiesnoconv("Orders")));
|
||||
$px3->draw($filenamenb,$fileurlnb);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (! $mesg)
|
||||
{
|
||||
$stringtoshow='';
|
||||
@ -197,33 +276,39 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
||||
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="'.$param_year.','.$param_showinvoicenb.','.$param_showpropalnb.'">';
|
||||
$stringtoshow.='<input type="checkbox" name="'.$param_showinvoicenb.'"'.($showinvoicenb?' checked="true"':'').'"> '.$langs->trans("ForInvoice");
|
||||
$stringtoshow.='<input type="checkbox" name="'.$param_showinvoicenb.'"'.($showinvoicenb?' checked="true"':'').'"> '.$langs->trans("ForCustomersInvoices");
|
||||
$stringtoshow.=' ';
|
||||
$stringtoshow.='<input type="checkbox" name="'.$param_showpropalnb.'"'.($showpropalnb?' checked="true"':'').'"> '.$langs->trans("ForProposals");
|
||||
$stringtoshow.=' ';
|
||||
$stringtoshow.='<input type="checkbox" name="'.$param_showordernb.'"'.($showordernb?' checked="true"':'').'"> '.$langs->trans("ForOrders");
|
||||
$stringtoshow.='<input type="checkbox" name="'.$param_showordernb.'"'.($showordernb?' checked="true"':'').'"> '.$langs->trans("ForCustomersOrders");
|
||||
$stringtoshow.='<br>';
|
||||
$stringtoshow.=$langs->trans("Year").' <input class="flat" size="4" type="text" name="'.$param_year.'" value="'.$year.'">';
|
||||
$stringtoshow.='<input type="image" src="'.img_picto($langs->trans("Refresh"),'refresh.png','','',1).'">';
|
||||
$stringtoshow.='</form>';
|
||||
$stringtoshow.='</div>';
|
||||
if ($showinvoicenb && $showpropalnb)
|
||||
{
|
||||
$stringtoshow.='<div class="fichecenter">';
|
||||
$stringtoshow.='<div class="fichehalfleft">';
|
||||
}
|
||||
//if ($showinvoicenb && $showpropalnb && $showordernb)
|
||||
//{
|
||||
$stringtoshow.='<div class="fichecenter"><div class="containercenter">';
|
||||
$stringtoshow.='<div class="fichehalfleftxxx">';
|
||||
//}
|
||||
if ($showinvoicenb) $stringtoshow.=$px1->show();
|
||||
if ($showinvoicenb && $showpropalnb)
|
||||
{
|
||||
//if ($showinvoicenb && $showpropalnb)
|
||||
//{
|
||||
$stringtoshow.='</div>';
|
||||
$stringtoshow.='<div class="fichehalfright">';
|
||||
}
|
||||
// if ($showpropalnb) $stringtoshow.=$px2->show();
|
||||
if ($showinvoicenb && $showpropalnb)
|
||||
{
|
||||
$stringtoshow.='<div class="fichehalfrightxxx">';
|
||||
//}
|
||||
if ($showpropalnb) $stringtoshow.=$px2->show();
|
||||
//if ($showinvoicenb && $showpropalnb)
|
||||
//{
|
||||
$stringtoshow.='</div>';
|
||||
$stringtoshow.='<div class="fichehalfrightxxx">';
|
||||
//}
|
||||
if ($showordernb) $stringtoshow.=$px3->show();
|
||||
//if ($showinvoicenb && $showpropalnb)
|
||||
//{
|
||||
$stringtoshow.='</div></div>';
|
||||
$stringtoshow.='</div>';
|
||||
}
|
||||
//}
|
||||
$this->info_box_contents[0][0] = array('td' => 'align="center" class="nohover"','textnoformat'=>$stringtoshow);
|
||||
}
|
||||
else
|
||||
|
||||
@ -68,7 +68,10 @@ class DolGraph
|
||||
|
||||
var $Legend=array();
|
||||
var $LegendWidthMin=0;
|
||||
|
||||
var $showlegend=1;
|
||||
var $showpointvalue=1;
|
||||
var $showpercent=0;
|
||||
|
||||
var $graph; // Objet Graph (Artichow, Phplot...)
|
||||
var $error;
|
||||
|
||||
@ -234,6 +237,7 @@ class DolGraph
|
||||
*
|
||||
* @param array $data Data
|
||||
* @return void
|
||||
* @see draw_jflot for syntax of data array
|
||||
*/
|
||||
function SetData($data)
|
||||
{
|
||||
@ -379,7 +383,41 @@ class DolGraph
|
||||
return $this->error;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show legend or not
|
||||
*
|
||||
* @param int $showlegend 1=Show legend (default), 0=Hide legend
|
||||
* @return void
|
||||
*/
|
||||
function setShowLegend($showlegend)
|
||||
{
|
||||
$this->showlegend=$showlegend;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show pointvalue or not
|
||||
*
|
||||
* @param int $showpointvalue 1=Show value for each point, as tooltip or inline (default), 0=Hide value
|
||||
* @return void
|
||||
*/
|
||||
function setShowPointValue($showpointvalue)
|
||||
{
|
||||
$this->showpointvalue=$showpointvalue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show percent or not
|
||||
*
|
||||
* @param int $showpercent 1=Show percent for each point, as tooltip or inline, 0=Hide percent (default)
|
||||
* @return void
|
||||
*/
|
||||
function setShowPercent($showpercent)
|
||||
{
|
||||
$this->showpercent=$showpercent;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Define background color of complete image
|
||||
*
|
||||
@ -766,14 +804,13 @@ class DolGraph
|
||||
// Works with line but not with bars
|
||||
//if ($nblot > 2) $firstlot = ($nblot - 2); // We limit nblot to 2 because jflot can't manage more than 2 bars on same x
|
||||
|
||||
|
||||
$i=$firstlot;
|
||||
$serie=array();
|
||||
while ($i < $nblot) // Loop on each serie
|
||||
{
|
||||
$values=array(); // Array with horizontal y values (specific values of a serie) for each abscisse x
|
||||
$serie[$i]="var d".$i." = [];\n";
|
||||
|
||||
|
||||
// Fill array $values
|
||||
$x=0;
|
||||
foreach($this->data as $valarray) // Loop on each x
|
||||
@ -816,7 +853,12 @@ class DolGraph
|
||||
{
|
||||
$datacolor=array();
|
||||
foreach($this->datacolor as $val) $datacolor[]="#".sprintf("%02x%02x%02x",$val[0],$val[1],$val[2]);
|
||||
|
||||
|
||||
$urltemp=''; // TODO Add support for url link into labels
|
||||
$showlegend=$this->showlegend;
|
||||
$showpointvalue=$this->showpointvalue;
|
||||
$showpercent=$this->showpercent;
|
||||
|
||||
$this->_stringtoshow.= '
|
||||
function plotWithOptions_'.$tag.'() {
|
||||
$.plot($("#placeholder_'.$tag.'"), d0,
|
||||
@ -833,11 +875,13 @@ class DolGraph
|
||||
var number=series.data[0][1];
|
||||
return \'';
|
||||
$this->_stringtoshow.='<div style="font-size:8pt;text-align:center;padding:2px;color:white;">';
|
||||
if ($url) $this->_stringtoshow.='<a style="color: #FFFFFF;" border="0" href="'.$url.'=">';
|
||||
$this->_stringtoshow.='\'+'.($showlegend?'number':'label+\'<br/>\'+number');
|
||||
if (! empty($showpercent)) $this->_stringtoshow.='+\'<br/>\'+percent+\'%\'';
|
||||
$this->_stringtoshow.='+\'';
|
||||
if ($url) $this->_stringtoshow.='</a>';
|
||||
if ($urltemp) $this->_stringtoshow.='<a style="color: #FFFFFF;" border="0" href="'.$urltemp.'">';
|
||||
$this->_stringtoshow.='\'+';
|
||||
$this->_stringtoshow.=($showlegend?'':'label+\'<br/>\'+'); // Hide label if already shown in legend
|
||||
$this->_stringtoshow.=($showpointvalue?'number+':'');
|
||||
$this->_stringtoshow.=($showpercent?'\'<br/>\'+percent+\'%\'+':'');
|
||||
$this->_stringtoshow.='\'';
|
||||
if ($urltemp) $this->_stringtoshow.='</a>';
|
||||
$this->_stringtoshow.='</div>\';
|
||||
},
|
||||
background: {
|
||||
@ -894,9 +938,12 @@ class DolGraph
|
||||
var x = item.datapoint[0].toFixed(2);
|
||||
var y = item.datapoint[1].toFixed(2);
|
||||
var z = item.series.xaxis.ticks[item.dataIndex].label;
|
||||
|
||||
';
|
||||
if ($this->showpointvalue > 0) $this->_stringtoshow.='
|
||||
showTooltip_'.$tag.'(item.pageX, item.pageY,
|
||||
item.series.label + "<br>" + z + " => " + y);
|
||||
';
|
||||
$this->_stringtoshow.='
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
@ -144,7 +144,7 @@ class FormActions
|
||||
global $bc;
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
|
||||
|
||||
|
||||
$listofactions=ActionComm::getActions($this->db, $socid, $object->id, $typeelement);
|
||||
if (! is_array($listofactions)) dol_print_error($this->db,'FailedToGetActions');
|
||||
|
||||
|
||||
@ -1451,47 +1451,63 @@ function dolGetElementUrl($objectid,$objecttype,$withpicto=0,$option='')
|
||||
|
||||
// To work with non standard path
|
||||
if ($objecttype == 'facture' || $objecttype == 'invoice') {
|
||||
$classpath = 'compta/facture/class'; $module='facture'; $subelement='facture';
|
||||
$classpath = 'compta/facture/class';
|
||||
$module='facture';
|
||||
$subelement='facture';
|
||||
}
|
||||
if ($objecttype == 'commande' || $objecttype == 'order') {
|
||||
$classpath = 'commande/class'; $module='commande'; $subelement='commande';
|
||||
$classpath = 'commande/class';
|
||||
$module='commande';
|
||||
$subelement='commande';
|
||||
}
|
||||
if ($objecttype == 'propal') {
|
||||
$classpath = 'comm/propal/class';
|
||||
}
|
||||
if ($objecttype == 'shipping') {
|
||||
$classpath = 'expedition/class'; $subelement = 'expedition'; $module = 'expedition_bon';
|
||||
$classpath = 'expedition/class';
|
||||
$subelement = 'expedition';
|
||||
$module = 'expedition_bon';
|
||||
}
|
||||
if ($objecttype == 'delivery') {
|
||||
$classpath = 'livraison/class'; $subelement = 'livraison'; $module = 'livraison_bon';
|
||||
}
|
||||
if ($objecttype == 'invoice_supplier') {
|
||||
$classpath = 'fourn/class';
|
||||
}
|
||||
if ($objecttype == 'order_supplier') {
|
||||
$classpath = 'fourn/class';
|
||||
$classpath = 'livraison/class';
|
||||
$subelement = 'livraison';
|
||||
$module = 'livraison_bon';
|
||||
}
|
||||
if ($objecttype == 'contract') {
|
||||
$classpath = 'contrat/class'; $module='contrat'; $subelement='contrat';
|
||||
$classpath = 'contrat/class';
|
||||
$module='contrat';
|
||||
$subelement='contrat';
|
||||
}
|
||||
if ($objecttype == 'member') {
|
||||
$classpath = 'adherents/class'; $module='adherent'; $subelement='adherent';
|
||||
$classpath = 'adherents/class';
|
||||
$module='adherent';
|
||||
$subelement='adherent';
|
||||
}
|
||||
if ($objecttype == 'cabinetmed_cons') {
|
||||
$classpath = 'cabinetmed/class'; $module='cabinetmed'; $subelement='cabinetmedcons';
|
||||
$classpath = 'cabinetmed/class';
|
||||
$module='cabinetmed';
|
||||
$subelement='cabinetmedcons';
|
||||
}
|
||||
if ($objecttype == 'fichinter') {
|
||||
$classpath = 'fichinter/class'; $module='ficheinter'; $subelement='fichinter';
|
||||
$classpath = 'fichinter/class';
|
||||
$module='ficheinter';
|
||||
$subelement='fichinter';
|
||||
}
|
||||
|
||||
//print "objecttype=".$objecttype." module=".$module." subelement=".$subelement;
|
||||
|
||||
$classfile = strtolower($subelement); $classname = ucfirst($subelement);
|
||||
if ($objecttype == 'invoice_supplier') {
|
||||
$classfile = 'fournisseur.facture'; $classname='FactureFournisseur';
|
||||
$classfile = 'fournisseur.facture';
|
||||
$classname='FactureFournisseur';
|
||||
$classpath = 'fourn/class';
|
||||
$module='fournisseur';
|
||||
}
|
||||
if ($objecttype == 'order_supplier') {
|
||||
$classfile = 'fournisseur.commande'; $classname='CommandeFournisseur';
|
||||
$classfile = 'fournisseur.commande';
|
||||
$classname='CommandeFournisseur';
|
||||
$classpath = 'fourn/class';
|
||||
$module='fournisseur';
|
||||
}
|
||||
|
||||
if (! empty($conf->$module->enabled))
|
||||
|
||||
@ -1812,6 +1812,16 @@ elseif (! empty($object->id))
|
||||
* Linked object block
|
||||
*/
|
||||
$somethingshown=$object->showLinkedObjectBlock();
|
||||
|
||||
print '</div><div class="fichehalfright"><div class="ficheaddleft">';
|
||||
|
||||
|
||||
// List of actions on element
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php';
|
||||
$formactions=new FormActions($db);
|
||||
$somethingshown=$formactions->showactions($object,'order_supplier',$socid);
|
||||
|
||||
print '</div></div></div>';
|
||||
|
||||
//print '</td><td valign="top" width="50%">';
|
||||
print '</div><div class="fichehalfright"><div class="ficheaddleft">';
|
||||
|
||||
@ -23,9 +23,11 @@
|
||||
* \brief List of suppliers orders
|
||||
*/
|
||||
|
||||
|
||||
require '../../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||
|
||||
$langs->load("orders");
|
||||
|
||||
@ -65,6 +67,7 @@ if ($socid > 0)
|
||||
llxHeader('',$title);
|
||||
|
||||
$commandestatic=new CommandeFournisseur($db);
|
||||
$formfile = new FormFile($db);
|
||||
|
||||
|
||||
if ($sortorder == "") $sortorder="DESC";
|
||||
@ -154,6 +157,7 @@ if ($resql)
|
||||
$var=true;
|
||||
|
||||
$userstatic = new User($db);
|
||||
$objectstatic=new CommandeFournisseur($db);
|
||||
|
||||
while ($i < min($num,$conf->liste_limit))
|
||||
{
|
||||
@ -163,7 +167,11 @@ if ($resql)
|
||||
print "<tr ".$bc[$var].">";
|
||||
|
||||
// Ref
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$obj->rowid.'">'.img_object($langs->trans("ShowOrder"),"order").' '.$obj->ref.'</a></td>'."\n";
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$obj->rowid.'">'.img_object($langs->trans("ShowOrder"),"order").' '.$obj->ref.'</a>';
|
||||
$filename=dol_sanitizeFileName($obj->ref);
|
||||
$filedir=$conf->fournisseur->dir_output.'/commande' . '/' . dol_sanitizeFileName($obj->ref);
|
||||
print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
|
||||
print '</td>'."\n";
|
||||
|
||||
// Company
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/fourn/fiche.php?socid='.$obj->socid.'">'.img_object($langs->trans("ShowCompany"),"company").' ';
|
||||
|
||||
@ -28,6 +28,10 @@
|
||||
* \brief Page for supplier invoice card (view, edit, validate)
|
||||
*/
|
||||
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', true);
|
||||
ini_set('html_errors', false);
|
||||
|
||||
require '../../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
|
||||
@ -456,6 +460,16 @@ elseif ($action == 'add' && $user->rights->fournisseur->facture->creer)
|
||||
else
|
||||
{
|
||||
$db->commit();
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
|
||||
$result=supplier_invoice_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||
if ($result <= 0)
|
||||
{
|
||||
dol_print_error($db,$result);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
header("Location: ".$_SERVER['PHP_SELF']."?id=".$id);
|
||||
exit;
|
||||
}
|
||||
@ -608,7 +622,14 @@ elseif ($action == 'addline')
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$outputlangs->setDefaultLang($newlang);
|
||||
}
|
||||
//if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) supplier_invoice_pdf_create($db, $object->id, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
|
||||
$result=supplier_invoice_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||
if ($result <= 0)
|
||||
{
|
||||
dol_print_error($db,$result);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
unset($_POST['qty']);
|
||||
unset($_POST['type']);
|
||||
@ -659,7 +680,14 @@ elseif ($action == 'edit' && $user->rights->fournisseur->facture->creer)
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$outputlangs->setDefaultLang($_REQUEST['lang_id']);
|
||||
}
|
||||
//if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) supplier_invoice_pdf_create($db, $object->id, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
|
||||
$result=supplier_invoice_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||
if ($result <= 0)
|
||||
{
|
||||
dol_print_error($db,$result);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$action='';
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
*
|
||||
* 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
|
||||
@ -29,6 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||
|
||||
if (!$user->rights->fournisseur->facture->lire) accessforbidden();
|
||||
|
||||
@ -99,6 +101,7 @@ if ($mode == 'search')
|
||||
$now=dol_now();
|
||||
$form=new Form($db);
|
||||
$htmlother=new FormOther($db);
|
||||
$formfile = new FormFile($db);
|
||||
|
||||
llxHeader('',$langs->trans("SuppliersInvoices"),'EN:Suppliers_Invoices|FR:FactureFournisseur|ES:Facturas_de_proveedores');
|
||||
|
||||
@ -252,6 +255,9 @@ if ($resql)
|
||||
$facturestatic->ref=$obj->ref;
|
||||
$facturestatic->ref_supplier=$obj->ref_supplier;
|
||||
print $facturestatic->getNomUrl(1);
|
||||
$filename=dol_sanitizeFileName($obj->ref);
|
||||
$filedir=$conf->fournisseur->dir_output.'/facture' . '/' . dol_sanitizeFileName($obj->facid).'/0/'.dol_sanitizeFileName($obj->ref);
|
||||
print $formfile->getDocumentsLink($facturestatic->element, $filename, $filedir);
|
||||
print "</td>\n";
|
||||
print '<td class="nowrap">'.dol_trunc($obj->ref_supplier,10)."</td>";
|
||||
print '<td align="center" class="nowrap">'.dol_print_date($db->jdate($obj->datef),'day').'</td>';
|
||||
|
||||
@ -81,7 +81,7 @@ ActionAC_SHIP=Enviament expedició per correu
|
||||
ActionAC_SUP_ORD=Enviament comanda a proveïdor per correu
|
||||
ActionAC_SUP_INV=Enviament factura de proveïdor per correu
|
||||
ActionAC_OTH=Altra
|
||||
# ActionAC_OTH_AUTO=Other (automatically inserted events)
|
||||
ActionAC_OTH_AUTO=Altra (esdeveniments inserits automàticament)
|
||||
ActionAC_MANUAL=Esdeveniments creats manualment
|
||||
ActionAC_AUTO=Esdeveniments creats automàticament
|
||||
Stats=Estadístiques de venda
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Dolibarr language file - ca_ES - dict
|
||||
# Dolibarr language file - ca_ES - dict
|
||||
CHARSET=UTF-8
|
||||
CountryFR=França
|
||||
CountryBE=Bèlgica
|
||||
@ -246,13 +246,13 @@ CountryJE=Jersey
|
||||
CountryME=Monténégro
|
||||
CountryBL=Saint-Barthélemy
|
||||
CountryMF=Saint-Martin
|
||||
##### Civilities #####
|
||||
##### Civilities #####=undefined
|
||||
CivilityMME=Senyora
|
||||
CivilityMR=Senyor
|
||||
CivilityMLE=Senyoreta
|
||||
CivilityMTRE=En
|
||||
CivilityDR=Doctor
|
||||
##### Currencies #####
|
||||
##### Currencies #####=undefined
|
||||
Currencyeuros=Euros
|
||||
CurrencyAUD=Dòlars Aus.
|
||||
CurrencySingAUD=Dòlar Aus.
|
||||
@ -294,7 +294,7 @@ CurrencyXPF=Francs CFP
|
||||
CurrencySingXPF=Franc CFP
|
||||
CurrencyCentSingEUR=cèntim
|
||||
CurrencyThousandthSingTND=mil·lèsim
|
||||
#### Input reasons ####=
|
||||
#### Input reasons ####
|
||||
DemandReasonTypeSRC_INTE=Internet
|
||||
DemandReasonTypeSRC_CAMP_MAIL=Campanya correu
|
||||
DemandReasonTypeSRC_CAMP_EMAIL=Campanya E-Mailing
|
||||
@ -306,7 +306,7 @@ DemandReasonTypeSRC_WOM=Boca a boca
|
||||
DemandReasonTypeSRC_PARTNER=Soci
|
||||
DemandReasonTypeSRC_EMPLOYEE=Empleat
|
||||
DemandReasonTypeSRC_SPONSORING=Patrocinador
|
||||
#### Paper formats ####=
|
||||
#### Paper formats ####
|
||||
PaperFormatEU4A0=Format 4A0
|
||||
PaperFormatEU2A0=Format 2A0
|
||||
PaperFormatEUA0=Format A0
|
||||
@ -317,7 +317,7 @@ PaperFormatEUA4=Format A4
|
||||
PaperFormatEUA5=Format A5
|
||||
PaperFormatEUA6=Format A6
|
||||
PaperFormatUSLETTER=Format carta EE. UU.
|
||||
PaperFormatUSLEGAL=
|
||||
PaperFormatUSLEGAL=Format legal EE. UU.
|
||||
PaperFormatUSEXECUTIVE=Format executiu EE. UU.
|
||||
PaperFormatUSLEDGER=Format tabloide
|
||||
PaperFormatCAP1=Format canadec P1
|
||||
|
||||
@ -7,6 +7,7 @@ Donor=Donant
|
||||
Donors=Donants
|
||||
AddDonation=Afegir donació
|
||||
NewDonation=Nova donació
|
||||
ShowDonation=Mostrar donació
|
||||
DonationPromise=Promesa de donació
|
||||
PromisesNotValid=Promeses no validades
|
||||
PromisesValid=Promeses validades
|
||||
@ -24,5 +25,9 @@ DonationStatusPaidShort=Pagada
|
||||
ValidPromess=Validar promesa
|
||||
BuildDonationReceipt=Crear rebut
|
||||
DonationsModels=Model de document de recepció de donació
|
||||
LastModifiedDonations=Less %s últimes donacions modificades
|
||||
SearchADonation=Cercar una donació
|
||||
LastModifiedDonations=Les %s últimes donacions modificades
|
||||
SearchADonation=Cercar una donació
|
||||
DonationReceipt=Rebut de donació
|
||||
DonationRecipient=Beneficiari
|
||||
IConfirmDonationReception=El beneficiari confirma la recepció, com a donació, de la següent quantitat
|
||||
ThankYou=Moltes gràcies
|
||||
|
||||
@ -125,7 +125,7 @@ DeskCode=Codi oficina
|
||||
BankAccountNumber=Número compte
|
||||
BankAccountNumberKey=Dígit Control
|
||||
## filters
|
||||
# SelectFilterFields=If you want to filter on some values, just input values here.
|
||||
SelectFilterFields=Si vol aplicar un filtre sobre alguns valors, introduïu-los aquí.
|
||||
FilterableFields=Camps filtrables
|
||||
FilteredFields=Campos filtrats
|
||||
FilteredFieldsValues=Valors de filtres
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
# Dolibarr language file - ca_ES - externalsite
|
||||
CHARSET=UTF-8
|
||||
ExternalSiteSetup=Configuració de l'enllaç al lloc web extern
|
||||
ExternalSiteURL=URL del lloc extern
|
||||
ExternalSiteURL=URL del lloc extern
|
||||
ExternalSiteModuleNotComplete=El mòdul Lloc web extern no ha estat configurat correctament.
|
||||
|
||||
@ -9,4 +9,5 @@ FTPFeatureNotSupportedByYourPHP=El seu PHP no suporta les funcions FTP
|
||||
FailedToConnectToFTPServer=No s'ha pogut connectar amb el servidor FTP (servidor: %s, port %s)
|
||||
FailedToConnectToFTPServerWithCredentials=No s'ha pogut connectar amb el login/contrasenya FTP configurats
|
||||
FTPFailedToRemoveFile=No s'ha pogut suprimir el fitxer <b>%s</b>.
|
||||
FTPFailedToRemoveDir=No s'ha pogut suprimir la carpeta <b>%s</b> (Comproveu els permisos i que el directori està buit).
|
||||
FTPFailedToRemoveDir=No s'ha pogut suprimir la carpeta <b>%s</b> (Comproveu els permisos i que el directori està buit).
|
||||
FTPPassiveMode=Mode passiu
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
CHARSET=UTF-8
|
||||
Language_ar_AR=Àrab
|
||||
Language_ar_SA=Àrab
|
||||
Language_bg_BG=Búlgar
|
||||
Language_ca_ES=Català
|
||||
Language_da_DA=Danès
|
||||
Language_da_DK=Danès
|
||||
@ -27,6 +28,7 @@ Language_fr_BE=Francès (Bèlgica)
|
||||
Language_fr_CA=Francès (Canadà)
|
||||
Language_fr_CH=Francès (Suïssa)
|
||||
Language_fr_FR=Francès
|
||||
Language_he_IL=Hebreu
|
||||
Language_hu_HU=Hongarès
|
||||
Language_is_IS=Islandès
|
||||
Language_it_IT=Italià
|
||||
@ -45,4 +47,4 @@ Language_sl_SI=Eslovè
|
||||
Language_sv_SV=Suec
|
||||
Language_sv_SE=Suec
|
||||
Language_zh_CN=Xinès
|
||||
Language_zh_TW=Xinès (Tradicional)
|
||||
Language_zh_TW=Xinès (Tradicional)
|
||||
|
||||
@ -17,12 +17,12 @@ DescADHERENT_SPIP_SERVEUR=Servidor SPIP
|
||||
DescADHERENT_SPIP_DB=Nom de la base de dades d'SPIP
|
||||
DescADHERENT_SPIP_USER=Usuari de la base de dades d'SPIP
|
||||
DescADHERENT_SPIP_PASS=Contrasenya de la base de dades d'SPIP
|
||||
# AddIntoSpip=Add into SPIP
|
||||
# AddIntoSpipConfirmation=Are you sure you want to add this member into SPIP?
|
||||
# AddIntoSpipError=Failed to add the user in SPIP
|
||||
# DeleteIntoSpip=Remove from SPIP
|
||||
# DeleteIntoSpipConfirmation=Are you sure you want to remove this member from SPIP?
|
||||
# DeleteIntoSpipError=Failed to suppress the user from SPIP
|
||||
# SPIPConnectionFailed=Failed to connect to SPIP
|
||||
AddIntoSpip=Afegir a SPIP
|
||||
AddIntoSpipConfirmation=Esteu segur de voler afegir aquest membre a SPIP?
|
||||
AddIntoSpipError=S'ha produït un error en afegir el membre a SPIP
|
||||
DeleteIntoSpip=Esborrar de SPIP
|
||||
DeleteIntoSpipConfirmation=Esteu segur de voler esborrar aquest membre del SPIP?
|
||||
DeleteIntoSpipError=S'ha produït un error en suprimir el membre d'SPIP
|
||||
SPIPConnectionFailed=Error al connectar amb SPIP
|
||||
SuccessToAddToMailmanList=Addició de %s a la llista Mailman %s o base SPIP realitzada
|
||||
SuccessToRemoveToMailmanList=Eliminació de %s de la llista Mailman %s o base SPIP realitzada
|
||||
|
||||
@ -8,8 +8,8 @@ ToolsDesc=Aquesta àrea està dedicada al reagrupament de diverses utilitats no
|
||||
Birthday=Aniversari
|
||||
BirthdayDate=Data aniversari
|
||||
DateToBirth=Data de naiximent
|
||||
BirthdayAlertOn= alerta aniversari activada
|
||||
BirthdayAlertOff= alerta aniversari desactivada
|
||||
BirthdayAlertOn=alerta aniversari activada
|
||||
BirthdayAlertOff=alerta aniversari desactivada
|
||||
Notify_FICHINTER_VALIDATE=Validació fitxa intervenció
|
||||
Notify_FICHINTER_SENTBYMAIL=Enviament fitxa intervenció per e-mail
|
||||
Notify_BILL_VALIDATE=Validació factura
|
||||
@ -24,7 +24,6 @@ Notify_WITHDRAW_EMIT=Emissió domiciliació
|
||||
Notify_ORDER_SENTBYMAIL=Enviament comanda de client per e-mail
|
||||
Notify_COMPANY_CREATE=Creació tercer
|
||||
Notify_PROPAL_SENTBYMAIL=Enviament pressupost per e-mail
|
||||
Notify_ORDER_SENTBYMAIL=Enviament comanda de client per e-mail
|
||||
Notify_BILL_PAYED=Cobrament factura a client
|
||||
Notify_BILL_CANCEL=Cancel·lació factura a client
|
||||
Notify_BILL_SENTBYMAIL=Enviament factura a client per e-mail
|
||||
@ -152,7 +151,7 @@ EMailTextOrderApproved=Comanda %s aprovada
|
||||
EMailTextOrderApprovedBy=Comanda %s aprovada per %s
|
||||
EMailTextOrderRefused=Comanda %s rebutjada
|
||||
EMailTextOrderRefusedBy=Comanda %s rebutjada per %s
|
||||
# EMailTextExpeditionValidated=The shipping %s has been validated.
|
||||
EMailTextExpeditionValidated=L'enviament %s ha estat validat.
|
||||
ImportedWithSet=Lot d'importació (import key)
|
||||
DolibarrNotification=Notificació automàtica
|
||||
ResizeDesc=Introduïu l'ample <b>O</b> la nova alçada. La relació es conserva en canviar la mida...
|
||||
@ -174,7 +173,6 @@ StartUpload=Transferir
|
||||
CancelUpload=Cancel·lar transferència
|
||||
FileIsTooBig=L'arxiu és massa gran
|
||||
PleaseBePatient=Preguem esperi uns instants...
|
||||
|
||||
##### Calendar common #####
|
||||
AddCalendarEntry=Afegir entrada al calendari
|
||||
NewCompanyToDolibarr=Empresa %s inserida en Dolibarr
|
||||
|
||||
@ -10,8 +10,8 @@ PAYPAL_API_USER=Nom usuari API
|
||||
PAYPAL_API_PASSWORD=Contrasenya usuari API
|
||||
PAYPAL_API_SIGNATURE=Signatura API
|
||||
PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Proposar pagament integral (Targeta+Paypal) o només Paypal
|
||||
# PaypalModeIntegral=Integral
|
||||
# PaypalModeOnlyPaypal=PayPal only
|
||||
PaypalModeIntegral=Integral
|
||||
PaypalModeOnlyPaypal=Només PayPal
|
||||
PAYPAL_CSS_URL=Url opcional del full d'estil CSS de la pàgina de pagament
|
||||
ThisIsTransactionId=Identificador de la transacció: <b>%s</b>
|
||||
PAYPAL_ADD_PAYMENT_URL=Afegir la url del pagament Paypal en enviar un document per e-mail
|
||||
|
||||
@ -26,7 +26,7 @@ RefSupplierShort=Ref. proveïdor
|
||||
Availability=Disponibilitat
|
||||
ExportDataset_fournisseur_1=Factures de proveïdors i línies de factura
|
||||
ExportDataset_fournisseur_2=Factures proveïdors i pagaments
|
||||
# ExportDataset_fournisseur_3=Supplier orders and order lines
|
||||
ExportDataset_fournisseur_3=Comandes de proveïdors i línies de comanda
|
||||
ApproveThisOrder=Aprovar aquesta comanda
|
||||
ConfirmApproveThisOrder=Esteu segur de voler aprovar la comanda a proveïdor <b>%s</b>?
|
||||
DenyingThisOrder=Denegar aquesta comanda
|
||||
|
||||
@ -85,4 +85,7 @@ BoxSuppliersOrdersPerMonth=Supplier orders per month
|
||||
BoxProposalsPerMonth=Proposals per month
|
||||
NoTooLowStockProducts=No product under the low stock limit
|
||||
BoxProductDistribution=Products/Services distribution
|
||||
BoxProductDistributionFor=Distribution of %s for %s
|
||||
BoxProductDistributionFor=Distribution of %s for %s
|
||||
ForCustomersInvoices=Customers invoices
|
||||
ForCustomersOrders=Customers orders
|
||||
ForProposals=Proposals
|
||||
@ -85,4 +85,7 @@ BoxSuppliersOrdersPerMonth=Commandes fournisseurs par mois
|
||||
BoxProposalsPerMonth=Proposition par mois
|
||||
NoTooLowStockProducts=Pas de produits sous le seuil de stock minimal
|
||||
BoxProductDistribution=Répartition des produis/services
|
||||
BoxProductDistributionFor=Répartition des %s pour les %s
|
||||
BoxProductDistributionFor=Répartition des %s pour les %s
|
||||
ForCustomersInvoices=Factures clients
|
||||
ForCustomersOrders=Commandes clients
|
||||
ForProposals=Propositions
|
||||
@ -478,6 +478,10 @@ div.ficheaddleft {
|
||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; }
|
||||
else print "margin-top: 10px;\n"; ?>
|
||||
}
|
||||
.containercenter {
|
||||
display : table;
|
||||
margin : 0px auto;
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
|
||||
Loading…
Reference in New Issue
Block a user