Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2013-08-10 02:40:29 +02:00
commit 5841edd40f
26 changed files with 370 additions and 99 deletions

View File

@ -46,6 +46,8 @@ For users:
- New: [ task #1016 ] Can define a specific numbering for deposits - New: [ task #1016 ] Can define a specific numbering for deposits
- New: [ task #918 ] Stock replenishment - New: [ task #918 ] Stock replenishment
- Fix: [ bug #992 ] Proforma invoices don't have a separated numeric count - 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: For translators:
- Qual: Normalized sort order of all languages files with english reference files. - Qual: Normalized sort order of all languages files with english reference files.

View File

@ -62,9 +62,10 @@ class PropaleStats extends Stats
$object=new Propal($this->db); $object=new Propal($this->db);
$this->from = MAIN_DB_PREFIX.$object->table_element." as p"; $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='total_ht';
$this->field_line='total_ht';
$this->where.= " p.fk_statut > 0"; $this->where.= " p.fk_statut > 0";
//$this->where.= " AND p.fk_soc = s.rowid AND p.entity = ".$conf->entity; //$this->where.= " AND p.fk_soc = s.rowid AND p.entity = ".$conf->entity;
@ -182,5 +183,29 @@ class PropaleStats extends Stats
return $this->_getAllByYear($sql); 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);
}
} }
?> ?>

View File

@ -66,16 +66,18 @@ class CommandeStats extends Stats
{ {
$object=new Commande($this->db); $object=new Commande($this->db);
$this->from = MAIN_DB_PREFIX.$object->table_element." as c"; $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='total_ht';
$this->field_line='total_ht';
$this->where.= " c.fk_statut > 0"; // Not draft and not cancelled $this->where.= " c.fk_statut > 0"; // Not draft and not cancelled
} }
if ($mode == 'supplier') if ($mode == 'supplier')
{ {
$object=new CommandeFournisseur($this->db); $object=new CommandeFournisseur($this->db);
$this->from = MAIN_DB_PREFIX.$object->table_element." as c"; $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='total_ht';
$this->field_line='total_ht';
$this->where.= " c.fk_statut > 2"; // Only approved & ordered $this->where.= " c.fk_statut > 2"; // Only approved & ordered
} }
//$this->where.= " AND c.fk_soc = s.rowid AND c.entity = ".$conf->entity; //$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 $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);
}
} }
?> ?>

View File

@ -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"; //if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= " WHERE ".$this->where; $sql.= " WHERE ".$this->where;
$sql.= " AND f.rowid = tl.fk_facture AND tl.fk_product = product.rowid"; $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.= " GROUP BY product.ref";
$sql.= $this->db->order('nb','DESC'); $sql.= $this->db->order('nb','DESC');
$sql.= $this->db->plimit(20); $sql.= $this->db->plimit(20);

View File

