RESTORE CODE WITH ID D2adaf7. The Merge daacf79 as lost more than 50
commits !
This commit is contained in:
parent
bba1492621
commit
4136c27516
@ -62,12 +62,10 @@ For users:
|
||||
- New: Can choose menu entry to show with external site module.
|
||||
- New: Add hidden option MAIN_PDF_MARGIN_LEFT, MAIN_PDF_MARGIN_RIGHT, MAIN_PDF_MARGIN_TOP, MAIN_PDF_MARGIN_BOTTOM
|
||||
to force margins of generated PDF.
|
||||
- New: [ task #314 ] Can define if prof id are mandatory or not
|
||||
New experimental modules:
|
||||
- New: Add margin management module.
|
||||
- New: Add commissions management module.
|
||||
|
||||
|
||||
- Fix: [ bug #499 ]: Supplier order input method not translated
|
||||
- Fix: No images into product description lines as PDF generation does
|
||||
not work with this.
|
||||
|
||||
@ -34,6 +34,16 @@ Alias /dolibarr /usr/share/dolibarr/htdocs
|
||||
</IfModule>
|
||||
|
||||
|
||||
# OPTIMIZE: To use gzip compressed files (for Dolibarr already compressed files).
|
||||
# Note that constant MAIN_OPTIMIZE_SPEED must have a value with bit 0 set.
|
||||
#AddType text/javascript .jgz
|
||||
#AddEncoding gzip .jgz
|
||||
|
||||
# OPTIMIZE: To use gzip compression (on the fly).
|
||||
# Note that you must also enable the module mod_deflate.
|
||||
# You can also set this with constant MAIN_OPTIMIZE_SPEED and bit 2 set.
|
||||
#TODO
|
||||
|
||||
# OPTIMIZE: To use cache on static pages (A259200 = 1 month).
|
||||
# Note that you must also enable the module mod_expires.
|
||||
#ExpiresActive On
|
||||
|
||||
@ -161,11 +161,12 @@ $dolibarr_main_authentication='dolibarr';
|
||||
# $dolibarr_main_auth_ldap_filter = ''; # If defined, two previous parameters are not used to find a user into LDAP. Ex: (uid=%1%) or &(uid=%1%)(isMemberOf=cn=Sales,ou=Groups,dc=opencsi,dc=com).
|
||||
# $dolibarr_main_auth_ldap_admin_login=''; # Required only if anonymous bind disabled. Ex: cn=admin,dc=example,dc=com
|
||||
# $dolibarr_main_auth_ldap_admin_pass=''; # Required only if anonymous bind disabled. Ex: secret
|
||||
|
||||
# $dolibarr_main_auth_ldap_debug='false';
|
||||
|
||||
|
||||
# dolibarr_main_demo
|
||||
# Login and pass to use in a demo mode.
|
||||
# Login and pass to use in a demo mode
|
||||
# Default value: ''
|
||||
# Examples:
|
||||
# $dolibarr_main_demo='autologin,autopass'
|
||||
|
||||
@ -29,14 +29,13 @@ $force_install_lockinstall='444';
|
||||
// If we enable/disable libraries declaration during install, we must also check they are
|
||||
// not removed from package (see in rules file),
|
||||
// declared into dependencies (see in control file)
|
||||
$force_dolibarr_lib_TCPDF_PATH='';
|
||||
$force_dolibarr_lib_FPDF_PATH='/usr/share/php/fpdf';
|
||||
$force_dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi';
|
||||
$force_dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';
|
||||
//$force_dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi';
|
||||
$force_dolibarr_lib_GEOIP_PATH='';
|
||||
$force_dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
|
||||
$force_dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip';
|
||||
$force_dolibarr_lib_PHPEXCEL_PATH='';
|
||||
$force_dolibarr_lib_TCPDF_PATH='';
|
||||
$force_dolibarr_js_CKEDITOR='/javascript/ckeditor';
|
||||
$force_dolibarr_js_JQUERY='/javascript/jquery';
|
||||
$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
|
||||
|
||||
@ -111,9 +111,9 @@ class modMyModule extends DolibarrModules
|
||||
$this->const = array();
|
||||
|
||||
// Array to add new pages in new tabs
|
||||
// Example: $this->tabs = array('objecttype:+tabname1:Title1:mylangfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__', // To add a new tab identified by code tabname1
|
||||
// 'objecttype:+tabname2:Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2
|
||||
// 'objecttype:-tabname'); // To remove an existing tab identified by code tabname
|
||||
// Example: $this->tabs = array('objecttype:+tabname1:Title1:mylangfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__', // To add a new tab identified by code tabname1
|
||||
// 'objecttype:+tabname2:Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2
|
||||
// 'objecttype:-tabname':NU:conditiontoremove); // To remove an existing tab identified by code tabname
|
||||
// where objecttype can be
|
||||
// 'thirdparty' to add a tab in third party view
|
||||
// 'intervention' to add a tab in intervention view
|
||||
|
||||
@ -22,8 +22,8 @@
|
||||
*/
|
||||
|
||||
require '../../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||
|
||||
$graphwidth = 700;
|
||||
$mapratio = 0.5;
|
||||
@ -83,8 +83,8 @@ if ($resql)
|
||||
{
|
||||
$obj=$db->fetch_object($resql);
|
||||
|
||||
if ($obj->code == 'phy') $foundphy++;
|
||||
if ($obj->code == 'mor') $foundmor++;
|
||||
if ($obj->code == 'phy') $foundphy++;
|
||||
if ($obj->code == 'mor') $foundmor++;
|
||||
|
||||
$data[]=array('label'=>$obj->code, 'nb'=>$obj->nb, 'lastdate'=>$db->jdate($obj->lastdate));
|
||||
|
||||
@ -122,8 +122,8 @@ print '<td align="center">'.$langs->trans("NbOfMembers").'</td>';
|
||||
print '<td align="center">'.$langs->trans("LastMemberDate").'</td>';
|
||||
print '</tr>';
|
||||
|
||||
if (! $foundphy) $data[]=array('label'=>'phy','nb'=>'0','lastdate'=>'');
|
||||
if (! $foundmor) $data[]=array('label'=>'mor','nb'=>'0','lastdate'=>'');
|
||||
if (! $foundphy) $data[]=array('label'=>'phy','nb'=>'0','lastdate'=>'');
|
||||
if (! $foundmor) $data[]=array('label'=>'mor','nb'=>'0','lastdate'=>'');
|
||||
|
||||
$oldyear=0;
|
||||
$var=true;
|
||||
|
||||
@ -94,6 +94,34 @@ if ($action == "save" && empty($cancel))
|
||||
}
|
||||
}
|
||||
|
||||
if (preg_match('/set_(.*)/',$action,$reg))
|
||||
{
|
||||
$code=$reg[1];
|
||||
$value=(GETPOST($code) ? GETPOST($code) : 1);
|
||||
if (dolibarr_set_const($db, $code, $value, 'chaine', 0, '', $conf->entity) > 0)
|
||||
{
|
||||
Header("Location: ".$_SERVER["PHP_SELF"]);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
|
||||
if (preg_match('/del_(.*)/',$action,$reg))
|
||||
{
|
||||
$code=$reg[1];
|
||||
if (dolibarr_del_const($db, $code, $conf->entity) > 0)
|
||||
{
|
||||
Header("Location: ".$_SERVER["PHP_SELF"]);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@ -159,6 +187,46 @@ print "</form>\n";
|
||||
|
||||
print '</div>';
|
||||
|
||||
/*
|
||||
* Other options
|
||||
*/
|
||||
|
||||
print_titre($langs->trans("OtherOptions"));
|
||||
|
||||
$var=true;
|
||||
|
||||
print '<table class="noborder allwidth">'."\n";
|
||||
print '<tr class="liste_titre">'."\n";
|
||||
print '<td>'.$langs->trans("Parameters").'</td>'."\n";
|
||||
print '<td align="center" width="20"> </td>'."\n";
|
||||
print '<td align="center" width="100">'.$langs->trans("Value").'</td>'."\n";
|
||||
print '</tr>'."\n";
|
||||
|
||||
// Manual or automatic
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'>'."\n";
|
||||
print '<td>'.$langs->trans("AGENDA_USE_EVENT_TYPE").'</td>'."\n";
|
||||
print '<td align="center" width="20"> </td>'."\n";
|
||||
|
||||
print '<td align="center" width="100">'."\n";
|
||||
if ($conf->use_javascript_ajax)
|
||||
{
|
||||
print ajax_constantonoff('AGENDA_USE_EVENT_TYPE');
|
||||
}
|
||||
else
|
||||
{
|
||||
if($conf->global->AGENDA_USE_EVENT_TYPE == 0)
|
||||
{
|
||||
print '<a href="'.$_SERVER['PHP_SELF'].'?action=set_AGENDA_USE_EVENT_TYPE">'.img_picto($langs->trans("Disabled"),'off').'</a>';
|
||||
}
|
||||
else if($conf->global->BUSINESS_VISIBLE_TO_ALL_BY_DEFAULT == 1)
|
||||
{
|
||||
print '<a href="'.$_SERVER['PHP_SELF'].'?action=del_AGENDA_USE_EVENT_TYPE">'.img_picto($langs->trans("Enabled"),'on').'</a>';
|
||||
}
|
||||
}
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
|
||||
print "<br>";
|
||||
|
||||
dol_htmloutput_mesg($mesg);
|
||||
|
||||
@ -563,7 +563,8 @@ if ($action == 'edit' || $action == 'updateedit')
|
||||
print '<td colspan="2">';
|
||||
print "<table>";
|
||||
print "<tr><td>".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."</td></tr>";
|
||||
print "<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n";
|
||||
$example=$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code);
|
||||
print ($example!="LocalTax1IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
|
||||
print "</table>";
|
||||
print "</td></tr>\n";
|
||||
|
||||
@ -572,7 +573,8 @@ if ($action == 'edit' || $action == 'updateedit')
|
||||
print '<td colspan="2">';
|
||||
print "<table>";
|
||||
print "<tr><td>".$langs->transcountry("LocalTax1IsNotUsedDesc",$mysoc->country_code)."</td></tr>";
|
||||
print "<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n";
|
||||
$example=$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code);
|
||||
print ($example!="LocalTax1IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
|
||||
print "</table>";
|
||||
print "</td></tr>\n";
|
||||
print "</table>";
|
||||
@ -593,7 +595,8 @@ if ($action == 'edit' || $action == 'updateedit')
|
||||
print '<td colspan="2">';
|
||||
print "<table>";
|
||||
print "<tr><td>".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."</td></tr>";
|
||||
print "<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n";
|
||||
$example=$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code);
|
||||
print ($example!="LocalTax2IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
|
||||
print "</table>";
|
||||
print "</td></tr>\n";
|
||||
|
||||
@ -602,7 +605,8 @@ if ($action == 'edit' || $action == 'updateedit')
|
||||
print '<td colspan="2">';
|
||||
print "<table>";
|
||||
print "<tr><td>".$langs->transcountry("LocalTax2IsNotUsedDesc",$mysoc->country_code)."</td></tr>";
|
||||
print "<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n";
|
||||
$example=$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code);
|
||||
print ($example!="LocalTax2IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
|
||||
print "</table>";
|
||||
print "</td></tr>\n";
|
||||
print "</table>";
|
||||
@ -939,7 +943,8 @@ else
|
||||
print '<td colspan="2">';
|
||||
print "<table>";
|
||||
print "<tr><td>".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."</td></tr>";
|
||||
print "<tr><td><i>".$langs->trans("Example",$mysoc->country_code).': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n";
|
||||
$example=$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code);
|
||||
print ($example!="LocalTax1IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
|
||||
print "</table>";
|
||||
print "</td></tr>\n";
|
||||
|
||||
@ -948,7 +953,8 @@ else
|
||||
print '<td colspan="2">';
|
||||
print "<table>";
|
||||
print "<tr><td>".$langs->transcountry("LocalTax1IsNotUsedDesc",$mysoc->country_code)."</td></tr>";
|
||||
print "<tr><td><i>".$langs->trans("Example",$mysoc->country_code).': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n";
|
||||
$example=$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code);
|
||||
print ($example!="LocalTax1IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
|
||||
print "</table>";
|
||||
print "</td></tr>\n";
|
||||
|
||||
@ -970,7 +976,8 @@ else
|
||||
print '<td colspan="2">';
|
||||
print "<table>";
|
||||
print "<tr><td>".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."</td></tr>";
|
||||
print "<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n";
|
||||
$example=$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code);
|
||||
print ($example!="LocalTax2IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
|
||||
print "</table>";
|
||||
print "</td></tr>\n";
|
||||
|
||||
@ -979,7 +986,8 @@ else
|
||||
print '<td colspan="2">';
|
||||
print "<table>";
|
||||
print "<tr><td>".$langs->transcountry("LocalTax2IsNotUsedDesc",$mysoc->country_code)."</td></tr>";
|
||||
print "<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n";
|
||||
$example=$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code);
|
||||
print ($example!="LocalTax2IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":"");
|
||||
print "</table>";
|
||||
print "</td></tr>\n";
|
||||
|
||||
|
||||
@ -1066,7 +1066,6 @@ if ($id)
|
||||
}
|
||||
}
|
||||
|
||||
print '<td align="center" nowrap="nowrap">';
|
||||
// Est-ce une entree du dictionnaire qui peut etre desactivee ?
|
||||
$iserasable=1; // Oui par defaut
|
||||
if (isset($obj->code) && ($obj->code == '0' || $obj->code == '' || preg_match('/unknown/i',$obj->code))) $iserasable=0;
|
||||
@ -1074,8 +1073,14 @@ if ($id)
|
||||
if (isset($obj->code) && $obj->code == 'EF0') $iserasable=0;
|
||||
if (isset($obj->type) && in_array($obj->type, array('system', 'systemauto'))) $iserasable=0;
|
||||
|
||||
// Active
|
||||
print '<td align="center" nowrap="nowrap">';
|
||||
if ($iserasable) print '<a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.(! empty($obj->rowid)?$obj->rowid:(! empty($obj->code)?$obj->code:'')).'&code='.(! empty($obj->code)?$obj->code:'').'&id='.$id.'&action='.$acts[$obj->active].'">'.$actl[$obj->active].'</a>';
|
||||
else print $langs->trans("AlwaysActive");
|
||||
else
|
||||
{
|
||||
if (isset($obj->type) && in_array($obj->type, array('system', 'systemauto')) && empty($obj->active)) print $langs->trans("Deprecated");
|
||||
else print $langs->trans("AlwaysActive");
|
||||
}
|
||||
print "</td>";
|
||||
|
||||
// Modify link
|
||||
|
||||
@ -477,12 +477,14 @@ class ActionComm extends CommonObject
|
||||
* @param int $fk_element Id of element action is linked to
|
||||
* @param string $elementtype Type of element action is linked to
|
||||
* @param string $filter Other filter
|
||||
* @return int <0 if KO, >0 if OK
|
||||
* @return array <0 if KO, array with actions
|
||||
*/
|
||||
function getActions($socid=0, $fk_element=0, $elementtype='', $filter='')
|
||||
static function getActions($db, $socid=0, $fk_element=0, $elementtype='', $filter='')
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
$resarray=array();
|
||||
|
||||
$sql = "SELECT a.id";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a";
|
||||
$sql.= " WHERE a.entity = ".$conf->entity;
|
||||
@ -495,27 +497,27 @@ class ActionComm extends CommonObject
|
||||
if (! empty($filter)) $sql.= $filter;
|
||||
|
||||
dol_syslog(get_class($this)."::getActions sql=".$sql);
|
||||
$resql=$this->db->query($sql);
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $this->db->num_rows($resql);
|
||||
$num = $db->num_rows($resql);
|
||||
|
||||
if ($num)
|
||||
{
|
||||
for($i=0;$i<$num;$i++)
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
$actioncommstatic = new ActionComm($this->db);
|
||||
$obj = $db->fetch_object($resql);
|
||||
$actioncommstatic = new ActionComm($db);
|
||||
$actioncommstatic->fetch($obj->id);
|
||||
$this->actions[$i] = $actioncommstatic;
|
||||
$resarray[$i] = $actioncommstatic;
|
||||
}
|
||||
}
|
||||
$this->db->free($resql);
|
||||
return 1;
|
||||
$db->free($resql);
|
||||
return $resarray;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
$this->error=$db->lasterror();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -707,26 +709,34 @@ class ActionComm extends CommonObject
|
||||
if ($option=='birthday') $lien = '<a '.($classname?'class="'.$classname.'" ':'').'href="'.DOL_URL_ROOT.'/contact/perso.php?id='.$this->id.'">';
|
||||
else $lien = '<a '.($classname?'class="'.$classname.'" ':'').'href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$this->id.'">';
|
||||
$lienfin='</a>';
|
||||
//print $this->libelle;
|
||||
$label=$this->label;
|
||||
if (empty($label)) $label=$this->libelle; // Fro backward compatibility
|
||||
//print 'rrr'.$this->libelle;
|
||||
|
||||
if ($withpicto == 2)
|
||||
{
|
||||
$libelle=$langs->trans("Action".$this->type_code);
|
||||
$libelle=$label;
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) $libelle=$langs->trans("Action".$this->type_code);
|
||||
$libelleshort='';
|
||||
}
|
||||
else if (empty($this->libelle))
|
||||
{
|
||||
$libelle=$langs->trans("Action".$this->type_code);
|
||||
$libelleshort=$langs->trans("Action".$this->type_code,'','','','',$maxlength);
|
||||
$libelle=$label;
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) $libelle=$langs->trans("Action".$this->type_code);
|
||||
$libelleshort=dol_trunc($label, $maxlength);
|
||||
}
|
||||
else
|
||||
{
|
||||
$libelle=$this->libelle;
|
||||
$libelleshort=dol_trunc($this->libelle,$maxlength);
|
||||
{
|
||||
$libelle=$label;
|
||||
$libelleshort=dol_trunc($label,$maxlength);
|
||||
}
|
||||
|
||||
if ($withpicto)
|
||||
{
|
||||
$libelle.=(($this->type_code && $libelle!=$langs->trans("Action".$this->type_code) && $langs->trans("Action".$this->type_code)!="Action".$this->type_code)?' ('.$langs->trans("Action".$this->type_code).')':'');
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
$libelle.=(($this->type_code && $libelle!=$langs->trans("Action".$this->type_code) && $langs->trans("Action".$this->type_code)!="Action".$this->type_code)?' ('.$langs->trans("Action".$this->type_code).')':'');
|
||||
}
|
||||
$result.=$lien.img_object($langs->trans("ShowAction").': '.$libelle,($overwritepicto?$overwritepicto:'action')).$lienfin;
|
||||
}
|
||||
if ($withpicto==1) $result.=' ';
|
||||
|
||||
@ -100,9 +100,10 @@ class CActionComm
|
||||
* @param int $active 1 or 0 to filter on event state active or not ('' by default = no filter)
|
||||
* @param string $idorcode 'id' or 'code'
|
||||
* @param string $excludetype Type to exclude
|
||||
* @param string $onlyautoornot Group list by auto events or not
|
||||
* @return array Array of all event types if OK, <0 if KO
|
||||
*/
|
||||
function liste_array($active='',$idorcode='id',$excludetype='')
|
||||
function liste_array($active='',$idorcode='id',$excludetype='',$onlyautoornot=0)
|
||||
{
|
||||
global $langs,$conf;
|
||||
$langs->load("commercial");
|
||||
@ -110,7 +111,7 @@ class CActionComm
|
||||
$repid = array();
|
||||
$repcode = array();
|
||||
|
||||
$sql = "SELECT id, code, libelle, module";
|
||||
$sql = "SELECT id, code, libelle, module, type";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_actioncomm";
|
||||
if ($active != '') $sql.=" WHERE active=".$active;
|
||||
if (! empty($excludetype)) $sql.=($active != ''?" AND":" WHERE")." type <> '".$excludetype."'";
|
||||
@ -127,20 +128,31 @@ class CActionComm
|
||||
while ($i < $nump)
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
$qualified=1;
|
||||
if ($obj->module)
|
||||
|
||||
// $obj->type can be system, systemauto, module, moduleauto, xxx, xxxauto
|
||||
if ($qualified && $onlyautoornot && preg_match('/^system/',$obj->type) && ! preg_match('/^AC_OTH/',$obj->code)) $qualified=0; // We discard detailed system events. We keep only the 2 generic lines (AC_OTH and AC_OTHER)
|
||||
|
||||
if ($qualified && $obj->module)
|
||||
{
|
||||
if ($obj->module == 'invoice' && ! $conf->facture->enabled) $qualified=0;
|
||||
if ($obj->module == 'order' && ! $conf->commande->enabled) $qualified=0;
|
||||
if ($obj->module == 'propal' && ! $conf->propal->enabled) $qualified=0;
|
||||
if ($obj->module == 'invoice_supplier' && ! $conf->fournisseur->enabled) $qualified=0;
|
||||
if ($obj->module == 'order_supplier' && ! $conf->fournisseur->enabled) $qualified=0;
|
||||
if ($obj->module == 'shipping' && ! $conf->expedition->enabled) $qualified=0;
|
||||
}
|
||||
|
||||
if ($qualified)
|
||||
{
|
||||
$transcode=$langs->trans("Action".$obj->code);
|
||||
$repid[$obj->id] = ($transcode!="Action".$obj->code?$transcode:$langs->trans($obj->libelle));
|
||||
$repcode[$obj->code] = ($transcode!="Action".$obj->code?$transcode:$langs->trans($obj->libelle));
|
||||
$code=$obj->code;
|
||||
if ($onlyautoornot && $code == 'AC_OTH') $code='AC_MANUAL';
|
||||
if ($onlyautoornot && $code == 'AC_OTH_AUTO') $code='AC_AUTO';
|
||||
$transcode=$langs->trans("Action".$code);
|
||||
$repid[$obj->id] = ($transcode!="Action".$code?$transcode:$langs->trans($obj->libelle));
|
||||
$repcode[$obj->code] = ($transcode!="Action".$code?$transcode:$langs->trans($obj->libelle));
|
||||
if ($onlyautoornot && preg_match('/^module/',$obj->type) && $obj->module) $repcode[$obj->code].=' ('.$langs->trans("Module").': '.$obj->module.')';
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
@ -127,7 +127,10 @@ if ($objectid > 0)
|
||||
print '</td></tr>';
|
||||
|
||||
// Type
|
||||
print '<tr><td>'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
print '<tr><td>'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
|
||||
}
|
||||
|
||||
// Title
|
||||
print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3">'.$act->label.'</td></tr>';
|
||||
|
||||
@ -107,6 +107,13 @@ if ($action == 'add_action')
|
||||
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("DateEnd")).'</div>';
|
||||
}
|
||||
|
||||
if (empty($conf->global->AGENDA_USE_EVENT_TYPE) && ! GETPOST('label'))
|
||||
{
|
||||
$error++;
|
||||
$action = 'create';
|
||||
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("Title")).'</div>';
|
||||
}
|
||||
|
||||
// Initialisation objet cactioncomm
|
||||
if (! GETPOST('actioncode'))
|
||||
{
|
||||
@ -122,13 +129,13 @@ if ($action == 'add_action')
|
||||
// Initialisation objet actioncomm
|
||||
$actioncomm->type_id = $cactioncomm->id;
|
||||
$actioncomm->type_code = $cactioncomm->code;
|
||||
$actioncomm->priority = isset($_POST["priority"])?$_POST["priority"]:0;
|
||||
$actioncomm->priority = GETPOST("priority")?GETPOST("priority"):0;
|
||||
$actioncomm->fulldayevent = (! empty($fulldayevent)?1:0);
|
||||
$actioncomm->location = isset($_POST["location"])?$_POST["location"]:'';
|
||||
$actioncomm->label = trim($_POST["label"]);
|
||||
if (! $_POST["label"])
|
||||
$actioncomm->location = GETPOST("location");
|
||||
$actioncomm->label = trim(GETPOST('label'));
|
||||
if (! GETPOST('label'))
|
||||
{
|
||||
if ($_POST["actioncode"] == 'AC_RDV' && $contact->getFullName($langs))
|
||||
if (GETPOST('actioncode') == 'AC_RDV' && $contact->getFullName($langs))
|
||||
{
|
||||
$actioncomm->label = $langs->transnoentitiesnoconv("TaskRDVWith",$contact->getFullName($langs));
|
||||
}
|
||||
@ -390,11 +397,13 @@ if ($action == 'create')
|
||||
$(".fulldaystartmin").removeAttr("disabled");
|
||||
$(".fulldayendhour").removeAttr("disabled");
|
||||
$(".fulldayendmin").removeAttr("disabled");
|
||||
$("#p2").removeAttr("disabled");
|
||||
} else {
|
||||
$(".fulldaystarthour").attr("disabled","disabled").val("00");
|
||||
$(".fulldaystartmin").attr("disabled","disabled").val("00");
|
||||
$(".fulldayendhour").attr("disabled","disabled").val("23");
|
||||
$(".fulldayendmin").attr("disabled","disabled").val("59");
|
||||
$("#p2").attr("disabled","disabled").val("");
|
||||
}
|
||||
}
|
||||
setdatefields();
|
||||
@ -432,21 +441,25 @@ if ($action == 'create')
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Type d'action actifs
|
||||
print '<tr><td width="30%"><span class="fieldrequired">'.$langs->trans("Type").'</span></b></td><td>';
|
||||
if (GETPOST("actioncode"))
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
print '<input type="hidden" name="actioncode" value="'.GETPOST("actioncode").'">'."\n";
|
||||
$cactioncomm->fetch(GETPOST("actioncode"));
|
||||
print $cactioncomm->getNomUrl();
|
||||
print '<tr><td width="30%"><span class="fieldrequired">'.$langs->trans("Type").'</span></b></td><td>';
|
||||
if (GETPOST("actioncode"))
|
||||
{
|
||||
print '<input type="hidden" name="actioncode" value="'.GETPOST("actioncode").'">'."\n";
|
||||
$cactioncomm->fetch(GETPOST("actioncode"));
|
||||
print $cactioncomm->getNomUrl();
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlactions->select_type_actions($actioncomm->type_code, "actioncode","systemauto");
|
||||
}
|
||||
print '</td></tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlactions->select_type_actions($actioncomm->type_code, "actioncode","systemauto");
|
||||
}
|
||||
print '</td></tr>';
|
||||
else print '<input type="hidden" name="actioncode" value="AC_OTH">';
|
||||
|
||||
// Title
|
||||
print '<tr><td>'.$langs->trans("Title").'</td><td><input type="text" name="label" size="60" value="'.GETPOST('label').'"></td></tr>';
|
||||
print '<tr><td'.(empty($conf->global->AGENDA_USE_EVENT_TYPE)?' class="fieldrequired"':'').'>'.$langs->trans("Title").'</td><td><input type="text" name="label" size="60" value="'.GETPOST('label').'"></td></tr>';
|
||||
|
||||
// Full day
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("EventOnFullDay").'</td><td><input type="checkbox" id="fullday" name="fullday" '.(GETPOST('fullday')?' checked="checked"':'').'></td></tr>';
|
||||
@ -678,10 +691,13 @@ if ($id)
|
||||
print '<tr><td width="30%">'.$langs->trans("Ref").'</td><td colspan="3">'.$act->id.'</td></tr>';
|
||||
|
||||
// Type
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
|
||||
}
|
||||
|
||||
// Title
|
||||
print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3"><input type="text" name="label" size="50" value="'.$act->label.'"></td></tr>';
|
||||
print '<tr><td'.(empty($conf->global->AGENDA_USE_EVENT_TYPE)?' class="fieldrequired"':'').'>'.$langs->trans("Title").'</td><td colspan="3"><input type="text" name="label" size="50" value="'.$act->label.'"></td></tr>';
|
||||
|
||||
// Full day event
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("EventOnFullDay").'</td><td colspan="3"><input type="checkbox" id="fullday" name="fullday" '.($act->fulldayevent?' checked="checked"':'').'></td></tr>';
|
||||
@ -797,7 +813,10 @@ if ($id)
|
||||
print '</td></tr>';
|
||||
|
||||
// Type
|
||||
print '<tr><td>'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
print '<tr><td>'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
|
||||
}
|
||||
|
||||
// Title
|
||||
print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3">'.$act->label.'</td></tr>';
|
||||
|
||||
@ -340,6 +340,7 @@ if ($action == 'create')
|
||||
$langs->load("bills");
|
||||
print '<center>';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("CreateDraft").'">';
|
||||
print ' <input type="button" class="button" value="'.$langs->trans("Cancel").'" onClick="javascript:history.go(-1)">';
|
||||
print '</center>';
|
||||
|
||||
print "</form>";
|
||||
|
||||
@ -41,8 +41,10 @@ function commissions_admin_prepare_head()
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,'',$head,$h,'commissionsadmin');
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,'',$head,$h,'commissionsadmin');
|
||||
|
||||
complete_head_from_modules($conf,$langs,'',$head,$h,'commissionsadmin','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
@ -546,17 +546,12 @@ class BonPrelevement extends CommonObject
|
||||
// TODO Call trigger to create a notification using notification module
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
dol_syslog(get_class($this)."::set_infotrans Erreur 1", LOG_ERR);
|
||||
dol_syslog($this->db->error());
|
||||
$error++;
|
||||
}
|
||||
|
||||
/*
|
||||
* End of procedure
|
||||
*
|
||||
*/
|
||||
|
||||
if ($error == 0)
|
||||
{
|
||||
$this->db->commit();
|
||||
@ -1047,6 +1042,44 @@ class BonPrelevement extends CommonObject
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get object and lines from database
|
||||
*
|
||||
* @return int >0 if OK, <0 if KO
|
||||
*/
|
||||
function delete()
|
||||
{
|
||||
$this->db->begin();
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_facture WHERE fk_prelevement_lignes IN (SELECT rowid FROM ".MAIN_DB_PREFIX."prelevement_lignes WHERE fk_prelevement_bons = '".$this->id."')";
|
||||
$resql1=$this->db->query($sql);
|
||||
if (! $resql1) dol_print_error($this->db);
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_lignes WHERE fk_prelevement_bons = '".$this->id."'";
|
||||
$resql2=$this->db->query($sql);
|
||||
if (! $resql2) dol_print_error($this->db);
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_bons WHERE rowid = '".$this->id."'";
|
||||
$resql3=$this->db->query($sql);
|
||||
if (! $resql3) dol_print_error($this->db);
|
||||
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande SET fk_prelevement_bons = NULL, traite = 0 WHERE fk_prelevement_bons = '".$this->id."'";
|
||||
$resql4=$this->db->query($sql);
|
||||
if (! $resql4) dol_print_error($this->db);
|
||||
|
||||
if ($resql1 && $resql2 && $resql3)
|
||||
{
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns clickable name (with picto)
|
||||
*
|
||||
@ -1595,20 +1628,20 @@ class BonPrelevement extends CommonObject
|
||||
{
|
||||
if ($statut==0) return img_picto($langs->trans($this->labelstatut[$statut]),'statut0').' '.$langs->trans($this->labelstatut[$statut]);
|
||||
if ($statut==1) return img_picto($langs->trans($this->labelstatut[$statut]),'statut1').' '.$langs->trans($this->labelstatut[$statut]);
|
||||
if ($statut==2) return img_picto($langs->trans($this->labelstatut[$statut]),'statut4').' '.$langs->trans($this->labelstatut[$statut]);
|
||||
if ($statut==2) return img_picto($langs->trans($this->labelstatut[$statut]),'statut6').' '.$langs->trans($this->labelstatut[$statut]);
|
||||
}
|
||||
if ($mode == 2)
|
||||
{
|
||||
if ($statut==0) return img_picto($langs->trans($this->labelstatut[$statut]),'statut0');
|
||||
if ($statut==1) return img_picto($langs->trans($this->labelstatut[$statut]),'statut1');
|
||||
if ($statut==2) return img_picto($langs->trans($this->labelstatut[$statut]),'statut4');
|
||||
if ($statut==2) return img_picto($langs->trans($this->labelstatut[$statut]),'statut6');
|
||||
}
|
||||
|
||||
if ($mode == 3)
|
||||
{
|
||||
if ($statut==0) return $langs->trans($this->labelstatut[$statut]).' '.img_picto($langs->trans($this->labelstatut[$statut]),'statut0');
|
||||
if ($statut==1) return $langs->trans($this->labelstatut[$statut]).' '.img_picto($langs->trans($this->labelstatut[$statut]),'statut1');
|
||||
if ($statut==2) return $langs->trans($this->labelstatut[$statut]).' '.img_picto($langs->trans($this->labelstatut[$statut]),'statut4');
|
||||
if ($statut==2) return $langs->trans($this->labelstatut[$statut]).' '.img_picto($langs->trans($this->labelstatut[$statut]),'statut6');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -55,27 +55,21 @@ if ($prev_id)
|
||||
dol_fiche_head($head, 'invoices', $langs->trans("WithdrawalReceipt"), '', 'payment');
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
|
||||
|
||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("File").'</td><td>';
|
||||
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
// Status
|
||||
print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
|
||||
print '<td>'.$bon->getLibStatut(1).'</td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
if($bon->date_trans <> 0)
|
||||
{
|
||||
$muser = new User($db);
|
||||
$muser->fetch($bon->user_trans);
|
||||
|
||||
|
||||
print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
|
||||
print dol_print_date($bon->date_trans,'day');
|
||||
print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'</td></tr>';
|
||||
@ -89,10 +83,19 @@ if ($prev_id)
|
||||
print dol_print_date($bon->date_credit,'day');
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '</div>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<table class="border" width="100%"><tr><td width="20%">';
|
||||
print $langs->trans("WithdrawalFile").'</td><td>';
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
print '</td></tr></table>';
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -54,27 +54,21 @@ if ($prev_id)
|
||||
dol_fiche_head($head, 'rejects', $langs->trans("WithdrawalReceipt"), '', 'payment');
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
|
||||
|
||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("File").'</td><td>';
|
||||
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
// Status
|
||||
print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
|
||||
print '<td>'.$bon->getLibStatut(1).'</td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
if($bon->date_trans <> 0)
|
||||
{
|
||||
$muser = new User($db);
|
||||
$muser->fetch($bon->user_trans);
|
||||
|
||||
|
||||
print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
|
||||
print dol_print_date($bon->date_trans,'day');
|
||||
print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'</td></tr>';
|
||||
@ -88,10 +82,19 @@ if ($prev_id)
|
||||
print dol_print_date($bon->date_credit,'day');
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '</div>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<table class="border" width="100%"><tr><td width="20%">';
|
||||
print $langs->trans("WithdrawalFile").'</td><td>';
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
print '</td></tr></table>';
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -103,8 +106,6 @@ $rej = new RejetPrelevement($db, $user);
|
||||
|
||||
/*
|
||||
* Liste des factures
|
||||
*
|
||||
*
|
||||
*/
|
||||
$sql = "SELECT pl.rowid, pl.amount, pl.statut";
|
||||
$sql.= " , s.rowid as socid, s.nom";
|
||||
@ -141,10 +142,10 @@ if ($resql)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
|
||||
print "<tr $bc[$var]><td>";
|
||||
print '<img border="0" src="./img/statut'.$obj->statut.'.png"></a> ';
|
||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$obj->rowid.'">';
|
||||
print "<tr ".$bc[$var]."><td>";
|
||||
|
||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$obj->rowid.'">';
|
||||
print img_picto('', 'statut'.$obj->statut).' ';
|
||||
print substr('000000'.$obj->rowid, -6);
|
||||
print '</a></td>';
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/comm/fiche.php?socid='.$obj->socid.'">'.stripslashes($obj->nom)."</a></td>\n";
|
||||
@ -164,7 +165,7 @@ if ($resql)
|
||||
print '<tr class="liste_total"><td> </td>';
|
||||
print '<td class="liste_total">'.$langs->trans("Total").'</td>';
|
||||
print '<td align="right">'.price($total)."</td>\n";
|
||||
print '<td> </td>';
|
||||
print '<td colspan="3"> </td>';
|
||||
print "</tr>\n</table>\n";
|
||||
$db->free($resql);
|
||||
}
|
||||
|
||||
@ -58,24 +58,17 @@ if ($prev_id)
|
||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("File").'</td><td>';
|
||||
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
// Status
|
||||
print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
|
||||
print '<td>'.$bon->getLibStatut(1).'</td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
if($bon->date_trans <> 0)
|
||||
{
|
||||
$muser = new User($db);
|
||||
$muser->fetch($bon->user_trans);
|
||||
|
||||
|
||||
print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
|
||||
print dol_print_date($bon->date_trans,'day');
|
||||
print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'</td></tr>';
|
||||
@ -89,10 +82,19 @@ if ($prev_id)
|
||||
print dol_print_date($bon->date_credit,'day');
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '</div>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<table class="border" width="100%"><tr><td width="20%">';
|
||||
print $langs->trans("WithdrawalFile").'</td><td>';
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
print '</td></tr></table>';
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -42,14 +42,28 @@ if ($user->societe_id > 0) accessforbidden();
|
||||
$action = GETPOST('action','alpha');
|
||||
$id = GETPOST('id','int');
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
if ( $action == 'confirm_delete' )
|
||||
{
|
||||
$bon = new BonPrelevement($db,"");
|
||||
$bon->fetch($id);
|
||||
|
||||
$res=$bon->delete();
|
||||
if ($res > 0)
|
||||
{
|
||||
header("Location: index.php");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $action == 'confirm_credite' && GETPOST('confirm','alpha') == 'yes')
|
||||
{
|
||||
$bon = new BonPrelevement($db,"");
|
||||
$bon->id = $id;
|
||||
$bon->fetch($id);
|
||||
|
||||
$bon->set_credite();
|
||||
|
||||
header("Location: fiche.php?id=".$id);
|
||||
@ -63,14 +77,15 @@ if ($action == 'infotrans' && $user->rights->prelevement->bons->send)
|
||||
$bon = new BonPrelevement($db,"");
|
||||
$bon->fetch($id);
|
||||
|
||||
$dt = dol_mktime(12,0,0,GETPOST('remonth','int'),GETPOST('reday','int'),GETPOST('reyear','int'));
|
||||
|
||||
/*
|
||||
if ($_FILES['userfile']['name'] && basename($_FILES['userfile']['name'],".ps") == $bon->ref)
|
||||
{
|
||||
$dir = $conf->prelevement->dir_output.'/receipts';
|
||||
|
||||
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $dir . "/" . dol_unescapefile($_FILES['userfile']['name']),1) > 0)
|
||||
{
|
||||
$dt = dol_mktime(12,0,0,GETPOST('remonth','int'),GETPOST('reday','int'),GETPOST('reyear','int'));
|
||||
|
||||
$bon->set_infotrans($user, $dt, GETPOST('methode','alpha'));
|
||||
}
|
||||
|
||||
@ -81,6 +96,14 @@ if ($action == 'infotrans' && $user->rights->prelevement->bons->send)
|
||||
{
|
||||
dol_syslog("Fichier invalide",LOG_WARNING);
|
||||
$mesg='BadFile';
|
||||
}*/
|
||||
|
||||
$error = $bon->set_infotrans($user, $dt, GETPOST('methode','alpha'));
|
||||
|
||||
if ($error)
|
||||
{
|
||||
header("Location: fiche.php?id=".$id."&error=$error");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
@ -92,15 +115,11 @@ if ($action == 'infocredit' && $user->rights->prelevement->bons->credit)
|
||||
|
||||
$error = $bon->set_infocredit($user, $dt);
|
||||
|
||||
if ($error == 0)
|
||||
{
|
||||
header("Location: fiche.php?id=".$id);
|
||||
}
|
||||
else
|
||||
if ($error)
|
||||
{
|
||||
header("Location: fiche.php?id=".$id."&error=$error");
|
||||
exit;
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
@ -108,132 +127,139 @@ if ($action == 'infocredit' && $user->rights->prelevement->bons->credit)
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader('',$langs->trans("WithdrawalReceipt"));
|
||||
|
||||
$bon = new BonPrelevement($db,"");
|
||||
$form = new Form($db);
|
||||
|
||||
if ($id)
|
||||
llxHeader('',$langs->trans("WithdrawalReceipt"));
|
||||
|
||||
|
||||
if ($id > 0)
|
||||
{
|
||||
$bon = new BonPrelevement($db,"");
|
||||
$bon->fetch($id);
|
||||
|
||||
if ($bon->fetch($id) == 0)
|
||||
$head = prelevement_prepare_head($bon);
|
||||
dol_fiche_head($head, 'prelevement', $langs->trans("WithdrawalReceipt"), '', 'payment');
|
||||
|
||||
if (GETPOST('error','alpha')!='')
|
||||
{
|
||||
$head = prelevement_prepare_head($bon);
|
||||
dol_fiche_head($head, 'prelevement', $langs->trans("WithdrawalReceipt"), '', 'payment');
|
||||
print '<div class="error">'.$bon->ReadError(GETPOST('error','alpha')).'</div>';
|
||||
}
|
||||
|
||||
if (GETPOST('error','alpha')!='')
|
||||
{
|
||||
print '<div class="error">'.$bon->ReadError(GETPOST('error','alpha')).'</div>';
|
||||
}
|
||||
/*if ($action == 'credite')
|
||||
{
|
||||
$ret=$form->form_confirm("fiche.php?id=".$bon->id,$langs->trans("ClassCredited"),$langs->trans("ClassCreditedConfirm"),"confirm_credite",'',1,1);
|
||||
if ($ret == 'html') print '<br>';
|
||||
}*/
|
||||
|
||||
if ($action == 'credite')
|
||||
{
|
||||
$ret=$form->form_confirm("fiche.php?id=".$bon->id,$langs->trans("ClassCredited"),$langs->trans("ClassCreditedConfirm"),"confirm_credite",'',1,1);
|
||||
if ($ret == 'html') print '<br>';
|
||||
}
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
|
||||
|
||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("File").'</td><td>';
|
||||
// Status
|
||||
print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
|
||||
print '<td>'.$bon->getLibStatut(1).'</td>';
|
||||
print '</tr>';
|
||||
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
if($bon->date_trans <> 0)
|
||||
{
|
||||
$muser = new User($db);
|
||||
$muser->fetch($bon->user_trans);
|
||||
|
||||
print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
|
||||
print dol_print_date($bon->date_trans,'day');
|
||||
print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("TransMetod").'</td><td>';
|
||||
print $bon->methodes_trans[$bon->method_trans];
|
||||
print '</td></tr>';
|
||||
|
||||
// Status
|
||||
print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
|
||||
print '<td>'.$bon->getLibStatut(1).'</td>';
|
||||
print '</tr>';
|
||||
|
||||
if($bon->date_trans <> 0)
|
||||
{
|
||||
$muser = new User($db);
|
||||
$muser->fetch($bon->user_trans);
|
||||
|
||||
print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
|
||||
print dol_print_date($bon->date_trans,'day');
|
||||
print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("TransMetod").'</td><td>';
|
||||
print $bon->methodes_trans[$bon->method_trans];
|
||||
print '</td></tr>';
|
||||
}
|
||||
if($bon->date_credit <> 0)
|
||||
{
|
||||
print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
|
||||
print dol_print_date($bon->date_credit,'day');
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
dol_fiche_end();
|
||||
|
||||
if($bon->date_trans == 0 && $user->rights->prelevement->bons->send)
|
||||
{
|
||||
print '<form method="post" name="userfile" action="fiche.php?id='.$bon->id.'" enctype="multipart/form-data">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="infotrans">';
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="3">'.$langs->trans("NotifyTransmision").'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
|
||||
print $form->select_date('','','','','',"userfile");
|
||||
print '</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("TransMetod").'</td><td>';
|
||||
print $form->selectarray("methode",$bon->methodes_trans);
|
||||
print '</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("File").'</td><td>';
|
||||
print '<input type="hidden" name="max_file_size" value="'.$conf->maxfilesize.'">';
|
||||
print '<input class="flat" type="file" name="userfile"><br>';
|
||||
print '</td></tr>';
|
||||
print '</table><br>';
|
||||
print '<center><input type="submit" class="button" value="'.$langs->trans("Send").'">';
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
if($bon->date_trans <> 0 && $bon->date_credit == 0 && $user->rights->prelevement->bons->credit)
|
||||
{
|
||||
print '<form name="infocredit" method="post" action="fiche.php?id='.$bon->id.'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="infocredit">';
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="3">'.$langs->trans("NotifyCredit").'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
|
||||
print $form->select_date('','','','','',"infocredit");
|
||||
print '</td></tr>';
|
||||
print '</table><br>';
|
||||
print '<center><input type="submit" class="button" value="'.$langs->trans("ClassCredited").'">';
|
||||
print '</form>';
|
||||
}
|
||||
}
|
||||
else
|
||||
if($bon->date_credit <> 0)
|
||||
{
|
||||
dol_print_error($db);
|
||||
print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
|
||||
print dol_print_date($bon->date_credit,'day');
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<table class="border" width="100%"><tr><td width="20%">';
|
||||
print $langs->trans("WithdrawalFile").'</td><td>';
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
print '</td></tr></table>';
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
|
||||
|
||||
|
||||
if (empty($bon->date_trans) && $user->rights->prelevement->bons->send && $action=='settransmitted')
|
||||
{
|
||||
print '<form method="post" name="userfile" action="fiche.php?id='.$bon->id.'" enctype="multipart/form-data">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="infotrans">';
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="3">'.$langs->trans("NotifyTransmision").'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
|
||||
print $form->select_date('','','','','',"userfile",1,1);
|
||||
print '</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("TransMetod").'</td><td>';
|
||||
print $form->selectarray("methode",$bon->methodes_trans);
|
||||
print '</td></tr>';
|
||||
/* print '<tr><td width="20%">'.$langs->trans("File").'</td><td>';
|
||||
print '<input type="hidden" name="max_file_size" value="'.$conf->maxfilesize.'">';
|
||||
print '<input class="flat" type="file" name="userfile"><br>';
|
||||
print '</td></tr>';*/
|
||||
print '</table><br>';
|
||||
print '<center><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("SetToStatusSent")).'">';
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
if (! empty($bon->date_trans) && $bon->date_credit == 0 && $user->rights->prelevement->bons->credit && $action=='setcredited')
|
||||
{
|
||||
print '<form name="infocredit" method="post" action="fiche.php?id='.$bon->id.'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="infocredit">';
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="3">'.$langs->trans("NotifyCredit").'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
|
||||
print $form->select_date('','','','','',"infocredit",1,1);
|
||||
print '</td></tr>';
|
||||
print '</table>';
|
||||
print '<br>'.$langs->trans("ThisWillAlsoAddPaymentOnInvoice");
|
||||
print '<center><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("ClassCredited")).'">';
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
|
||||
// Actions
|
||||
if ($action != 'settransmitted' && $action != 'setcredited')
|
||||
{
|
||||
print "\n<div class=\"tabsAction\">\n";
|
||||
|
||||
if (empty($bon->date_trans) && $user->rights->prelevement->bons->send)
|
||||
{
|
||||
print "<a class=\"butAction\" href=\"fiche.php?action=settransmitted&id=".$bon->id."\">".$langs->trans("SetToStatusSent")."</a>";
|
||||
}
|
||||
|
||||
if (! empty($bon->date_trans) && $bon->date_credit == 0)
|
||||
{
|
||||
print "<a class=\"butAction\" href=\"fiche.php?action=setcredited&id=".$bon->id."\">".$langs->trans("ClassCredited")."</a>";
|
||||
}
|
||||
|
||||
print "<a class=\"butActionDelete\" href=\"fiche.php?action=confirm_delete&id=".$bon->id."\">".$langs->trans("Delete")."</a>";
|
||||
|
||||
print "</div>";
|
||||
}
|
||||
}
|
||||
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* Barre d'action */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
/*
|
||||
print "\n</div>\n<div class=\"tabsAction\">\n";
|
||||
|
||||
if ($bon->statut == 0)
|
||||
{
|
||||
print "<a class=\"butAction\" href=\"fiche.php?action=credite&id=$bon->id\">".$langs->trans("ClassCredited")."</a>";
|
||||
}
|
||||
*/
|
||||
print "</div>";
|
||||
|
||||
$db->close();
|
||||
|
||||
llxFooter();
|
||||
|
||||
$db->close();
|
||||
?>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
||||
*
|
||||
@ -93,10 +93,10 @@ print '</td><td valign="top" width="70%">';
|
||||
* Withdraw receipts
|
||||
*/
|
||||
$limit=5;
|
||||
$sql = "SELECT p.rowid, p.ref, p.amount, p.datec";
|
||||
$sql .= " ,p.statut ";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
|
||||
$sql .= " ORDER BY datec DESC LIMIT ".$limit;
|
||||
$sql = "SELECT p.rowid, p.ref, p.amount, p.datec, p.statut";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
|
||||
$sql.= " ORDER BY datec DESC";
|
||||
$sql.= $db->plimit($limit);
|
||||
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
@ -110,6 +110,7 @@ if ($result)
|
||||
print '<tr class="liste_titre"><td>'.$langs->trans("LastWithdrawalReceipt",$limit).'</td>';
|
||||
print '<td>'.$langs->trans("Date").'</td>';
|
||||
print '<td align="right">'.$langs->trans("Amount").'</td>';
|
||||
print '<td align="right">'.$langs->trans("Status").'</td>';
|
||||
print '</tr>';
|
||||
|
||||
while ($i < min($num,$limit))
|
||||
@ -117,15 +118,17 @@ if ($result)
|
||||
$obj = $db->fetch_object($result);
|
||||
$var=!$var;
|
||||
|
||||
print "<tr $bc[$var]><td>";
|
||||
|
||||
print '<img border="0" src="./img/statut'.$obj->statut.'.png"></a> ';
|
||||
|
||||
print '<a href="fiche.php?id='.$obj->rowid.'">'.$obj->ref."</a></td>\n";
|
||||
print "<tr ".$bc[$var].">";
|
||||
|
||||
print "<td>";
|
||||
$bprev->id=$obj->rowid;
|
||||
$bprev->ref=$obj->ref;
|
||||
$bprev->statut=$obj->statut;
|
||||
print $bprev->getNomUrl(1);
|
||||
print "</td>\n";
|
||||
print '<td>'.dol_print_date($db->jdate($obj->datec),"dayhour")."</td>\n";
|
||||
|
||||
print '<td align="right">'.price($obj->amount)."</td>\n";
|
||||
print '<td align="right">'.$bprev->getLibStatut(3)."</td>\n";
|
||||
|
||||
print "</tr>\n";
|
||||
$i++;
|
||||
|
||||
@ -65,13 +65,6 @@ if ($prev_id)
|
||||
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("File").'</td><td>';
|
||||
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
|
||||
print '</td></tr>';
|
||||
|
||||
// Status
|
||||
print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
|
||||
@ -99,7 +92,16 @@ if ($prev_id)
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '</div>';
|
||||
print '<br>';
|
||||
|
||||
print '<table class="border" width="100%"><tr><td width="20%">';
|
||||
print $langs->trans("WithdrawalFile").'</td><td>';
|
||||
$relativepath = 'receipts/'.$bon->ref;
|
||||
print '<a href="'.DOL_URL_ROOT.'/document.php?type=text/plain&modulepart=prelevement&file='.urlencode($relativepath).'">'.$relativepath.'</a>';
|
||||
print '</td></tr></table>';
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -361,7 +361,7 @@ else
|
||||
$object->state_id = $_POST["state_id"];
|
||||
|
||||
// We set country_id, country_code and label for the selected country
|
||||
$object->country_id=$_POST["country_id"]?$_POST["country_id"]:$mysoc->country_id;
|
||||
$object->country_id=$_POST["country_id"]?$_POST["country_id"]:(empty($objsoc->country_id)?$mysoc->country_id:$objsoc->country_id);
|
||||
if ($object->country_id)
|
||||
{
|
||||
$tmparray=getCountry($object->country_id,'all');
|
||||
@ -434,7 +434,7 @@ else
|
||||
|
||||
$colspan=3;
|
||||
if ($conf->use_javascript_ajax && $socid > 0) $colspan=2;
|
||||
|
||||
|
||||
// Address
|
||||
if (($objsoc->typent_code == 'TE_PRIVATE' || ! empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->address)) == 0) $object->address = $objsoc->address; // Predefined with third party
|
||||
print '<tr><td>'.$langs->trans("Address");
|
||||
@ -442,9 +442,9 @@ else
|
||||
|
||||
if ($conf->use_javascript_ajax && $socid > 0)
|
||||
{
|
||||
$rowspan=3;
|
||||
$rowspan=3;
|
||||
if (empty($conf->global->SOCIETE_DISABLE_STATE)) $rowspan++;
|
||||
|
||||
|
||||
print '<td valign="middle" align="center" rowspan="'.$rowspan.'">';
|
||||
print '<a href="#" id="copyaddressfromsoc">'.$langs->trans('CopyAddressFromSoc').'</a>';
|
||||
print '</td>';
|
||||
@ -460,7 +460,6 @@ else
|
||||
print '</td></tr>';
|
||||
|
||||
// Country
|
||||
if (dol_strlen(trim($object->fk_pays)) == 0) $object->fk_pays = $objsoc->country_id; // Predefined with third party
|
||||
print '<tr><td>'.$langs->trans("Country").'</td><td colspan="'.$colspan.'">';
|
||||
print $form->select_country((isset($_POST["country_id"])?$_POST["country_id"]:$object->country_id),'country_id');
|
||||
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
|
||||
|
||||
@ -221,14 +221,16 @@ abstract class CommonObject
|
||||
* @param int $rowid Id of line contact-element
|
||||
* @param int $statut New status of link
|
||||
* @param int $type_contact_id Id of contact type (not modified if 0)
|
||||
* @param int $fk_socpeople Id of soc_people to update (not modified if 0)
|
||||
* @return int <0 if KO, >= 0 if OK
|
||||
*/
|
||||
function update_contact($rowid, $statut, $type_contact_id=0)
|
||||
function update_contact($rowid, $statut, $type_contact_id=0, $fk_socpeople=0)
|
||||
{
|
||||
// Insertion dans la base
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."element_contact set";
|
||||
$sql.= " statut = ".$statut;
|
||||
if ($type_contact_id) $sql.= ", fk_c_type_contact = '".$type_contact_id ."'";
|
||||
if ($fk_socpeople) $sql.= ", fk_socpeople = '".$fk_socpeople ."'";
|
||||
$sql.= " where rowid = ".$rowid;
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
|
||||
@ -170,7 +170,7 @@ class HookManager
|
||||
if (! empty($actionclassinstance->resprints)) $this->resPrint.=$actionclassinstance->resprints;
|
||||
|
||||
// TODO. remove this. array result must be set into $actionclassinstance->results
|
||||
if (is_array($result)) $this->resArray = array_merge($this->resArray, $result);
|
||||
if (is_array($result)) $this->resArray = array_merge($this->resArray, $result);
|
||||
// TODO. remove this. result must not be a string. we must use $actionclassinstance->resprint to return a string
|
||||
if (! is_array($result) && ! is_numeric($result)) $this->resPrint.=$result;
|
||||
}
|
||||
|
||||
@ -165,6 +165,10 @@ class Form
|
||||
{
|
||||
$ret.=$this->form_date($_SERVER['PHP_SELF'].'?id='.$object->id,$value,$htmlname);
|
||||
}
|
||||
else if ($typeofdata == 'datehourpicker')
|
||||
{
|
||||
$ret.=$this->form_date($_SERVER['PHP_SELF'].'?id='.$object->id,$value,$htmlname,1,1);
|
||||
}
|
||||
else if (preg_match('/^select;/',$typeofdata))
|
||||
{
|
||||
$arraydata=explode(',',preg_replace('/^select;/','',$typeofdata));
|
||||
@ -183,7 +187,7 @@ class Form
|
||||
$ret.=$doleditor->Create(1);
|
||||
}
|
||||
$ret.='</td>';
|
||||
if ($typeofdata != 'day' && $typeofdata != 'datepicker') $ret.='<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
|
||||
if ($typeofdata != 'day' && $typeofdata != 'datepicker' && $typeofdata != 'datehourpicker') $ret.='<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
|
||||
$ret.='</tr></table>'."\n";
|
||||
$ret.='</form>'."\n";
|
||||
}
|
||||
@ -192,6 +196,7 @@ class Form
|
||||
if ($typeofdata == 'email') $ret.=dol_print_email($value,0,0,0,0,1);
|
||||
elseif (preg_match('/^text/',$typeofdata) || preg_match('/^note/',$typeofdata)) $ret.=dol_htmlentitiesbr($value);
|
||||
elseif ($typeofdata == 'day' || $typeofdata == 'datepicker') $ret.=dol_print_date($value,'day');
|
||||
elseif ($typeofdata == 'datehourpicker') $ret.=dol_print_date($value,'dayhour');
|
||||
else if (preg_match('/^select;/',$typeofdata))
|
||||
{
|
||||
$arraydata=explode(',',preg_replace('/^select;/','',$typeofdata));
|
||||
@ -272,7 +277,7 @@ class Form
|
||||
if (! empty($tmp[1])) $inputOption=$tmp[1];
|
||||
if (! empty($tmp[2])) $savemethod=$tmp[2];
|
||||
}
|
||||
else if (preg_match('/^datepicker/',$inputType))
|
||||
else if ((preg_match('/^datepicker/',$inputType)) || (preg_match('/^datehourpicker/',$inputType)))
|
||||
{
|
||||
$tmp=explode(':',$inputType);
|
||||
$inputType=$tmp[0];
|
||||
@ -2233,7 +2238,7 @@ class Form
|
||||
$inputko=array();
|
||||
|
||||
// Clean parameters
|
||||
$newselectedchoice=empty($selectedchoice)?"no":$selectedchoice;
|
||||
$newselectedchoice=empty($selectedchoice)?"no":$selectedchoice;
|
||||
|
||||
if (is_array($formquestion) && ! empty($formquestion))
|
||||
{
|
||||
@ -2613,9 +2618,11 @@ class Form
|
||||
* @param string $page Page
|
||||
* @param string $selected Date preselected
|
||||
* @param string $htmlname Name of input html field
|
||||
* @param int $displayhour Display hour selector
|
||||
* @param int $displaymin Display minutes selector
|
||||
* @return void
|
||||
*/
|
||||
function form_date($page, $selected, $htmlname)
|
||||
function form_date($page, $selected, $htmlname,$displayhour=0,$displaymin=0)
|
||||
{
|
||||
global $langs;
|
||||
|
||||
@ -2626,7 +2633,7 @@ class Form
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<table class="nobordernopadding" cellpadding="0" cellspacing="0">';
|
||||
print '<tr><td>';
|
||||
print $this->select_date($selected,$htmlname,0,0,1,'form'.$htmlname);
|
||||
print $this->select_date($selected,$htmlname,$displayhour,$displaymin,1,'form'.$htmlname);
|
||||
print '</td>';
|
||||
print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
|
||||
print '</tr></table></form>';
|
||||
|
||||
@ -144,10 +144,10 @@ class FormActions
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
|
||||
|
||||
$actioncomm = new ActionComm($this->db);
|
||||
$actioncomm->getActions($socid, $object->id, $typeelement);
|
||||
$listofactions=ActionComm::getActions($this->db, $socid, $object->id, $typeelement);
|
||||
if (is_numeric($listofactions) && $listofactions < 0) dol_print_error($this->db,'FailedToGetActions');
|
||||
|
||||
$num = count($actioncomm->actions);
|
||||
$num = count($listofactions);
|
||||
if ($num)
|
||||
{
|
||||
if ($typeelement == 'invoice') $title=$langs->trans('ActionsOnBill');
|
||||
@ -164,17 +164,29 @@ class FormActions
|
||||
|
||||
$total = 0; $var=true;
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><th class="liste_titre">'.$langs->trans('Ref').'</th><th class="liste_titre">'.$langs->trans('Date').'</th><th class="liste_titre">'.$langs->trans('Action').'</th><th class="liste_titre">'.$langs->trans('By').'</th></tr>';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<th class="liste_titre">'.$langs->trans('Ref').'</th>';
|
||||
print '<th class="liste_titre">'.$langs->trans('Action').'</th>';
|
||||
print '<th class="liste_titre">'.$langs->trans('Date').'</th>';
|
||||
print '<th class="liste_titre">'.$langs->trans('By').'</th>';
|
||||
print '</tr>';
|
||||
print "\n";
|
||||
|
||||
foreach($actioncomm->actions as $action)
|
||||
$userstatic = new User($this->db);
|
||||
|
||||
foreach($listofactions as $action)
|
||||
{
|
||||
$savlabel=$action->label;
|
||||
$action->label=$action->ref;
|
||||
$ref=$action->getNomUrl(1);
|
||||
$action->label=$savlabel;
|
||||
$label=$action->getNomUrl(0,38);
|
||||
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'>';
|
||||
print '<td>'.$action->getNomUrl(1).'</td>';
|
||||
print '<td>'.$ref.'</td>';
|
||||
print '<td>'.$label.'</td>';
|
||||
print '<td>'.dol_print_date($action->datep,'day').'</td>';
|
||||
print '<td title="'.dol_escape_htmltag($action->label).'">'.dol_trunc($action->label,32).'</td>';
|
||||
$userstatic = new User($this->db);
|
||||
$userstatic->id = $action->author->id;
|
||||
$userstatic->firstname = $action->author->firstname;
|
||||
$userstatic->lastname = $action->author->lastname;
|
||||
@ -194,9 +206,10 @@ class FormActions
|
||||
* @param string $selected Type pre-selectionne
|
||||
* @param string $htmlname Nom champ formulaire
|
||||
* @param string $excludetype Type to exclude
|
||||
* @param string $onlyautoornot Group list by auto events or not
|
||||
* @return void
|
||||
*/
|
||||
function select_type_actions($selected='',$htmlname='actioncode',$excludetype='')
|
||||
function select_type_actions($selected='',$htmlname='actioncode',$excludetype='',$onlyautoornot=0)
|
||||
{
|
||||
global $langs,$user;
|
||||
|
||||
@ -205,12 +218,13 @@ class FormActions
|
||||
$caction=new CActionComm($this->db);
|
||||
$form=new Form($this->db);
|
||||
|
||||
$arraylist=$caction->liste_array(1, 'code', $excludetype);
|
||||
array_unshift($arraylist,' '); // Add empty line at start
|
||||
//asort($arraylist);
|
||||
// Suggest a list with manual event or all auto events
|
||||
$arraylist=$caction->liste_array(1, 'code', $excludetype, $onlyautoornot);
|
||||
array_unshift($arraylist,' '); // Add empty line at start
|
||||
//asort($arraylist);
|
||||
|
||||
print $form->selectarray($htmlname, $arraylist, $selected);
|
||||
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
|
||||
if ($user->admin && empty($onlyautoornot)) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -143,6 +143,9 @@ class Translate
|
||||
* If data for file already loaded, do nothing.
|
||||
* All data in translation array are stored in UTF-8 format.
|
||||
* tab_loaded is completed with $domain key.
|
||||
* Warning: MAIN_USE_CUSTOM_TRANSLATION is an old deprecated feature. Do not use it. It will revert
|
||||
* rule "we keep first entry found with we keep last entry found" so it is probably not what you want to do.
|
||||
*
|
||||
* Value for hash are: 1:Loaded from disk, 2:Not found, 3:Loaded from cache
|
||||
*
|
||||
* @param string $domain File name to load (.lang file). Must be "file" or "file@module" for module language files:
|
||||
@ -198,13 +201,14 @@ class Translate
|
||||
// Directory of translation files
|
||||
$file_lang = $searchdir.($modulename?'/'.$modulename:'')."/langs/".$langofdir."/".$newdomain.".lang";
|
||||
$file_lang_osencoded=dol_osencode($file_lang);
|
||||
|
||||
$filelangexists=is_file($file_lang_osencoded);
|
||||
|
||||
//dol_syslog('Translate::Load Try to read for alt='.$alt.' langofdir='.$langofdir.' file_lang='.$file_lang." => filelangexists=".$filelangexists);
|
||||
|
||||
if ($filelangexists)
|
||||
{
|
||||
// TODO Move cache read out of loop on dirs
|
||||
// TODO Move cache read out of loop on dirs or at least filelangexists
|
||||
$found=false;
|
||||
|
||||
// Enable caching of lang file in memory (not by default)
|
||||
|
||||
@ -729,6 +729,7 @@ function confirmConstantAction(action, url, code, input, box, entity, yesButton,
|
||||
modal: true,
|
||||
buttons: [
|
||||
{
|
||||
id : 'yesButton_' + code,
|
||||
text : yesButton,
|
||||
click : function() {
|
||||
if (action == "set") {
|
||||
@ -748,6 +749,7 @@ function confirmConstantAction(action, url, code, input, box, entity, yesButton,
|
||||
}
|
||||
},
|
||||
{
|
||||
id : 'noButton_' + code,
|
||||
text : noButton,
|
||||
click : function() {
|
||||
$(this).dialog("close");
|
||||
@ -755,6 +757,10 @@ function confirmConstantAction(action, url, code, input, box, entity, yesButton,
|
||||
}
|
||||
]
|
||||
});
|
||||
// For information dialog box only, hide the noButton
|
||||
if (boxConfirm.info) {
|
||||
$("#noButton_" + code).button().hide();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@ -93,7 +93,10 @@ function print_actions_filter($form,$canedit,$status,$year,$month,$day,$showbirt
|
||||
print '<td nowrap="nowrap">';
|
||||
print $langs->trans("Type");
|
||||
print ' </td><td nowrap="nowrap">';
|
||||
print $formactions->select_type_actions(GETPOST('actioncode'), "actioncode");
|
||||
|
||||
// print $formactions->select_type_actions(GETPOST('actioncode'), "actioncode");
|
||||
print $formactions->select_type_actions(GETPOST('actioncode')?GETPOST('actioncode'):'manual', "actioncode", '', (empty($conf->global->AGENDA_USE_EVENT_TYPE)?1:0));
|
||||
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
@ -440,9 +443,11 @@ function calendars_prepare_head($param)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'agenda');
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'agenda','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -375,6 +375,11 @@ function ajax_constantonoff($code, $input=array(), $entity=false)
|
||||
// Set constant
|
||||
$("#set_" + code).click(function() {
|
||||
if (input.alert && input.alert.set) {
|
||||
// Posibility to force label of buttons
|
||||
if (input.alert.set.yesButton)
|
||||
yesButton = input.alert.set.yesButton;
|
||||
if (input.alert.set.noButton)
|
||||
noButton = input.alert.set.noButton;
|
||||
confirmConstantAction("set", url, code, input, input.alert.set, entity, yesButton, noButton);
|
||||
} else {
|
||||
setConstant(url, code, input, entity);
|
||||
@ -384,6 +389,11 @@ function ajax_constantonoff($code, $input=array(), $entity=false)
|
||||
// Del constant
|
||||
$("#del_" + code).click(function() {
|
||||
if (input.alert && input.alert.del) {
|
||||
// Posibility to force label of buttons
|
||||
if (input.alert.del.yesButton)
|
||||
yesButton = input.alert.del.yesButton;
|
||||
if (input.alert.del.noButton)
|
||||
noButton = input.alert.del.noButton;
|
||||
confirmConstantAction("del", url, code, input, input.alert.del, entity, yesButton, noButton);
|
||||
} else {
|
||||
delConstant(url, code, input, entity);
|
||||
|
||||
@ -51,9 +51,11 @@ function categories_prepare_head($object,$type)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'categories_'.$type);
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'categories_'.$type,'remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -777,7 +777,7 @@ function show_actions_todo($conf,$langs,$db,$object,$objcon='',$noprint=0)
|
||||
if (get_class($object) == 'Adherent') $sql.= ", ".MAIN_DB_PREFIX."adherent as m";
|
||||
if (get_class($object) == 'Societe') $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople as sp ON a.fk_contact = sp.rowid";
|
||||
$sql.= " WHERE u.rowid = a.fk_user_author";
|
||||
$sql.= " AND a.entity IN (".getEntity('actioncomm').")";
|
||||
$sql.= " AND a.entity IN (".getEntity('agenda', 1).")";
|
||||
if (get_class($object) == 'Adherent') {
|
||||
$sql.= " AND a.fk_element = m.rowid AND a.elementtype = 'member'";
|
||||
if (! empty($object->id))
|
||||
@ -916,7 +916,7 @@ function show_actions_done($conf,$langs,$db,$object,$objcon='',$noprint=0)
|
||||
if (get_class($object) == 'Adherent') $sql.= ", ".MAIN_DB_PREFIX."adherent as m";
|
||||
if (get_class($object) == 'Societe') $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople as sp ON a.fk_contact = sp.rowid";
|
||||
$sql.= " WHERE u.rowid = a.fk_user_author";
|
||||
$sql.= " AND a.entity IN (".getEntity('actioncomm').")";
|
||||
$sql.= " AND a.entity IN (".getEntity('agenda', 1).")";
|
||||
if (get_class($object) == 'Adherent') $sql.= " AND a.fk_element = m.rowid AND a.elementtype = 'member'";
|
||||
if (get_class($object) == 'Adherent' && $object->id) $sql.= " AND a.fk_element = ".$object->id;
|
||||
if (get_class($object) == 'Societe' && $object->id) $sql.= " AND a.fk_soc = ".$object->id;
|
||||
|
||||
@ -63,7 +63,7 @@ function contact_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'contact');
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/contact/info.php?id='.$object->id;
|
||||
@ -71,7 +71,7 @@ function contact_prepare_head($object)
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'contact','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@ function contract_prepare_head($object)
|
||||
$head[$h][1] = $langs->trans("ContractCard");
|
||||
$head[$h][2] = 'card';
|
||||
$h++;
|
||||
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/contrat/contact.php?id='.$object->id;
|
||||
@ -50,9 +50,9 @@ function contract_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'contract');
|
||||
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_NOTES_TAB))
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/contrat/note.php?id='.$object->id;
|
||||
@ -71,6 +71,8 @@ function contract_prepare_head($object)
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'contract','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ function fichinter_prepare_head($object)
|
||||
$head[$h][1] = $langs->trans("Card");
|
||||
$head[$h][2] = 'card';
|
||||
$h++;
|
||||
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/fichinter/contact.php?id='.$object->id;
|
||||
@ -62,9 +62,9 @@ function fichinter_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'intervention');
|
||||
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_NOTES_TAB))
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/fichinter/note.php?id='.$object->id;
|
||||
@ -83,7 +83,9 @@ function fichinter_prepare_head($object)
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
return $head;
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'intervention','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -52,7 +52,7 @@ function facturefourn_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'supplier_invoice');
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_NOTES_TAB))
|
||||
@ -77,7 +77,9 @@ function facturefourn_prepare_head($object)
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
return $head;
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'supplier_invoice','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2703,9 +2703,8 @@ function get_localtax($tva, $local, $thirdparty_buyer="", $thirdparty_seller="")
|
||||
// Some test to guess with no need to make database access
|
||||
if ($mysoc->country_code == 'ES') // For spain, localtaxes are qualified if both supplier and seller use local taxe
|
||||
{
|
||||
if ($local == 1 && (! $thirdparty_seller->localtax1_assuj || ! $thirdparty_buyer->localtax1_assuj)) return 0;
|
||||
if ($local == 2 && (! $thirdparty_seller->localtax2_assuj || ! $thirdparty_buyer->localtax2_assuj)) return 0;
|
||||
|
||||
if ($local == 1 && ! $thirdparty_buyer->localtax1_assuj) return 0;
|
||||
if ($local == 2 && ! $thirdparty_seller->localtax2_assuj) return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2994,18 +2993,27 @@ function get_default_npr($thirdparty_seller, $thirdparty_buyer, $idprod)
|
||||
*/
|
||||
function get_default_localtax($thirdparty_seller, $thirdparty_buyer, $local, $idprod=0)
|
||||
{
|
||||
global $mysoc;
|
||||
|
||||
if (!is_object($thirdparty_seller)) return -1;
|
||||
if (!is_object($thirdparty_buyer)) return -1;
|
||||
|
||||
if ($local==1) //RE
|
||||
if ($local==1) // Localtax 1
|
||||
{
|
||||
// Si vendeur non assujeti a RE, localtax1 par default=0
|
||||
if (is_numeric($thirdparty_seller->localtax1_assuj) && ! $thirdparty_seller->localtax1_assuj) return 0;
|
||||
if (! is_numeric($thirdparty_seller->localtax1_assuj) && $thirdparty_seller->localtax1_assuj=='localtax1off') return 0;
|
||||
if ($mysoc->country_code == 'ES')
|
||||
{
|
||||
if (is_numeric($thirdparty_buyer->localtax1_assuj) && ! $thirdparty_buyer->localtax1_assuj) return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Si vendeur non assujeti a Localtax1, localtax1 par default=0
|
||||
if (is_numeric($thirdparty_seller->localtax1_assuj) && ! $thirdparty_seller->localtax1_assuj) return 0;
|
||||
if (! is_numeric($thirdparty_seller->localtax1_assuj) && $thirdparty_seller->localtax1_assuj=='localtax1off') return 0;
|
||||
}
|
||||
}
|
||||
elseif ($local==2) //IRPF
|
||||
elseif ($local==2) //I Localtax 2
|
||||
{
|
||||
// Si vendeur non assujeti a IRPF, localtax2 par default=0
|
||||
// Si vendeur non assujeti a Localtax2, localtax2 par default=0
|
||||
if (is_numeric($thirdparty_seller->localtax2_assuj) && ! $thirdparty_seller->localtax2_assuj) return 0;
|
||||
if (! is_numeric($thirdparty_seller->localtax2_assuj) && $thirdparty_seller->localtax2_assuj=='localtax2off') return 0;
|
||||
}
|
||||
@ -4208,35 +4216,6 @@ function getCurrencySymbol($currency_code)
|
||||
|
||||
return $currency_sign;
|
||||
}
|
||||
/**
|
||||
* Get type of one localtax
|
||||
*
|
||||
* @param int $vatrate VAT Rate
|
||||
* @param int $number Number of localtax (1 / 2)
|
||||
* @param int $thirdparty company object
|
||||
* @return array array(Type of local tax (1 to 7 / 0 if not found), rate or amount of localtax)
|
||||
*/
|
||||
|
||||
function getTypeOfLocalTaxFromRate($vatrate, $number, $thirdparty)
|
||||
{
|
||||
global $db;
|
||||
|
||||
// Search local taxes
|
||||
$sql = "SELECT t.localtax1, t.localtax1_type, t.localtax2, t.localtax2_type";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
|
||||
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$thirdparty->country_code."'";
|
||||
$sql .= " AND t.taux = ".$vatrate." AND t.active = 1";
|
||||
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
if ($number == 1) return array($obj->localtax1_type, $obj->localtax1);
|
||||
elseif ($number == 2) return array($obj->localtax2_type, $obj->localtax2);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (! function_exists('getmypid'))
|
||||
{
|
||||
|
||||
@ -39,7 +39,7 @@ function facture_prepare_head($object)
|
||||
$head[$h][1] = $langs->trans('CardBill');
|
||||
$head[$h][2] = 'compta';
|
||||
$h++;
|
||||
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/compta/facture/contact.php?facid='.$object->id;
|
||||
@ -68,9 +68,9 @@ function facture_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'invoice');
|
||||
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_NOTES_TAB))
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/compta/facture/note.php?facid='.$object->id;
|
||||
@ -93,6 +93,8 @@ function facture_prepare_head($object)
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'invoice','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -183,9 +183,11 @@ function member_stats_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'member_stats');
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'member_stats','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
?>
|
||||
|
||||
@ -67,7 +67,7 @@ function commande_prepare_head($object)
|
||||
$head[$h][2] = 'preview';
|
||||
$h++;
|
||||
}
|
||||
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/commande/contact.php?id='.$object->id;
|
||||
@ -79,7 +79,7 @@ function commande_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'order');
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/commande/document.php?id='.$object->id;
|
||||
@ -90,7 +90,7 @@ function commande_prepare_head($object)
|
||||
$head[$h][1] = $langs->trans('Documents');
|
||||
$head[$h][2] = 'documents';
|
||||
$h++;
|
||||
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_NOTES_TAB))
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/commande/note.php?id='.$object->id;
|
||||
@ -104,7 +104,9 @@ function commande_prepare_head($object)
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
return $head;
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'order','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -80,10 +80,8 @@ function pdf_getInstance($format='',$metric='mm',$pagetype='P')
|
||||
if (! empty($conf->global->MAIN_USE_FPDF) && ! empty($conf->global->MAIN_DISABLE_FPDI))
|
||||
return "Error MAIN_USE_FPDF and MAIN_DISABLE_FPDI can't be set together";
|
||||
|
||||
// We use by default TCPDF else FPDF
|
||||
// We use by default TCPDF
|
||||
if (empty($conf->global->MAIN_USE_FPDF)) require_once TCPDF_PATH.'tcpdf.php';
|
||||
else require_once FPDF_PATH.'fpdf.php';
|
||||
|
||||
// We need to instantiate fpdi object (instead of tcpdf) to use merging features. But we can disable it.
|
||||
if (empty($conf->global->MAIN_DISABLE_FPDI)) require_once FPDI_PATH.'fpdi.php';
|
||||
|
||||
@ -92,7 +90,7 @@ function pdf_getInstance($format='',$metric='mm',$pagetype='P')
|
||||
//$metric=$arrayformat['unit'];
|
||||
|
||||
// Protection et encryption du pdf
|
||||
if (empty($conf->global->MAIN_USE_FPDF) && ! empty($conf->global->PDF_SECURITY_ENCRYPTION))
|
||||
if (! empty($conf->global->PDF_SECURITY_ENCRYPTION))
|
||||
{
|
||||
/* Permission supported by TCPDF
|
||||
- print : Print the document;
|
||||
@ -105,11 +103,20 @@ function pdf_getInstance($format='',$metric='mm',$pagetype='P')
|
||||
- print-high : Print the document to a representation from which a faithful digital copy of the PDF content could be generated. When this is not set, printing is limited to a low-level representation of the appearance, possibly of degraded quality.
|
||||
- owner : (inverted logic - only for public-key) when set permits change of encryption and enables all other permissions.
|
||||
*/
|
||||
if (class_exists('FPDI')) $pdf = new FPDI($pagetype,$metric,$format);
|
||||
else $pdf = new TCPDF($pagetype,$metric,$format);
|
||||
// For TCPDF, we specify permission we want to block
|
||||
$pdfrights = array('modify','copy');
|
||||
|
||||
if (! empty($conf->global->MAIN_USE_FPDF))
|
||||
{
|
||||
require_once FPDI_PATH.'fpdi_protection.php';
|
||||
$pdf = new FPDI_Protection($pagetype,$metric,$format);
|
||||
// For FPDF, we specify permission we want to open
|
||||
$pdfrights = array('print');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (class_exists('FPDI')) $pdf = new FPDI($pagetype,$metric,$format);
|
||||
else $pdf = new TCPDF($pagetype,$metric,$format);
|
||||
// For TCPDF, we specify permission we want to block
|
||||
$pdfrights = array('modify','copy');
|
||||
}
|
||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
|
||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||
@ -119,43 +126,9 @@ function pdf_getInstance($format='',$metric='mm',$pagetype='P')
|
||||
if (class_exists('FPDI')) $pdf = new FPDI($pagetype,$metric,$format);
|
||||
else $pdf = new TCPDF($pagetype,$metric,$format);
|
||||
}
|
||||
|
||||
// If we use FPDF class, we may need to add method writeHTMLCell
|
||||
if (! empty($conf->global->MAIN_USE_FPDF) && ! method_exists($pdf, 'writeHTMLCell'))
|
||||
{
|
||||
// Declare here a class to overwrite FPDFI to add method writeHTMLCell
|
||||
/**
|
||||
* This class if a enhanced FPDI class that support method writeHTMLCell
|
||||
*/
|
||||
class FPDI_DolExtended extends FPDI
|
||||
{
|
||||
public function __call($method, $args)
|
||||
{
|
||||
if (isset($this->$method)) {
|
||||
$func = $this->$method;
|
||||
$func($args);
|
||||
}
|
||||
}
|
||||
|
||||
public function writeHTMLCell($w, $h, $x, $y, $html = '', $border = 0, $ln = 0, $fill = false, $reseth = true, $align = '', $autopadding = true)
|
||||
{
|
||||
$this->SetXY($x,$y);
|
||||
$val=str_replace('<br>',"\n",$html);
|
||||
$val=dol_string_nohtmltag($val,false,'ISO-8859-1');
|
||||
//print 'eee'.$val;exit;
|
||||
$this->MultiCell($w,$h,$val,$border,$align,$fill);
|
||||
}
|
||||
}
|
||||
|
||||
$pdf2=new FPDI_DolExtended($pagetype,$metric,$format);
|
||||
unset($pdf);
|
||||
$pdf=$pdf2;
|
||||
}
|
||||
|
||||
return $pdf;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return font name to use for PDF generation
|
||||
*
|
||||
@ -718,7 +691,7 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass
|
||||
{
|
||||
$pdf->SetFont('','B',7);
|
||||
$pdf->SetXY($dims['lm'],-$posy);
|
||||
$pdf->MultiCell($dims['wk']-$dims['rm'], 2, $line1, 0, 'C', 0);
|
||||
$pdf->MultiCell(200, 2, $line1, 0, 'C', 0);
|
||||
$posy-=3;
|
||||
$pdf->SetFont('','',7);
|
||||
}
|
||||
@ -727,7 +700,7 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass
|
||||
{
|
||||
$pdf->SetFont('','B',7);
|
||||
$pdf->SetXY($dims['lm'],-$posy);
|
||||
$pdf->MultiCell($dims['wk']-$dims['rm'], 2, $line2, 0, 'C', 0);
|
||||
$pdf->MultiCell(200, 2, $line2, 0, 'C', 0);
|
||||
$posy-=3;
|
||||
$pdf->SetFont('','',7);
|
||||
}
|
||||
@ -735,23 +708,22 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass
|
||||
if (! empty($line3))
|
||||
{
|
||||
$pdf->SetXY($dims['lm'],-$posy);
|
||||
$pdf->MultiCell($dims['wk']-$dims['rm'], 2, $line3, 0, 'C', 0);
|
||||
$pdf->MultiCell(200, 2, $line3, 0, 'C', 0);
|
||||
}
|
||||
|
||||
if (! empty($line4))
|
||||
{
|
||||
$posy-=3;
|
||||
$pdf->SetXY($dims['lm'],-$posy);
|
||||
$pdf->MultiCell($dims['wk']-$dims['rm'], 2, $line4, 0, 'C', 0);
|
||||
$pdf->MultiCell(200, 2, $line4, 0, 'C', 0);
|
||||
}
|
||||
|
||||
// Show page nb only on iso languages (so default Helvetica font)
|
||||
if (pdf_getPDFFont($outputlangs) == 'Helvetica')
|
||||
{
|
||||
$pdf->SetXY(-20,-$posy);
|
||||
//print 'xxx'.$pdf->PageNo().'-'.$pdf->getAliasNbPages().'-'.$pdf->getAliasNumPage();exit;
|
||||
if (empty($conf->global->MAIN_USE_FPDF)) $pdf->MultiCell(11, 2, $pdf->PageNo().'/'.$pdf->getAliasNbPages(), 0, 'R', 0);
|
||||
else $pdf->MultiCell(11, 2, $pdf->PageNo().'/{nb}', 0, 'R', 0);
|
||||
$pdf->MultiCell(11, 2, $pdf->PageNo().'/'.$pdf->getAliasNbPages(), 0, 'R', 0);
|
||||
//print 'xxx'.$pdf->getAliasNbPages().'-'.$pdf->getAliasNumPage();exit;
|
||||
}
|
||||
|
||||
return $marginwithfooter;
|
||||
|
||||
@ -75,9 +75,11 @@ function prelevement_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'prelevement');
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'prelevement','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -113,7 +113,7 @@ function product_prepare_head($object, $user)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'product');
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/product/document.php?id='.$object->id;
|
||||
@ -158,8 +158,8 @@ function product_admin_prepare_head($object=null)
|
||||
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'product_admin');
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/product/admin/product_extrafields.php';
|
||||
|
||||
@ -61,7 +61,7 @@ function project_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'project');
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/projet/document.php?id='.$object->id;
|
||||
@ -96,7 +96,9 @@ function project_prepare_head($object)
|
||||
$head[$h][2] = 'gantt';
|
||||
$h++;
|
||||
|
||||
return $head;
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'project','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -130,7 +132,7 @@ function task_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'task');
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/projet/tasks/document.php?id='.$object->id.(GETPOST('withproject')?'&withproject=1':'');;
|
||||
@ -147,6 +149,8 @@ function task_prepare_head($object)
|
||||
$head[$h][2] = 'task_notes';
|
||||
$h++;
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'task','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ function propal_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'propal');
|
||||
|
||||
if (empty($conf->global->MAIN_DISABLE_NOTES_TAB))
|
||||
@ -98,6 +98,8 @@ function propal_prepare_head($object)
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'propal','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -66,10 +66,12 @@ function shipping_prepare_head($object)
|
||||
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'delivery');
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'delivery','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
@ -105,10 +107,12 @@ function delivery_prepare_head($object)
|
||||
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'delivery');
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'delivery','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -66,7 +66,7 @@ function stock_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'stock');
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/product/stock/info.php?id='.$object->id;
|
||||
@ -74,7 +74,9 @@ function stock_prepare_head($object)
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
return $head;
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'stock','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
?>
|
||||
@ -45,7 +45,7 @@ function tax_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'tax');
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT.'/compta/sociales/document.php?id='.$object->id;
|
||||
@ -58,6 +58,8 @@ function tax_prepare_head($object)
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'tax','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -33,23 +33,25 @@ function trip_prepare_head($object)
|
||||
|
||||
$h = 0;
|
||||
$head = array();
|
||||
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT . '/compta/deplacement/fiche.php?id=' . $object->id;
|
||||
$head[$h][1] = $langs->trans("Card");
|
||||
$head[$h][2] = 'card';
|
||||
$h++;
|
||||
|
||||
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'trip');
|
||||
|
||||
|
||||
$head[$h][0] = DOL_URL_ROOT . '/compta/deplacement/info.php?id=' . $object->id;
|
||||
$head[$h][1] = $langs->trans("Info");
|
||||
$head[$h][2] = 'info';
|
||||
$h++;
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'trip','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
@ -81,8 +81,8 @@ function user_prepare_head($object)
|
||||
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:conditiontoshow:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:conditiontoshow:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'user');
|
||||
|
||||
if (! empty($user->societe_id))
|
||||
@ -98,6 +98,8 @@ function user_prepare_head($object)
|
||||
$h++;
|
||||
}
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'user','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
@ -140,9 +142,11 @@ function group_prepare_head($object)
|
||||
// Show more tabs from modules
|
||||
// Entries must be declared in modules descriptor with line
|
||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'group');
|
||||
|
||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'group','remove');
|
||||
|
||||
return $head;
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -84,7 +84,6 @@ class pdf_expedition_merou extends ModelePdfExpedition
|
||||
function write_file(&$object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0,$hookmanager=false)
|
||||
{
|
||||
global $user,$conf,$langs,$mysoc;
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
|
||||
$object->fetch_thirdparty();
|
||||
|
||||
@ -147,6 +146,7 @@ class pdf_expedition_merou extends ModelePdfExpedition
|
||||
$nblignes = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format,'mm','l');
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
$heightforinfotot = 0; // Height reserved to output the info and total part
|
||||
$heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page
|
||||
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
|
||||
|
||||
@ -87,7 +87,6 @@ class pdf_expedition_rouget extends ModelePdfExpedition
|
||||
function write_file(&$object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0,$hookmanager=false)
|
||||
{
|
||||
global $user,$conf,$langs;
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
|
||||
$object->fetch_thirdparty();
|
||||
|
||||
@ -133,7 +132,8 @@ class pdf_expedition_rouget extends ModelePdfExpedition
|
||||
$nblignes = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$heightforinfotot = 0; // Height reserved to output the info and total part
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
$heightforinfotot = 0; // Height reserved to output the info and total part
|
||||
$heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page
|
||||
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
|
||||
$pdf->SetAutoPageBreak(1,0);
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2008 Raphael Bertrand <raphael.bertrand@resultic.fr>
|
||||
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
*
|
||||
* 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
|
||||
@ -139,7 +138,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
*/
|
||||
function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0,$hookmanager=false)
|
||||
{
|
||||
global $user,$langs,$conf,$mysoc,$db;
|
||||
global $user,$langs,$conf;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -151,8 +150,6 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$outputlangs->load("bills");
|
||||
$outputlangs->load("products");
|
||||
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
|
||||
if ($conf->facture->dir_output)
|
||||
{
|
||||
$object->fetch_thirdparty();
|
||||
@ -187,6 +184,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$nblignes = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
$heightforinfotot = 50; // Height reserved to output the info and total part
|
||||
$heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page
|
||||
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
|
||||
@ -198,6 +196,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->setPrintFooter(false);
|
||||
}
|
||||
$pdf->SetFont(pdf_getPDFFont($outputlangs));
|
||||
|
||||
// Set path to the background PDF File
|
||||
if (empty($conf->global->MAIN_DISABLE_FPDI) && ! empty($conf->global->MAIN_ADD_PDF_BACKGROUND))
|
||||
{
|
||||
@ -366,40 +365,22 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$tvaligne=$object->lines[$i]->total_tva;
|
||||
$localtax1ligne=$object->lines[$i]->total_localtax1;
|
||||
$localtax2ligne=$object->lines[$i]->total_localtax2;
|
||||
$localtax1_rate=$object->lines[$i]->localtax1_tx;
|
||||
$localtax2_rate=$object->lines[$i]->localtax2_tx;
|
||||
$localtax1_type=$object->lines[$i]->localtax1_type;
|
||||
$localtax2_type=$object->lines[$i]->localtax2_type;
|
||||
|
||||
if ($object->remise_percent) $tvaligne-=($tvaligne*$object->remise_percent)/100;
|
||||
if ($object->remise_percent) $localtax1ligne-=($localtax1ligne*$object->remise_percent)/100;
|
||||
if ($object->remise_percent) $localtax2ligne-=($localtax2ligne*$object->remise_percent)/100;
|
||||
|
||||
$vatrate=(string) $object->lines[$i]->tva_tx;
|
||||
|
||||
// TODO : store local taxes types into object lines and remove this
|
||||
$localtax1_array=getTypeOfLocalTaxFromRate($vatrate,1,$mysoc);
|
||||
$localtax2_array=getTypeOfLocalTaxFromRate($vatrate,2,$mysoc);
|
||||
if (empty($localtax1_type))
|
||||
$localtax1_type = $localtax1_array[0];
|
||||
if (empty($localtax2_type))
|
||||
$localtax2_type = $localtax2_array[0];
|
||||
//end TODO
|
||||
|
||||
// retrieve global local tax
|
||||
if ($localtax1_type == '7')
|
||||
$localtax1_rate = $localtax1_array[1];
|
||||
if ($localtax2_type == '7')
|
||||
$localtax2_rate = $localtax2_array[1];
|
||||
|
||||
if ($localtax1ligne != 0 || $localtax1_type == '7')
|
||||
$this->localtax1[$localtax1_type][$localtax1_rate]+=$localtax1ligne;
|
||||
if ($localtax2ligne != 0 || $localtax2_type == '7')
|
||||
$this->localtax2[$localtax2_type][$localtax2_rate]+=$localtax2ligne;
|
||||
$localtax1rate=(string) $object->lines[$i]->localtax1_tx;
|
||||
$localtax2rate=(string) $object->lines[$i]->localtax2_tx;
|
||||
|
||||
if (($object->lines[$i]->info_bits & 0x01) == 0x01) $vatrate.='*';
|
||||
if (! isset($this->tva[$vatrate])) $this->tva[$vatrate]='';
|
||||
if (! isset($this->localtax1[$localtax1rate])) $this->localtax1[$localtax1rate]='';
|
||||
if (! isset($this->localtax2[$localtax2rate])) $this->localtax2[$localtax2rate]='';
|
||||
$this->tva[$vatrate] += $tvaligne;
|
||||
$this->localtax1[$localtax1rate]+=$localtax1ligne;
|
||||
$this->localtax2[$localtax2rate]+=$localtax2ligne;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
@ -841,84 +822,6 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
else
|
||||
{
|
||||
//Local tax 1 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '1':
|
||||
case '3':
|
||||
case '5':
|
||||
case '7':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
$index++;
|
||||
$pdf->SetXY ($col1x, $tab2_top + $tab2_hl * $index);
|
||||
|
||||
$tvacompl='';
|
||||
if (preg_match('/\*/',$tvakey))
|
||||
{
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->pays_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Local tax 2 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '1':
|
||||
case '3':
|
||||
case '5':
|
||||
case '7':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
|
||||
|
||||
$index++;
|
||||
$pdf->SetXY ($col1x, $tab2_top + $tab2_hl * $index);
|
||||
|
||||
$tvacompl='';
|
||||
if (preg_match('/\*/',$tvakey))
|
||||
{
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->pays_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// VAT
|
||||
foreach($this->tva as $tvakey => $tvaval)
|
||||
{
|
||||
if ($tvakey > 0) // On affiche pas taux 0
|
||||
@ -927,7 +830,6 @@ class pdf_crabe extends ModelePDFFactures
|
||||
|
||||
$index++;
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
|
||||
$tvacompl='';
|
||||
if (preg_match('/\*/',$tvakey))
|
||||
{
|
||||
@ -937,31 +839,52 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$totalvat =$outputlangs->transnoentities("TotalVAT").' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * $tvaval), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
|
||||
//Local tax 1 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
if (! $this->atleastoneratenotnull) // If no vat at all
|
||||
{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '2':
|
||||
case '4':
|
||||
case '6':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
$index++;
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalVAT"), 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * $object->total_tva), 0, 'R', 1);
|
||||
|
||||
// Total LocalTax1
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on' && $object->total_localtax1>0)
|
||||
{
|
||||
$index++;
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT1".$mysoc->country_code), $useborder, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * $object->total_localtax1), $useborder, 'R', 1);
|
||||
}
|
||||
|
||||
// Total LocalTax2
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on' && $object->total_localtax2>0)
|
||||
{
|
||||
$index++;
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT2".$mysoc->country_code), $useborder, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * $object->total_localtax2), $useborder, 'R', 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
//Local tax 1
|
||||
foreach($this->localtax1 as $tvakey => $tvaval)
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
$index++;
|
||||
$pdf->SetXY ($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
|
||||
$tvacompl='';
|
||||
if (preg_match('/\*/',$tvakey))
|
||||
@ -969,44 +892,27 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->pays_code).' ';
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$totalvat =$outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey), 0, 'R', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
}
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * $tvaval), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Local tax 2 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '2':
|
||||
case '4':
|
||||
case '6':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
//Local tax 2
|
||||
foreach($this->localtax2 as $tvakey => $tvaval)
|
||||
{
|
||||
// retrieve global local tax
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
$index++;
|
||||
$pdf->SetXY ($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
|
||||
$tvacompl='';
|
||||
if (preg_match('/\*/',$tvakey))
|
||||
@ -1014,21 +920,12 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$tvakey=str_replace('*','',$tvakey);
|
||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||
}
|
||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->pays_code).' ';
|
||||
$totalvat =$outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey), 0, 'R', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY ($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
}
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * $tvaval), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1039,10 +936,11 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->SetFillColor(224,224,224);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalTTC"), $useborder, 'L', 1);
|
||||
|
||||
$text=$outputlangs->transnoentities("TotalTTC");
|
||||
if ($object->type == 2) $text=$outputlangs->transnoentities("TotalTTCToYourCredit");
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $text, $useborder, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc), $useborder, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * $object->total_ttc), $useborder, 'R', 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -117,8 +117,6 @@ class pdf_soleil extends ModelePDFFicheinter
|
||||
$outputlangs->load("companies");
|
||||
$outputlangs->load("interventions");
|
||||
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
|
||||
if ($conf->ficheinter->dir_output)
|
||||
{
|
||||
$object->fetch_thirdparty();
|
||||
@ -140,6 +138,7 @@ class pdf_soleil extends ModelePDFFicheinter
|
||||
if (file_exists($dir))
|
||||
{
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
$heightforinfotot = 50; // Height reserved to output the info and total part
|
||||
$heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page
|
||||
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
|
||||
|
||||
@ -113,7 +113,6 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
||||
function write_file($object,$outputlangs)
|
||||
{
|
||||
global $user,$langs,$conf;
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -150,6 +149,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
||||
if (file_exists($dir))
|
||||
{
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
$heightforinfotot = 50; // Height reserved to output the info and total part
|
||||
$heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page
|
||||
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
|
||||
|
||||
@ -108,8 +108,6 @@ class pdf_baleine extends ModelePDFProjects
|
||||
{
|
||||
$nblignes = count($object->lines);
|
||||
|
||||
$default_font_size = pdf_getPDFFontsize($outputlangs);
|
||||
|
||||
$objectref = dol_sanitizeFileName($object->ref);
|
||||
$dir = $conf->projet->dir_output;
|
||||
if (! preg_match('/specimen/i',$objectref)) $dir.= "/" . $objectref;
|
||||
@ -127,6 +125,7 @@ class pdf_baleine extends ModelePDFProjects
|
||||
if (file_exists($dir))
|
||||
{
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
$heightforinfotot = 50; // Height reserved to output the info and total part
|
||||
$heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page
|
||||
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
|
||||
|
||||
@ -119,6 +119,8 @@ class pdf_azur extends ModelePDFPropales
|
||||
$this->tva=array();
|
||||
$this->localtax1=array();
|
||||
$this->localtax2=array();
|
||||
$this->localtax1_type=array();
|
||||
$this->localtax2_type=array();
|
||||
$this->atleastoneratenotnull=0;
|
||||
$this->atleastonediscount=0;
|
||||
}
|
||||
@ -137,7 +139,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
*/
|
||||
function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0,$hookmanager=false)
|
||||
{
|
||||
global $user,$langs,$conf,$mysoc,$db;
|
||||
global $user,$langs,$conf;
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
// For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||
@ -150,8 +152,6 @@ class pdf_azur extends ModelePDFPropales
|
||||
$outputlangs->load("propal");
|
||||
$outputlangs->load("products");
|
||||
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
|
||||
if ($conf->propal->dir_output)
|
||||
{
|
||||
$object->fetch_thirdparty();
|
||||
@ -186,6 +186,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
|
||||
// Create pdf instance
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
$heightforinfotot = 50; // Height reserved to output the info and total part
|
||||
$heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page
|
||||
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
|
||||
@ -363,40 +364,31 @@ class pdf_azur extends ModelePDFPropales
|
||||
$tvaligne=$object->lines[$i]->total_tva;
|
||||
$localtax1ligne=$object->lines[$i]->total_localtax1;
|
||||
$localtax2ligne=$object->lines[$i]->total_localtax2;
|
||||
$localtax1_rate=$object->lines[$i]->localtax1_tx;
|
||||
$localtax2_rate=$object->lines[$i]->localtax2_tx;
|
||||
$localtax1_type=$object->lines[$i]->localtax1_type;
|
||||
$localtax2_type=$object->lines[$i]->localtax2_type;
|
||||
|
||||
if ($object->remise_percent) $tvaligne-=($tvaligne*$object->remise_percent)/100;
|
||||
if ($object->remise_percent) $localtax1ligne-=($localtax1ligne*$object->remise_percent)/100;
|
||||
if ($object->remise_percent) $localtax2ligne-=($localtax2ligne*$object->remise_percent)/100;
|
||||
|
||||
$vatrate=(string) $object->lines[$i]->tva_tx;
|
||||
// TODO : store local taxes types into object lines and remove this
|
||||
$localtax1_array=getTypeOfLocalTaxFromRate($vatrate,1,$mysoc);
|
||||
$localtax2_array=getTypeOfLocalTaxFromRate($vatrate,2,$mysoc);
|
||||
if (empty($localtax1_type))
|
||||
$localtax1_type = $localtax1_array[0];
|
||||
if (empty($localtax2_type))
|
||||
$localtax2_type = $localtax2_array[0];
|
||||
//end TODO
|
||||
|
||||
// retrieve global local tax
|
||||
if ($localtax1_type == '7')
|
||||
$localtax1_rate = $localtax1_array[1];
|
||||
if ($localtax2_type == '7')
|
||||
$localtax2_rate = $localtax2_array[1];
|
||||
|
||||
if ($localtax1ligne != 0 || $localtax1_type == '7')
|
||||
$this->localtax1[$localtax1_type][$localtax1_rate]+=$localtax1ligne;
|
||||
if ($localtax2ligne != 0 || $localtax2_type == '7')
|
||||
$this->localtax2[$localtax2_type][$localtax2_rate]+=$localtax2ligne;
|
||||
|
||||
if (($object->lines[$i]->info_bits & 0x01) == 0x01) $vatrate.='*';
|
||||
if (! isset($this->tva[$vatrate])) $this->tva[$vatrate]='';
|
||||
$this->tva[$vatrate] += $tvaligne;
|
||||
|
||||
// Search local taxes
|
||||
$sql = "SELECT t.localtax1, t.localtax1_type, t.localtax2, t.localtax2_type";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
|
||||
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$object->client->country_code."'";
|
||||
$sql .= " AND t.taux = ".$vatrate." AND t.active = 1";
|
||||
|
||||
$resqlt=$this->db->query($sql);
|
||||
if ($resqlt)
|
||||
{
|
||||
$objt = $this->db->fetch_object($resqlt);
|
||||
$this->localtax1[$objt->localtax1_type][$objt->localtax1]+=$localtax1ligne;
|
||||
$this->localtax2[$objt->localtax2_type][$objt->localtax2]+=$localtax2ligne;
|
||||
}
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
{
|
||||
|
||||
@ -146,8 +146,6 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
$outputlangs->load("bills");
|
||||
$outputlangs->load("products");
|
||||
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
|
||||
if ($conf->fournisseur->dir_output.'/facture')
|
||||
{
|
||||
$object->fetch_thirdparty();
|
||||
@ -184,6 +182,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
$nblignes = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
$heightforinfotot = 50; // Height reserved to output the info and total part
|
||||
$heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page
|
||||
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
|
||||
|
||||
@ -156,8 +156,6 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
$outputlangs->load("products");
|
||||
$outputlangs->load("orders");
|
||||
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||
|
||||
if ($conf->fournisseur->dir_output.'/commande')
|
||||
{
|
||||
$object->fetch_thirdparty();
|
||||
@ -196,6 +194,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
$nblignes = count($object->lines);
|
||||
|
||||
$pdf=pdf_getInstance($this->format);
|
||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||
$heightforinfotot = 50; // Height reserved to output the info and total part
|
||||
$heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page
|
||||
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
|
||||
|
||||
@ -127,7 +127,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("other");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("NewCompanyToDolibarr",$object->nom);
|
||||
$object->actionmsg=$langs->transnoentities("NewCompanyToDolibarr",$object->nom);
|
||||
if ($object->prefix) $object->actionmsg.=" (".$object->prefix.")";
|
||||
@ -146,7 +146,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("contracts");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("ContractValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("ContractValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -160,7 +160,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("propal");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("PropalValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("PropalValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -174,7 +174,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("propal");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_EMAIL';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("ProposalSentByEMail",$object->ref);
|
||||
if (empty($object->actionmsg))
|
||||
{
|
||||
@ -192,7 +192,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("propal");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("PropalClosedSignedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("PropalClosedSignedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -206,7 +206,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("propal");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("PropalClosedRefusedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("PropalClosedRefusedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -220,7 +220,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("orders");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -234,7 +234,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("orders");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_EMAIL';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("OrderSentByEMail",$object->ref);
|
||||
if (empty($object->actionmsg))
|
||||
{
|
||||
@ -253,7 +253,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("bills");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -268,7 +268,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("bills");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_EMAIL';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceSentByEMail",$object->ref);
|
||||
if (empty($object->actionmsg))
|
||||
{
|
||||
@ -288,7 +288,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("agenda");
|
||||
|
||||
// Values for this action can't be defined by caller.
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
$object->actionmsg2=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -303,7 +303,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("bills");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -318,7 +318,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("interventions");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InterventionValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("InterventionValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -335,7 +335,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("interventions");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_EMAIL';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InterventionSentByEMail",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("InterventionSentByEMail",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -351,7 +351,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("sendings");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_SHIP';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("ShippingSentByEMail",$object->ref);
|
||||
if (empty($object->actionmsg))
|
||||
{
|
||||
@ -369,7 +369,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("orders");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("OrderValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -385,7 +385,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("agenda");
|
||||
$langs->load("orders");
|
||||
|
||||
$object->actiontypecode='AC_EMAIL';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("SupplierOrderSentByEMail",$object->ref);
|
||||
if (empty($object->actionmsg))
|
||||
{
|
||||
@ -404,7 +404,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("bills");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("InvoiceValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -420,7 +420,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("agenda");
|
||||
$langs->load("orders");
|
||||
|
||||
$object->actiontypecode='AC_EMAIL';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("SupplierInvoiceSentByEMail",$object->ref);
|
||||
if (empty($object->actionmsg))
|
||||
{
|
||||
@ -439,7 +439,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("bills");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -454,7 +454,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("bills");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("InvoiceCanceledInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||
@ -471,7 +471,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("members");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("MemberValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("MemberValidatedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Member").': '.$object->getFullName($langs);
|
||||
@ -488,7 +488,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("members");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("MemberSubscriptionAddedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("MemberSubscriptionAddedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Member").': '.$object->getFullName($langs);
|
||||
@ -511,7 +511,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("members");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("MemberResiliatedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("MemberResiliatedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Member").': '.$object->getFullName($langs);
|
||||
@ -528,7 +528,7 @@ class InterfaceActionsAuto
|
||||
$langs->load("members");
|
||||
$langs->load("agenda");
|
||||
|
||||
$object->actiontypecode='AC_OTH';
|
||||
$object->actiontypecode='AC_OTH_AUTO';
|
||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("MemberDeletedInDolibarr",$object->ref);
|
||||
$object->actionmsg=$langs->transnoentities("MemberDeletedInDolibarr",$object->ref);
|
||||
$object->actionmsg.="\n".$langs->transnoentities("Member").': '.$object->getFullName($langs);
|
||||
|
||||
@ -294,7 +294,7 @@ class Export
|
||||
}
|
||||
break;
|
||||
case 'Boolean':
|
||||
$szFilterQuery=" ".$NameField."=".(is_numeric($ValueField) ? $ValueField : ($ValueField =='yes' ? 1: 0) );
|
||||
$szFilterQuery=" ".$NameField."=".(is_numeric($ValueField) ? $ValueField : ($ValueField =='yes' ? 1: 0) );
|
||||
break;
|
||||
case 'Status':
|
||||
case 'List':
|
||||
|
||||
@ -1122,7 +1122,7 @@ print '<br>';
|
||||
|
||||
llxFooter();
|
||||
|
||||
$db->close();
|
||||
$db->close();
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@ -207,7 +207,6 @@ define('MAIN_DB_PREFIX',$dolibarr_main_db_prefix);
|
||||
// Path to root libraries
|
||||
if (! defined('ADODB_PATH')) { define('ADODB_PATH', (!isset($dolibarr_lib_ADODB_PATH))?DOL_DOCUMENT_ROOT.'/includes/adodbtime/':(empty($dolibarr_lib_ADODB_PATH)?'':$dolibarr_lib_ADODB_PATH.'/')); }
|
||||
if (! defined('TCPDF_PATH')) { define('TCPDF_PATH', (!isset($dolibarr_lib_TCPDF_PATH))?DOL_DOCUMENT_ROOT.'/includes/tcpdf/':(empty($dolibarr_lib_TCPDF_PATH)?'':$dolibarr_lib_TCPDF_PATH.'/')); }
|
||||
if (! defined('FPDF_PATH')) { define('FPDF_PATH', (!isset($dolibarr_lib_FPDF_PATH))?DOL_DOCUMENT_ROOT.'/includes/fpdf/':(empty($dolibarr_lib_FPDF_PATH)?'':$dolibarr_lib_FPDF_PATH.'/')); } // Used only for package that can't include tcpdf
|
||||
if (! defined('FPDI_PATH')) { define('FPDI_PATH', (!isset($dolibarr_lib_FPDI_PATH))?DOL_DOCUMENT_ROOT.'/includes/fpdfi/':(empty($dolibarr_lib_FPDI_PATH)?'':$dolibarr_lib_FPDI_PATH.'/')); }
|
||||
if (! defined('NUSOAP_PATH')) { define('NUSOAP_PATH', (!isset($dolibarr_lib_NUSOAP_PATH))?DOL_DOCUMENT_ROOT.'/includes/nusoap/lib/':(empty($dolibarr_lib_NUSOAP_PATH)?'':$dolibarr_lib_NUSOAP_PATH.'/')); }
|
||||
if (! defined('PHPEXCEL_PATH')) { define('PHPEXCEL_PATH', (!isset($dolibarr_lib_PHPEXCEL_PATH))?DOL_DOCUMENT_ROOT.'/includes/phpexcel/':(empty($dolibarr_lib_PHPEXCEL_PATH)?'':$dolibarr_lib_PHPEXCEL_PATH.'/')); }
|
||||
|
||||
@ -889,7 +889,7 @@ class CommandeFournisseur extends CommonOrder
|
||||
dol_syslog(get_class($this)."::commande sql=".$sql, LOG_DEBUG);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
$result = 0;
|
||||
$result = 1;
|
||||
$this->log($user, 3, $date, $comment);
|
||||
}
|
||||
else
|
||||
@ -954,34 +954,67 @@ class CommandeFournisseur extends CommonOrder
|
||||
{
|
||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."commande_fournisseur");
|
||||
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur";
|
||||
$sql.= " SET ref='(PROV".$this->id.")'";
|
||||
$sql.= " WHERE rowid=".$this->id;
|
||||
dol_syslog(get_class($this)."::create sql=".$sql);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
// On logue creation pour historique
|
||||
$this->log($user, 0, time());
|
||||
if ($this->id) {
|
||||
$num=count($this->lines);
|
||||
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Appel des triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('ORDER_SUPPLIER_CREATE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
}
|
||||
/*
|
||||
* Insertion du detail des produits dans la base
|
||||
*/
|
||||
for ($i=0;$i<$num;$i++)
|
||||
{
|
||||
$result = $this->addline(
|
||||
$this->lines[$i]->desc,
|
||||
$this->lines[$i]->subprice,
|
||||
$this->lines[$i]->qty,
|
||||
$this->lines[$i]->tva_tx,
|
||||
$this->lines[$i]->localtax1_tx,
|
||||
$this->lines[$i]->localtax2_tx,
|
||||
$this->lines[$i]->fk_product,
|
||||
0,
|
||||
$this->lines[$i]->ref_fourn,
|
||||
$this->lines[$i]->remise_percent,
|
||||
'HT',
|
||||
0,
|
||||
$this->lines[$i]->info_bits
|
||||
);
|
||||
if ($result < 0)
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_print_error($this->db);
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
$this->db->commit();
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dol_syslog(get_class($this)."::create: Failed -2 - ".$this->error, LOG_ERR);
|
||||
$this->db->rollback();
|
||||
return -2;
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur";
|
||||
$sql.= " SET ref='(PROV".$this->id.")'";
|
||||
$sql.= " WHERE rowid=".$this->id;
|
||||
dol_syslog(get_class($this)."::create sql=".$sql);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
// On logue creation pour historique
|
||||
$this->log($user, 0, time());
|
||||
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Appel des triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('ORDER_SUPPLIER_CREATE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
$this->db->commit();
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dol_syslog(get_class($this)."::create: Failed -2 - ".$this->error, LOG_ERR);
|
||||
$this->db->rollback();
|
||||
return -2;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -993,6 +1026,69 @@ class CommandeFournisseur extends CommonOrder
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load an object from its id and create a new one in database
|
||||
*
|
||||
* @param HookManager $hookmanager Hook manager instance
|
||||
* @return int New id of clone
|
||||
*/
|
||||
function createFromClone($hookmanager=false)
|
||||
{
|
||||
global $conf,$user,$langs;
|
||||
|
||||
$error=0;
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
// Load source object
|
||||
$objFrom = dol_clone($this);
|
||||
|
||||
$this->id=0;
|
||||
$this->statut=0;
|
||||
|
||||
// Clear fields
|
||||
$this->user_author_id = $user->id;
|
||||
$this->user_valid = '';
|
||||
$this->date_creation = '';
|
||||
$this->date_validation = '';
|
||||
$this->ref_supplier = '';
|
||||
|
||||
// Create clone
|
||||
$result=$this->create($user);
|
||||
if ($result < 0) $error++;
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
// Hook of thirdparty module
|
||||
if (is_object($hookmanager))
|
||||
{
|
||||
$parameters=array('objFrom'=>$objFrom);
|
||||
$action='';
|
||||
$reshook=$hookmanager->executeHooks('createFrom',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) $error++;
|
||||
}
|
||||
|
||||
// Appel des triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('ORDER_SUPPLIER_CLONE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
// End
|
||||
if (! $error)
|
||||
{
|
||||
$this->db->commit();
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add order line
|
||||
*
|
||||
@ -1044,7 +1140,6 @@ class CommandeFournisseur extends CommonOrder
|
||||
}
|
||||
$desc=trim($desc);
|
||||
|
||||
|
||||
// Check parameters
|
||||
if ($qty < 1 && ! $fk_product)
|
||||
{
|
||||
@ -1053,7 +1148,6 @@ class CommandeFournisseur extends CommonOrder
|
||||
}
|
||||
if ($type < 0) return -1;
|
||||
|
||||
|
||||
if ($this->statut == 0)
|
||||
{
|
||||
$this->db->begin();
|
||||
@ -1076,7 +1170,7 @@ class CommandeFournisseur extends CommonOrder
|
||||
$this->error="No price found for this quantity. Quantity may be too low ?";
|
||||
$this->db->rollback();
|
||||
dol_syslog(get_class($this)."::addline result=".$result." - ".$this->error, LOG_DEBUG);
|
||||
return -1;
|
||||
return -1; // FIXME this return create an error in jenkins
|
||||
}
|
||||
if ($result < -1)
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -122,7 +122,7 @@ if ($resql)
|
||||
|
||||
print_barre_liste($title, $page, "liste.php", "", $sortfield, $sortorder, '', $num);
|
||||
print '<form action="liste.php" method="GET">';
|
||||
print '<table class="liste">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"cf.ref","","",'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","",'',$sortfield,$sortorder);
|
||||
|
||||
@ -82,7 +82,7 @@ if ($action == 'confirm_clone' && $confirm == 'yes')
|
||||
$result=$object->createFromClone($id);
|
||||
if ($result > 0)
|
||||
{
|
||||
header("Location: ".$_SERVER['PHP_SELF'].'?id='.$result);
|
||||
header("Location: ".$_SERVER['PHP_SELF'].'?action=editfacnumber&id='.$result);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
@ -469,7 +469,7 @@ elseif ($action == 'addline')
|
||||
if (GETPOST('search_idprodfournprice') || GETPOST('idprodfournprice')) // With combolist idprodfournprice is > 0 or -1, with autocomplete, idprodfournprice is > 0 or ''
|
||||
{
|
||||
$idprod=0;
|
||||
$product=new Product($db);
|
||||
$product=new Product($db);
|
||||
|
||||
if (GETPOST('idprodfournprice') == '')
|
||||
{
|
||||
@ -1820,12 +1820,12 @@ else
|
||||
print '<input type="hidden" name="socid" value="'. $object->socid .'">';
|
||||
print '<input type="hidden" name="facid" value="'.$object->id.'">';
|
||||
|
||||
print '<script type="text/javascript">
|
||||
jQuery(document).ready(function() {
|
||||
jQuery(\'#idprodfournprice\').change(function() {
|
||||
if (jQuery(\'#idprodfournprice\').val() > 0) jQuery(\'#np_desc\').focus();
|
||||
print '<script type="text/javascript">
|
||||
jQuery(document).ready(function() {
|
||||
jQuery(\'#idprodfournprice\').change(function() {
|
||||
if (jQuery(\'#idprodfournprice\').val() > 0) jQuery(\'#np_desc\').focus();
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>';
|
||||
|
||||
$var=! $var;
|
||||
|
||||
@ -90,11 +90,11 @@ class Holiday extends CommonObject
|
||||
$error=0;
|
||||
|
||||
$now=dol_now();
|
||||
|
||||
|
||||
// Check parameters
|
||||
if (empty($this->fk_user) || ! is_numeric($this->fk_user) || $this->fk_user < 0) { $this->error="ErrorBadParameter"; return -1; }
|
||||
if (empty($this->fk_validator) || ! is_numeric($this->fk_validator) || $this->fk_validator < 0) { $this->error="ErrorBadParameter"; return -1; }
|
||||
|
||||
|
||||
// Insert request
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."holiday(";
|
||||
|
||||
@ -191,7 +191,8 @@ class Holiday extends CommonObject
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
$this->rowid = $obj->rowid;
|
||||
$this->id = $obj->rowid;
|
||||
$this->rowid = $obj->rowid; // deprecated
|
||||
$this->fk_user = $obj->fk_user;
|
||||
$this->date_create = $this->db->jdate($obj->date_create);
|
||||
$this->description = $obj->description;
|
||||
@ -206,8 +207,6 @@ class Holiday extends CommonObject
|
||||
$this->date_cancel = $this->db->jdate($obj->date_cancel);
|
||||
$this->fk_user_cancel = $obj->fk_user_cancel;
|
||||
$this->detail_refuse = $obj->detail_refuse;
|
||||
|
||||
|
||||
}
|
||||
$this->db->free($resql);
|
||||
|
||||
@ -1601,17 +1600,17 @@ class Holiday extends CommonObject
|
||||
function initAsSpecimen()
|
||||
{
|
||||
global $user,$langs;
|
||||
|
||||
|
||||
// Initialise parameters
|
||||
$this->id=0;
|
||||
$this->specimen=1;
|
||||
|
||||
|
||||
$this->fk_user=1;
|
||||
$this->description='SPECIMEN description';
|
||||
$this->date_debut=dol_now();
|
||||
$this->date_fin=dol_now()+(24*3600);
|
||||
$this->fk_validator=1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@ -30,6 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/holiday.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/holiday/common.inc.php';
|
||||
|
||||
// Get parameters
|
||||
@ -752,9 +753,9 @@ else
|
||||
//print_fiche_titre($langs->trans('TitreRequestCP'));
|
||||
|
||||
// Si il y a une erreur
|
||||
if (GETPOST('error'))
|
||||
if (GETPOST('error'))
|
||||
{
|
||||
switch(GETPOST('error'))
|
||||
switch(GETPOST('error'))
|
||||
{
|
||||
case 'datefin' :
|
||||
$errors[] = $langs->transnoentitiesnoconv('ErrorEndDateCP');
|
||||
@ -829,16 +830,8 @@ else
|
||||
if ($ret == 'html') print '<br />';
|
||||
}
|
||||
|
||||
$head=holiday_prepare_head($cp);
|
||||
|
||||
$h=0;
|
||||
$head = array();
|
||||
$head[$h][0] = DOL_URL_ROOT . '/holiday/fiche.php?id='.$id;
|
||||
$head[$h][1] = $langs->trans("Card");
|
||||
$head[$h][2] = 'card';
|
||||
$h++;
|
||||
|
||||
complete_head_from_modules($conf,$langs,$cp,$head,$h,'holiday');
|
||||
|
||||
dol_fiche_head($head,'card',$langs->trans("CPTitreMenu"),0,'holiday');
|
||||
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ $search_employe = GETPOST('search_employe');
|
||||
$search_valideur = GETPOST('search_valideur');
|
||||
$search_statut = GETPOST('select_statut');
|
||||
|
||||
$holiday = new Holiday($db);
|
||||
$holiday = new Holiday($db);
|
||||
|
||||
/*
|
||||
* Actions
|
||||
|
||||
@ -55,8 +55,8 @@ $db_prefix=GETPOST('db_prefix','alpha');
|
||||
session_start(); // To be able to keep info into session (used for not loosing pass during navigation. pass must not transit throug parmaeters)
|
||||
|
||||
// Save a flag to tell to restore input value if we do back
|
||||
$_SESSION['dol_save_pass']=$db_pass;
|
||||
//$_SESSION['dol_save_passroot']=$passroot;
|
||||
$_SESSION['dol_save_pass']=$db_pass;
|
||||
//$_SESSION['dol_save_passroot']=$passroot;
|
||||
|
||||
// Now we load forced value from install.forced.php file.
|
||||
$useforcedwizard=false;
|
||||
@ -874,15 +874,6 @@ function write_conf_file($conffile)
|
||||
|
||||
// Write params to overwrites default lib path
|
||||
fputs($fp,"\n");
|
||||
if (empty($force_dolibarr_lib_TCPDF_PATH)) { fputs($fp, '//'); $force_dolibarr_lib_TCPDF_PATH=''; }
|
||||
fputs($fp, '$dolibarr_lib_TCPDF_PATH=\''.$force_dolibarr_lib_TCPDF_PATH.'\';');
|
||||
fputs($fp,"\n");
|
||||
if (empty($force_dolibarr_lib_FPDF_PATH)) { fputs($fp, '//'); $force_dolibarr_lib_FPDF_PATH=''; }
|
||||
fputs($fp, '$dolibarr_lib_FPDF_PATH=\''.$force_dolibarr_lib_FPDF_PATH.'\';');
|
||||
fputs($fp,"\n");
|
||||
if (empty($force_dolibarr_lib_FPDI_PATH)) { fputs($fp, '//'); $force_dolibarr_lib_FPDI_PATH=''; }
|
||||
fputs($fp, '$dolibarr_lib_FPDI_PATH=\''.$force_dolibarr_lib_FPDI_PATH.'\';');
|
||||
fputs($fp,"\n");
|
||||
if (empty($force_dolibarr_lib_ADODB_PATH)) { fputs($fp, '//'); $force_dolibarr_lib_ADODB_PATH=''; }
|
||||
fputs($fp, '$dolibarr_lib_ADODB_PATH=\''.$force_dolibarr_lib_ADODB_PATH.'\';');
|
||||
fputs($fp,"\n");
|
||||
@ -892,6 +883,9 @@ function write_conf_file($conffile)
|
||||
if (empty($force_dolibarr_lib_NUSOAP_PATH)) { fputs($fp, '//'); $force_dolibarr_lib_NUSOAP_PATH=''; }
|
||||
fputs($fp, '$dolibarr_lib_NUSOAP_PATH=\''.$force_dolibarr_lib_NUSOAP_PATH.'\';');
|
||||
fputs($fp,"\n");
|
||||
if (empty($force_dolibarr_lib_FPDI_PATH)) { fputs($fp, '//'); $force_dolibarr_lib_FPDI_PATH=''; }
|
||||
fputs($fp, '$dolibarr_lib_FPDI_PATH=\''.$force_dolibarr_lib_FPDI_PATH.'\';');
|
||||
fputs($fp,"\n");
|
||||
if (empty($force_dolibarr_lib_PHPEXCEL_PATH)) { fputs($fp, '//'); $force_dolibarr_lib_PHPEXCEL_PATH=''; }
|
||||
fputs($fp, '$dolibarr_lib_PHPEXCEL_PATH=\''.$force_dolibarr_lib_PHPEXCEL_PATH.'\';');
|
||||
fputs($fp,"\n");
|
||||
@ -901,6 +895,9 @@ function write_conf_file($conffile)
|
||||
if (empty($force_dolibarr_lib_ODTPHP_PATHTOPCLZIP)) { fputs($fp, '//'); $force_dolibarr_lib_ODTPHP_PATHTOPCLZIP=''; }
|
||||
fputs($fp, '$dolibarr_lib_ODTPHP_PATHTOPCLZIP=\''.$force_dolibarr_lib_ODTPHP_PATHTOPCLZIP.'\';');
|
||||
fputs($fp,"\n");
|
||||
if (empty($force_dolibarr_lib_TCPDF_PATH)) { fputs($fp, '//'); $force_dolibarr_lib_TCPDF_PATH=''; }
|
||||
fputs($fp, '$dolibarr_lib_TCPDF_PATH=\''.$force_dolibarr_lib_TCPDF_PATH.'\';');
|
||||
fputs($fp,"\n");
|
||||
if (empty($force_dolibarr_js_CKEDITOR)) { fputs($fp, '//'); $force_dolibarr_js_CKEDITOR=''; }
|
||||
fputs($fp, '$dolibarr_js_CKEDITOR=\''.$force_dolibarr_js_CKEDITOR.'\';');
|
||||
fputs($fp,"\n");
|
||||
|
||||
@ -69,7 +69,7 @@ if (@file_exists($forcedfile)) {
|
||||
* View
|
||||
*/
|
||||
|
||||
session_start(); // To be able to keep info into session (used for not loosing pass during navigation. pass must not transit throug parmaeters)
|
||||
session_start(); // To be able to keep info into session (used for not loosing pass during navigation. pass must not transit throug parmaeters)
|
||||
|
||||
pHeader($langs->trans("ConfigurationFile"),"etape1","set","",(empty($force_dolibarr_js_JQUERY)?'':$force_dolibarr_js_JQUERY.'/'));
|
||||
|
||||
|
||||
@ -30,15 +30,16 @@
|
||||
-- Types action comm
|
||||
--
|
||||
|
||||
delete from llx_c_actioncomm where id in (1,2,3,4,5,8,9,10,30,31,50);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 1, 'AC_TEL', 'system', 'Phone call' ,NULL, 2);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 2, 'AC_FAX', 'system', 'Send Fax' ,NULL, 3);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 3, 'AC_PROP', 'systemauto', 'Send commercial proposal by email' ,'propal', 10);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 4, 'AC_EMAIL', 'system', 'Send Email' ,NULL, 4);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 5, 'AC_RDV', 'system', 'Rendez-vous' ,NULL, 1);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 8, 'AC_COM', 'systemauto', 'Send customer order by email' ,'order', 8);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 9, 'AC_FAC', 'systemauto', 'Send customer invoice by email' ,'invoice', 6);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 10, 'AC_SHIP', 'systemauto', 'Send shipping by email' ,'shipping', 11);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 30, 'AC_SUP_ORD', 'systemauto', 'Send supplier order by email' ,'order_supplier', 9);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values (31, 'AC_SUP_INV', 'systemauto', 'Send supplier invoice by email' ,'invoice_supplier', 7);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 50, 'AC_OTH', 'system', 'Other' ,NULL, 5);
|
||||
delete from llx_c_actioncomm where id in (1,2,3,4,5,8,9,10,30,31,40,50);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 1,'AC_TEL','system','Phone call',NULL, 1, 2);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 2,'AC_FAX','system','Send Fax',NULL, 1, 3);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 3,'AC_PROP','systemauto', 'Send commercial proposal by email','propal',0,10);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 4,'AC_EMAIL','system','Send Email',NULL, 1, 4);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 5,'AC_RDV','system','Rendez-vous',NULL, 1, 1);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 8,'AC_COM','systemauto','Send customer order by email','order', 0,8);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 9,'AC_FAC','systemauto', 'Send customer invoice by email','invoice',0,6);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 10,'AC_SHIP','systemauto', 'Send shipping by email','shipping',0,11);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 30,'AC_SUP_ORD','systemauto','Send supplier order by email','order_supplier',0,9);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 31,'AC_SUP_INV','systemauto','Send supplier invoice by email','invoice_supplier',0,7);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 40,'AC_OTH_AUTO','systemauto','Other (automatically inserted events)',NULL, 1, 20);
|
||||
insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 50,'AC_OTH','system','Other (manually inserted events)',NULL, 1, 5);
|
||||
|
||||
@ -255,9 +255,13 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (15
|
||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1543,154, '10','0','VAT Frontero',1);
|
||||
|
||||
-- BARBADOS (id country=46)
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (461,46, '0','0','No VAT',1);
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (462,46, '15','0','VAT 15%',1);
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (463,46, '7.5','0','VAT 7.5%',1);
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 461, 46, '0','0','No VAT',1);
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 462, 46, '15','0','VAT 15%',1);
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 463, 46, '7.5','0','VAT 7.5%',1);
|
||||
|
||||
-- SOUTH AFRICA (id country=205)
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2051,205, '0','0','No VAT',1);
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2052,205, '14','0','VAT 14%',1);
|
||||
|
||||
-- VENEZUELA (id country=232)
|
||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2321,232, '0','0','No VAT',1);
|
||||
|
||||
@ -805,6 +805,12 @@ ALTER TABLE llx_c_effectif DROP INDEX code, ADD UNIQUE uk_c_effectif (code);
|
||||
ALTER TABLE llx_c_paiement DROP INDEX code, ADD UNIQUE uk_c_paiement (code);
|
||||
|
||||
|
||||
delete from llx_c_actioncomm where id = 40;
|
||||
INSERT INTO llx_c_actioncomm (id, code, type, libelle, module, position) values ( 40, 'AC_OTH_AUTO','systemauto', 'Other (automatically inserted events)' ,NULL, 20);
|
||||
UPDATE llx_c_actioncomm SET libelle = 'Other (manually inserted events)' WHERE code = 'AC_OTH';
|
||||
UPDATE llx_c_actioncomm SET active = 0 WHERE code in ('AC_PROP', 'AC_COM', 'AC_FAC', 'AC_SHIP', 'AC_SUP_ORD', 'AC_SUP_INV');
|
||||
|
||||
|
||||
-- Update dictionnary of table llx_c_paper_format
|
||||
DELETE FROM llx_c_paper_format;
|
||||
|
||||
|
||||
@ -718,6 +718,20 @@ VATIsNotUsedDesc=El tipus d'IVA proposat per defecte és 0. Aquest és el cas d'
|
||||
VATIsUsedExampleFR=A França, es tracta de les societats o organismes que trien un règim fiscal general (General simplificat o General normal), règim en el qual es declara l'IVA.
|
||||
VATIsNotUsedExampleFR=A França, es tracta d'associacions exemptes d'IVA o societats, organismes o professions liberals que han eligedo el règim fiscal de mòduls (IVA en franquícia), pagant un IVA en franquícia sense fer declaració d'IVA. Aquesta elecció fa aparèixer l'anotació "IVA no aplicable - art-293B del CGI" en les factures.
|
||||
##### Local Taxes #####
|
||||
LocalTax1IsUsed=Subjecte
|
||||
LocalTax1IsNotUsed=No subjecte
|
||||
LocalTax1IsUsedDesc=Ús d'un 2on. tipus d'impost (Diferent de l'IVA)
|
||||
LocalTax1IsNotUsedDesc=No utilitzar un 2on. tipus d'impost (Diferent de l'IVA)
|
||||
LocalTax1Management=Gestió 2on. tipus d'impost
|
||||
LocalTax1IsUsedExample=
|
||||
LocalTax1IsNotUsedExample=
|
||||
LocalTax2IsUsed=Subjecte
|
||||
LocalTax2IsNotUsed=No subjecte
|
||||
LocalTax2IsUsedDesc=Ús d'un 3er. tipus d'impost (Diferent de l'IVA)
|
||||
LocalTax2IsNotUsedDesc=No utilitzar un 3er. tipus d'impost (Diferent de l'IVA)
|
||||
LocalTax2Management=Gestió 2on. tipus d'impost
|
||||
LocalTax2IsUsedExample=
|
||||
LocalTax2IsNotUsedExample=
|
||||
LocalTax1ManagementES=Gestió Recàrrec d'Equivalència
|
||||
LocalTax1IsUsedDescES=El tipus de RE proposat per defecte en les creacions de pressupostos, factures, comandes, etc. Respon a la següent regla:<br>Si el comprador no està subjecte a RE, RE per defecte= 0. Final de regla.<br>Si el comprador està subjecte a RE aleshores s'aplica valor de RE per defecte. Final de regla.<br>
|
||||
LocalTax1IsNotUsedDescES=El tipus de RE proposat per defecte es 0. Final de regla.
|
||||
@ -949,7 +963,6 @@ DocumentModelOdt=Generació des dels documents amb format OpenDocument (Arxiu .O
|
||||
WatermarkOnDraft=Marca d'aigua en els documents esborrany
|
||||
CompanyIdProfChecker=Id Professional únic
|
||||
MustBeUnique=Ha de ser únic?
|
||||
MustBeMandatory=Ha de ser obligatori?
|
||||
Miscellanous=Miscel·lània
|
||||
##### Webcal setup #####
|
||||
WebCalSetup=Configuració d'enllaç amb el calendari webcalendar
|
||||
|
||||
@ -20,7 +20,6 @@ AddThisArticle=Afegeix aquest article
|
||||
RestartSelling=Reprendre la venda
|
||||
SellFinished=Venda acabada
|
||||
PrintTicket=Imprimir tiquet
|
||||
NoResults=Cap resultat
|
||||
NoProductFound=Cap article trobat
|
||||
ProductFound=Producte trobat
|
||||
ProductsFound=Productes trobats
|
||||
|
||||
@ -81,6 +81,8 @@ ActionAC_SHIP=Enviament expedició per correu
|
||||
ActionAC_SUP_ORD=Enviament comanda a proveïdor per correu
|
||||
ActionAC_SUP_INV=Enviament factura de proveïdor per correu
|
||||
ActionAC_OTH=Altra
|
||||
ActionAC_MANUAL=Esdeveniments creats manualment
|
||||
ActionAC_AUTO=Esdeveniments creats automàticament
|
||||
Stats=Estadístiques de venda
|
||||
CAOrder=Volum de vendes (Comandes validades)
|
||||
FromTo=de %s a %s
|
||||
|
||||
@ -108,49 +108,42 @@ ProfId2AR=Ingressos bruts
|
||||
ProfId3AR=-
|
||||
ProfId4AR=-
|
||||
ProfId5AR=-
|
||||
ProfId6AR=-
|
||||
ProfId1AU=ABN
|
||||
ProfId2AU=-
|
||||
ProfId3AU=-
|
||||
ProfId4AU=-
|
||||
ProfId5AU=-
|
||||
ProfId6AU=-
|
||||
ProfId1BE=N° col·legiat
|
||||
ProfId2BE=-
|
||||
ProfId3BE=-
|
||||
ProfId4BE=-
|
||||
ProfId5BE=-
|
||||
ProfId6BE=-
|
||||
ProfId1BR=-
|
||||
ProfId1BR=CNPJ
|
||||
ProfId2BR=IE (Inscricao Estadual)
|
||||
ProfId3BR=IM (Inscricao Municipal)
|
||||
ProfId4BR=CPF
|
||||
#ProfId5BR=CNAE
|
||||
#ProfId6BR=INSS
|
||||
#ProfId5BR=CNAE=
|
||||
#ProfId6BR=INSS=
|
||||
ProfId1CH=-
|
||||
ProfId2CH=-
|
||||
ProfId3CH=Número federat
|
||||
ProfId4CH=Num registre de comerç
|
||||
ProfId5CH=-
|
||||
ProfId6CH=-
|
||||
ProfId1CL=R.U.T.
|
||||
ProfId2CL=-
|
||||
ProfId3CL=-
|
||||
ProfId4CL=-
|
||||
ProfId5CL=-
|
||||
ProfId6CL=-
|
||||
ProfId1CO=R.U.T.
|
||||
ProfId2CO=-
|
||||
ProfId3CO=-
|
||||
ProfId4CO=-
|
||||
ProfId5CO=-
|
||||
ProfId6CO=-
|
||||
ProfId1DE=Id prof. 1 (USt.-IdNr)
|
||||
ProfId2DE=Id prof. 2 (USt.-Nr)
|
||||
ProfId3DE=Id prof. 3 (Handelsregister-Nr.)
|
||||
ProfId4DE=-
|
||||
ProfId5DE=-
|
||||
ProfId6DE=-
|
||||
ProfId1ES=CIF/NIF
|
||||
ProfId2ES=Núm seguretat social
|
||||
ProfId3ES=CNAE
|
||||
@ -168,61 +161,51 @@ ProfId2GB=-
|
||||
ProfId3GB=SIC
|
||||
ProfId4GB=-
|
||||
ProfId5GB=-
|
||||
ProfId6GB=-
|
||||
ProfId1HN=RTN
|
||||
ProfId2HN=-
|
||||
ProfId3HN=-
|
||||
ProfId4HN=-
|
||||
ProfId5HN=-
|
||||
ProfId6HN=-
|
||||
ProfId1IN=Id prof. 1 (TIN)
|
||||
ProfId2IN=Id prof. 2 (PAN)
|
||||
ProfId3IN=Id prof. 3 (SRVC TAX)
|
||||
ProfId2IN=Id prof. 2
|
||||
ProfId3IN=Id prof. 3
|
||||
ProfId4IN=Id prof. 4
|
||||
ProfId5IN=Id prof. 5
|
||||
ProfId6IN=-
|
||||
ProfId1MA=Id prof. 1 (R.C.)
|
||||
ProfId2MA=Id prof. 2 (Patente)
|
||||
ProfId3MA=Id prof. 3 (I.F.)
|
||||
ProfId4MA=Id prof. 4 (C.N.S.S.)
|
||||
ProfId5MA=-
|
||||
ProfId6MA=-
|
||||
ProfId1MX=R.F.C.
|
||||
ProfId2MX=Registre Patronal IMSS
|
||||
ProfId3MX=Cèdula Professional
|
||||
ProfId4MX=-
|
||||
ProfId5MX=-
|
||||
ProfId6MX=-
|
||||
ProfId1NL=Número KVK
|
||||
ProfId2NL=-
|
||||
ProfId3NL=-
|
||||
ProfId4NL=-
|
||||
ProfId5NL=-
|
||||
ProfId6NL=-
|
||||
ProfId1PT=NIPC
|
||||
ProfId2PT=Núm seguretat social
|
||||
ProfId3PT=Num reg. comercial
|
||||
ProfId4PT=Conservatori
|
||||
ProfId5PT=-
|
||||
ProfId6PT=-
|
||||
ProfId1RU=OGRN
|
||||
ProfId2RU=INN
|
||||
ProfId3RU=KPP
|
||||
ProfId4RU=OKPO
|
||||
ProfId5RU=-
|
||||
ProfId6RU=-
|
||||
ProfId1SN=RC
|
||||
ProfId2SN=NINEA
|
||||
ProfId3SN=-
|
||||
ProfId4SN=-
|
||||
ProfId5SN=-
|
||||
ProfId6SN=-
|
||||
ProfId1TN=RC
|
||||
ProfId2TN=Matrícula fiscal
|
||||
ProfId3TN=Codi en aduana
|
||||
ProfId4TN=CCC
|
||||
ProfId5TN=-
|
||||
ProfId6TN=-
|
||||
VATIntra=NIF intracomunitari
|
||||
VATIntraShort=NIF intra.
|
||||
VATIntraVeryShort=NIF intra.
|
||||
|
||||
@ -21,7 +21,6 @@ ErrorThisContactIsAlreadyDefinedAsThisType=Aquest contacte ja està definit com
|
||||
ErrorCashAccountAcceptsOnlyCashMoney=Aquesta compte bancari és de tipus caixa i només accepta el mètode de pagament de tipus <b>espècie</b>.
|
||||
ErrorFromToAccountsMustDiffers=El compte origen i destinació han de ser diferents.
|
||||
ErrorBadThirdPartyName=Nom de tercer incorrecte
|
||||
ErrorProdIdIsMandatory=El %s es obligatori
|
||||
ErrorBadCustomerCodeSyntax=La sintaxi del codi client és incorrecta
|
||||
ErrorCustomerCodeRequired=Codi client obligatori
|
||||
ErrorCustomerCodeAlreadyUsed=Codi de client ja utilitzat
|
||||
|
||||
@ -12,6 +12,7 @@ Language_en_AU=Anglès (Australia)
|
||||
Language_en_GB=Anglès (Regne Unit)
|
||||
Language_en_IN=Anglès (Índia)
|
||||
Language_en_NZ=Anglais (Nova Zelanda)
|
||||
Language_en_SA=Inglés (Aràbia Saudita)
|
||||
Language_en_US=Anglès (Estats Units)
|
||||
Language_es_ES=Espanyol
|
||||
Language_es_AR=Espanyol (Argentina)
|
||||
|
||||
@ -77,6 +77,8 @@ YourMailUnsubcribeOK=El correu electrònic <b>%s</b> és correcta desuscribe.
|
||||
MailtoEMail=mailto email (hyperlink)
|
||||
ActivateCheckRead=Activar confirmació de lectura i opció de Desubscripció
|
||||
ActivateCheckReadKey=Clau usada per xifrar la URL de la confirmació de lectura i la funció de desubscripció
|
||||
EMailSentToNRecipients=E-Mail enviat a %s destinataris.
|
||||
|
||||
# Libelle des modules de liste de destinataires mailing==
|
||||
MailingModuleDescContactCompanies=Contactes de tercers (clients potencials, clients, proveïdors ...)
|
||||
MailingModuleDescDolibarrUsers=Usuaris de Dolibarr
|
||||
|
||||
@ -627,7 +627,8 @@ ByDay=Per dia
|
||||
BySalesRepresentative=Per comercial
|
||||
LinkedToSpecificUsers=Enllaçat a un contacte d'usuari particular
|
||||
DeleteAFile=Eliminació d'arxiu
|
||||
ConfirmDeleteAFile=Confirma l'eliminació de l'arxiu
|
||||
ConfirmDeleteAFile=Confirme l'eliminació de l'arxiu
|
||||
NoResults=Cap resultat
|
||||
# Week day
|
||||
Monday=Dilluns
|
||||
Tuesday=Dimarts
|
||||
|
||||
@ -46,8 +46,4 @@ MargeNette=Marge net
|
||||
MARGIN_TYPE_DETAILS=Marge brut: Preu de venda sense IVA - Preu de compra sense IVA <br/> Marge net: Preu de venda sense IVA - Costos
|
||||
|
||||
BuyingCost=Costos
|
||||
UnitCharges=Càrrega unitària
|
||||
Charges=Càrreges
|
||||
|
||||
AgentContactType=Tipus de contacte comissionat
|
||||
AgentContactTypeDetails=Indica el tipus de contacte enllaçat a les factures que seran associats als agents comercials
|
||||
UnitCharges=Càrrega unitària
|
||||
@ -199,3 +199,6 @@ Collectivités=Col.lectivitats
|
||||
Particuliers=Particulars
|
||||
Entreprises=Empreses
|
||||
DOLIBARRFOUNDATION_PAYMENT_FORM=Per realitzar el pagament de la seva cotització per transferència bancària, visiteu la pàgina <a target="_blank" href="http://wiki.dolibarr.org/index.php/Subscribirse#Para_una_adhesi.C3.B3n_por_transferencia">http://wiki.dolibarr.org/index.php/Subscribirse</a>.<br>Per pagar amb targeta de crèdit o PayPal, feu clic al botó a la part inferior d'aquesta pàgina.<br><br>
|
||||
ByProperties=Per característiques
|
||||
MembersStatisticsByProperties=Estadístiques dels membres per característiques
|
||||
MembersByNature=Membres per naturalesa
|
||||
@ -146,8 +146,6 @@ ProductSpecial=Especial
|
||||
QtyMin=Quantitat mínima
|
||||
PriceQty=Preu per la quantitat
|
||||
PriceQtyMin=Preu quantitat min.
|
||||
DiscountQtyMin=Descompte per defecte quantitat min.
|
||||
VATRateForSupplierProduct=Taxa IVA (per aquest producte/proveïdor)
|
||||
NoPriceDefinedForThisSupplier=Cap preu/quant. definit per a aquest proveïdor/producte
|
||||
NoSupplierPriceDefinedForThisProduct=Cap preu/quant. proveïdor definit per a aquest producte
|
||||
RecordedProducts=Productes en venda
|
||||
|
||||
@ -93,6 +93,8 @@ CloneFiles=Clonar els arxius adjunts
|
||||
ConfirmCloneProject=Esteu segur que voleu clonar aquest projecte?
|
||||
ProjectReportDate=Canviar les dates de les tasques en funció de la data d'inici del projecte
|
||||
ErrorShiftTaskDate=S'ha produït un error en el canvi de les dates de les tasques
|
||||
ProjectsAndTasksLines=Projectes i tasques
|
||||
|
||||
##### Types de contacts #####
|
||||
TypeContact_project_internal_PROJECTLEADER=Cap de projecte
|
||||
TypeContact_project_external_PROJECTLEADER=Cap de projecte
|
||||
|
||||
@ -58,6 +58,7 @@ ActionsOnShipping=Events sobre l'expedició
|
||||
LinkToTrackYourPackage=Enllaç per al seguiment del seu paquet
|
||||
ShipmentCreationIsDoneFromOrder=De moment, la creació d'una nova expedició es realitza des de la fitxa de comanda.
|
||||
RelatedShippings=Expedició(ns) associades
|
||||
ShipmentLine=Línia d'expedició
|
||||
|
||||
# Sending methods
|
||||
SendingMethodCATCH=Recollit pel client
|
||||
|
||||
@ -34,7 +34,7 @@ MakeWithdrawRequest=Fer una petició de domiciliació
|
||||
ThirdPartyBankCode=Codi banc del tercer
|
||||
ThirdPartyDeskCode=Codi oficina del tercer
|
||||
NoInvoiceCouldBeWithdrawed=No s'ha domiciliat cap factura. Assegureu-vos que les factures són d'empreses amb les dades de comptes bancaris correctes.
|
||||
ClassCredited=Abonar
|
||||
ClassCredited=Classificar com "Abonada"
|
||||
ClassCreditedConfirm=Esteu segur de voler classificar aquesta domiciliació com abonada al seu compte bancari?
|
||||
TransData=Data enviament
|
||||
TransMetod=Mètode enviament
|
||||
@ -81,6 +81,9 @@ WithdrawalFileNotCapable=No es possible generar fitxer bancari de domiciliacio p
|
||||
ShowWithdraw=Veure domiciliació
|
||||
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=No obstant això, si la factura té pendent algun pagament per domiciliació, no serà tancada per a permetre la gestió de la domiciliació.
|
||||
DoStandingOrdersBeforePayments=Aquesta pestanya us permet realitzar una petició de domiciliació. Un cop, podeu ingressar el pagament a la factura per procedir al seu tancament.
|
||||
WithdrawalFile=Arxiu de la domiciliació
|
||||
SetToStatusSent=Classificar com "Arxiu enviat"
|
||||
ThisWillAlsoAddPaymentOnInvoice=Es crearan els pagaments de les factures i les classificarà com pagades
|
||||
|
||||
### Notifications
|
||||
InfoCreditSubject=Abonament de domiciliació %s pel banc
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Dolibarr language file - en_WW - main
|
||||
# Dolibarr language file - en_SA - main
|
||||
CHARSET=UTF-8
|
||||
DIRECTION=ltr
|
||||
FONTFORPDF=DejaVuSans
|
||||
@ -10,8 +10,8 @@ FormatDateShortJava=dd/MM/yyyy
|
||||
FormatDateShortJQuery=dd/mm/yy
|
||||
FormatHourShort=%I:%M %p
|
||||
FormatHourShortDuration=%H:%M
|
||||
FormatDateTextShort=%b %d, %Y
|
||||
FormatDateText=%B %d, %Y
|
||||
FormatDateTextShort=%d %b %Y
|
||||
FormatDateText=%d %B %Y
|
||||
FormatDateHourShort=%d/%m/%Y %I:%M %p
|
||||
FormatDateHourTextShort=%b %d, %Y, %I:%M %p
|
||||
FormatDateHourText=%B %d, %Y, %I:%M %p
|
||||
FormatDateHourTextShort=%d %b %Y, %I:%M %p
|
||||
FormatDateHourText=%d %B %Y, %I:%M %p
|
||||
@ -707,6 +707,20 @@ VATIsNotUsedDesc=By default the proposed VAT is 0 which can be used for cases li
|
||||
VATIsUsedExampleFR=In France, it means companies or organisations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared.
|
||||
VATIsNotUsedExampleFR=In France, it means associations that are non VAT declared or companies, organisations or liberal professions that have chosen the micro enterprise fiscal system (VAT in franchise) and paid a franchise VAT without any VAT declaration. This choice will display the reference "Non applicable VAT - art-293B of CGI" on invoices.
|
||||
##### Local Taxes #####
|
||||
LocalTax1IsUsed=Use second tax
|
||||
LocalTax1IsNotUsed=Do not use second tax
|
||||
LocalTax1IsUsedDesc=Use a second type of tax (other than VAT)
|
||||
LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT)
|
||||
LocalTax1Management=Second type of tax
|
||||
LocalTax1IsUsedExample=
|
||||
LocalTax1IsNotUsedExample=
|
||||
LocalTax2IsUsed=Use third tax
|
||||
LocalTax2IsNotUsed=Do not use third tax
|
||||
LocalTax2IsUsedDesc=Use a third type of tax (other than VAT)
|
||||
LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT)
|
||||
LocalTax2Management=Third type of tax
|
||||
LocalTax2IsUsedExample=
|
||||
LocalTax2IsNotUsedExample=
|
||||
LocalTax1ManagementES= RE Management
|
||||
LocalTax1IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:<br>If te buyer is not subjected to RE, RE by default=0. End of rule.<br>If the buyer is subjected to RE then the RE by default. End of rule.<br>
|
||||
LocalTax1IsNotUsedDescES= By default the proposed RE is 0. End of rule.
|
||||
@ -939,7 +953,6 @@ DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT files for
|
||||
WatermarkOnDraft=Watermark on draft document
|
||||
CompanyIdProfChecker=Professional Id unique
|
||||
MustBeUnique=Must be unique ?
|
||||
MustBeMandatory=Must be mandatory ?
|
||||
Miscellanous=Miscellaneous
|
||||
##### Webcal setup #####
|
||||
WebCalSetup=Webcalendar link setup
|
||||
@ -1310,6 +1323,7 @@ AccountancyCodeBuy=Purchase account. code
|
||||
AgendaSetup=Events and agenda module setup
|
||||
PasswordTogetVCalExport=Key to authorize export link
|
||||
PastDelayVCalExport=Do not export event older than
|
||||
AGENDA_USE_EVENT_TYPE=Use events types (manage into Configuration->Dictionnary->llx_c_actioncomm)
|
||||
##### ClickToDial #####
|
||||
ClickToDialDesc=This module allows to add an icon after phone numbers. A click on this icon will call a server with a particular URL you define below. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example.
|
||||
##### Point Of Sales (CashDesk) #####
|
||||
|
||||
@ -7,7 +7,7 @@ Agendas= Agendas
|
||||
Calendar= Calendar
|
||||
Calendars= Calendars
|
||||
LocalAgenda=Local calendar
|
||||
AffectedTo= Affected to
|
||||
AffectedTo= Assigned to
|
||||
DoneBy= Done by
|
||||
Events= Events
|
||||
MyEvents=My events
|
||||
@ -22,7 +22,7 @@ MenuToDoMyActions= My incomplete events
|
||||
MenuDoneMyActions= My terminated events
|
||||
ListOfEvents= List of Dolibarr events
|
||||
ActionsAskedBy=Events reported by
|
||||
ActionsToDoBy=Events affected to
|
||||
ActionsToDoBy=Events assigned to
|
||||
ActionsDoneBy=Events done by
|
||||
AllMyActions= All my events/tasks
|
||||
AllActions= All events/tasks
|
||||
@ -59,9 +59,9 @@ DateActionDoneEnd= Real end date
|
||||
DateActionStart= Start date
|
||||
DateActionEnd= End date
|
||||
AgendaUrlOptions1=You can also add following parameters to filter output:
|
||||
AgendaUrlOptions2=<b>login=%s</b> to restrict output to actions created by, affected to or done by user <b>%s</b>.
|
||||
AgendaUrlOptions2=<b>login=%s</b> to restrict output to actions created by, assigned to or done by user <b>%s</b>.
|
||||
AgendaUrlOptions3=<b>logina=%s</b> to restrict output to actions created by user <b>%s</b>.
|
||||
AgendaUrlOptions4=<b>logint=%s</b> to restrict output to actions affected to user <b>%s</b>.
|
||||
AgendaUrlOptions4=<b>logint=%s</b> to restrict output to actions assigned to user <b>%s</b>.
|
||||
AgendaUrlOptions5=<b>logind=%s</b> to restrict output to actions done by user <b>%s</b>.
|
||||
AgendaShowBirthdayEvents=Show birthday's contacts
|
||||
AgendaHideBirthdayEvents=Hide birthday's contacts
|
||||
|
||||
@ -31,7 +31,7 @@ SalesRepresentativeFollowUp=Sales representative (follow-up)
|
||||
SalesRepresentativeSignature=Sales representative (signature)
|
||||
CommercialInterlocutor=Commercial interlocutor
|
||||
ErrorWrongCode=Wrong code
|
||||
NoSalesRepresentativeAffected=No particular sales representative affected
|
||||
NoSalesRepresentativeAffected=No particular sales representative assigned
|
||||
ShowCustomer=Show customer
|
||||
ShowProspect=Show prospect
|
||||
ListOfProspects=List of prospects
|
||||
@ -52,7 +52,7 @@ StatusActionToDo=To do
|
||||
StatusActionDone=Complete
|
||||
MyActionsAsked=Events I have recorded
|
||||
MyActionsToDo=Events I have to do
|
||||
MyActionsDone=Events affected to me
|
||||
MyActionsDone=Events assigned to me
|
||||
StatusActionInProcess=In process
|
||||
TasksHistoryForThisContact=Events for this contact
|
||||
LastProspectDoNotContact=Do not contact
|
||||
@ -63,7 +63,7 @@ LastProspectContactDone=Contact done
|
||||
DateActionPlanned=Date event planned for
|
||||
DateActionDone=Date event done
|
||||
ActionAskedBy=Event reported by
|
||||
ActionAffectedTo=Event affected to
|
||||
ActionAffectedTo=Event assigned to
|
||||
ActionDoneBy=Event done by
|
||||
ActionUserAsk=Reported by
|
||||
ErrorStatusCantBeZeroIfStarted=If field '<b>Date done</b>' is filled, action is started (or finished), so field '<b>Status</b>' can't be 0%%.
|
||||
@ -81,6 +81,8 @@ ActionAC_SHIP=Send shipping by mail
|
||||
ActionAC_SUP_ORD=Send supplier order by mail
|
||||
ActionAC_SUP_INV=Send supplier invoice by mail
|
||||
ActionAC_OTH=Other
|
||||
ActionAC_MANUAL=Manually inserted events
|
||||
ActionAC_AUTO=Automatically inserted events
|
||||
Stats=Sales statistics
|
||||
CAOrder=Sales volume (validated orders)
|
||||
FromTo=from %s to %s
|
||||
|
||||
@ -25,7 +25,6 @@ ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as co
|
||||
ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only.
|
||||
ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different.
|
||||
ErrorBadThirdPartyName=Bad value for third party name
|
||||
ErrorProdIdIsMandatory=The %s is mandatory
|
||||
ErrorBadCustomerCodeSyntax=Bad syntax for customer code
|
||||
ErrorCustomerCodeRequired=Customer code required
|
||||
ErrorCustomerCodeAlreadyUsed=Customer code already used
|
||||
|
||||
@ -47,7 +47,6 @@ MARGIN_TYPE_DETAILS=Raw margin : Selling price - Buying price<br/>Net margin : S
|
||||
|
||||
BuyingCost=Cost price
|
||||
UnitCharges=Unit charges
|
||||
Charges=Charges
|
||||
|
||||
AgentContactType=Contact type used for commissioning
|
||||
AgentContactTypeDetails=Défine what contact type (linked on invoices) will be associated with commercial agents
|
||||
@ -61,7 +61,7 @@ FileUploaded=The file was successfully uploaded
|
||||
AssociatedDocuments=Documents associated with the proposal:
|
||||
ErrorCantOpenDir=Can't open directory
|
||||
DatePropal=Date of proposal
|
||||
DateEndPropal=Date end validity
|
||||
DateEndPropal=Validity ending date
|
||||
DateEndPropalShort=Date end
|
||||
ValidityDuration=Validity duration
|
||||
CloseAs=Close with status
|
||||
|
||||
@ -61,7 +61,7 @@ LastGroupsCreated=Last %s created groups
|
||||
LastUsersCreated=Last %s users created
|
||||
ShowGroup=Show group
|
||||
ShowUser=Show user
|
||||
NonAffectedUsers=Non affected users
|
||||
NonAffectedUsers=Non assigned users
|
||||
UserModified=User modified successfully
|
||||
GroupModified=Group modified successfully
|
||||
PhotoFile=Photo file
|
||||
|
||||
@ -81,6 +81,9 @@ WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your cou
|
||||
ShowWithdraw=Show Withdraw
|
||||
IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as payed to allow to manage withdrawal before.
|
||||
DoStandingOrdersBeforePayments=This tabs allows you to request for a standing order. Once it will be finished, you can type the payment to close the invoice.
|
||||
WithdrawalFile=Withdrawal file
|
||||
SetToStatusSent=Set to status "File Sent"
|
||||
ThisWillAlsoAddPaymentOnInvoice=This will also create payments onto invoices and will classify them to paid
|
||||
|
||||
### Notifications
|
||||
InfoCreditSubject=Payment of standing order %s by the bank
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user