Merge remote-tracking branch 'origin/3.7' into develop

Conflicts:
	htdocs/commande/card.php
	htdocs/core/lib/functions.lib.php
	htdocs/projet/index.php
This commit is contained in:
Laurent Destailleur 2015-03-02 03:07:19 +01:00
commit 73afe1513d
6 changed files with 58 additions and 68 deletions

View File

@ -986,6 +986,11 @@ if (empty($reshook))
else if ($action == 'builddoc' && $user->rights->propal->creer) { else if ($action == 'builddoc' && $user->rights->propal->creer) {
if (GETPOST('model')) { if (GETPOST('model')) {
$object->setDocModel($user, GETPOST('model')); $object->setDocModel($user, GETPOST('model'));
}
if (GETPOST('fk_bank')) { // this field may come from an external module
$object->fk_bank = GETPOST('fk_bank');
} else {
$object->fk_bank = $object->fk_account;
} }
// Define output language // Define output language

View File

@ -96,6 +96,7 @@ $permissionnote = $user->rights->commande->creer; // Used by the include of acti
$permissionedit = $user->rights->commande->creer; // Used by the include of actions_lineupdown.inc.php $permissionedit = $user->rights->commande->creer; // Used by the include of actions_lineupdown.inc.php
/* /*
* Actions * Actions
*/ */
@ -1053,14 +1054,14 @@ if (empty($reshook))
if ($action == 'builddoc') // In get or post if ($action == 'builddoc') // In get or post
{ {
/*
* Generate order document
* define into /core/modules/commande/modules_commande.php
*/
// Save last template used to generate document // Save last template used to generate document
if (GETPOST('model')) if (GETPOST('model'))
$object->setDocModel($user, GETPOST('model', 'alpha')); $object->setDocModel($user, GETPOST('model', 'alpha'));
if (GETPOST('fk_bank')) { // this field may come from an external module
$object->fk_bank = GETPOST('fk_bank');
} else {
$object->fk_bank = $object->fk_account;
}
// Define output language // Define output language
$outputlangs = $langs; $outputlangs = $langs;

View File

@ -3857,13 +3857,13 @@ if ($action == 'create')
$formmail->withdeliveryreceipt = 1; $formmail->withdeliveryreceipt = 1;
$formmail->withcancel = 1; $formmail->withcancel = 1;
// Tableau des substitutions // Tableau des substitutions
$formmail->substit ['__FACREF__'] = $object->ref; $formmail->substit['__FACREF__'] = $object->ref;
$formmail->substit ['__SIGNATURE__'] = $user->signature; $formmail->substit['__SIGNATURE__'] = $user->signature;
$formmail->substit ['__REFCLIENT__'] = $object->ref_client; $formmail->substit['__REFCLIENT__'] = $object->ref_client;
$formmail->substit ['__THIRPARTY_NAME__'] = $object->thirdparty->name; $formmail->substit['__THIRPARTY_NAME__'] = $object->thirdparty->name;
$formmail->substit ['__PROJECT_REF__'] = (is_object($object->projet)?$object->projet->ref:''); $formmail->substit['__PROJECT_REF__'] = (is_object($object->projet)?$object->projet->ref:'');
$formmail->substit ['__PERSONALIZED__'] = ''; $formmail->substit['__PERSONALIZED__'] = '';
$formmail->substit ['__CONTACTCIVNAME__'] = ''; $formmail->substit['__CONTACTCIVNAME__'] = '';
// Find the good contact adress // Find the good contact adress
$custcontact = ''; $custcontact = '';
@ -3872,7 +3872,7 @@ if ($action == 'create')
if (is_array($contactarr) && count($contactarr) > 0) { if (is_array($contactarr) && count($contactarr) > 0) {
foreach ($contactarr as $contact) { foreach ($contactarr as $contact) {
if ($contact ['libelle'] == $langs->trans('TypeContact_facture_external_BILLING')) { // TODO Use code and not label if ($contact['libelle'] == $langs->trans('TypeContact_facture_external_BILLING')) { // TODO Use code and not label
require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php';
@ -3883,15 +3883,15 @@ if ($action == 'create')
} }
if (! empty($custcontact)) { if (! empty($custcontact)) {
$formmail->substit ['__CONTACTCIVNAME__'] = $custcontact; $formmail->substit['__CONTACTCIVNAME__'] = $custcontact;
} }
} }
// Tableau des parametres complementaires du post // Tableau des parametres complementaires du post
$formmail->param ['action'] = $action; $formmail->param['action'] = $action;
$formmail->param ['models'] = $modelmail; $formmail->param['models'] = $modelmail;
$formmail->param ['facid'] = $object->id; $formmail->param['facid'] = $object->id;
$formmail->param ['returnurl'] = $_SERVER["PHP_SELF"] . '?id=' . $object->id; $formmail->param['returnurl'] = $_SERVER["PHP_SELF"] . '?id=' . $object->id;
// Init list of files // Init list of files
if (GETPOST("mode") == 'init') { if (GETPOST("mode") == 'init') {

View File

@ -54,6 +54,10 @@ class Conf
public $modules_parts = array('css'=>array(),'js'=>array(),'tabs'=>array(),'triggers'=>array(),'login'=>array(),'substitutions'=>array(),'menus'=>array(),'theme'=>array(),'sms'=>array(),'tpl'=>array(),'barcode'=>array(),'models'=>array(),'societe'=>array(),'hooks'=>array(),'dir'=>array()); public $modules_parts = array('css'=>array(),'js'=>array(),'tabs'=>array(),'triggers'=>array(),'login'=>array(),'substitutions'=>array(),'menus'=>array(),'theme'=>array(),'sms'=>array(),'tpl'=>array(),'barcode'=>array(),'models'=>array(),'societe'=>array(),'hooks'=>array(),'dir'=>array());
var $logbuffer = array(); var $logbuffer = array();
/**
* @var LogHandlerInterface[]
*/
var $loghandlers = array(); var $loghandlers = array();
//! To store properties of multi-company //! To store properties of multi-company

View File

@ -44,6 +44,7 @@ include_once DOL_DOCUMENT_ROOT .'/core/lib/json.lib.php';
* @param string $class Class name * @param string $class Class name
* @param string $member Name of property * @param string $member Name of property
* @return mixed Return value of static property * @return mixed Return value of static property
* @deprecated Dolibarr now requires 5.3.0+
*/ */
function getStaticMember($class, $member) function getStaticMember($class, $member)
{ {
@ -418,7 +419,7 @@ function dol_size($size,$type='')
* *
* @param string $str String to clean * @param string $str String to clean
* @param string $newstr String to replace bad chars with * @param string $newstr String to replace bad chars with
* @param string $unaccent 1=Remove also accent (default), 0 do not remove them * @param int $unaccent 1=Remove also accent (default), 0 do not remove them
* @return string String cleaned (a-zA-Z_) * @return string String cleaned (a-zA-Z_)
* *
* @see dol_string_nospecial, dol_string_unaccent * @see dol_string_nospecial, dol_string_unaccent
@ -520,8 +521,8 @@ function dolEscapeXML($string)
* Returns text escaped for inclusion into javascript code * Returns text escaped for inclusion into javascript code
* *
* @param string $stringtoescape String to escape * @param string $stringtoescape String to escape
* @param string $mode 0=Escape also ' and " into ', 1=Escape ' but not " for usage into 'string', 2=Escape " but not ' for usage into "string", 3=Escape ' and " with \ * @param int $mode 0=Escape also ' and " into ', 1=Escape ' but not " for usage into 'string', 2=Escape " but not ' for usage into "string", 3=Escape ' and " with \
* @param string $noescapebackslashn 0=Escape also \n. 1=Do not escape \n. * @param int $noescapebackslashn 0=Escape also \n. 1=Do not escape \n.
* @return string Escaped string. Both ' and " are escaped into ' if they are escaped. * @return string Escaped string. Both ' and " are escaped into ' if they are escaped.
*/ */
function dol_escape_js($stringtoescape, $mode=0, $noescapebackslashn=0) function dol_escape_js($stringtoescape, $mode=0, $noescapebackslashn=0)
@ -605,7 +606,7 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename='
global $conf, $user; global $conf, $user;
// If syslog module enabled // If syslog module enabled
if (empty($conf->syslog->enabled)) return false; if (empty($conf->syslog->enabled)) return;
if (! empty($level)) if (! empty($level))
{ {
@ -615,7 +616,7 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename='
{ {
throw new Exception('Incorrect log level'); throw new Exception('Incorrect log level');
} }
if ($level > $conf->global->SYSLOG_LEVEL) return false; if ($level > $conf->global->SYSLOG_LEVEL) return;
// If adding log inside HTML page is required // If adding log inside HTML page is required
if (! empty($_REQUEST['logtohtml']) && ! empty($conf->global->MAIN_LOGTOHTML)) if (! empty($_REQUEST['logtohtml']) && ! empty($conf->global->MAIN_LOGTOHTML))
@ -623,6 +624,7 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename='
$conf->logbuffer[] = dol_print_date(time(),"%Y-%m-%d %H:%M:%S")." ".$message; $conf->logbuffer[] = dol_print_date(time(),"%Y-%m-%d %H:%M:%S")." ".$message;
} }
//TODO: Remove this. MAIN_ENABLE_LOG_HTML should be deprecated and use a HTML handler
// If enable html log tag enabled and url parameter log defined, we show output log on HTML comments // If enable html log tag enabled and url parameter log defined, we show output log on HTML comments
if (! empty($conf->global->MAIN_ENABLE_LOG_HTML) && ! empty($_GET["log"])) if (! empty($conf->global->MAIN_ENABLE_LOG_HTML) && ! empty($_GET["log"]))
{ {
@ -848,7 +850,7 @@ function dol_bc($var,$moreclass='')
* @param Object $object A company or contact object * @param Object $object A company or contact object
* @param int $withcountry 1=Add country into address string * @param int $withcountry 1=Add country into address string
* @param string $sep Separator to use to build string * @param string $sep Separator to use to build string
* @param Tranlsate $outputlangs Object lang that contains language for text translation. * @param Translate $outputlangs Object lang that contains language for text translation.
* @return string Formated string * @return string Formated string
*/ */
function dol_format_address($object,$withcountry=0,$sep="\n",$outputlangs='') function dol_format_address($object,$withcountry=0,$sep="\n",$outputlangs='')
@ -1429,7 +1431,7 @@ function dol_print_skype($skype,$cid=0,$socid=0,$addlink=0,$max=64)
* @param string $country Country code to use for formatting * @param string $country Country code to use for formatting
* @param int $cid Id of contact if known * @param int $cid Id of contact if known
* @param int $socid Id of third party if known * @param int $socid Id of third party if known
* @param int $addlink ''=no link to create action, 'AC_TEL'=add link to clicktodial (if module enabled) and add link to create event (if conf->global->AGENDA_ADDACTIONFORPHONE set) * @param string $addlink ''=no link to create action, 'AC_TEL'=add link to clicktodial (if module enabled) and add link to create event (if conf->global->AGENDA_ADDACTIONFORPHONE set)
* @param string $separ Separation between numbers for a better visibility example : xx.xx.xx.xx.xx * @param string $separ Separation between numbers for a better visibility example : xx.xx.xx.xx.xx
* @param string $withpicto Show picto * @param string $withpicto Show picto
* @return string Formated phone number * @return string Formated phone number
@ -1646,6 +1648,7 @@ function isValidEmail($address)
/** /**
* Return true if phone number syntax is ok * Return true if phone number syntax is ok
* *
* TODO: Decide what to do with this
* @param string $phone phone (Ex: "0601010101") * @param string $phone phone (Ex: "0601010101")
* @return boolean true if phone syntax is OK, false if KO or empty string * @return boolean true if phone syntax is OK, false if KO or empty string
*/ */
@ -2733,7 +2736,7 @@ function print_fiche_titre($title, $mesg='', $picto='title.png', $pictoisfullpat
* @param int $id To force an id on html objects * @param int $id To force an id on html objects
* @return string * @return string
*/ */
function load_fiche_titre($titre, $mesg='', $picto='title.png', $pictoisfullpath=0, $id='') function load_fiche_titre($titre, $mesg='', $picto='title.png', $pictoisfullpath=0, $id=0)
{ {
global $conf; global $conf;
@ -3279,7 +3282,7 @@ function getLocalTaxesFromRate($vatrate, $local, $buyer, $seller)
{ {
global $db; global $db;
dol_syslog("getLocalTaxesFromRate vatrate=".$vatrate." local=".$local." thirdparty id=".(is_object($thirdparty)?$thirdparty->id:'')); dol_syslog("getLocalTaxesFromRate vatrate=".$vatrate." local=".$local);
// Search local taxes // Search local taxes
$sql = "SELECT t.localtax1, t.localtax1_type, t.localtax2, t.localtax2_type, t.accountancy_code_sell, t.accountancy_code_buy"; $sql = "SELECT t.localtax1, t.localtax1_type, t.localtax2, t.localtax2_type, t.accountancy_code_sell, t.accountancy_code_buy";
@ -3337,30 +3340,6 @@ function getLocalTaxesFromRate($vatrate, $local, $buyer, $seller)
return array($obj->localtax1_type, $obj->localtax1, $obj->localtax2_type, $obj->localtax2,$obj->accountancy_code_sell,$obj->accountancy_code_buy); return array($obj->localtax1_type, $obj->localtax1, $obj->localtax2_type, $obj->localtax2,$obj->accountancy_code_sell,$obj->accountancy_code_buy);
} }
} }
if(! isOnlyOneLocalTax(2))
{
if(! isOnlyOneLocalTax(1))
{
return array($obj->localtax2_type, get_localtax($vatrate, 1, $buyer, $seller), $obj->localtax2_type, get_localtax($vatrate, 2, $buyer, $seller),$obj->accountancy_code_sell,$obj->accountancy_code_buy);
}
else
{
return array($obj->localtax2_type, get_localtax($vatrate, 1, $buyer, $seller), $obj->localtax2_type, $obj->localtax2,$obj->accountancy_code_sell,$obj->accountancy_code_buy);
}
}
else
{
if(! isOnlyOneLocalTax(1))
{
return array($obj->localtax2_type, $obj->localtax2, $obj->localtax1_type,get_localtax($vatrate, 1, $buyer, $seller) ,$obj->accountancy_code_sell,$obj->accountancy_code_buy);
}
else
{
return array($obj->localtax2_type, $obj->localtax2, $obj->localtax1_type, $obj->localtax1,$obj->accountancy_code_sell,$obj->accountancy_code_buy);
}
}
} }
} }
@ -4101,7 +4080,7 @@ function dol_textishtml($msg,$option=0)
* *
* @param string $text1 Text 1 * @param string $text1 Text 1
* @param string $text2 Text 2 * @param string $text2 Text 2
* @param string $forxml false=Use <br>, true=Use <br /> * @param bool $forxml false=Use <br>, true=Use <br />
* @return string Text 1 + new line + Text2 * @return string Text 1 + new line + Text2
* @see dol_textishtml * @see dol_textishtml
*/ */
@ -4143,7 +4122,7 @@ function make_substitutions($chaine,$substitutionarray)
* *
* @param array $substitutionarray Array substitution old value => new value value * @param array $substitutionarray Array substitution old value => new value value
* @param Translate $outputlangs If we want substitution from special constants, we provide a language * @param Translate $outputlangs If we want substitution from special constants, we provide a language
* @param Object $object If we want substitution from special constants, we provide data in a source object * @param object $object If we want substitution from special constants, we provide data in a source object
* @param Mixed $parameters Add more parameters (useful to pass product lines) * @param Mixed $parameters Add more parameters (useful to pass product lines)
* @param string $callfunc What is the name of the custom function that will be called? (default: completesubstitutionarray) * @param string $callfunc What is the name of the custom function that will be called? (default: completesubstitutionarray)
* @return void * @return void
@ -4186,8 +4165,8 @@ function complete_substitutions_array(&$substitutionarray,$outputlangs,$object='
/** /**
* Format output for start and end date * Format output for start and end date
* *
* @param timestamp $date_start Start date * @param int $date_start Start date
* @param timestamp $date_end End date * @param int $date_end End date
* @param string $format Output format * @param string $format Output format
* @param Translate $outputlangs Output language * @param Translate $outputlangs Output language
* @return void * @return void
@ -4200,8 +4179,8 @@ function print_date_range($date_start,$date_end,$format = '',$outputlangs='')
/** /**
* Format output for start and end date * Format output for start and end date
* *
* @param timestamp $date_start Start date * @param int $date_start Start date
* @param timestamp $date_end End date * @param int $date_end End date
* @param string $format Output format * @param string $format Output format
* @param Translate $outputlangs Output language * @param Translate $outputlangs Output language
* @param string $withparenthesis 1=Add parenthesis, 0=non parenthesis * @param string $withparenthesis 1=Add parenthesis, 0=non parenthesis

View File

@ -718,10 +718,11 @@ class pdf_einstein extends ModelePDFCommandes
// If payment mode not forced or forced to VIR, show payment with BAN // If payment mode not forced or forced to VIR, show payment with BAN
if (empty($object->mode_reglement_code) || $object->mode_reglement_code == 'VIR') if (empty($object->mode_reglement_code) || $object->mode_reglement_code == 'VIR')
{ {
if (! empty($conf->global->FACTURE_RIB_NUMBER)) if (! empty($object->fk_bank) || ! empty($conf->global->FACTURE_RIB_NUMBER))
{ {
$bankid=(empty($object->fk_bank)?$conf->global->FACTURE_RIB_NUMBER:$object->fk_bank);
$account = new Account($this->db); $account = new Account($this->db);
$account->fetch($conf->global->FACTURE_RIB_NUMBER); $account->fetch($bankid);
$curx=$this->marge_gauche; $curx=$this->marge_gauche;
$cury=$posy; $cury=$posy;