@ -86,29 +86,40 @@ class box_graph_product_distribution extends ModeleBoxes
$param_year='DOLUSERCOOKIE_param'.$this->boxcode.'year'; $param_year='DOLUSERCOOKIE_param'.$this->boxcode.'year';
$param_showinvoicenb='DOLUSERCOOKIE_param'.$this->boxcode.'showinvoicenb'; $param_showinvoicenb='DOLUSERCOOKIE_param'.$this->boxcode.'showinvoicenb';
$param_showpropalnb='DOLUSERCOOKIE_param'.$this->boxcode.'showpropalnb'; $param_showpropalnb='DOLUSERCOOKIE_param'.$this->boxcode.'showpropalnb';
$param_showordernb='DOLUSERCOOKIE_param'.$this->boxcode.'showordernb';
$showinvoicenb=GETPOST($param_showinvoicenb,'alpha',4); $showinvoicenb=GETPOST($param_showinvoicenb,'alpha',4);
$showpropalnb=GETPOST($param_showpropalnb,'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); $nowarray=dol_getdate(dol_now(),true);
$year=(GETPOST($param_year,'',4)?GETPOST($param_year,'int',4):$nowarray['year']); $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) if ($user->rights->facture->lire)
{ {
include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php';
$mode='customer'; $mode='customer';
$userid=0; $userid=0;
$WIDTH=(($showinvoicenb && $showpropalnb) || ! empty($conf->dol_optimize_smallscreen))?'256':'320'; $WIDTH=(($showinvoicenb && $showpropalnb) || ! empty($conf->dol_optimize_smallscreen))?'160':'320';
$HEIGHT='192'; $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),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($showinvoicenb) 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"; $filenamenb = $dir."/prodserforinvoice-".$year.".png";
$fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=productstats&file=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); $px1->SetData($data1);
unset($data1); unset($data1);
$px1->SetPrecisionY(0); $px1->SetPrecisionY(0);
$i=0;$tot=count($data2);$legend=array(); $i=0;$tot=count($data1);$legend=array();
while ($i <= $tot) while ($i <= $tot)
{ {
$legend[]=$data2[$i][0]; $legend[]=$data1[$i][0];
$i++; $i++;
} }
$px1->SetLegend($legend); $px1->SetLegend($legend);
$px1->setShowLegend(0);
$px1->setShowPointValue($showpointvalue);
$px1->setShowPercent(0);
$px1->SetMaxValue($px1->GetCeilMaxValue()); $px1->SetMaxValue($px1->GetCeilMaxValue());
$px1->SetWidth($WIDTH); $px1->SetWidth($WIDTH);
$px1->SetHeight($HEIGHT); $px1->SetHeight($HEIGHT);
@ -136,22 +150,31 @@ class box_graph_product_distribution extends ModeleBoxes
$px1->SetCssPrefix("cssboxes"); $px1->SetCssPrefix("cssboxes");
//$px1->mode='depth'; //$px1->mode='depth';
$px1->SetType(array('pie')); $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); $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),...) // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
if ($showpropalnb) 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"; $filenamenb = $dir."/prodserforpropal-".$year.".png";
$fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&amp;file=prodserforpropal-'.$year.'.png'; $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=proposalstats&amp;file=prodserforpropal-'.$year.'.png';
$px2 = new DolGraph(); $px2 = new DolGraph();
$mesg = $px2->isGraphKo(); $mesg = $px2->isGraphKo();
@ -167,6 +190,9 @@ class box_graph_product_distribution extends ModeleBoxes
$i++; $i++;
} }
$px2->SetLegend($legend); $px2->SetLegend($legend);
$px2->setShowLegend(0);
$px2->setShowPointValue($showpointvalue);
$px2->setShowPercent(0);
$px2->SetMaxValue($px2->GetCeilMaxValue()); $px2->SetMaxValue($px2->GetCeilMaxValue());
$px2->SetWidth($WIDTH); $px2->SetWidth($WIDTH);
$px2->SetHeight($HEIGHT); $px2->SetHeight($HEIGHT);
@ -175,14 +201,67 @@ class box_graph_product_distribution extends ModeleBoxes
$px2->SetHorizTickIncrement(1); $px2->SetHorizTickIncrement(1);
$px2->SetPrecisionY(0); $px2->SetPrecisionY(0);
$px2->SetCssPrefix("cssboxes"); $px2->SetCssPrefix("cssboxes");
$px2->mode='depth'; //$px2->mode='depth';
$px2->SetTitle($langs->trans("BoxProductDistributionFor",$langs->trans("ProductsServices"),$langs->transnoentitiesnoconv("Proposals"))); $px2->SetType(array('pie'));
$px2->SetTitle($langs->trans("BoxProductDistributionFor",$paramtitle,$langs->transnoentitiesnoconv("Proposals")));
$px2->draw($filenamenb,$fileurlnb); $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&amp;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) if (! $mesg)
{ {
$stringtoshow=''; $stringtoshow='';
@ -197,33 +276,39 @@ class box_graph_product_distribution extends ModeleBoxes
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">'; $stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">'; $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="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.=' &nbsp; '; $stringtoshow.=' &nbsp; ';
$stringtoshow.='<input type="checkbox" name="'.$param_showpropalnb.'"'.($showpropalnb?' checked="true"':'').'"> '.$langs->trans("ForProposals"); $stringtoshow.='<input type="checkbox" name="'.$param_showpropalnb.'"'.($showpropalnb?' checked="true"':'').'"> '.$langs->trans("ForProposals");
$stringtoshow.='&nbsp;'; $stringtoshow.='&nbsp;';
$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.='<br>';
$stringtoshow.=$langs->trans("Year").' <input class="flat" size="4" type="text" name="'.$param_year.'" value="'.$year.'">'; $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.='<input type="image" src="'.img_picto($langs->trans("Refresh"),'refresh.png','','',1).'">';
$stringtoshow.='</form>'; $stringtoshow.='</form>';
$stringtoshow.='</div>'; $stringtoshow.='</div>';
if ($showinvoicenb && $showpropalnb) //if ($showinvoicenb && $showpropalnb && $showordernb)
{ //{
$stringtoshow.='<div class="fichecenter">'; $stringtoshow.='<div class="fichecenter"><div class="containercenter">';
$stringtoshow.='<div class="fichehalfleft">'; $stringtoshow.='<div class="fichehalfleftxxx">';
} //}
if ($showinvoicenb) $stringtoshow.=$px1->show(); if ($showinvoicenb) $stringtoshow.=$px1->show();
if ($showinvoicenb && $showpropalnb) //if ($showinvoicenb && $showpropalnb)
{ //{
$stringtoshow.='</div>'; $stringtoshow.='</div>';
$stringtoshow.='<div class="fichehalfright">'; $stringtoshow.='<div class="fichehalfrightxxx">';
} //}
// if ($showpropalnb) $stringtoshow.=$px2->show(); if ($showpropalnb) $stringtoshow.=$px2->show();
if ($showinvoicenb && $showpropalnb) //if ($showinvoicenb && $showpropalnb)
{ //{
$stringtoshow.='</div>'; $stringtoshow.='</div>';
$stringtoshow.='<div class="fichehalfrightxxx">';
//}
if ($showordernb) $stringtoshow.=$px3->show();
//if ($showinvoicenb && $showpropalnb)
//{
$stringtoshow.='</div></div>';
$stringtoshow.='</div>'; $stringtoshow.='</div>';
} //}
$this->info_box_contents[0][0] = array('td' => 'align="center" class="nohover"','textnoformat'=>$stringtoshow); $this->info_box_contents[0][0] = array('td' => 'align="center" class="nohover"','textnoformat'=>$stringtoshow);
} }
else else

