forked from Wavyzz/dolibarr
Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop
This commit is contained in:
@@ -119,6 +119,8 @@ Fix: If only service module is activated, it's impossible to delete service
|
||||
Fix: [ bug #1043 ] Bad interventions ref numbering
|
||||
Fix: Mailing module : if an email is already in destinaires list all other email from selector was not inserted
|
||||
Fix: Localtaxes balance not showing
|
||||
Fix: Intervention box links to contracts id
|
||||
Fix: Compatiblity with multicompany module
|
||||
|
||||
***** ChangeLog for 3.4 compared to 3.3.* *****
|
||||
For users:
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
if [ "x$1" = "x" ]
|
||||
then
|
||||
echo "This pull remote transifex files to local dir."
|
||||
echo "Note: If you push a language file (not source), file will be skipped if transifex file is newer."
|
||||
echo "Note: If you pull a language file (not source), file will be skipped if local file is newer."
|
||||
echo " Using -f will overwrite local file (does not work with 'all')."
|
||||
echo "Usage: txpull.sh (all|xx_XX) [-r dolibarr.file] [-f]"
|
||||
exit
|
||||
|
||||
BIN
doc/images/dolibarr_screenshot1_640x400.png
Normal file
BIN
doc/images/dolibarr_screenshot1_640x400.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 111 KiB |
@@ -107,8 +107,7 @@ if ((! empty($foruserid) || ! empty($foruserlogin) || ! empty($mode)) && ! $mesg
|
||||
'%MONTH%'=>$month,
|
||||
'%DAY%'=>$day,
|
||||
'%DOL_MAIN_URL_ROOT%'=>DOL_MAIN_URL_ROOT,
|
||||
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/",
|
||||
'%SOCIETE%'=>$objp->company
|
||||
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/"
|
||||
);
|
||||
complete_substitutions_array($substitutionarray, $langs);
|
||||
|
||||
@@ -204,7 +203,7 @@ if ((! empty($foruserid) || ! empty($foruserlogin) || ! empty($mode)) && ! $mesg
|
||||
dol_print_error($db);
|
||||
}
|
||||
|
||||
if (! $mesg)
|
||||
if (! $mesg)
|
||||
{
|
||||
$db->close();
|
||||
exit;
|
||||
|
||||
@@ -35,6 +35,8 @@ if (!$user->admin) accessforbidden();
|
||||
|
||||
$action = GETPOST('action','alpha');
|
||||
$value = GETPOST('value','alpha');
|
||||
$scandir = GETPOST('scandir','alpha');
|
||||
$type='contrat';
|
||||
|
||||
if (empty($conf->global->CONTRACT_ADDON))
|
||||
{
|
||||
@@ -64,11 +66,6 @@ if ($action == 'updateMask')
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'setmod')
|
||||
{
|
||||
dolibarr_set_const($db, "CONTRACT_ADDON",$value,'chaine',0,'',$conf->entity);
|
||||
}
|
||||
|
||||
else if ($action == 'specimen') // For contract
|
||||
{
|
||||
$modele= GETPOST('module','alpha');
|
||||
@@ -155,10 +152,10 @@ else if ($action == 'setmod')
|
||||
dolibarr_set_const($db, "CONTRACT_ADDON",$value,'chaine',0,'',$conf->entity);
|
||||
}
|
||||
|
||||
else if ($action == 'set_CONTRAT_FREE_TEXT')
|
||||
else if ($action == 'set_CONTRACT_FREE_TEXT')
|
||||
{
|
||||
$freetext= GETPOST('CONTRAT_FREE_TEXT','alpha');
|
||||
$res = dolibarr_set_const($db, "CONTRAT_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity);
|
||||
$freetext= GETPOST('CONTRACT_FREE_TEXT','alpha');
|
||||
$res = dolibarr_set_const($db, "CONTRACT_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity);
|
||||
|
||||
if (! $res > 0) $error++;
|
||||
|
||||
@@ -172,11 +169,11 @@ else if ($action == 'set_CONTRAT_FREE_TEXT')
|
||||
}
|
||||
}
|
||||
|
||||
else if ($action == 'set_CONTRAT_DRAFT_WATERMARK')
|
||||
else if ($action == 'set_CONTRACT_DRAFT_WATERMARK')
|
||||
{
|
||||
$draft= GETPOST('CONTRAT_DRAFT_WATERMARK','alpha');
|
||||
$draft= GETPOST('CONTRACT_DRAFT_WATERMARK','alpha');
|
||||
|
||||
$res = dolibarr_set_const($db, "CONTRAT_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity);
|
||||
$res = dolibarr_set_const($db, "CONTRACT_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity);
|
||||
|
||||
if (! $res > 0) $error++;
|
||||
|
||||
@@ -492,10 +489,10 @@ $var=true;
|
||||
$var=! $var;
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="set_CONTRAT_FREE_TEXT">';
|
||||
print '<input type="hidden" name="action" value="set_CONTRACT_FREE_TEXT">';
|
||||
print '<tr '.$bc[$var].'><td colspan="2">';
|
||||
print $langs->trans("FreeLegalTextOnContracts").' ('.$langs->trans("AddCRIfTooLong").')<br>';
|
||||
print '<textarea name="CONTRAT_FREE_TEXT" class="flat" cols="120">'.$conf->global->CONTRAT_FREE_TEXT.'</textarea>';
|
||||
print '<textarea name="CONTRACT_FREE_TEXT" class="flat" cols="120">'.$conf->global->CONTRACT_FREE_TEXT.'</textarea>';
|
||||
print '</td><td align="right">';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
||||
print "</td></tr>\n";
|
||||
@@ -505,10 +502,10 @@ print '</form>';
|
||||
$var=!$var;
|
||||
print "<form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">";
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print "<input type=\"hidden\" name=\"action\" value=\"set_CONTRAT_DRAFT_WATERMARK\">";
|
||||
print "<input type=\"hidden\" name=\"action\" value=\"set_CONTRACT_DRAFT_WATERMARK\">";
|
||||
print '<tr '.$bc[$var].'><td colspan="2">';
|
||||
print $langs->trans("WatermarkOnDraftContractCards").'<br>';
|
||||
print '<input size="50" class="flat" type="text" name="CONTRAT_DRAFT_WATERMARK" value="'.$conf->global->CONTRAT_DRAFT_WATERMARK.'">';
|
||||
print '<input size="50" class="flat" type="text" name="CONTRACT_DRAFT_WATERMARK" value="'.$conf->global->CONTRACT_DRAFT_WATERMARK.'">';
|
||||
print '</td><td align="right">';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
||||
print "</td></tr>\n";
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
* Copyright (C) 2006-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2006-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
|
||||
* Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -610,8 +612,7 @@ class Categorie
|
||||
$sql = "SELECT fk_parent as id_parent, rowid as id_son";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."categorie";
|
||||
$sql.= " WHERE fk_parent != 0";
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
|
||||
$sql.= " AND entity IN (".getEntity('category',1).")";
|
||||
dol_syslog(get_class($this)."::load_motherof sql=".$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
* Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es>
|
||||
*
|
||||
* 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
|
||||
@@ -95,11 +96,11 @@ class box_ficheinter extends ModeleBoxes
|
||||
|
||||
$this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"',
|
||||
'logo' => $this->boximg,
|
||||
'url' => DOL_URL_ROOT."/ficheinter/fiche.php?id=".$objp->rowid);
|
||||
'url' => DOL_URL_ROOT."/fichinter/fiche.php?id=".$objp->rowid);
|
||||
|
||||
$this->info_box_contents[$i][1] = array('td' => 'align="left"',
|
||||
'text' => ($objp->ref?$objp->ref:$objp->rowid), // Some contracts have no ref
|
||||
'url' => DOL_URL_ROOT."/contrat/fiche.php?id=".$objp->rowid);
|
||||
'text' => ($objp->ref?$objp->ref:$objp->rowid), // Some interventions have no ref
|
||||
'url' => DOL_URL_ROOT."/fichinter/fiche.php?id=".$objp->rowid);
|
||||
|
||||
$this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"',
|
||||
'logo' => 'company',
|
||||
@@ -120,9 +121,10 @@ class box_ficheinter extends ModeleBoxes
|
||||
$i++;
|
||||
}
|
||||
|
||||
if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedContracts"));
|
||||
if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedInterventions"));
|
||||
|
||||
$db->free($resql);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -69,7 +69,6 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||
include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php';
|
||||
include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
|
||||
$facturestatic=new Facture($db);
|
||||
|
||||
$text = $langs->trans("BoxProductDistribution",$max);
|
||||
$this->info_box_head = array(
|
||||
@@ -90,15 +89,18 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
$showinvoicenb=GETPOST($param_showinvoicenb,'alpha',4);
|
||||
$showpropalnb=GETPOST($param_showpropalnb,'alpha',4);
|
||||
$showordernb=GETPOST($param_showordernb,'alpha',4);
|
||||
|
||||
if (empty($showinvoicenb) && empty($showpropalnb) && empty($showordernb)) { $showpropalnb=1; $showinvoicenb=1; $showordernb=1; }
|
||||
if (empty($conf->facture->enabled) || empty($user->rights->facture->lire)) $showinvoicenb=0;
|
||||
if (empty($conf->propal->enabled) || empty($user->rights->propal->lire)) $showpropalnb=0;
|
||||
if (empty($conf->commande->enabled) || empty($user->rights->commande->lire)) $showordernb=0;
|
||||
|
||||
$nowarray=dol_getdate(dol_now(),true);
|
||||
$year=(GETPOST($param_year,'',4)?GETPOST($param_year,'int',4):$nowarray['year']);
|
||||
|
||||
$nbofgraph=0;
|
||||
if ($showinvoicenb) $nbofgraph++;
|
||||
if ($showpropalnb) $nbofgraph++;
|
||||
if ($showordernb) $nbofgraph++;
|
||||
$nbofgraph=0;
|
||||
if ($showinvoicenb) $nbofgraph++;
|
||||
if ($showpropalnb) $nbofgraph++;
|
||||
if ($showordernb) $nbofgraph++;
|
||||
|
||||
$paramtitle=$langs->trans("Products").'/'.$langs->trans("Services");
|
||||
if (empty($conf->produit->enabled)) $paramtitle=$langs->trans("Services");
|
||||
@@ -107,7 +109,7 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
$socid=empty($user->societe_id)?0:$user->societe_id;
|
||||
$userid=0; // No filter on user creation
|
||||
|
||||
if ($user->rights->facture->lire)
|
||||
if (! empty($conf->facture->enabled) && ! empty($user->rights->facture->lire))
|
||||
{
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
|
||||
|
||||
@@ -170,7 +172,7 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
}
|
||||
}
|
||||
|
||||
if ($user->rights->propal->lire)
|
||||
if (! empty($conf->propal->enabled) && ! empty($user->rights->propal->lire))
|
||||
{
|
||||
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
|
||||
if ($showpropalnb)
|
||||
@@ -228,7 +230,7 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
}
|
||||
}
|
||||
|
||||
if ($user->rights->commande->lire)
|
||||
if (! empty($conf->commande->enabled) && ! empty($user->rights->commande->lire))
|
||||
{
|
||||
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
|
||||
if ($showordernb)
|
||||
@@ -300,11 +302,20 @@ 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.','.$param_showordernb.'">';
|
||||
$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("ForCustomersOrders");
|
||||
if (! empty($conf->facture->enabled) || ! empty($user->rights->facture->lire))
|
||||
{
|
||||
$stringtoshow.='<input type="checkbox" name="'.$param_showinvoicenb.'"'.($showinvoicenb?' checked="true"':'').'> '.$langs->trans("ForCustomersInvoices");
|
||||
$stringtoshow.=' ';
|
||||
}
|
||||
if (! empty($conf->propal->enabled) || ! empty($user->rights->propal->lire))
|
||||
{
|
||||
$stringtoshow.='<input type="checkbox" name="'.$param_showpropalnb.'"'.($showpropalnb?' checked="true"':'').'> '.$langs->trans("ForProposals");
|
||||
$stringtoshow.=' ';
|
||||
}
|
||||
if (! empty($conf->commande->enabled) || ! empty($user->rights->commande->lire))
|
||||
{
|
||||
$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).'">';
|
||||
@@ -322,18 +333,18 @@ class box_graph_product_distribution extends ModeleBoxes
|
||||
$stringtoshow.='<div class="fichecenter"><div class="containercenter"><div class="fichehalfleft">';
|
||||
if ($showinvoicenb) $stringtoshow.=$px1->show();
|
||||
else if ($showpropalnb) $stringtoshow.=$px2->show();
|
||||
$stringtoshow.='</div><div class="fichehalfright">';
|
||||
$stringtoshow.='</div><div class="fichehalfright">';
|
||||
if ($showordernb) $stringtoshow.=$px3->show();
|
||||
else if ($showpropalnb) $stringtoshow.=$px2->show();
|
||||
$stringtoshow.='</div></div></div>';
|
||||
$stringtoshow.='</div></div></div>';
|
||||
}
|
||||
if ($nbofgraph == 3)
|
||||
if ($nbofgraph == 3)
|
||||
{
|
||||
$stringtoshow.='<div class="fichecenter"><div class="containercenter"><div class="fichehalfleft">';
|
||||
$stringtoshow.=$px1->show();
|
||||
$stringtoshow.='</div><div class="fichehalfright">';
|
||||
$stringtoshow.=$px2->show();
|
||||
$stringtoshow.='</div></div></div>';
|
||||
$stringtoshow.='<div class="fichecenter"><div class="containercenter"><div class="fichehalfleft">';
|
||||
$stringtoshow.=$px1->show();
|
||||
$stringtoshow.='</div><div class="fichehalfright">';
|
||||
$stringtoshow.=$px2->show();
|
||||
$stringtoshow.='</div></div></div>';
|
||||
$stringtoshow.='<div class="fichecenter"><div class="containercenter">';
|
||||
$stringtoshow.=$px3->show();
|
||||
$stringtoshow.='</div></div>';
|
||||
|
||||
@@ -71,7 +71,7 @@ class DolGraph
|
||||
var $showlegend=1;
|
||||
var $showpointvalue=1;
|
||||
var $showpercent=0;
|
||||
|
||||
|
||||
var $graph; // Objet Graph (Artichow, Phplot...)
|
||||
var $error;
|
||||
|
||||
@@ -244,17 +244,17 @@ class DolGraph
|
||||
$this->data = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set data
|
||||
*
|
||||
* @param array $datacolor Data color array(array(R,G,B),array(R,G,B)...)
|
||||
* @return void
|
||||
*/
|
||||
function SetDataColor($datacolor)
|
||||
{
|
||||
$this->datacolor = $datacolor;
|
||||
/**
|
||||
* Set data
|
||||
*
|
||||
* @param array $datacolor Data color array(array(R,G,B),array(R,G,B)...)
|
||||
* @return void
|
||||
*/
|
||||
function SetDataColor($datacolor)
|
||||
{
|
||||
$this->datacolor = $datacolor;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set type
|
||||
*
|
||||
@@ -395,7 +395,7 @@ class DolGraph
|
||||
|
||||
/**
|
||||
* Show legend or not
|
||||
*
|
||||
*
|
||||
* @param int $showlegend 1=Show legend (default), 0=Hide legend
|
||||
* @return void
|
||||
*/
|
||||
@@ -406,7 +406,7 @@ class DolGraph
|
||||
|
||||
/**
|
||||
* Show pointvalue or not
|
||||
*
|
||||
*
|
||||
* @param int $showpointvalue 1=Show value for each point, as tooltip or inline (default), 0=Hide value
|
||||
* @return void
|
||||
*/
|
||||
@@ -414,10 +414,10 @@ class DolGraph
|
||||
{
|
||||
$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
|
||||
*/
|
||||
@@ -425,9 +425,9 @@ class DolGraph
|
||||
{
|
||||
$this->showpercent=$showpercent;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Define background color of complete image
|
||||
*
|
||||
@@ -590,12 +590,18 @@ class DolGraph
|
||||
/**
|
||||
* Build a graph onto disk using correct library
|
||||
*
|
||||
* @param string $file Image file name to use if we save onto disk
|
||||
* @param string $file Image file name to use to save onto disk (also used as javascript unique id)
|
||||
* @param string $fileurl Url path to show image if saved onto disk
|
||||
* @return void
|
||||
*/
|
||||
function draw($file,$fileurl='')
|
||||
{
|
||||
if (empty($file))
|
||||
{
|
||||
$this->error="Call to draw method was made with empty value for parameter file.";
|
||||
dol_syslog(get_class($this)."::draw ".$this->error, LOG_ERR);
|
||||
return -2;
|
||||
}
|
||||
if (! is_array($this->data) || count($this->data) < 1)
|
||||
{
|
||||
$this->error="Call to draw method was made but SetData was not called or called with an empty dataset for parameters";
|
||||
@@ -796,8 +802,8 @@ class DolGraph
|
||||
* $this->mode = 'depth' ???
|
||||
* $this->bgcolorgrid
|
||||
* $this->datacolor
|
||||
*
|
||||
* @param string $file Image file name to use if we save onto disk
|
||||
*
|
||||
* @param string $file Image file name to use to save onto disk (also used as javascript unique id)
|
||||
* @param string $fileurl Url path to show image if saved onto disk
|
||||
* @return void
|
||||
*/
|
||||
@@ -807,6 +813,12 @@ class DolGraph
|
||||
|
||||
dol_syslog(get_class($this)."::draw_jflot this->type=".join(',',$this->type));
|
||||
|
||||
if (empty($this->width) && empty($this->height))
|
||||
{
|
||||
print 'Error width or height not set';
|
||||
return;
|
||||
}
|
||||
|
||||
$legends=array();
|
||||
$nblot=count($this->data[0])-1; // -1 to remove legend
|
||||
if ($nblot < 0) dol_print_error('Bad value for property ->data. Must be set by mydolgraph->SetData before callinf mydolgrapgh->draw');
|
||||
@@ -823,7 +835,7 @@ class DolGraph
|
||||
|
||||
// Fill array $values
|
||||
$x=0;
|
||||
foreach($this->data as $valarray) // Loop on each x
|
||||
foreach($this->data as $valarray) // Loop on each x
|
||||
{
|
||||
$legends[$x] = $valarray[0];
|
||||
$values[$x] = (is_numeric($valarray[$i+1]) ? $valarray[$i+1] : null);
|
||||
@@ -839,12 +851,12 @@ class DolGraph
|
||||
{
|
||||
foreach($values as $x => $y) { if (isset($y)) $serie[$i].='d'.$i.'.push(['.$x.', '.$y.']);'."\n"; }
|
||||
}
|
||||
|
||||
|
||||
unset($values);
|
||||
$i++;
|
||||
}
|
||||
$tag=dol_escape_htmltag(dol_string_unaccent(dol_string_nospecial(basename($file),'_',array('-','.'))));
|
||||
|
||||
|
||||
$this->_stringtoshow ='<!-- Build using '.$this->_library.' -->'."\n";
|
||||
if (! empty($this->title)) $this->_stringtoshow.='<div align="center" class="dolgraphtitle'.(empty($this->cssprefix)?'':' dolgraphtitle'.$this->cssprefix).'">'.$this->title.'</div>';
|
||||
$this->_stringtoshow.='<div id="placeholder_'.$tag.'" style="width:'.$this->width.'px;height:'.$this->height.'px;" class="dolgraph'.(empty($this->cssprefix)?'':' dolgraph'.$this->cssprefix).'"></div>'."\n";
|
||||
@@ -868,7 +880,7 @@ class DolGraph
|
||||
$showlegend=$this->showlegend;
|
||||
$showpointvalue=$this->showpointvalue;
|
||||
$showpercent=$this->showpercent;
|
||||
|
||||
|
||||
$this->_stringtoshow.= '
|
||||
function plotWithOptions_'.$tag.'() {
|
||||
$.plot($("#placeholder_'.$tag.'"), d0,
|
||||
@@ -933,16 +945,16 @@ class DolGraph
|
||||
opacity: 0.80
|
||||
}).appendTo("body").fadeIn(20);
|
||||
}
|
||||
|
||||
|
||||
var previousPoint = null;
|
||||
$("#placeholder_'.$tag.'").bind("plothover", function (event, pos, item) {
|
||||
$("#x").text(pos.x.toFixed(2));
|
||||
$("#y").text(pos.y.toFixed(2));
|
||||
|
||||
|
||||
if (item) {
|
||||
if (previousPoint != item.dataIndex) {
|
||||
previousPoint = item.dataIndex;
|
||||
|
||||
|
||||
$("#tooltip").remove();
|
||||
/* console.log(item); */
|
||||
var x = item.datapoint[0].toFixed(2);
|
||||
@@ -962,9 +974,9 @@ class DolGraph
|
||||
}
|
||||
});
|
||||
';
|
||||
|
||||
|
||||
$this->_stringtoshow.='var stack = null, steps = false;'."\n";
|
||||
|
||||
|
||||
$this->_stringtoshow.='function plotWithOptions_'.$tag.'() {'."\n";
|
||||
$this->_stringtoshow.='$.plot($("#placeholder_'.$tag.'"), [ '."\n";
|
||||
$i=$firstlot;
|
||||
@@ -979,7 +991,7 @@ class DolGraph
|
||||
$i++;
|
||||
}
|
||||
$this->_stringtoshow.="\n".' ], { series: { stack: stack, lines: { fill: false, steps: steps }, bars: { barWidth: 0.6 } }'."\n";
|
||||
|
||||
|
||||
// Xaxis
|
||||
$this->_stringtoshow.=', xaxis: { ticks: ['."\n";
|
||||
$x=0;
|
||||
@@ -990,10 +1002,10 @@ class DolGraph
|
||||
$x++;
|
||||
}
|
||||
$this->_stringtoshow.='] }'."\n";
|
||||
|
||||
|
||||
// Yaxis
|
||||
$this->_stringtoshow.=', yaxis: { min: '.$this->MinValue.', max: '.($this->MaxValue).' }'."\n";
|
||||
|
||||
|
||||
// Background color
|
||||
$color1=sprintf("%02x%02x%02x",$this->bgcolorgrid[0],$this->bgcolorgrid[0],$this->bgcolorgrid[2]);
|
||||
$color2=sprintf("%02x%02x%02x",$this->bgcolorgrid[0],$this->bgcolorgrid[1],$this->bgcolorgrid[2]);
|
||||
@@ -1001,7 +1013,7 @@ class DolGraph
|
||||
//$this->_stringtoshow.=', shadowSize: 20'."\n"; TODO Uncommet this
|
||||
$this->_stringtoshow.='});'."\n";
|
||||
$this->_stringtoshow.='}'."\n";
|
||||
|
||||
|
||||
}
|
||||
|
||||
$this->_stringtoshow.='plotWithOptions_'.$tag.'();'."\n";
|
||||
|
||||
@@ -683,9 +683,9 @@ class ExtraFields
|
||||
}
|
||||
elseif ($type == 'sellist')
|
||||
{
|
||||
|
||||
$out='<select class="flat" name="options_'.$key.'">';
|
||||
if (is_array($param['options'])) {
|
||||
if (is_array($param['options']))
|
||||
{
|
||||
$param_list=array_keys($param['options']);
|
||||
$InfoFieldList = explode(":", $param_list[0]);
|
||||
|
||||
@@ -696,38 +696,38 @@ class ExtraFields
|
||||
|
||||
$keyList='rowid';
|
||||
|
||||
if (count($InfoFieldList)>=3)
|
||||
$keyList=$InfoFieldList[2].' as rowid';
|
||||
if (count($InfoFieldList)>=4) {
|
||||
list($parentName, $parentField) = explode('|', $InfoFieldList[3]);
|
||||
$keyList.= ', '.$parentField;
|
||||
}
|
||||
if (count($InfoFieldList)>=3)
|
||||
$keyList=$InfoFieldList[2].' as rowid';
|
||||
if (count($InfoFieldList)>=4) {
|
||||
list($parentName, $parentField) = explode('|', $InfoFieldList[3]);
|
||||
$keyList.= ', '.$parentField;
|
||||
}
|
||||
|
||||
$fields_label = explode('|',$InfoFieldList[1]);
|
||||
if(is_array($fields_label)) {
|
||||
$keyList .=', ';
|
||||
$keyList .= implode(', ', $fields_label);
|
||||
}
|
||||
$fields_label = explode('|',$InfoFieldList[1]);
|
||||
if(is_array($fields_label)) {
|
||||
$keyList .=', ';
|
||||
$keyList .= implode(', ', $fields_label);
|
||||
}
|
||||
|
||||
$fields_label = explode('|',$InfoFieldList[1]);
|
||||
if(is_array($fields_label)) {
|
||||
$keyList .=', ';
|
||||
$keyList .= implode(', ', $fields_label);
|
||||
}
|
||||
$fields_label = explode('|',$InfoFieldList[1]);
|
||||
if(is_array($fields_label)) {
|
||||
$keyList .=', ';
|
||||
$keyList .= implode(', ', $fields_label);
|
||||
}
|
||||
|
||||
$sql = 'SELECT '.$keyList;
|
||||
$sql.= ' FROM '.MAIN_DB_PREFIX .$InfoFieldList[0];
|
||||
//$sql.= ' WHERE entity = '.$conf->entity;
|
||||
$sql = 'SELECT '.$keyList;
|
||||
$sql.= ' FROM '.MAIN_DB_PREFIX .$InfoFieldList[0];
|
||||
//$sql.= ' WHERE entity = '.$conf->entity;
|
||||
//print $sql;
|
||||
|
||||
dol_syslog(get_class($this).'::showInputField type=sellist sql='.$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
if ($resql)
|
||||
{
|
||||
$out.='<option value="0"> </option>';
|
||||
$num = $this->db->num_rows($resql);
|
||||
$i = 0;
|
||||
if ($num)
|
||||
while ($i < $num)
|
||||
{
|
||||
$labeltoshow='';
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
@@ -764,16 +764,18 @@ class ExtraFields
|
||||
$translabel=$langs->trans($obj->$InfoFieldList[1]);
|
||||
if ($translabel!=$obj->$InfoFieldList[1]) {
|
||||
$labeltoshow=dol_trunc($translabel,18);
|
||||
}else {
|
||||
}
|
||||
else {
|
||||
$labeltoshow=dol_trunc($obj->$InfoFieldList[1],18);
|
||||
}
|
||||
|
||||
if (empty($labeltoshow)) $labeltoshow='(not defined)';
|
||||
if ($value==$obj->rowid)
|
||||
{
|
||||
$out.='<option value="'.$obj->rowid.'" selected="selected">'.$labeltoshow.'</option>';
|
||||
}
|
||||
|
||||
if(!empty($InfoFieldList[3])) {
|
||||
if (!empty($InfoFieldList[3]))
|
||||
{
|
||||
$parent = $parentName.':'.$obj->{$parentField};
|
||||
}
|
||||
|
||||
@@ -781,9 +783,9 @@ class ExtraFields
|
||||
$out.= ($value==$obj->rowid?' selected="selected"':'');
|
||||
$out.= (!empty($parent)?' parent="'.$parent.'"':'');
|
||||
$out.='>'.$labeltoshow.'</option>';
|
||||
|
||||
$i++;
|
||||
}
|
||||
|
||||
$i++;
|
||||
}
|
||||
$this->db->free();
|
||||
}
|
||||
|
||||
@@ -345,9 +345,9 @@ class Form
|
||||
*
|
||||
* @param string $text Text to show
|
||||
* @param string $htmltext HTML content of tooltip. Must be HTML/UTF8 encoded.
|
||||
* @param int $tooltipon 1=tooltip sur texte, 2=tooltip sur picto, 3=tooltip sur les 2
|
||||
* @param int $direction -1=Le picto est avant, 0=pas de picto, 1=le picto est apres
|
||||
* @param string $img Code img du picto (use img_xxx() function to get it)
|
||||
* @param int $tooltipon 1=tooltip on text, 2=tooltip on image, 3=tooltip sur les 2
|
||||
* @param int $direction -1=image is before, 0=no image, 1=image is after
|
||||
* @param string $img Html code for image (use img_xxx() function to get it)
|
||||
* @param string $extracss Add a CSS style to td tags
|
||||
* @param int $notabs 0=Include table and tr tags, 1=Do not include table and tr tags, 2=use div, 3=use span
|
||||
* @param string $incbefore Include code before the text
|
||||
|
||||
@@ -1031,7 +1031,23 @@ function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issuppl
|
||||
$libelleproduitservice=$prefix_prodserv.$ref_prodserv.$libelleproduitservice;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Add an additional description for the category products
|
||||
if (! empty($conf->categorie->enabled))
|
||||
{
|
||||
include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||
$categstatic=new Categorie($db);
|
||||
// recovering the list of all the categories linked to product
|
||||
$tblcateg=$categstatic->containing($idprod,0);
|
||||
foreach ($tblcateg as $cate)
|
||||
{
|
||||
// Adding the descriptions if they are filled
|
||||
$desccateg=$cate->add_description;
|
||||
if ($desccateg)
|
||||
$libelleproduitservice.='__N__'.$desccateg;
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($object->lines[$i]->date_start) || ! empty($object->lines[$i]->date_end))
|
||||
{
|
||||
$format='day';
|
||||
|
||||
@@ -433,9 +433,9 @@ class pdf_strato extends ModelePDFContract
|
||||
pdf_pagehead($pdf,$outputlangs,$this->page_hauteur);
|
||||
|
||||
//Affiche le filigrane brouillon - Print Draft Watermark
|
||||
if($object->statut==0 && (! empty($conf->global->CONTRAT_DRAFT_WATERMARK)) )
|
||||
if($object->statut==0 && (! empty($conf->global->CONTRACT_DRAFT_WATERMARK)) )
|
||||
{
|
||||
pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->CONTRAT_DRAFT_WATERMARK);
|
||||
pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->CONTRACT_DRAFT_WATERMARK);
|
||||
}
|
||||
|
||||
//Prepare la suite
|
||||
@@ -601,7 +601,7 @@ class pdf_strato extends ModelePDFContract
|
||||
*/
|
||||
function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0)
|
||||
{
|
||||
return pdf_pagefoot($pdf,$outputlangs,'CONTRAT_FREE_TEXT',$this->emetteur,$this->marge_basse,$this->marge_gauche,$this->page_hauteur,$object,0,$hidefreetext);
|
||||
return pdf_pagefoot($pdf,$outputlangs,'CONTRACT_FREE_TEXT',$this->emetteur,$this->marge_basse,$this->marge_gauche,$this->page_hauteur,$object,0,$hidefreetext);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
/**
|
||||
* \file htdocs/core/modules/contract/modules_contract.php
|
||||
* \ingroup contract
|
||||
* \brief Fichier contenant la classe mere de generation des fiches interventions en PDF and File of class to manage contract numbering
|
||||
* \brief File with parent class for generating contracts to PDF and File of class to manage contract numbering
|
||||
*/
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/commondocgenerator.class.php';
|
||||
@@ -105,7 +105,7 @@ class ModelNumRefContracts
|
||||
/**
|
||||
* Test if existing numbers make problems with numbering
|
||||
*
|
||||
* @return boolean false if conflit, true if ok
|
||||
* @return boolean false if conflict, true if ok
|
||||
*/
|
||||
function canBeActivated()
|
||||
{
|
||||
|
||||
@@ -122,10 +122,10 @@ class pdf_standard
|
||||
* @param Translate $outputlangs Output langs
|
||||
* @param string $textright Text right
|
||||
* @param int $idmember Id member
|
||||
* @param string $photomember Photo member
|
||||
* @param string $photo Photo member
|
||||
* @return void
|
||||
*/
|
||||
function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='',$idmember=0,$photomember='')
|
||||
function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='',$idmember=0,$photo='')
|
||||
{
|
||||
global $mysoc,$conf,$langs;
|
||||
|
||||
@@ -154,9 +154,9 @@ class pdf_standard
|
||||
|
||||
// Define photo
|
||||
$dir=$conf->adherent->dir_output;
|
||||
$file=get_exdir($idmember,2).'photos/'.$photomember;
|
||||
$file=get_exdir($idmember,2).'photos/'.$photo;
|
||||
$photo=$dir.'/'.$file;
|
||||
if (empty($photomember) || ! is_readable($photo)) $photo='';
|
||||
if (empty($photo) || ! is_readable($photo)) $photo='';
|
||||
|
||||
// Define background image
|
||||
$backgroundimage='';
|
||||
@@ -408,12 +408,13 @@ class pdf_standard
|
||||
/**
|
||||
* Function to build PDF on disk, then output on HTTP strem.
|
||||
*
|
||||
* @param array $arrayofmembers Array of members informations
|
||||
* @param array $arrayofrecords Array of record informations (array('textleft'=>,'textheader'=>, ...'id'=>,'photo'=>)
|
||||
* @param Translate $outputlangs Lang object for output language
|
||||
* @param string $srctemplatepath Full path of source filename for generator using a template file
|
||||
* @param string $mode Tell if doc module is called for 'member, ...
|
||||
* @return int 1=OK, 0=KO
|
||||
*/
|
||||
function write_file($arrayofmembers,$outputlangs,$srctemplatepath)
|
||||
function write_file($arrayofrecords,$outputlangs,$srctemplatepath,$mode='member')
|
||||
{
|
||||
global $user,$conf,$langs,$mysoc,$_Avery_Labels;
|
||||
|
||||
@@ -433,9 +434,20 @@ class pdf_standard
|
||||
$outputlangs->load("members");
|
||||
$outputlangs->load("admin");
|
||||
|
||||
if (empty($mode) || $mode == 'member')
|
||||
{
|
||||
$title=$outputlangs->transnoentities('MembersCards');
|
||||
$keywords=$outputlangs->transnoentities('MembersCards')." ".$outputlangs->transnoentities("Foundation")." ".$outputlangs->convToOutputCharset($mysoc->name);
|
||||
$outputdir=$conf->adherent->dir_temp;
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error('','Bad value for $mode');
|
||||
return -1;
|
||||
}
|
||||
|
||||
$dir = (empty($outputdir)?$conf->adherent->dir_temp:$outputdir);
|
||||
$filename='tmp_cards.pdf';
|
||||
$dir = $outputdir;
|
||||
$filename = 'tmp_cards.pdf';
|
||||
$file = $dir."/".$filename;
|
||||
|
||||
if (! file_exists($dir))
|
||||
@@ -456,11 +468,11 @@ class pdf_standard
|
||||
}
|
||||
$pdf->SetFont(pdf_getPDFFont($outputlangs));
|
||||
|
||||
$pdf->SetTitle($outputlangs->transnoentities('MembersCards'));
|
||||
$pdf->SetSubject($outputlangs->transnoentities("MembersCards"));
|
||||
$pdf->SetTitle($title);
|
||||
$pdf->SetSubject($title);
|
||||
$pdf->SetCreator("Dolibarr ".DOL_VERSION);
|
||||
$pdf->SetAuthor($outputlangs->convToOutputCharset($user->getFullName($outputlangs)));
|
||||
$pdf->SetKeyWords($outputlangs->transnoentities('MembersCards')." ".$outputlangs->transnoentities("Foundation")." ".$outputlangs->convToOutputCharset($mysoc->name));
|
||||
$pdf->SetKeyWords($keywords);
|
||||
if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false);
|
||||
|
||||
$pdf->SetMargins(0,0);
|
||||
@@ -482,7 +494,7 @@ class pdf_standard
|
||||
|
||||
|
||||
// Add each record
|
||||
foreach($arrayofmembers as $val)
|
||||
foreach($arrayofrecords as $val)
|
||||
{
|
||||
// imprime le texte specifique sur la carte
|
||||
$this->Add_PDF_card($pdf,$val['textleft'],$val['textheader'],$val['textfooter'],$langs,$val['textright'],$val['id'],$val['photo']);
|
||||
@@ -499,7 +511,6 @@ class pdf_standard
|
||||
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||
|
||||
|
||||
|
||||
// Output to http stream
|
||||
clearstatcache();
|
||||
|
||||
|
||||
@@ -175,9 +175,9 @@ class modAdherent extends DolibarrModules
|
||||
$this->export_code[$r]=$this->rights_class.'_'.$r;
|
||||
$this->export_label[$r]='MembersAndSubscriptions';
|
||||
$this->export_permission[$r]=array(array("adherent","export"));
|
||||
$this->export_fields_array[$r]=array('a.rowid'=>'Id','a.civilite'=>"UserTitle",'a.lastname'=>"Lastname",'a.firstname'=>"Firstname",'a.login'=>"Login",'a.morphy'=>'Nature','a.societe'=>'Company','a.address'=>"Address",'a.zip'=>"Zip",'a.town'=>"Town",'a.country'=>"Country",'a.phone'=>"PhonePro",'a.phone_perso'=>"PhonePerso",'a.phone_mobile'=>"PhoneMobile",'a.email'=>"Email",'a.birth'=>"Birthday",'a.statut'=>"Status",'a.photo'=>"Photo",'a.note'=>"Note",'a.datec'=>'DateCreation','a.datevalid'=>'DateValidation','a.tms'=>'DateLastModification','a.datefin'=>'DateEndSubscription','ta.rowid'=>'MemberTypeId','ta.libelle'=>'MemberTypeLabel','c.rowid'=>'SubscriptionId','c.dateadh'=>'DateSubscription','c.cotisation'=>'Amount');
|
||||
$this->export_TypeFields_array[$r]=array('a.civilite'=>"Text",'a.lastname'=>"Text",'a.firstname'=>"Text",'a.login'=>"Text",'a.morphy'=>'Text','a.societe'=>'Text','a.address'=>"Text",'a.zip'=>"Text",'a.town'=>"Text",'a.country'=>"Text",'a.phone'=>"Text",'a.phone_perso'=>"Text",'a.phone_mobile'=>"Text",'a.email'=>"Text",'a.birth'=>"Date",'a.statut'=>"Status",'a.note'=>"Text",'a.datec'=>'Date','a.datevalid'=>'Date','a.tms'=>'Date','a.datefin'=>'Date','ta.rowid'=>'List:fk_adherent_type:libelle','ta.libelle'=>'Text','c.dateadh'=>'Date','c.cotisation'=>'Number');
|
||||
$this->export_entities_array[$r]=array('a.rowid'=>'member','a.civilite'=>"member",'a.lastname'=>"member",'a.firstname'=>"member",'a.login'=>"member",'a.morphy'=>'member','a.societe'=>'member','a.address'=>"member",'a.zip'=>"member",'a.town'=>"member",'a.country'=>"member",'a.phone'=>"member",'a.phone_perso'=>"member",'a.phone_mobile'=>"member",'a.email'=>"member",'a.birth'=>"member",'a.statut'=>"member",'a.photo'=>"member",'a.note'=>"member",'a.datec'=>'member','a.datevalid'=>'member','a.tms'=>'member','a.datefin'=>'member','ta.rowid'=>'member_type','ta.libelle'=>'member_type','c.rowid'=>'subscription','c.dateadh'=>'subscription','c.cotisation'=>'subscription');
|
||||
$this->export_fields_array[$r]=array('a.rowid'=>'Id','a.civilite'=>"UserTitle",'a.lastname'=>"Lastname",'a.firstname'=>"Firstname",'a.login'=>"Login",'a.morphy'=>'Nature','a.societe'=>'Company','a.address'=>"Address",'a.zip'=>"Zip",'a.town'=>"Town",'d.nom'=>"State",'p.code'=>"CountryCode",'p.libelle'=>"Country",'a.phone'=>"PhonePro",'a.phone_perso'=>"PhonePerso",'a.phone_mobile'=>"PhoneMobile",'a.email'=>"Email",'a.birth'=>"Birthday",'a.statut'=>"Status",'a.photo'=>"Photo",'a.note'=>"Note",'a.datec'=>'DateCreation','a.datevalid'=>'DateValidation','a.tms'=>'DateLastModification','a.datefin'=>'DateEndSubscription','ta.rowid'=>'MemberTypeId','ta.libelle'=>'MemberTypeLabel','c.rowid'=>'SubscriptionId','c.dateadh'=>'DateSubscription','c.cotisation'=>'Amount');
|
||||
$this->export_TypeFields_array[$r]=array('a.civilite'=>"Text",'a.lastname'=>"Text",'a.firstname'=>"Text",'a.login'=>"Text",'a.morphy'=>'Text','a.societe'=>'Text','a.address'=>"Text",'a.zip'=>"Text",'a.town'=>"Text",'d.nom'=>"Text",'p.code'=>'Text','p.libelle'=>"Text",'a.phone'=>"Text",'a.phone_perso'=>"Text",'a.phone_mobile'=>"Text",'a.email'=>"Text",'a.birth'=>"Date",'a.statut'=>"Status",'a.note'=>"Text",'a.datec'=>'Date','a.datevalid'=>'Date','a.tms'=>'Date','a.datefin'=>'Date','ta.rowid'=>'List:fk_adherent_type:libelle','ta.libelle'=>'Text','c.dateadh'=>'Date','c.cotisation'=>'Number');
|
||||
$this->export_entities_array[$r]=array('a.rowid'=>'member','a.civilite'=>"member",'a.lastname'=>"member",'a.firstname'=>"member",'a.login'=>"member",'a.morphy'=>'member','a.societe'=>'member','a.address'=>"member",'a.zip'=>"member",'a.town'=>"member",'d.nom'=>"member",'p.code'=>"member",'p.libelle'=>"member",'a.phone'=>"member",'a.phone_perso'=>"member",'a.phone_mobile'=>"member",'a.email'=>"member",'a.birth'=>"member",'a.statut'=>"member",'a.photo'=>"member",'a.note'=>"member",'a.datec'=>'member','a.datevalid'=>'member','a.tms'=>'member','a.datefin'=>'member','ta.rowid'=>'member_type','ta.libelle'=>'member_type','c.rowid'=>'subscription','c.dateadh'=>'subscription','c.cotisation'=>'subscription');
|
||||
// Add extra fields
|
||||
$sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'adherent' AND entity = ".$conf->entity;
|
||||
$resql=$this->db->query($sql);
|
||||
@@ -193,6 +193,8 @@ class modAdherent extends DolibarrModules
|
||||
$this->export_sql_end[$r] =' FROM ('.MAIN_DB_PREFIX.'adherent_type as ta, '.MAIN_DB_PREFIX.'adherent as a)';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'adherent_extrafields as extra ON a.rowid = extra.fk_object';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'cotisation as c ON c.fk_adherent = a.rowid';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_departements as d ON a.state_id = d.rowid';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON a.country = p.rowid';
|
||||
$this->export_sql_end[$r] .=' WHERE a.fk_adherent_type = ta.rowid';
|
||||
$this->export_dependencies_array[$r]=array('subscription'=>'c.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them
|
||||
|
||||
@@ -210,7 +212,7 @@ class modAdherent extends DolibarrModules
|
||||
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||
$this->import_tables_array[$r]=array('a'=>MAIN_DB_PREFIX.'adherent','extra'=>MAIN_DB_PREFIX.'adherent_extrafields');
|
||||
$this->import_tables_creator_array[$r]=array('a'=>'fk_user_author'); // Fields to store import user id
|
||||
$this->import_fields_array[$r]=array('a.civilite'=>"UserTitle",'a.lastname'=>"Lastname*",'a.firstname'=>"Firstname",'a.login'=>"Login*","a.pass"=>"Password","a.fk_adherent_type"=>"MemberType*",'a.morphy'=>'Nature*','a.societe'=>'Company','a.address'=>"Address",'a.zip'=>"Zip",'a.town'=>"Town",'a.country'=>"Country",'a.phone'=>"PhonePro",'a.phone_perso'=>"PhonePerso",'a.phone_mobile'=>"PhoneMobile",'a.email'=>"Email",'a.birth'=>"Birthday",'a.statut'=>"Status*",'a.photo'=>"Photo",'a.note'=>"Note",'a.datec'=>'DateCreation','a.datefin'=>'DateEndSubscription');
|
||||
$this->import_fields_array[$r]=array('a.civilite'=>"UserTitle",'a.lastname'=>"Lastname*",'a.firstname'=>"Firstname",'a.login'=>"Login*","a.pass"=>"Password","a.fk_adherent_type"=>"MemberType*",'a.morphy'=>'Nature*','a.societe'=>'Company','a.address'=>"Address",'a.zip'=>"Zip",'a.town'=>"Town",'a.state_id'=>'StateId','a.country'=>"CountryId",'a.phone'=>"PhonePro",'a.phone_perso'=>"PhonePerso",'a.phone_mobile'=>"PhoneMobile",'a.email'=>"Email",'a.birth'=>"Birthday",'a.statut'=>"Status*",'a.photo'=>"Photo",'a.note'=>"Note",'a.datec'=>'DateCreation','a.datefin'=>'DateEndSubscription');
|
||||
// Add extra fields
|
||||
$sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'adherent' AND entity = ".$conf->entity;
|
||||
$resql=$this->db->query($sql);
|
||||
|
||||
@@ -320,8 +320,8 @@ class modSociete extends DolibarrModules
|
||||
$this->export_label[$r]='ExportDataset_company_2';
|
||||
$this->export_icon[$r]='contact';
|
||||
$this->export_permission[$r]=array(array("societe","contact","export"));
|
||||
$this->export_fields_array[$r]=array('c.rowid'=>"IdContact",'c.civilite'=>"CivilityCode",'c.lastname'=>'Lastname','c.firstname'=>'Firstname','c.poste'=>'PostOrFunction','c.datec'=>"DateCreation",'c.tms'=>"DateLastModification",'c.priv'=>"ContactPrivate",'c.address'=>"Address",'c.zip'=>"Zip",'c.town'=>"Town",'c.phone'=>"Phone",'c.fax'=>"Fax",'c.phone_mobile'=>"Mobile",'c.email'=>"EMail",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.rowid'=>"IdCompany",'s.nom'=>"CompanyName",'s.status'=>"Status",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode");
|
||||
$this->export_TypeFields_array[$r]=array('c.civilite'=>"List:c_civilite:civilite:code",'c.name'=>'Text','c.firstname'=>'Text','c.poste'=>'Text','c.datec'=>"Date",'c.priv'=>"Boolean",'c.address'=>"Text",'c.cp'=>"Text",'c.ville'=>"Text",'c.phone'=>"Text",'c.fax'=>"Text",'c.email'=>"Text",'p.libelle'=>"List:c_pays:libelle:rowid",'p.code'=>"Text",'s.rowid'=>"List:societe:nom",'s.nom'=>"Text",'s.status'=>"Status",'s.code_client'=>"Text",'s.code_fournisseur'=>"Text");
|
||||
$this->export_fields_array[$r]=array('c.rowid'=>"IdContact",'c.civilite'=>"CivilityCode",'c.lastname'=>'Lastname','c.firstname'=>'Firstname','c.poste'=>'PostOrFunction','c.datec'=>"DateCreation",'c.tms'=>"DateLastModification",'c.priv'=>"ContactPrivate",'c.address'=>"Address",'c.zip'=>"Zip",'c.town'=>"Town",'d.nom'=>'State','p.libelle'=>"Country",'p.code'=>"CountryCode",'c.phone'=>"Phone",'c.fax'=>"Fax",'c.phone_mobile'=>"Mobile",'c.email'=>"EMail",'s.rowid'=>"IdCompany",'s.nom'=>"CompanyName",'s.status'=>"Status",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode");
|
||||
$this->export_TypeFields_array[$r]=array('c.civilite'=>"List:c_civilite:civilite:code",'c.lastname'=>'Text','c.firstname'=>'Text','c.poste'=>'Text','c.datec'=>"Date",'c.priv'=>"Boolean",'c.address'=>"Text",'c.cp'=>"Text",'c.ville'=>"Text",'d.nom'=>'Text','p.libelle'=>"List:c_pays:libelle:rowid",'p.code'=>"Text",'c.phone'=>"Text",'c.fax'=>"Text",'c.email'=>"Text",'s.rowid'=>"List:societe:nom",'s.nom'=>"Text",'s.status'=>"Status",'s.code_client'=>"Text",'s.code_fournisseur'=>"Text");
|
||||
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>"company",'s.code_client'=>"company",'s.code_fournisseur'=>"company"); // We define here only fields that use another picto
|
||||
if (empty($conf->fournisseur->enabled))
|
||||
{
|
||||
@@ -365,6 +365,7 @@ class modSociete extends DolibarrModules
|
||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'socpeople as c';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON c.fk_soc = s.rowid';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_departements as d ON c.fk_departement = d.rowid';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON c.fk_pays = p.rowid';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'socpeople_extrafields as extra ON extra.fk_object = c.rowid';
|
||||
$this->export_sql_end[$r] .=' WHERE c.entity IN ('.getEntity("societe", 1).')';
|
||||
@@ -381,7 +382,7 @@ class modSociete extends DolibarrModules
|
||||
$this->import_icon[$r]='company';
|
||||
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||
$this->import_tables_array[$r]=array('s'=>MAIN_DB_PREFIX.'societe','extra'=>MAIN_DB_PREFIX.'societe_extrafields'); // List of tables to insert into (insert done in same order)
|
||||
$this->import_fields_array[$r]=array('s.nom'=>"Name*",'s.status'=>"Status",'s.client'=>"Customer*",'s.fournisseur'=>"Supplier*",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode",'s.code_compta'=>"CustomerAccountancyCode",'s.code_compta_fournisseur'=>"SupplierAccountancyCode",'s.address'=>"Address",'s.zip'=>"Zip",'s.town'=>"Town",'s.fk_pays'=>"CountryCode",'s.phone'=>"Phone",'s.fax'=>"Fax",'s.url'=>"Url",'s.email'=>"Email",'s.siret'=>"ProfId1",'s.siren'=>"ProfId2",'s.ape'=>"ProfId3",'s.idprof4'=>"ProfId4",'s.tva_intra'=>"VATIntraShort",'s.capital'=>"Capital",'s.note_private'=>"NotePrivate",'s.note_public'=>"NotePublic",'s.fk_typent'=>"ThirdPartyType",'s.fk_effectif'=>"Staff","s.fk_forme_juridique"=>"JuridicalStatus",'s.fk_prospectlevel'=>'ProspectLevel','s.fk_stcomm'=>'ProspectStatus','s.default_lang'=>'DefaultLanguage','s.barcode'=>'BarCode','s.datec'=>"DateCreation");
|
||||
$this->import_fields_array[$r]=array('s.nom'=>"Name*",'s.status'=>"Status",'s.client'=>"Customer*",'s.fournisseur'=>"Supplier*",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode",'s.code_compta'=>"CustomerAccountancyCode",'s.code_compta_fournisseur'=>"SupplierAccountancyCode",'s.address'=>"Address",'s.zip'=>"Zip",'s.town'=>"Town",'s.fk_departement'=>"StateId",'s.fk_pays'=>"CountryCode",'s.phone'=>"Phone",'s.fax'=>"Fax",'s.url'=>"Url",'s.email'=>"Email",'s.siret'=>"ProfId1",'s.siren'=>"ProfId2",'s.ape'=>"ProfId3",'s.idprof4'=>"ProfId4",'s.tva_intra'=>"VATIntraShort",'s.capital'=>"Capital",'s.note_private'=>"NotePrivate",'s.note_public'=>"NotePublic",'s.fk_typent'=>"ThirdPartyType",'s.fk_effectif'=>"Staff","s.fk_forme_juridique"=>"JuridicalStatus",'s.fk_prospectlevel'=>'ProspectLevel','s.fk_stcomm'=>'ProspectStatus','s.default_lang'=>'DefaultLanguage','s.barcode'=>'BarCode','s.datec'=>"DateCreation");
|
||||
// Add extra fields
|
||||
$sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'societe' AND entity = ".$conf->entity;
|
||||
$resql=$this->db->query($sql);
|
||||
|
||||
@@ -1521,13 +1521,11 @@ else
|
||||
/*
|
||||
* List of payments
|
||||
*/
|
||||
$nbrows=7; $nbcols=2;
|
||||
$nbrows=9; $nbcols=2;
|
||||
if (! empty($conf->projet->enabled)) $nbrows++;
|
||||
if (! empty($conf->banque->enabled)) $nbcols++;
|
||||
|
||||
// Local taxes
|
||||
// TODO I use here $societe->localtax1_assuj. Before it was $mysoc->localtax1_assuj, but this is a supplier invoice, so made by supplier, so depends on supplier properties
|
||||
|
||||
if ($mysoc->country_code=='ES')
|
||||
{
|
||||
if($mysoc->localtax1_assuj=="1") $nbrows++;
|
||||
@@ -1683,8 +1681,21 @@ else
|
||||
$alreadypaid=$object->getSommePaiement();
|
||||
print '<tr><td>'.$langs->trans('Status').'</td><td colspan="3">'.$object->getLibStatut(4,$alreadypaid).'</td></tr>';
|
||||
|
||||
print '<tr><td>'.$langs->trans('AmountHT').'</td><td align="right">'.price($object->total_ht).'</td><td colspan="2" align="left">'.$langs->trans('Currency'.$conf->currency).'</td></tr>';
|
||||
print '<tr><td>'.$langs->trans('AmountVAT').'</td><td align="right">'.price($object->total_tva).'</td><td colspan="2" align="left">'.$langs->trans('Currency'.$conf->currency).'</td></tr>';
|
||||
print '<tr><td>'.$langs->trans('AmountHT').'</td><td align="right">'.price($object->total_ht,1,$langs,0,-1,-1,$conf->currency).'</td><td colspan="2" align="left"> </td></tr>';
|
||||
print '<tr><td>'.$langs->trans('AmountVAT').'</td><td align="right">'.price($object->total_tva,1,$langs,0,-1,-1,$conf->currency).'</td><td colspan="2" align="left">';
|
||||
if (! empty($conf->global->MAIN_FEATURES_LEVEL))
|
||||
{
|
||||
if (GETPOST('calculationrule')) $calculationrule=GETPOST('calculationrule','alpha');
|
||||
else $calculationrule=(empty($conf->global->MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND)?'totalofround':'roundoftotal');
|
||||
if ($calculationrule == 'totalofround') $calculationrulenum=1;
|
||||
else $calculationrulenum=2;
|
||||
$s=$langs->trans("ReCalculate").' ';
|
||||
$s.='<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=calculate&calculationrule=totalofround">'.$langs->trans("Mode1").'</a>';
|
||||
$s.=' / ';
|
||||
$s.='<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=calculate&calculationrule=roundototal">'.$langs->trans("Mode2").'</a>';
|
||||
print $form->textwithtooltip($s, $langs->trans("CalculationRuleDesc",$calculationrulenum).'<br>'.$langs->trans("CalculationRuleDescSupplier"), 2, 1, img_picto('','help'));
|
||||
}
|
||||
print '</td></tr>';
|
||||
|
||||
// Amount Local Taxes
|
||||
//TODO: Place into a function to control showing by country or study better option
|
||||
@@ -1693,14 +1704,14 @@ else
|
||||
if ($mysoc->localtax1_assuj=="1") //Localtax1 RE
|
||||
{
|
||||
print '<tr><td>'.$langs->transcountry("AmountLT1",$societe->country_code).'</td>';
|
||||
print '<td align="right">'.price($object->total_localtax1).'</td>';
|
||||
print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
|
||||
print '<td align="right">'.price($object->total_localtax1,1,$langs,0,-1,-1,$conf->currency).'</td>';
|
||||
print '<td colspan="2"> </td></tr>';
|
||||
}
|
||||
if ($societe->localtax2_assuj=="1") //Localtax2 IRPF
|
||||
{
|
||||
print '<tr><td>'.$langs->transcountry("AmountLT2",$societe->country_code).'</td>';
|
||||
print '<td align="right">'.price($object->total_localtax2).'</td>';
|
||||
print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
|
||||
print '<td align="right">'.price($object->total_localtax2,1,$langs,0,-1,-1,$conf->currency).'</td>';
|
||||
print '<td colspan="2"> </td></tr>';
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1708,17 +1719,17 @@ else
|
||||
if ($societe->localtax1_assuj=="1") //Localtax1 RE
|
||||
{
|
||||
print '<tr><td>'.$langs->transcountry("AmountLT1",$societe->country_code).'</td>';
|
||||
print '<td align="right">'.price($object->total_localtax1).'</td>';
|
||||
print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
|
||||
print '<td align="right">'.price($object->total_localtax1,1,$langs,0,-1,-1,$conf->currency).'</td>';
|
||||
print '<td colspan="2"> </td></tr>';
|
||||
}
|
||||
if ($societe->localtax2_assuj=="1") //Localtax2 IRPF
|
||||
{
|
||||
print '<tr><td>'.$langs->transcountry("AmountLT2",$societe->country_code).'</td>';
|
||||
print '<td align="right">'.price($object->total_localtax2).'</td>';
|
||||
print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
|
||||
print '<td align="right">'.price($object->total_localtax2,1,$langs,0,-1,-1,$conf->currency).'</td>';
|
||||
print '<td colspan="2"> </td></tr>';
|
||||
}
|
||||
}
|
||||
print '<tr><td>'.$langs->trans('AmountTTC').'</td><td align="right">'.price($object->total_ttc).'</td><td colspan="2" align="left">'.$langs->trans('Currency'.$conf->currency).'</td></tr>';
|
||||
print '<tr><td>'.$langs->trans('AmountTTC').'</td><td align="right">'.price($object->total_ttc,1,$langs,0,-1,-1,$conf->currency).'</td><td colspan="2" align="left"> </td></tr>';
|
||||
|
||||
// Project
|
||||
if (! empty($conf->projet->enabled))
|
||||
@@ -2132,13 +2143,13 @@ else
|
||||
}
|
||||
|
||||
|
||||
//Make payments
|
||||
// Make payments
|
||||
if ($action != 'edit' && $object->statut == 1 && $object->paye == 0 && $user->societe_id == 0)
|
||||
{
|
||||
print '<a class="butAction" href="paiement.php?facid='.$object->id.'&action=create">'.$langs->trans('DoPayment').'</a>';
|
||||
print '<a class="butAction" href="paiement.php?id='.$object->id.'&action=create">'.$langs->trans('DoPayment').'</a>';
|
||||
}
|
||||
|
||||
//Classify paid
|
||||
// Classify paid
|
||||
if ($action != 'edit' && $object->statut == 1 && $object->paye == 0 && $user->societe_id == 0)
|
||||
{
|
||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=paid"';
|
||||
@@ -2147,7 +2158,7 @@ else
|
||||
//print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=paid">'.$langs->trans('ClassifyPaid').'</a>';
|
||||
}
|
||||
|
||||
//Validate
|
||||
// Validate
|
||||
if ($action != 'edit' && $object->statut == 0)
|
||||
{
|
||||
if (count($object->lines))
|
||||
@@ -2165,13 +2176,13 @@ else
|
||||
}
|
||||
}
|
||||
|
||||
//Clone
|
||||
// Clone
|
||||
if ($action != 'edit' && $user->rights->fournisseur->facture->creer)
|
||||
{
|
||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=clone&socid='.$object->socid.'">'.$langs->trans('ToClone').'</a>';
|
||||
}
|
||||
|
||||
//Delete
|
||||
// Delete
|
||||
if ($action != 'edit' && $user->rights->fournisseur->facture->supprimer)
|
||||
{
|
||||
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=delete">'.$langs->trans('Delete').'</a>';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Dolibarr language file - Source file is ca_ES - agenda
|
||||
# Dolibarr language file - Source file is en_US - agenda
|
||||
CHARSET=UTF-8
|
||||
IdAgenda=ID esdeveniment
|
||||
Actions=Esdeveniments
|
||||
|
||||
@@ -75,6 +75,7 @@ NoRecordedProducts=Sense productes/serveis registrats
|
||||
NoRecordedProspects=Sense clients potencials registrats
|
||||
NoContractedProducts=Sense productes/serveis contractats
|
||||
NoRecordedContracts=Sense contractes registrats
|
||||
NoRecordedInterventions=Sense intervencions registrades
|
||||
BoxLatestSupplierOrders=Últimes comandes a proveïdors
|
||||
BoxTitleLatestSupplierOrders=Les %s últimes comandes a proveïdors
|
||||
NoSupplierOrder=Sense comandes a proveïdors
|
||||
|
||||
@@ -199,3 +199,9 @@ CostPmpHT=Cost de compra
|
||||
ProductUsedForBuild=Auto consumit per producció
|
||||
ProductBuilded=Producció completada
|
||||
ProductsMultiPrice=Producte multi-preu
|
||||
ProductSellByQuarterHT=Vendes trimestrals de productes
|
||||
ServiceSellByQuarterHT=Vendes trimestrals de serveis
|
||||
Quarter1=1er. Trimestre
|
||||
Quarter2=2on. Trimestre
|
||||
Quarter3=3er. Trimestre
|
||||
Quarter4=4at. Trimestre
|
||||
@@ -65,7 +65,7 @@ PreviewNotAvailable=Vorschau nicht verfügbar
|
||||
ThemeCurrentlyActive=Derzeit aktivierte Oberfläche
|
||||
CurrentTimeZone=Aktuelle Zeitzone des PHP-Servers
|
||||
Space=Raum
|
||||
# Table=Table
|
||||
Table=Tabelle
|
||||
Fields=Felder
|
||||
# Index=Index
|
||||
Mask=Maske
|
||||
@@ -176,7 +176,7 @@ FullPathToPostgreSQLdumpCommand=Vollständiger Pfad zum pg_dump-Befehl
|
||||
ExportOptions=Exportoptionen
|
||||
AddDropDatabase=DROP DATABASE Befehl hinzufügen
|
||||
AddDropTable=DROP TABLE Befehl hinzufügen
|
||||
# ExportStructure=Structure
|
||||
ExportStructure=Struktur
|
||||
Datas=Daten
|
||||
NameColumn=Name der Spalten
|
||||
ExtendedInsert=Erweiterte INSERTS
|
||||
@@ -271,7 +271,7 @@ ModuleFamilyFinancial=Finanzmodule (Rechnungswesen/Finanzen)
|
||||
ModuleFamilyECM=Inhaltsverwaltung (ECM)
|
||||
MenuHandlers=Menü-Handler
|
||||
MenuAdmin=Menü-Editor
|
||||
# DoNotUseInProduction=Do not use in production
|
||||
DoNotUseInProduction=Nicht in Produktion nutzen
|
||||
ThisIsProcessToFollow=So führen Sie die Installation/Aktualisierung des Systems durch:
|
||||
StepNb=Schritt %s
|
||||
FindPackageFromWebSite=Finden Sie ein Paket, das die gewünschten Funktionen beinhaltet (zum Beispiel auf der offiziellen Website %s).
|
||||
@@ -281,7 +281,7 @@ SetupIsReadyForUse=Die Installation ist abgeschlossen und das System zur Verwend
|
||||
# NotExistsDirect=The alternative root directory is not defined.<br>
|
||||
# InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.<br>Just create a directory at the root of Dolibarr (eg: custom).<br>
|
||||
# InfDirExample=<br>Then declare it in the file conf.php<br> $dolibarr_main_url_root_alt='http://myserver/custom'<br>$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'<br>*These lines are commented with "#", to uncomment only remove the character.
|
||||
# YouCanSubmitFile=Select module:
|
||||
YouCanSubmitFile=Modul wählen:
|
||||
CurrentVersion=Aktuelle dolibarr-Version
|
||||
CallUpdatePage=Zur Aktualisierung der Daten und Datenbankstrukturen gehen Sie zur Seite %s.
|
||||
LastStableVersion=Letzte stabile Version
|
||||
@@ -358,7 +358,7 @@ String=Zeichenkette
|
||||
# Boolean=Boolean (Checkbox)
|
||||
ExtrafieldPhone = Telefon
|
||||
ExtrafieldPrice = Preis
|
||||
# ExtrafieldMail = Email
|
||||
ExtrafieldMail = E-Mail
|
||||
# ExtrafieldSelect = Select list
|
||||
# ExtrafieldSelectList = Select from table
|
||||
# ExtrafieldSeparator=Separator
|
||||
@@ -371,7 +371,7 @@ ExtrafieldPrice = Preis
|
||||
# LibraryToBuildPDF=Library used to build PDF
|
||||
# WarningUsingFPDF=Warning: Your <b>conf.php</b> contains directive <b>dolibarr_pdf_force_fpdf=1</b>. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.<br>To solve this and have a full support of PDF generation, please download <a href="http://www.tcpdf.org/" target="_blank">TCPDF library</a>, then comment or remove the line <b>$dolibarr_pdf_force_fpdf=1</b>, and add instead <b>$dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'</b>
|
||||
# LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:<br>1 : local tax apply on products and services without vat (vat is not applied on local tax)<br>2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)<br>3 : local tax apply on products without vat (vat is not applied on local tax)<br>4 : local tax apply on products before vat (vat is calculated on amount + localtax)<br>5 : local tax apply on services without vat (vat is not applied on local tax)<br>6 : local tax apply on services before vat (vat is calculated on amount + localtax)
|
||||
# SMS=SMS
|
||||
SMS=SMS
|
||||
# LinkToTestClickToDial=Enter a phone number to call to show a link to test the ClickToDial url for user <strong>%s</strong>
|
||||
# RefreshPhoneLink=Refresh link
|
||||
# LinkToTest=Clickable link generated for user <strong>%s</strong> (click phone number to test)
|
||||
@@ -487,7 +487,7 @@ Module2900Name= GeoIPMaxmind
|
||||
Module2900Desc= GeoIP Maxmind Konvertierung
|
||||
Module5000Name=Mandantenfähigkeit
|
||||
Module5000Desc=Ermöglicht Ihnen die Verwaltung mehrerer Firmen
|
||||
# Module20000Name=Holidays
|
||||
Module20000Name=Ferien
|
||||
# Module20000Desc=Declare and follow employees holidays
|
||||
Module50000Name=PayBox
|
||||
Module50000Desc=Über dieses Modul können Sie online Kreditkartenzahlungen entgegennehmen
|
||||
@@ -793,7 +793,7 @@ PhpConf=Config
|
||||
PhpWebLink=PHP Web-Link
|
||||
Pear=Pear
|
||||
PearPackages=Pear Packages
|
||||
# Browser=Browser
|
||||
Browser=Browser
|
||||
Server=Server
|
||||
Database=Datenbank
|
||||
DatabaseServer=Datenbankserver
|
||||
|
||||
@@ -11,7 +11,7 @@ ReplaceWindow=Aktuelles Fenster ersetzen
|
||||
BookmarkTargetNewWindowShort=Neues Fenster
|
||||
BookmarkTargetReplaceWindowShort=Aktuelles Fenster
|
||||
BookmarkTitle=Titel des Lesezeichens
|
||||
UrlOrLink=URL oder Link
|
||||
UrlOrLink=URL
|
||||
BehaviourOnClick=Verhalten bei Klick auf den Link
|
||||
CreateBookmark=Erstelle Lesezeichen
|
||||
SetHereATitleForLink=Geben Sie hier einen Linktitel ein
|
||||
|
||||
@@ -304,7 +304,7 @@ DemandReasonTypeSRC_COMM=Kaufmännischer Ansprechpartner
|
||||
DemandReasonTypeSRC_SHOP=Shop-Kontakt
|
||||
# DemandReasonTypeSRC_WOM=Word of mouth
|
||||
# DemandReasonTypeSRC_PARTNER=Partner
|
||||
# DemandReasonTypeSRC_EMPLOYEE=Employee
|
||||
DemandReasonTypeSRC_EMPLOYEE=Angestellter
|
||||
# DemandReasonTypeSRC_SPONSORING=Sponsorship
|
||||
|
||||
#### Paper formats ####
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
CHARSET= UTF-8
|
||||
|
||||
# HRM=HRM
|
||||
# Holidays=Holidays
|
||||
# CPTitreMenu=Holidays
|
||||
Holidays=Ferien
|
||||
CPTitreMenu=Ferien
|
||||
# MenuReportMonth=Monthly statement
|
||||
# MenuAddCP=Apply for holidays
|
||||
# NotActiveModCP=You must enable the module holidays to view this page.
|
||||
@@ -11,7 +11,7 @@ CHARSET= UTF-8
|
||||
# NoCPforUser=You don't have a demand for holidays.
|
||||
# AddCP=Apply for holidays
|
||||
# CPErrorSQL=An SQL error occurred:
|
||||
# Employe=Employee
|
||||
Employe=Angestellter
|
||||
DateDebCP=Vertragsbeginn
|
||||
DateFinCP=Vertragsende
|
||||
DateCreateCP=Erstellungsdatum
|
||||
@@ -23,7 +23,7 @@ RefuseCP=Abgelehnt
|
||||
# ValidatorCP=Approbator
|
||||
# ListeCP=List of holidays
|
||||
# ReviewedByCP=Will be reviewed by
|
||||
DescCP=Titel
|
||||
DescCP=Beschreibung
|
||||
# SendRequestCP=Creating demand for holidays
|
||||
# DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them.
|
||||
# MenuConfCP=Edit balance of holidays
|
||||
@@ -79,12 +79,12 @@ UserCP=Benutzer
|
||||
# MenuLogCP=View logs of holidays
|
||||
# LogCP=Log of updates of holidays
|
||||
# ActionByCP=Performed by
|
||||
# UserUpdateCP=For the user
|
||||
UserUpdateCP=Für den Benutzer
|
||||
# PrevSoldeCP=Previous Balance
|
||||
# NewSoldeCP=New Balance
|
||||
# alreadyCPexist=A request for holidays has already been done on this period.
|
||||
UserName=Nachname
|
||||
# Employee=Employee
|
||||
Employee=Angestellter
|
||||
# FirstDayOfHoliday=First day of holiday
|
||||
# LastDayOfHoliday=Last day of holiday
|
||||
# HolidaysMonthlyUpdate=Monthly update
|
||||
@@ -129,11 +129,11 @@ DeleteEventOptionCP=Lösche Gruppe
|
||||
UpdateEventOptionCP=Aktualisieren
|
||||
# ErrorMailNotSend=An error occurred while sending email:
|
||||
# NoCPforMonth=No leave this month.
|
||||
# nbJours=Number days
|
||||
nbJours=Anzahl der Tage
|
||||
# TitleAdminCP=Configuration of Holidays
|
||||
|
||||
#Messages
|
||||
# Hello=Hello
|
||||
Hello=Hallo
|
||||
# HolidaysToValidate=Validate holidays
|
||||
# HolidaysToValidateBody=Below is a request for holidays to validate
|
||||
# HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days.
|
||||
|
||||
@@ -12,11 +12,11 @@ CHARSET=UTF-8
|
||||
# DescADHERENT_MAILMAN_URL=URL for Mailman subscriptions
|
||||
# DescADHERENT_MAILMAN_UNSUB_URL=URL for Mailman unsubscriptions
|
||||
# DescADHERENT_MAILMAN_LISTS=List(s) for automatic inscription of new members (separated by a comma)
|
||||
# SPIPTitle=SPIP Content Management System
|
||||
# DescADHERENT_SPIP_SERVEUR=SPIP Server
|
||||
# DescADHERENT_SPIP_DB=SPIP database name
|
||||
# DescADHERENT_SPIP_USER=SPIP database login
|
||||
# DescADHERENT_SPIP_PASS=SPIP database password
|
||||
SPIPTitle=SPIP Content Management System
|
||||
DescADHERENT_SPIP_SERVEUR=SPIP-Server
|
||||
DescADHERENT_SPIP_DB=SPIP-Datenbankname
|
||||
DescADHERENT_SPIP_USER=SPIP-Datenbankkennung
|
||||
DescADHERENT_SPIP_PASS=SPIP-Datenbankpasswort
|
||||
# AddIntoSpip=Add into SPIP
|
||||
# AddIntoSpipConfirmation=Are you sure you want to add this member into SPIP?
|
||||
# AddIntoSpipError=Failed to add the user in SPIP
|
||||
|
||||
@@ -5,8 +5,8 @@ DIRECTION=ltr
|
||||
# msungstdlight or cid0ct are for traditionnal chinese (traditionnal does not render with ubuntu pdf reader)
|
||||
# stsongstdlight or cid0cs are for simplified chinese
|
||||
# To read chinese pdf with linux: sudo apt-get install poppler-data
|
||||
FONTFORPDF=helvetica
|
||||
FONTSIZEFORPDF=10
|
||||
# FONTFORPDF=helvetica
|
||||
# FONTSIZEFORPDF=10
|
||||
SeparatorDecimal=,
|
||||
SeparatorThousand=.
|
||||
FormatDateShort=%d/%m/%Y
|
||||
|
||||
@@ -7,11 +7,11 @@ CHARSET=UTF-8
|
||||
# NoSurveysInDatabase=%s survey(s) into database.
|
||||
# OpenSurveyArea=Surveys area
|
||||
# AddACommentForPoll=You can add a comment into survey...
|
||||
# AddComment=Add comment
|
||||
AddComment=Kommentar hinzufügen
|
||||
# CreatePoll=Create poll
|
||||
# PollTitle=Poll title
|
||||
# OpenSurveyYourName=Your name
|
||||
# OpenSurveyYourEMail=Your email address
|
||||
OpenSurveyYourName=Ihr Name
|
||||
OpenSurveyYourEMail=Ihre E-Mail-Adresse
|
||||
# VotersCanModify=Voters can modify vote of others
|
||||
# ToReceiveEMailForEachVote=To receive an email for each vote
|
||||
# TypeDate=Type date
|
||||
@@ -19,7 +19,7 @@ CHARSET=UTF-8
|
||||
# YouAreInPollCreateArea=You are in the poll creation section
|
||||
# FieldMandatory=Field mandatory
|
||||
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
|
||||
# OpenSurveyNoRegistration=No registration required.
|
||||
OpenSurveyNoRegistration=Keine Registrierung benötigt.
|
||||
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
|
||||
# RemoveAllDays=Remove all days
|
||||
# CopyHoursOfFirstDay=Copy hours of first day
|
||||
@@ -27,7 +27,7 @@ CHARSET=UTF-8
|
||||
# SelectedDays=Selected days
|
||||
# TheBestChoice=The best choice currently is
|
||||
# TheBestChoices=The best choices currently are
|
||||
# with=with
|
||||
with=mit
|
||||
# OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you (without paying attention to the choices of the other voters) and validate with the plus button at the end of the line.
|
||||
# InitiatorOfPoll=Initiator of the poll
|
||||
# CommentsOfVoters=Comments of voters
|
||||
|
||||
@@ -11,7 +11,7 @@ SmsRecipient=Empfänger
|
||||
SmsTitle=Titel
|
||||
SmsFrom=Absender
|
||||
SmsTo=Ziel
|
||||
SmsTopic=SMS Thema
|
||||
SmsTopic=Thema der SMS
|
||||
SmsText=Nachricht
|
||||
SmsMessage=SMS Nachricht
|
||||
ShowSms=SMS Anzeigen
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Dolibarr language file - Source file is en_US - admin
|
||||
CHARSET=UTF-8
|
||||
Foundation=Ίδρυμα
|
||||
Foundation=Οργανισμός
|
||||
Version=Έκδοση
|
||||
VersionProgram=Έκδοση Προγράμματος
|
||||
VersionLastInstall=Έκδοση Τελευταίας Εγκατάστασης
|
||||
@@ -8,7 +8,7 @@ VersionLastUpgrade=Έκδοση Τελευταίας Ενημέρωσης
|
||||
VersionExperimental=Πειραματική
|
||||
VersionDevelopment=Υπό ανάπτυξη
|
||||
VersionUnknown=Άγνωστη
|
||||
VersionRecommanded=Προτινώμενη
|
||||
VersionRecommanded=Προτεινόμενη
|
||||
SessionId=ID Συνόδου
|
||||
SessionSaveHandler=Φορέα εξυπηρέτησης για να σώσει συνεδρίες
|
||||
SessionSavePath=Αποθήκευση τοπικής προσαρμογής συνεδρίας
|
||||
@@ -18,7 +18,7 @@ NoSessionListWithThisHandler=Save session handler configured in your PHP does no
|
||||
LockNewSessions=Κλειδώσετε τις νέες συνδέσεις
|
||||
ConfirmLockNewSessions=Είστε σίγουροι ότι θέλετε να περιορίσει κάθε νέα σύνδεση Dolibarr για τον εαυτό σας. Μόνο ο χρήστης <b>%s</b> θα είναι σε θέση να συνδεθεί μετά από αυτό.
|
||||
UnlockNewSessions=Κατάργηση κλειδώματος σύνδεσης
|
||||
YourSession=Η σύνοδός σας
|
||||
YourSession=Η σύνοδος σας
|
||||
Sessions=Σύνοδοι χρηστών
|
||||
WebUserGroup=Διακομιστή Web χρήστη / ομάδα
|
||||
NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (<b>%s</b>) might be protected (For example, by OS permissions or by PHP directive open_basedir).
|
||||
|
||||
@@ -75,6 +75,7 @@ NoRecordedProducts=No recorded products/services
|
||||
NoRecordedProspects=No recorded prospects
|
||||
NoContractedProducts=No products/services contracted
|
||||
NoRecordedContracts=No recorded contracts
|
||||
NoRecordedInterventions=No recorded interventions
|
||||
BoxLatestSupplierOrders=Latest supplier orders
|
||||
BoxTitleLatestSupplierOrders=%s latest supplier orders
|
||||
NoSupplierOrder=No recorded supplier order
|
||||
@@ -88,4 +89,4 @@ BoxProductDistribution=Products/Services distribution
|
||||
BoxProductDistributionFor=Distribution of %s for %s
|
||||
ForCustomersInvoices=Customers invoices
|
||||
ForCustomersOrders=Customers orders
|
||||
ForProposals=Proposals
|
||||
ForProposals=Proposals
|
||||
|
||||
@@ -157,4 +157,9 @@ ByProductsAndServices=By products and services
|
||||
RefExt=External ref
|
||||
ToCreateAPredefinedInvoice=To create a predefined invoice, create a standard invoice then, without validating it, click onto button "Convert to predefined invoice".
|
||||
LinkedOrder=linked to command
|
||||
ReCalculate=Recalculate
|
||||
Mode1=Methode 1
|
||||
Mode2=Method 2
|
||||
CalculationRuleDesc=To calculate total VAT, there is two methods:<br>Method 1 is rounding vat on each line, then summing them.<br>Method 2 is summing all vat on each line, then rounding result.<br>Final result may differs from few cents. Default mode is mode <b>%s</b>.
|
||||
CalculationRuleDescSupplier=according to supplier, choose appropriate method to apply same calculation rule and get same result expected by your supplier.
|
||||
|
||||
|
||||
@@ -199,3 +199,9 @@ CostPmpHT=Net total VWAP
|
||||
ProductUsedForBuild=Auto consumed by production
|
||||
ProductBuilded=Production completed
|
||||
ProductsMultiPrice=Product multi-price
|
||||
ProductSellByQuarterHT=Products turnover quarterly VWAP
|
||||
ServiceSellByQuarterHT=Services turnover quarterly VWAP
|
||||
Quarter1=1st. Quarter
|
||||
Quarter2=2nd. Quarter
|
||||
Quarter3=3rd. Quarter
|
||||
Quarter4=4th. Quarter
|
||||
@@ -1,4 +1,4 @@
|
||||
# Dolibarr language file - Source file is es_ES - agenda
|
||||
# Dolibarr language file - Source file is en_US - agenda
|
||||
CHARSET=UTF-8
|
||||
IdAgenda=ID evento
|
||||
Actions=Eventos
|
||||
|
||||
@@ -75,6 +75,7 @@ NoRecordedProducts=Sin productos/servicios registrados
|
||||
NoRecordedProspects=Sin clientes potenciales registrados
|
||||
NoContractedProducts=Sin productos/servicios contratados
|
||||
NoRecordedContracts=Sin contratos registrados
|
||||
NoRecordedInterventions=Sin intervenciones registradas
|
||||
BoxLatestSupplierOrders=Últimos pedidos a proveedores
|
||||
BoxTitleLatestSupplierOrders=Los %s últimos pedidos a proveedores
|
||||
NoSupplierOrder=Sin pedidos a proveedores
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Dolibarr language file - Source file is es_ES - categories
|
||||
# Dolibarr language file - Source file is en_US - categories
|
||||
CHARSET=UTF-8
|
||||
Category=Categoría
|
||||
Categories=Categorías
|
||||
@@ -102,4 +102,7 @@ CatSupLinks=Proveedores
|
||||
CatCusLinks=Clientes/Clientes potenciales
|
||||
CatProdLinks=Productos
|
||||
CatMemberLinks=Miembros
|
||||
CatProdLinks=Productos
|
||||
CatCusLinks=Clientes/Clientes potenciales
|
||||
CatSupLinks=Proveedores
|
||||
DeleteFromCat=Eliminar de la categoría
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Dolibarr language file - Source file is es_ES - contracts
|
||||
# Dolibarr language file - Source file is en_US - contracts
|
||||
CHARSET=UTF-8
|
||||
ContractsArea=Área contratos
|
||||
ListOfContracts=Listado de contratos
|
||||
@@ -54,6 +54,7 @@ ListOfRunningContractsLines=Listado de líneas de contratos en servicio
|
||||
ListOfRunningServices=Listado de servicios activos
|
||||
NotActivatedServices=Servicios no activados (con los contratos validados)
|
||||
BoardNotActivatedServices=Servicios a activar con los contratos validados
|
||||
LastContracts=Los % últimos contratos
|
||||
LastActivatedServices=Los %s últimos servicios activados
|
||||
LastModifiedServices=Los %s últimos servicios modificados
|
||||
EditServiceLine=Edición línea del servicio
|
||||
@@ -89,6 +90,7 @@ ListOfServicesToExpireWithDuration=Listado de servicios activos a expirar en %s
|
||||
ListOfServicesToExpireWithDurationNeg=Listado de servicios expirados más de %s días
|
||||
ListOfServicesToExpire=Listado de servicios activos a expirar
|
||||
NoteListOfYourExpiredServices=Este listado contiene solamente los servicios de contratos de terceros de los que usted es comercial
|
||||
|
||||
##### Types de contacts #####
|
||||
TypeContact_contrat_internal_SALESREPSIGN=Comercial firmante del contrato
|
||||
TypeContact_contrat_internal_SALESREPFOLL=Comercial seguimiento del contrato
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
# Dolibarr language file - Source file is es_ES - errors
|
||||
# Dolibarr language file - Source file is en_US - errors
|
||||
CHARSET=UTF-8
|
||||
|
||||
# No errors
|
||||
NoErrorCommitIsDone=Sin errores, es válido
|
||||
|
||||
# Errors
|
||||
Error=Error
|
||||
Errors=Errores
|
||||
@@ -123,7 +125,7 @@ ErrorToConnectToMysqlCheckInstance=Error de conexión con el servidor de la base
|
||||
ErrorFailedToAddContact=Error en la adición del contacto
|
||||
ErrorDateMustBeBeforeToday=La fecha no puede ser superior a hoy
|
||||
ErrorPaymentModeDefinedToWithoutSetup=Se ha establecido el modo de pago al tipo %s pero en la configuración del módulo de facturas no se ha indicado la información para mostrar de este modo de pago.
|
||||
ErrorPHPNeedModule=Error, su PHP debe tener instalado el módulo<b>%s</b> para utilizar esta característica.
|
||||
|
||||
# Warnings
|
||||
WarningMandatorySetupNotComplete=Los parámetros obligatorios de configuración no están todavía definidos
|
||||
WarningSafeModeOnCheckExecDir=Atención, está activada la opción PHP <b>safe_mode</b>, el comando deberá estar dentro de un directorio declarado dentro del parámetro php <b>safe_mode_exec_dir</b>.
|
||||
|
||||
@@ -80,6 +80,7 @@ MailtoEMail=mailto email (hyperlink)
|
||||
ActivateCheckRead=Activar confirmación de lectura y opción de desuscripción
|
||||
ActivateCheckReadKey=Clave usada para encriptar la URL de la confirmación de lectura y la función de desuscripción
|
||||
EMailSentToNRecipients=E-Mail enviado a %s destinatarios.
|
||||
|
||||
# Libelle des modules de liste de destinataires mailing
|
||||
MailingModuleDescContactCompanies=Contactos de terceros (clientes potenciales, clientes, proveedores...)
|
||||
MailingModuleDescDolibarrUsers=Usuarios de Dolibarr
|
||||
@@ -92,6 +93,8 @@ MailingModuleDescContactsByCompanyCategory=Contactos de terceros (por categoría
|
||||
MailingModuleDescContactsByCategory=Contactos/direcciones de terceros por categoría
|
||||
MailingModuleDescMembersCategories=Miembros (por categoría)
|
||||
MailingModuleDescContactsByFunction=Contactos de terceros (por puesto/función)
|
||||
|
||||
|
||||
LineInFile=Línea %s en archivo
|
||||
RecipientSelectionModules=Módulos de selección de los destinatarios
|
||||
MailSelectedRecipients=Destinatarios seleccionados
|
||||
@@ -119,6 +122,7 @@ TagCheckMail=Seguimiento de la apertura del email
|
||||
TagUnsubscribe=Link de desuscripción
|
||||
TagSignature=Firma del usuario remitente
|
||||
TagMailtoEmail=Email del destinatario
|
||||
|
||||
# Module Notifications
|
||||
Notifications=Notificaciones
|
||||
NoNotificationsWillBeSent=Ninguna notificación por e-mail está prevista para este evento y empresa
|
||||
|
||||
@@ -199,3 +199,9 @@ CostPmpHT=Coste de compra sin IVA
|
||||
ProductUsedForBuild=Auto consumido por producción
|
||||
ProductBuilded=Producción completada
|
||||
ProductsMultiPrice=Producto multi-precio
|
||||
ProductSellByQuarterHT=Ventas trimestrales de productos
|
||||
ServiceSellByQuarterHT=Ventas trimestrales de servicios
|
||||
Quarter1=1er. Trimestre
|
||||
Quarter2=2º Trimestre
|
||||
Quarter3=3er. Trimestre
|
||||
Quarter4=4º Trimestre
|
||||
@@ -95,8 +95,6 @@ ProjectReportDate=Cambiar las fechas de las tareas en función de la fecha de in
|
||||
ErrorShiftTaskDate=Se ha producido un error en el cambio de las fechas de las tareas
|
||||
ProjectsAndTasksLines=Proyectos y tareas
|
||||
ProjectCreatedInDolibarr=Proyecto %s creado
|
||||
SelectElement=Elementos vinculables al proyecto:
|
||||
AddElement=Vincular
|
||||
##### Types de contacts #####
|
||||
TypeContact_project_internal_PROJECTLEADER=Jefe de proyecto
|
||||
TypeContact_project_external_PROJECTLEADER=Jefe de proyecto
|
||||
@@ -108,6 +106,6 @@ TypeContact_project_task_internal_CONTRIBUTOR=Participante
|
||||
TypeContact_project_task_external_CONTRIBUTOR=Participante
|
||||
# Documents models
|
||||
DocumentModelBaleine=Modelo de informe de proyecto completo (logo...)
|
||||
PlannedWorkload=Carga de trabajo prevista
|
||||
WorkloadOccupation=Porcentaje afectado
|
||||
PlannedWorkload = Carga de trabajo prevista
|
||||
WorkloadOccupation= Porcentaje afectado
|
||||
ProjectReferers=Objetos vinculados
|
||||
|
||||
@@ -61,13 +61,16 @@ ShipmentCreationIsDoneFromOrder=De momento, la creación de una nueva expedició
|
||||
RelatedShippings=Expedición(es) asociada(s)
|
||||
ShipmentLine=Línea de expedición
|
||||
CarrierList=Listado de transportistas
|
||||
|
||||
# Sending methods
|
||||
SendingMethodCATCH=Recogido por el cliente
|
||||
SendingMethodTRANS=Transportista
|
||||
SendingMethodCOLSUI=Colissimo
|
||||
|
||||
# ModelDocument
|
||||
DocumentModelSirocco=Modelo simple de nota de entrega / recepción
|
||||
DocumentModelTyphon=Modelo completo de nota de entrega / recepción (logo...)
|
||||
|
||||
Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constante EXPEDITION_ADDON_NUMBER no definida
|
||||
SumOfProductVolumes=Suma del volumen de los productos
|
||||
SumOfProductWeights=Suma del peso de los productos
|
||||
|
||||
@@ -1,41 +1,41 @@
|
||||
# Dolibarr language file - Source file is en_US - suppliers = undefined
|
||||
CHARSET = UTF-8
|
||||
Suppliers = Proveedores
|
||||
Supplier = Proveedor
|
||||
AddSupplier = Añadir proveedor
|
||||
SupplierRemoved = Proveedor eliminado
|
||||
SuppliersInvoice = Factura proveedor
|
||||
NewSupplier = Nuevo proveedor
|
||||
History = Histórico
|
||||
ListOfSuppliers = Listado de proveedores
|
||||
ShowSupplier = Mostrar proveedor
|
||||
OrderDate = Fecha de pedido
|
||||
BuyingPrice = Precio de compra
|
||||
BuyingPriceMin = Precio mínimo de compra
|
||||
BuyingPriceMinShort = Precio mín. compra
|
||||
AddSupplierPrice = Añadir precio de proveedor
|
||||
ChangeSupplierPrice = Modificar precio de proveedor
|
||||
ErrorQtyTooLowForThisSupplier = Cantidad insuficiente para este proveedor
|
||||
ErrorSupplierCountryIsNotDefined = El país de este proveedor no está definido, corrígalo en su ficha
|
||||
ProductHasAlreadyReferenceInThisSupplier = Este producto ya tiene una referencia en este proveedor
|
||||
ReferenceSupplierIsAlreadyAssociatedWithAProduct = Esta referencia de proveedor ya está asociada a la referencia: %s
|
||||
NoRecordedSuppliers = Sin proveedores registrados
|
||||
SupplierPayment = Pago a proveedor
|
||||
SuppliersArea = Área proveedores
|
||||
RefSupplierShort = Ref. proveedor
|
||||
Availability = Disponibilidad
|
||||
ExportDataset_fournisseur_1 = Facturas de proveedores y líneas de factura
|
||||
ExportDataset_fournisseur_2 = Facturas proveedores y pagos
|
||||
ExportDataset_fournisseur_3 = Pedidos de proveedores y líneas de pedido
|
||||
ApproveThisOrder = Aprobar este pedido
|
||||
ConfirmApproveThisOrder = ¿Está seguro de querer aprobar el pedido a proveedor <b>%s</b>?
|
||||
DenyingThisOrder = Denegar este pedido
|
||||
ConfirmDenyingThisOrder = ¿Está seguro de querer denegar el pedido a proveedor <b>%s</b>?
|
||||
ConfirmCancelThisOrder = ¿Está seguro de querer cancelar el pedido a proveedor <b>%s</b>?
|
||||
AddCustomerOrder = Crear pedido de cliente
|
||||
AddCustomerInvoice = Crear factura a cliente
|
||||
AddSupplierOrder = Crear pedido a proveedor
|
||||
AddSupplierInvoice = Crear factura de proveedor
|
||||
ListOfSupplierProductForSupplier = Listado de productos y precios del proveedor <b>%s</b>
|
||||
NoneOrBatchFileNeverRan = Ninguno o lote <b>%s</b> no se ha ejecutado recientemente
|
||||
SentToSuppliers = Enviado a proveedores
|
||||
# Dolibarr language file - Source file is en_US - suppliers
|
||||
CHARSET=UTF-8
|
||||
Suppliers=Proveedores
|
||||
Supplier=Proveedor
|
||||
AddSupplier=Añadir proveedor
|
||||
SupplierRemoved=Proveedor eliminado
|
||||
SuppliersInvoice=Factura proveedor
|
||||
NewSupplier=Nuevo proveedor
|
||||
History=Histórico
|
||||
ListOfSuppliers=Listado de proveedores
|
||||
ShowSupplier=Mostrar proveedor
|
||||
OrderDate=Fecha de pedido
|
||||
BuyingPrice=Precio de compra
|
||||
BuyingPriceMin=Precio mínimo de compra
|
||||
BuyingPriceMinShort=Precio mín. compra
|
||||
AddSupplierPrice=Añadir precio de proveedor
|
||||
ChangeSupplierPrice=Modificar precio de proveedor
|
||||
ErrorQtyTooLowForThisSupplier=Cantidad insuficiente para este proveedor
|
||||
ErrorSupplierCountryIsNotDefined=El país de este proveedor no está definido, corrígalo en su ficha
|
||||
ProductHasAlreadyReferenceInThisSupplier=Este producto ya tiene una referencia en este proveedor
|
||||
ReferenceSupplierIsAlreadyAssociatedWithAProduct=Esta referencia de proveedor ya está asociada a la referencia: %s
|
||||
NoRecordedSuppliers=Sin proveedores registrados
|
||||
SupplierPayment=Pago a proveedor
|
||||
SuppliersArea=Área proveedores
|
||||
RefSupplierShort=Ref. proveedor
|
||||
Availability=Disponibilidad
|
||||
ExportDataset_fournisseur_1=Facturas de proveedores y líneas de factura
|
||||
ExportDataset_fournisseur_2=Facturas proveedores y pagos
|
||||
ExportDataset_fournisseur_3=Pedidos de proveedores y líneas de pedido
|
||||
ApproveThisOrder=Aprobar este pedido
|
||||
ConfirmApproveThisOrder=¿Está seguro de querer aprobar el pedido a proveedor <b>%s</b>?
|
||||
DenyingThisOrder=Denegar este pedido
|
||||
ConfirmDenyingThisOrder=¿Está seguro de querer denegar el pedido a proveedor <b>%s</b>?
|
||||
ConfirmCancelThisOrder=¿Está seguro de querer cancelar el pedido a proveedor <b>%s</b>?
|
||||
AddCustomerOrder=Crear pedido de cliente
|
||||
AddCustomerInvoice=Crear factura a cliente
|
||||
AddSupplierOrder=Crear pedido a proveedor
|
||||
AddSupplierInvoice=Crear factura de proveedor
|
||||
ListOfSupplierProductForSupplier=Listado de productos y precios del proveedor <b>%s</b>
|
||||
NoneOrBatchFileNeverRan=Ninguno o lote <b>%s</b> no se ha ejecutado recientemente
|
||||
SentToSuppliers=Enviado a proveedores
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# Dolibarr language file - Source file is en_US - admin
|
||||
CHARSET=UTF-8
|
||||
# Foundation=Foundation
|
||||
Foundation=Sihtasutus
|
||||
Version=Versioon
|
||||
VersionProgram=Version programm
|
||||
VersionLastInstall=Version esialgne install
|
||||
VersionLastUpgrade=Version viimane upgrade
|
||||
VersionProgram=Programmi versioon
|
||||
VersionLastInstall=Praeguse paigalduse versioon
|
||||
VersionLastUpgrade=Viimase uuenduse versioon
|
||||
VersionExperimental=Eksperimentaalne
|
||||
VersionDevelopment=Areng
|
||||
VersionDevelopment=Arendusversioon
|
||||
VersionUnknown=Tundmatu
|
||||
VersionRecommanded=Soovitatav
|
||||
SessionId=Session ID
|
||||
SessionSaveHandler=Handler päästa istungid
|
||||
SessionSavePath=Storage istungil lokaliseerimine
|
||||
PurgeSessions=Purge istungid
|
||||
SessionId=Sessioni ID
|
||||
SessionSaveHandler=Sessioonide haldus
|
||||
SessionSavePath=Salvestuse sesiooni lokaliseerimine
|
||||
PurgeSessions=Tühjenda sesioonid
|
||||
# ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself).
|
||||
NoSessionListWithThisHandler=Salvesta sessiooni handler konfigureeritud PHP ei võimalda loetleda kõik töötab istungid.
|
||||
LockNewSessions=Lukustada uusi ühendusi
|
||||
|
||||
@@ -5,17 +5,17 @@ AddThisPageToBookmarks=Lisage see leht järjehoidjad
|
||||
Bookmark=Järjehoidja
|
||||
Bookmarks=Järjehoidjad
|
||||
NewBookmark=Uus järjehoidja
|
||||
ShowBookmark=Näita järjehoidja
|
||||
ShowBookmark=Näita järjehoidjat
|
||||
OpenANewWindow=Ava uues aknas
|
||||
ReplaceWindow=Asendada aktiivse akna
|
||||
ReplaceWindow=Ava praeguses aknas
|
||||
BookmarkTargetNewWindowShort=Uues aknas
|
||||
BookmarkTargetReplaceWindowShort=Aktiivse akna
|
||||
BookmarkTitle=Järjehoidja tiitel
|
||||
BookmarkTargetReplaceWindowShort=Aktiivses aknas
|
||||
BookmarkTitle=Järjehoidja pealkiri
|
||||
UrlOrLink=URL
|
||||
BehaviourOnClick=Käitumine kui URL on klõpsatud
|
||||
BehaviourOnClick=Käitumine kui URL on klikitud
|
||||
CreateBookmark=Loo järjehoidja
|
||||
SetHereATitleForLink=Set pealkiri järjehoidja
|
||||
UseAnExternalHttpLinkOrRelativeDolibarrLink=Välise http URL ega sugulane Dolibarr URL
|
||||
ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Vali kui leht avada link peab olema praeguse või uues aknas
|
||||
BookmarksManagement=Järjehoidjad juhtimine
|
||||
SetHereATitleForLink=Sea pealkiri järjehoidjale
|
||||
UseAnExternalHttpLinkOrRelativeDolibarrLink=Kasutage välise lehe URL-i või siis Dolibarri sisest linki
|
||||
ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Valige, kas leht avaneb uues või olemasolevas aknas
|
||||
BookmarksManagement=Järjehoidjate haldus
|
||||
ListOfBookmarks=Järjehoidjad
|
||||
|
||||
@@ -75,6 +75,7 @@ NoRecordedProducts=Pas de produit/service enregistré
|
||||
NoRecordedProspects=Pas de prospect enregistré
|
||||
NoContractedProducts=Pas de produit/service contracté
|
||||
NoRecordedContracts=Pas de contrat enregistré
|
||||
NoRecordedInterventions=Pas fiche d'intervention enregistrée
|
||||
BoxLatestSupplierOrders=Dernières commandes fournisseur
|
||||
BoxTitleLatestSupplierOrders=Les %s dernières commandes fournisseur enregistrées
|
||||
NoSupplierOrder=Pas de commande fournisseur enregistrée
|
||||
@@ -88,4 +89,4 @@ BoxProductDistribution=Répartition des produis/services
|
||||
BoxProductDistributionFor=Répartition des %s pour les %s
|
||||
ForCustomersInvoices=Factures clients
|
||||
ForCustomersOrders=Commandes clients
|
||||
ForProposals=Propositions
|
||||
ForProposals=Propositions
|
||||
|
||||
@@ -157,4 +157,9 @@ ByProductsAndServices=Par produits et services
|
||||
RefExt=Référence externe
|
||||
ToCreateAPredefinedInvoice=Pour créer une facture prédéfinie, créer une facture standard puis sans la valider, cliquer sur le bouton "Convertir en facture prédéfine".
|
||||
LinkedOrder=Lier à une commande
|
||||
ReCalculate=Recalculer
|
||||
Mode1=Mode 1
|
||||
Mode2=Mode 2
|
||||
CalculationRuleDesc=Pour calculer le total de TVA, il existe 2 modes:<br>Le mode 1 consiste à arrondir la tva de chaque ligne et à sommer cet arrondi.<br>Le mode 2 consiste à sommer la tva de chaque ligne puis à l'arrondir.<br>Les résultats peuvent différer de quelques centimes. Le mode par défaut est le mode <b>%s</b>.
|
||||
CalculationRuleDescSupplier=Selon le mode utilisé par le fournisseur, choisissez le mode adéquant afin d'appliquer la même règle et obtenir un résultat identique au mode appliqué par votre fournisseur.
|
||||
|
||||
|
||||
@@ -199,3 +199,9 @@ CostPmpHT=Cout à l'achat HT
|
||||
ProductUsedForBuild=Consommé automatiquement par la fabrication
|
||||
ProductBuilded=Fabrication terminée
|
||||
ProductsMultiPrice=Produits multi-prix
|
||||
ProductSellByQuarterHT=Chiffre d'affaire trimestrielle HT des produits
|
||||
ServiceSellByQuarterHT=Chiffre d'affaire trimestrielle HT des services
|
||||
Quarter1=1er. Trimestre
|
||||
Quarter2=2ème. Trimestre
|
||||
Quarter3=3ème. Trimestre
|
||||
Quarter4=4ème. Trimestre
|
||||
@@ -395,6 +395,8 @@ class MailmanSpip
|
||||
if ($listes=='' && ! empty($conf->global->ADHERENT_MAILMAN_LISTS)) $lists=explode(',',$conf->global->ADHERENT_MAILMAN_LISTS);
|
||||
else $lists=explode(',',$listes);
|
||||
|
||||
$categstatic=new Categorie($this->db);
|
||||
|
||||
foreach ($lists as $list)
|
||||
{
|
||||
// Filter on type something (ADHERENT_MAILMAN_LISTS = "mailinglist0,TYPE:typevalue:mailinglist1,CATEG:categvalue:mailinglist2")
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||
|
||||
$type=isset($_GET["type"])?$_GET["type"]:(isset($_POST["type"])?$_POST["type"]:'');
|
||||
if ($type =='' && !$user->rights->produit->lire) $type='1'; // Force global page on service page only
|
||||
@@ -258,10 +259,121 @@ else
|
||||
dol_print_error($db);
|
||||
}
|
||||
|
||||
// ici le récap des ventes par trimestre de service et de produit
|
||||
if (! empty($conf->product->enabled))
|
||||
activitytrim(0);
|
||||
|
||||
if (! empty($conf->service->enabled))
|
||||
activitytrim(1);
|
||||
|
||||
//print '</td></tr></table>';
|
||||
print '</div></div></div>';
|
||||
|
||||
llxFooter();
|
||||
|
||||
$db->close();
|
||||
|
||||
function activitytrim($product_type)
|
||||
{
|
||||
global $conf,$langs,$db;
|
||||
|
||||
// on affiche les 3 dernières années
|
||||
$yearofbegindate=date('Y',dol_time_plus_duree(time(), -3, "y"));
|
||||
|
||||
// ventilation par trimestre
|
||||
$sql = "SELECT DATE_FORMAT(p.datep,'%Y') as annee, DATE_FORMAT(p.datep,'%m') as mois, sum(fd.total_ht) as Mnttot";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."facturedet as fd";
|
||||
$sql.= " , ".MAIN_DB_PREFIX."paiement as p,".MAIN_DB_PREFIX."paiement_facture as pf";
|
||||
$sql.= " WHERE f.fk_soc = s.rowid";
|
||||
$sql.= " AND f.rowid = fd.fk_facture";
|
||||
$sql.= " AND pf.fk_facture = f.rowid";
|
||||
$sql.= " AND pf.fk_paiement= p.rowid";
|
||||
$sql.= " AND fd.product_type=".$product_type;
|
||||
$sql.= " AND s.entity = ".$conf->entity;
|
||||
$sql.= " AND p.datep >= '".$db->idate(dol_get_first_day($yearofbegindate),1)."'";
|
||||
$sql.= " GROUP BY annee, mois ";
|
||||
$sql.= " ORDER BY annee, mois ";
|
||||
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
{
|
||||
$tmpyear=$beginyear;
|
||||
$trim1=0;
|
||||
$trim2=0;
|
||||
$trim3=0;
|
||||
$trim4=0;
|
||||
$lgn = 0;
|
||||
$num = $db->num_rows($result);
|
||||
|
||||
if ($num > 0 )
|
||||
{
|
||||
print '<br>';
|
||||
print '<table class="noborder" width="75%">';
|
||||
|
||||
if ($product_type==0)
|
||||
print '<tr class="liste_titre"><td align=left>'.$langs->trans("ProductSellByQuarterHT").'</td>';
|
||||
else
|
||||
print '<tr class="liste_titre"><td align=left>'.$langs->trans("ServiceSellByQuarterHT").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Quarter1").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Quarter2").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Quarter3").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Quarter4").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Total").'</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
$i = 0;
|
||||
|
||||
while ($i < $num)
|
||||
{
|
||||
$objp = $db->fetch_object($result);
|
||||
if ($tmpyear != $objp->annee)
|
||||
{
|
||||
if ($trim1+$trim2+$trim3+$trim4 > 0)
|
||||
{
|
||||
print '<tr ><td align=left>'.$tmpyear.'</td>';
|
||||
print '<td align=right>'.price($trim1).'</td>';
|
||||
print '<td align=right>'.price($trim2).'</td>';
|
||||
print '<td align=right>'.price($trim3).'</td>';
|
||||
print '<td align=right>'.price($trim4).'</td>';
|
||||
print '<td align=right>'.price($trim1+$trim2+$trim3+$trim4).'</td>';
|
||||
print '</tr>';
|
||||
$lgn++;
|
||||
}
|
||||
// on passe à l'année suivante
|
||||
$tmpyear = $objp->annee;
|
||||
$trim1=0;
|
||||
$trim2=0;
|
||||
$trim3=0;
|
||||
$trim4=0;
|
||||
}
|
||||
|
||||
if ($objp->mois == "01" || $objp->mois == "02" || $objp->mois == "03")
|
||||
$trim1 += $objp->Mnttot;
|
||||
|
||||
if ($objp->mois == "04" || $objp->mois == "05" || $objp->mois == "06")
|
||||
$trim2 += $objp->Mnttot;
|
||||
|
||||
if ($objp->mois == "07" || $objp->mois == "08" || $objp->mois == "09")
|
||||
$trim3 += $objp->Mnttot;
|
||||
|
||||
if ($objp->mois == "10" || $objp->mois == "11" || $objp->mois == "12")
|
||||
$trim4 += $objp->Mnttot;
|
||||
|
||||
$i++;
|
||||
}
|
||||
if ($trim1+$trim2+$trim3+$trim4 > 0)
|
||||
{
|
||||
print '<tr ><td align=left>'.$tmpyear.'</td>';
|
||||
print '<td align=right>'.price($trim1).'</td>';
|
||||
print '<td align=right>'.price($trim2).'</td>';
|
||||
print '<td align=right>'.price($trim3).'</td>';
|
||||
print '<td align=right>'.price($trim4).'</td>';
|
||||
print '<td align=right>'.price($trim1+$trim2+$trim3+$trim4).'</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
if ($num > 0 )
|
||||
print '</table>';
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -1441,7 +1441,7 @@ class Societe extends CommonObject
|
||||
$code .= $this->code_fournisseur . ' - ';
|
||||
}
|
||||
$name =$code.' '.$name;
|
||||
}
|
||||
}
|
||||
|
||||
$result='';
|
||||
$lien=$lienfin='';
|
||||
@@ -1581,18 +1581,18 @@ class Societe extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Return list of contacts emails or mobile existing for third party
|
||||
* Return list of contacts emails or mobile existing for third party
|
||||
*
|
||||
* @param string $mode 'email' or 'mobile'
|
||||
* @return array Array of contacts emails or mobile
|
||||
* @param string $mode 'email' or 'mobile'
|
||||
* @param int $hidedisabled 1=Hide contact if disabled
|
||||
* @return array Array of contacts emails or mobile
|
||||
*/
|
||||
function contact_property_array($mode='email')
|
||||
function contact_property_array($mode='email', $hidedisabled=0)
|
||||
{
|
||||
$contact_property = array();
|
||||
|
||||
|
||||
|
||||
$sql = "SELECT rowid, email, statut, phone_mobile, lastname, firstname";
|
||||
$sql = "SELECT rowid, email, statut, phone_mobile, lastname, poste, firstname";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople";
|
||||
$sql.= " WHERE fk_soc = '".$this->id."'";
|
||||
|
||||
@@ -1609,12 +1609,18 @@ class Societe extends CommonObject
|
||||
if ($mode == 'email') $property=$obj->email;
|
||||
else if ($mode == 'mobile') $property=$obj->phone_mobile;
|
||||
|
||||
|
||||
if ($obj->statut == 1)
|
||||
// Show all contact. If hidedisabled is 1, showonly contacts with status = 1
|
||||
if ($obj->statut == 1 || empty($hidedisabled))
|
||||
{
|
||||
$contact_property[$obj->rowid] = trim(dolGetFirstLastname($obj->firstname,$obj->lastname))." <".$property.">";
|
||||
|
||||
}
|
||||
if (!empty($obj->poste))
|
||||
{
|
||||
$contact_property[$obj->rowid] = trim(dolGetFirstLastname($obj->firstname,$obj->lastname))."(".$obj->poste.")"." <".$property.">";
|
||||
}
|
||||
else
|
||||
{
|
||||
$contact_property[$obj->rowid] = trim(dolGetFirstLastname($obj->firstname,$obj->lastname))." <".$property.">";
|
||||
}
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1880,12 +1880,6 @@ div.tabBar .noborder {
|
||||
border: 1px solid #AAA;
|
||||
text-align: center;
|
||||
border-radius: 5px;
|
||||
background-image: linear-gradient(bottom, rgba(255,255,255,.3) 0%, rgba(164,164,164,.3) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgba(255,255,255,.3) 0%, rgba(164,164,164,.3) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgba(255,255,255,.3) 0%, rgba(164,164,164,.3) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgba(255,255,255,.3) 0%, rgba(164,164,164,.3) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgba(255,255,255,.3) 0%, rgba(164,164,164,.3) 100%);
|
||||
background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(164,164,164,.3)) );
|
||||
}
|
||||
|
||||
.boxtable {
|
||||
|
||||
Reference in New Issue
Block a user