View File

@ -68,6 +68,9 @@ class DolGraph
var $Legend=array(); var $Legend=array();
var $LegendWidthMin=0; var $LegendWidthMin=0;
var $showlegend=1;
var $showpointvalue=1;
var $showpercent=0;
var $graph; // Objet Graph (Artichow, Phplot...) var $graph; // Objet Graph (Artichow, Phplot...)
var $error; var $error;
@ -234,6 +237,7 @@ class DolGraph
* *
* @param array $data Data * @param array $data Data
* @return void * @return void
* @see draw_jflot for syntax of data array
*/ */
function SetData($data) function SetData($data)
{ {
@ -379,6 +383,40 @@ class DolGraph
return $this->error; 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 * Define background color of complete image
@ -766,7 +804,6 @@ class DolGraph
// Works with line but not with bars // 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 //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; $i=$firstlot;
$serie=array(); $serie=array();
while ($i < $nblot) // Loop on each serie while ($i < $nblot) // Loop on each serie
@ -817,6 +854,11 @@ class DolGraph
$datacolor=array(); $datacolor=array();
foreach($this->datacolor as $val) $datacolor[]="#".sprintf("%02x%02x%02x",$val[0],$val[1],$val[2]); 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.= ' $this->_stringtoshow.= '
function plotWithOptions_'.$tag.'() { function plotWithOptions_'.$tag.'() {
$.plot($("#placeholder_'.$tag.'"), d0, $.plot($("#placeholder_'.$tag.'"), d0,
@ -833,11 +875,13 @@ class DolGraph
var number=series.data[0][1]; var number=series.data[0][1];
return \''; return \'';
$this->_stringtoshow.='<div style="font-size:8pt;text-align:center;padding:2px;color:white;">'; $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.'=">'; if ($urltemp) $this->_stringtoshow.='<a style="color: #FFFFFF;" border="0" href="'.$urltemp.'">';
$this->_stringtoshow.='\'+'.($showlegend?'number':'label+\'<br/>\'+number'); $this->_stringtoshow.='\'+';
if (! empty($showpercent)) $this->_stringtoshow.='+\'<br/>\'+percent+\'%\''; $this->_stringtoshow.=($showlegend?'':'label+\'<br/>\'+'); // Hide label if already shown in legend
$this->_stringtoshow.='+\''; $this->_stringtoshow.=($showpointvalue?'number+':'');
if ($url) $this->_stringtoshow.='</a>'; $this->_stringtoshow.=($showpercent?'\'<br/>\'+percent+\'%\'+':'');
$this->_stringtoshow.='\'';
if ($urltemp) $this->_stringtoshow.='</a>';
$this->_stringtoshow.='</div>\'; $this->_stringtoshow.='</div>\';
}, },
background: { background: {
@ -894,9 +938,12 @@ class DolGraph
var x = item.datapoint[0].toFixed(2); var x = item.datapoint[0].toFixed(2);
var y = item.datapoint[1].toFixed(2); var y = item.datapoint[1].toFixed(2);
var z = item.series.xaxis.ticks[item.dataIndex].label; var z = item.series.xaxis.ticks[item.dataIndex].label;
';
if ($this->showpointvalue > 0) $this->_stringtoshow.='
showTooltip_'.$tag.'(item.pageX, item.pageY, showTooltip_'.$tag.'(item.pageX, item.pageY,
item.series.label + "<br>" + z + " => " + y); item.series.label + "<br>" + z + " => " + y);
';
$this->_stringtoshow.='
} }
} }
else { else {

View File

@ -1451,47 +1451,63 @@ function dolGetElementUrl($objectid,$objecttype,$withpicto=0,$option='')
// To work with non standard path // To work with non standard path
if ($objecttype == 'facture' || $objecttype == 'invoice') { 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') { if ($objecttype == 'commande' || $objecttype == 'order') {
$classpath = 'commande/class'; $module='commande'; $subelement='commande'; $classpath = 'commande/class';
$module='commande';
$subelement='commande';
} }
if ($objecttype == 'propal') { if ($objecttype == 'propal') {
$classpath = 'comm/propal/class'; $classpath = 'comm/propal/class';
} }
if ($objecttype == 'shipping') { if ($objecttype == 'shipping') {
$classpath = 'expedition/class'; $subelement = 'expedition'; $module = 'expedition_bon'; $classpath = 'expedition/class';
$subelement = 'expedition';
$module = 'expedition_bon';
} }
if ($objecttype == 'delivery') { if ($objecttype == 'delivery') {
$classpath = 'livraison/class'; $subelement = 'livraison'; $module = 'livraison_bon'; $classpath = 'livraison/class';
} $subelement = 'livraison';
if ($objecttype == 'invoice_supplier') { $module = 'livraison_bon';
$classpath = 'fourn/class';
}
if ($objecttype == 'order_supplier') {
$classpath = 'fourn/class';
} }
if ($objecttype == 'contract') { if ($objecttype == 'contract') {
$classpath = 'contrat/class'; $module='contrat'; $subelement='contrat'; $classpath = 'contrat/class';
$module='contrat';
$subelement='contrat';
} }
if ($objecttype == 'member') { if ($objecttype == 'member') {
$classpath = 'adherents/class'; $module='adherent'; $subelement='adherent'; $classpath = 'adherents/class';
$module='adherent';
$subelement='adherent';
} }
if ($objecttype == 'cabinetmed_cons') { if ($objecttype == 'cabinetmed_cons') {
$classpath = 'cabinetmed/class'; $module='cabinetmed'; $subelement='cabinetmedcons'; $classpath = 'cabinetmed/class';
$module='cabinetmed';
$subelement='cabinetmedcons';
} }
if ($objecttype == 'fichinter') { if ($objecttype == 'fichinter') {
$classpath = 'fichinter/class'; $module='ficheinter'; $subelement='fichinter'; $classpath = 'fichinter/class';
$module='ficheinter';
$subelement='fichinter';
} }
//print "objecttype=".$objecttype." module=".$module." subelement=".$subelement; //print "objecttype=".$objecttype." module=".$module." subelement=".$subelement;
$classfile = strtolower($subelement); $classname = ucfirst($subelement); $classfile = strtolower($subelement); $classname = ucfirst($subelement);
if ($objecttype == 'invoice_supplier') { if ($objecttype == 'invoice_supplier') {
$classfile = 'fournisseur.facture'; $classname='FactureFournisseur'; $classfile = 'fournisseur.facture';
$classname='FactureFournisseur';
$classpath = 'fourn/class';
$module='fournisseur';
} }
if ($objecttype == 'order_supplier') { if ($objecttype == 'order_supplier') {
$classfile = 'fournisseur.commande'; $classname='CommandeFournisseur'; $classfile = 'fournisseur.commande';
$classname='CommandeFournisseur';
$classpath = 'fourn/class';
$module='fournisseur';
} }
if (! empty($conf->$module->enabled)) if (! empty($conf->$module->enabled))

View File

@ -1813,6 +1813,16 @@ elseif (! empty($object->id))
*/ */
$somethingshown=$object->showLinkedObjectBlock(); $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 '</td><td valign="top" width="50%">';
print '</div><div class="fichehalfright"><div class="ficheaddleft">'; print '</div><div class="fichehalfright"><div class="ficheaddleft">';

View File

@ -23,9 +23,11 @@
* \brief List of suppliers orders * \brief List of suppliers orders
*/ */
require '../../main.inc.php'; require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.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.'/fourn/class/fournisseur.commande.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
$langs->load("orders"); $langs->load("orders");
@ -65,6 +67,7 @@ if ($socid > 0)
llxHeader('',$title); llxHeader('',$title);
$commandestatic=new CommandeFournisseur($db); $commandestatic=new CommandeFournisseur($db);
$formfile = new FormFile($db);
if ($sortorder == "") $sortorder="DESC"; if ($sortorder == "") $sortorder="DESC";
@ -154,6 +157,7 @@ if ($resql)
$var=true; $var=true;
$userstatic = new User($db); $userstatic = new User($db);
$objectstatic=new CommandeFournisseur($db);
while ($i < min($num,$conf->liste_limit)) while ($i < min($num,$conf->liste_limit))
{ {
@ -163,7 +167,11 @@ if ($resql)
print "<tr ".$bc[$var].">"; print "<tr ".$bc[$var].">";
// Ref // 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 // Company
print '<td><a href="'.DOL_URL_ROOT.'/fourn/fiche.php?socid='.$obj->socid.'">'.img_object($langs->trans("ShowCompany"),"company").' '; print '<td><a href="'.DOL_URL_ROOT.'/fourn/fiche.php?socid='.$obj->socid.'">'.img_object($langs->trans("ShowCompany"),"company").' ';

View File

@ -28,6 +28,10 @@
* \brief Page for supplier invoice card (view, edit, validate) * \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 '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.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 else
{ {
$db->commit(); $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); header("Location: ".$_SERVER['PHP_SELF']."?id=".$id);
exit; exit;
} }
@ -608,7 +622,14 @@ elseif ($action == 'addline')
$outputlangs = new Translate("",$conf); $outputlangs = new Translate("",$conf);
$outputlangs->setDefaultLang($newlang); $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['qty']);
unset($_POST['type']); unset($_POST['type']);
@ -659,7 +680,14 @@ elseif ($action == 'edit' && $user->rights->fournisseur->facture->creer)
$outputlangs = new Translate("",$conf); $outputlangs = new Translate("",$conf);
$outputlangs->setDefaultLang($_REQUEST['lang_id']); $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=''; $action='';
} }

View File

@ -3,6 +3,7 @@
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.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 * 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 * 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.'/fourn/class/fournisseur.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.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/lib/date.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
if (!$user->rights->fournisseur->facture->lire) accessforbidden(); if (!$user->rights->fournisseur->facture->lire) accessforbidden();
@ -99,6 +101,7 @@ if ($mode == 'search')
$now=dol_now(); $now=dol_now();
$form=new Form($db); $form=new Form($db);
$htmlother=new FormOther($db); $htmlother=new FormOther($db);
$formfile = new FormFile($db);
llxHeader('',$langs->trans("SuppliersInvoices"),'EN:Suppliers_Invoices|FR:FactureFournisseur|ES:Facturas_de_proveedores'); 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=$obj->ref;
$facturestatic->ref_supplier=$obj->ref_supplier; $facturestatic->ref_supplier=$obj->ref_supplier;
print $facturestatic->getNomUrl(1); 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>\n";
print '<td class="nowrap">'.dol_trunc($obj->ref_supplier,10)."</td>"; 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>'; print '<td align="center" class="nowrap">'.dol_print_date($db->jdate($obj->datef),'day').'</td>';

View File

@ -81,7 +81,7 @@ ActionAC_SHIP=Enviament expedició per correu
ActionAC_SUP_ORD=Enviament comanda a proveïdor per correu ActionAC_SUP_ORD=Enviament comanda a proveïdor per correu
ActionAC_SUP_INV=Enviament factura de proveïdor per correu ActionAC_SUP_INV=Enviament factura de proveïdor per correu
ActionAC_OTH=Altra ActionAC_OTH=Altra
# ActionAC_OTH_AUTO=Other (automatically inserted events) ActionAC_OTH_AUTO=Altra (esdeveniments inserits automàticament)
ActionAC_MANUAL=Esdeveniments creats manualment ActionAC_MANUAL=Esdeveniments creats manualment
ActionAC_AUTO=Esdeveniments creats automàticament ActionAC_AUTO=Esdeveniments creats automàticament
Stats=Estadístiques de venda Stats=Estadístiques de venda

View File

@ -246,13 +246,13 @@ CountryJE=Jersey
CountryME=Monténégro CountryME=Monténégro
CountryBL=Saint-Barthélemy CountryBL=Saint-Barthélemy
CountryMF=Saint-Martin CountryMF=Saint-Martin
##### Civilities ##### ##### Civilities #####=undefined
CivilityMME=Senyora CivilityMME=Senyora
CivilityMR=Senyor CivilityMR=Senyor
CivilityMLE=Senyoreta CivilityMLE=Senyoreta
CivilityMTRE=En CivilityMTRE=En
CivilityDR=Doctor CivilityDR=Doctor
##### Currencies ##### ##### Currencies #####=undefined
Currencyeuros=Euros Currencyeuros=Euros
CurrencyAUD=Dòlars Aus. CurrencyAUD=Dòlars Aus.
CurrencySingAUD=Dòlar Aus. CurrencySingAUD=Dòlar Aus.
@ -294,7 +294,7 @@ CurrencyXPF=Francs CFP
CurrencySingXPF=Franc CFP CurrencySingXPF=Franc CFP
CurrencyCentSingEUR=cèntim CurrencyCentSingEUR=cèntim
CurrencyThousandthSingTND=mil·lèsim CurrencyThousandthSingTND=mil·lèsim
#### Input reasons ####= #### Input reasons ####
DemandReasonTypeSRC_INTE=Internet DemandReasonTypeSRC_INTE=Internet
DemandReasonTypeSRC_CAMP_MAIL=Campanya correu DemandReasonTypeSRC_CAMP_MAIL=Campanya correu
DemandReasonTypeSRC_CAMP_EMAIL=Campanya E-Mailing DemandReasonTypeSRC_CAMP_EMAIL=Campanya E-Mailing
@ -306,7 +306,7 @@ DemandReasonTypeSRC_WOM=Boca a boca
DemandReasonTypeSRC_PARTNER=Soci DemandReasonTypeSRC_PARTNER=Soci
DemandReasonTypeSRC_EMPLOYEE=Empleat DemandReasonTypeSRC_EMPLOYEE=Empleat
DemandReasonTypeSRC_SPONSORING=Patrocinador DemandReasonTypeSRC_SPONSORING=Patrocinador
#### Paper formats ####= #### Paper formats ####
PaperFormatEU4A0=Format 4A0 PaperFormatEU4A0=Format 4A0
PaperFormatEU2A0=Format 2A0 PaperFormatEU2A0=Format 2A0
PaperFormatEUA0=Format A0 PaperFormatEUA0=Format A0
@ -317,7 +317,7 @@ PaperFormatEUA4=Format A4
PaperFormatEUA5=Format A5 PaperFormatEUA5=Format A5
PaperFormatEUA6=Format A6 PaperFormatEUA6=Format A6
PaperFormatUSLETTER=Format carta EE. UU. PaperFormatUSLETTER=Format carta EE. UU.
PaperFormatUSLEGAL= PaperFormatUSLEGAL=Format legal EE. UU.
PaperFormatUSEXECUTIVE=Format executiu EE. UU. PaperFormatUSEXECUTIVE=Format executiu EE. UU.
PaperFormatUSLEDGER=Format tabloide PaperFormatUSLEDGER=Format tabloide
PaperFormatCAP1=Format canadec P1 PaperFormatCAP1=Format canadec P1

View File

@ -7,6 +7,7 @@ Donor=Donant
Donors=Donants Donors=Donants
AddDonation=Afegir donació AddDonation=Afegir donació
NewDonation=Nova donació NewDonation=Nova donació
ShowDonation=Mostrar donació
DonationPromise=Promesa de donació DonationPromise=Promesa de donació
PromisesNotValid=Promeses no validades PromisesNotValid=Promeses no validades
PromisesValid=Promeses validades PromisesValid=Promeses validades
@ -24,5 +25,9 @@ DonationStatusPaidShort=Pagada
ValidPromess=Validar promesa ValidPromess=Validar promesa
BuildDonationReceipt=Crear rebut BuildDonationReceipt=Crear rebut
DonationsModels=Model de document de recepció de donació DonationsModels=Model de document de recepció de donació
LastModifiedDonations=Less %s últimes donacions modificades LastModifiedDonations=Les %s últimes donacions modificades
SearchADonation=Cercar una donació 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

View File

@ -125,7 +125,7 @@ DeskCode=Codi oficina
BankAccountNumber=Número compte BankAccountNumber=Número compte
BankAccountNumberKey=Dígit Control BankAccountNumberKey=Dígit Control
## filters ## 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 FilterableFields=Camps filtrables
FilteredFields=Campos filtrats FilteredFields=Campos filtrats
FilteredFieldsValues=Valors de filtres FilteredFieldsValues=Valors de filtres

View File

@ -2,3 +2,4 @@
CHARSET=UTF-8 CHARSET=UTF-8
ExternalSiteSetup=Configuració de l'enllaç al lloc web extern 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.

View File

@ -10,3 +10,4 @@ FailedToConnectToFTPServer=No s'ha pogut connectar amb el servidor FTP (servidor
FailedToConnectToFTPServerWithCredentials=No s'ha pogut connectar amb el login/contrasenya FTP configurats FailedToConnectToFTPServerWithCredentials=No s'ha pogut connectar amb el login/contrasenya FTP configurats
FTPFailedToRemoveFile=No s'ha pogut suprimir el fitxer <b>%s</b>. 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

View File

@ -2,6 +2,7 @@
CHARSET=UTF-8 CHARSET=UTF-8
Language_ar_AR=Àrab Language_ar_AR=Àrab
Language_ar_SA=Àrab Language_ar_SA=Àrab
Language_bg_BG=Búlgar
Language_ca_ES=Català Language_ca_ES=Català
Language_da_DA=Danès Language_da_DA=Danès
Language_da_DK=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_CA=Francès (Canadà)
Language_fr_CH=Francès (Suïssa) Language_fr_CH=Francès (Suïssa)
Language_fr_FR=Francès Language_fr_FR=Francès
Language_he_IL=Hebreu
Language_hu_HU=Hongarès Language_hu_HU=Hongarès
Language_is_IS=Islandès Language_is_IS=Islandès
Language_it_IT=Italià Language_it_IT=Italià

View File

@ -17,12 +17,12 @@ DescADHERENT_SPIP_SERVEUR=Servidor SPIP
DescADHERENT_SPIP_DB=Nom de la base de dades d'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_USER=Usuari de la base de dades d'SPIP
DescADHERENT_SPIP_PASS=Contrasenya de la base de dades d'SPIP DescADHERENT_SPIP_PASS=Contrasenya de la base de dades d'SPIP
# AddIntoSpip=Add into SPIP AddIntoSpip=Afegir a SPIP
# AddIntoSpipConfirmation=Are you sure you want to add this member into SPIP? AddIntoSpipConfirmation=Esteu segur de voler afegir aquest membre a SPIP?
# AddIntoSpipError=Failed to add the user in SPIP AddIntoSpipError=S'ha produït un error en afegir el membre a SPIP
# DeleteIntoSpip=Remove from SPIP DeleteIntoSpip=Esborrar de SPIP
# DeleteIntoSpipConfirmation=Are you sure you want to remove this member from SPIP? DeleteIntoSpipConfirmation=Esteu segur de voler esborrar aquest membre del SPIP?
# DeleteIntoSpipError=Failed to suppress the user from SPIP DeleteIntoSpipError=S'ha produït un error en suprimir el membre d'SPIP
# SPIPConnectionFailed=Failed to connect to SPIP SPIPConnectionFailed=Error al connectar amb SPIP
SuccessToAddToMailmanList=Addició de %s a la llista Mailman %s o base SPIP realitzada 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 SuccessToRemoveToMailmanList=Eliminació de %s de la llista Mailman %s o base SPIP realitzada

View File

@ -8,8 +8,8 @@ ToolsDesc=Aquesta àrea està dedicada al reagrupament de diverses utilitats no
Birthday=Aniversari Birthday=Aniversari
BirthdayDate=Data aniversari BirthdayDate=Data aniversari
DateToBirth=Data de naiximent DateToBirth=Data de naiximent
BirthdayAlertOn= alerta aniversari activada BirthdayAlertOn=alerta aniversari activada
BirthdayAlertOff= alerta aniversari desactivada BirthdayAlertOff=alerta aniversari desactivada
Notify_FICHINTER_VALIDATE=Validació fitxa intervenció Notify_FICHINTER_VALIDATE=Validació fitxa intervenció
Notify_FICHINTER_SENTBYMAIL=Enviament fitxa intervenció per e-mail Notify_FICHINTER_SENTBYMAIL=Enviament fitxa intervenció per e-mail
Notify_BILL_VALIDATE=Validació factura 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_ORDER_SENTBYMAIL=Enviament comanda de client per e-mail
Notify_COMPANY_CREATE=Creació tercer Notify_COMPANY_CREATE=Creació tercer
Notify_PROPAL_SENTBYMAIL=Enviament pressupost per e-mail 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_PAYED=Cobrament factura a client
Notify_BILL_CANCEL=Cancel·lació factura a client Notify_BILL_CANCEL=Cancel·lació factura a client
Notify_BILL_SENTBYMAIL=Enviament factura a client per e-mail Notify_BILL_SENTBYMAIL=Enviament factura a client per e-mail
@ -152,7 +151,7 @@ EMailTextOrderApproved=Comanda %s aprovada
EMailTextOrderApprovedBy=Comanda %s aprovada per %s EMailTextOrderApprovedBy=Comanda %s aprovada per %s
EMailTextOrderRefused=Comanda %s rebutjada EMailTextOrderRefused=Comanda %s rebutjada
EMailTextOrderRefusedBy=Comanda %s rebutjada per %s 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) ImportedWithSet=Lot d'importació (import key)
DolibarrNotification=Notificació automàtica DolibarrNotification=Notificació automàtica
ResizeDesc=Introduïu l'ample <b>O</b> la nova alçada. La relació es conserva en canviar la mida... 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 CancelUpload=Cancel·lar transferència
FileIsTooBig=L'arxiu és massa gran FileIsTooBig=L'arxiu és massa gran
PleaseBePatient=Preguem esperi uns instants... PleaseBePatient=Preguem esperi uns instants...
##### Calendar common ##### ##### Calendar common #####
AddCalendarEntry=Afegir entrada al calendari AddCalendarEntry=Afegir entrada al calendari
NewCompanyToDolibarr=Empresa %s inserida en Dolibarr NewCompanyToDolibarr=Empresa %s inserida en Dolibarr

View File

@ -10,8 +10,8 @@ PAYPAL_API_USER=Nom usuari API
PAYPAL_API_PASSWORD=Contrasenya usuari API PAYPAL_API_PASSWORD=Contrasenya usuari API
PAYPAL_API_SIGNATURE=Signatura API PAYPAL_API_SIGNATURE=Signatura API
PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Proposar pagament integral (Targeta+Paypal) o només Paypal PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Proposar pagament integral (Targeta+Paypal) o només Paypal
# PaypalModeIntegral=Integral PaypalModeIntegral=Integral
# PaypalModeOnlyPaypal=PayPal only PaypalModeOnlyPaypal=Només PayPal
PAYPAL_CSS_URL=Url opcional del full d'estil CSS de la pàgina de pagament PAYPAL_CSS_URL=Url opcional del full d'estil CSS de la pàgina de pagament
ThisIsTransactionId=Identificador de la transacció: <b>%s</b> 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 PAYPAL_ADD_PAYMENT_URL=Afegir la url del pagament Paypal en enviar un document per e-mail

View File

@ -26,7 +26,7 @@ RefSupplierShort=Ref. proveïdor
Availability=Disponibilitat Availability=Disponibilitat
ExportDataset_fournisseur_1=Factures de proveïdors i línies de factura ExportDataset_fournisseur_1=Factures de proveïdors i línies de factura
ExportDataset_fournisseur_2=Factures proveïdors i pagaments 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 ApproveThisOrder=Aprovar aquesta comanda
ConfirmApproveThisOrder=Esteu segur de voler aprovar la comanda a proveïdor <b>%s</b>? ConfirmApproveThisOrder=Esteu segur de voler aprovar la comanda a proveïdor <b>%s</b>?
DenyingThisOrder=Denegar aquesta comanda DenyingThisOrder=Denegar aquesta comanda

View File

@ -86,3 +86,6 @@ BoxProposalsPerMonth=Proposals per month
NoTooLowStockProducts=No product under the low stock limit NoTooLowStockProducts=No product under the low stock limit
BoxProductDistribution=Products/Services distribution BoxProductDistribution=Products/Services distribution
BoxProductDistributionFor=Distribution of %s for %s BoxProductDistributionFor=Distribution of %s for %s
ForCustomersInvoices=Customers invoices
ForCustomersOrders=Customers orders
ForProposals=Proposals

View File

@ -86,3 +86,6 @@ BoxProposalsPerMonth=Proposition par mois
NoTooLowStockProducts=Pas de produits sous le seuil de stock minimal NoTooLowStockProducts=Pas de produits sous le seuil de stock minimal
BoxProductDistribution=Répartition des produis/services 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

View File

@ -478,6 +478,10 @@ div.ficheaddleft {
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } <?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; }
else print "margin-top: 10px;\n"; ?> else print "margin-top: 10px;\n"; ?>
} }
.containercenter {
display : table;
margin : 0px auto;
}
/* ============================================================================== */ /* ============================================================================== */