Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop
This commit is contained in:
commit
d6037f269c
@ -1059,13 +1059,20 @@ class Facture extends CommonInvoice
|
||||
*/
|
||||
function getDirectExternalLink($withpicto=0)
|
||||
{
|
||||
global $dolibarr_main_url_root;
|
||||
|
||||
// Define $urlwithroot
|
||||
$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root));
|
||||
$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
|
||||
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
|
||||
|
||||
$url='eee';
|
||||
return '<a href="'.$urlwithroot.'/document.php?modulepart=invoice&" target="_download" rel="noindex, nofollow">'.$this->ref.'</a>';
|
||||
// TODO Read into ecmfile table to get entry and hash exists (PS: If not found, add it)
|
||||
include_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmfiles.class.php';
|
||||
$ecmfile=new EcmFiles($this->db);
|
||||
//$result = $ecmfile->get();
|
||||
|
||||
$hashp='todo';
|
||||
return '<a href="'.$urlwithroot.'/document.php?modulepart=invoice&hashp='.$hashp.'" target="_download" rel="noindex, nofollow">'.$this->ref.'</a>';
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -329,6 +329,7 @@ class FormMail extends Form
|
||||
$out.= '<input type="hidden" id="'.$key.'" name="'.$key.'" value="'.$value.'" />'."\n";
|
||||
}
|
||||
|
||||
$modelmail_array=array();
|
||||
if ($this->param['models'] != 'none')
|
||||
{
|
||||
$result = $this->fetchAllEMailTemplate($this->param["models"], $user, $outputlangs);
|
||||
@ -336,7 +337,6 @@ class FormMail extends Form
|
||||
{
|
||||
setEventMessages($this->error, $this->errors, 'errors');
|
||||
}
|
||||
$modelmail_array=array();
|
||||
foreach($this->lines_model as $line)
|
||||
{
|
||||
$langs->trans("members");
|
||||
@ -907,8 +907,8 @@ class FormMail extends Form
|
||||
|
||||
|
||||
/**
|
||||
* Return templates of email with type = $type_template or type = 'all'
|
||||
* This search into table c_email_templates.
|
||||
* Return templates of email with type = $type_template or type = 'all'.
|
||||
* This search into table c_email_templates. Used by the get_form function.
|
||||
*
|
||||
* @param DoliDB $db Database handler
|
||||
* @param string $type_template Get message for type=$type_template, type='all' also included.
|
||||
@ -918,7 +918,7 @@ class FormMail extends Form
|
||||
* @param int $active 1=Only active template, 0=Only disabled, -1=All
|
||||
* @return array array('topic'=>,'content'=>,..)
|
||||
*/
|
||||
private function getEMailTemplate($db, $type_template, $user, $outputlangs, $id=0, $active=1)
|
||||
public function getEMailTemplate($db, $type_template, $user, $outputlangs, $id=0, $active=1)
|
||||
{
|
||||
$ret=array();
|
||||
|
||||
@ -1076,11 +1076,11 @@ class FormMail extends Form
|
||||
* @return void
|
||||
* @see getCommonSubstitutionArray
|
||||
*/
|
||||
function setSubstitFromObject($object, $outputlangs=null)
|
||||
function setSubstitFromObject($object, $outputlangs)
|
||||
{
|
||||
global $conf, $user;
|
||||
|
||||
$parameters=array('mode'=>$mode);
|
||||
$parameters=array();
|
||||
$tmparray=getCommonSubstitutionArray($outputlangs, 0, null, $object);
|
||||
complete_substitutions_array($tmparray, $outputlangs, null, $parameters);
|
||||
|
||||
@ -1135,6 +1135,7 @@ class FormMail extends Form
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
$tmparray=array();
|
||||
if ($mode == 'formemail' || $mode == 'formemailwithlines' || $mode == 'formemailforlines')
|
||||
{
|
||||
$parameters=array('mode'=>$mode);
|
||||
|
||||
@ -5280,10 +5280,12 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
||||
// TODO USe this ?
|
||||
$msgishtml = 0;
|
||||
|
||||
$birthday = dol_print_date($object->birth,'day');
|
||||
|
||||
if (method_exists($object, 'getCivilityLabel')) $substitutionarray['__MEMBER_CIVILITY__'] = $object->getCivilityLabel();
|
||||
$substitutionarray['__MEMBER_FIRSTNAME__']=$msgishtml?dol_htmlentitiesbr($object->firstname):$object->firstname;
|
||||
$substitutionarray['__MEMBER_LASTNAME__']=$msgishtml?dol_htmlentitiesbr($object->lastname):$object->lastname;
|
||||
if (method_exists($object, 'getFullName')) $substitutionarray['__MEMBER_FULLNAME__']=$msgishtml?dol_htmlentitiesbr($object->getFullName($langs)):$object->getFullName($langs);
|
||||
if (method_exists($object, 'getFullName')) $substitutionarray['__MEMBER_FULLNAME__']=$msgishtml?dol_htmlentitiesbr($object->getFullName($outputlangs)):$object->getFullName($outputlangs);
|
||||
$substitutionarray['__MEMBER_COMPANY__']=$msgishtml?dol_htmlentitiesbr($object->societe):$object->societe;
|
||||
$substitutionarray['__MEMBER_ADDRESS__']=$msgishtml?dol_htmlentitiesbr($object->address):$object->address;
|
||||
$substitutionarray['__MEMBER_ZIP__']=$msgishtml?dol_htmlentitiesbr($object->zip):$object->zip;
|
||||
|
||||
@ -260,10 +260,12 @@ class modProduct extends DolibarrModules
|
||||
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||
$this->import_tables_array[$r]=array('p'=>MAIN_DB_PREFIX.'product','extra'=>MAIN_DB_PREFIX.'product_extrafields');
|
||||
$this->import_tables_creator_array[$r]=array('p'=>'fk_user_author'); // Fields to store import user id
|
||||
$this->import_fields_array[$r]=array('p.ref'=>"Ref*",'p.label'=>"Label*",'p.description'=>"Description",'p.url'=>"PublicUrl",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.duration'=>"Duration",'p.customcode'=>'CustomCode','p.price'=>"SellingPriceHT",'p.price_ttc'=>"SellingPriceTTC",'p.tva_tx'=>'VAT','p.tosell'=>"OnSell*",'p.tobuy'=>"OnBuy*",'p.fk_product_type'=>"Type*",'p.finished'=>'Nature','p.datec'=>'DateCreation');
|
||||
$this->import_fields_array[$r]=array('p.ref'=>"Ref*",'p.label'=>"Label*",'p.description'=>"Description",'p.url'=>"PublicUrl",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.duration'=>"Duration",'p.customcode'=>'CustomCode','p.price'=>"SellingPriceHT",'p.price_ttc'=>"SellingPriceTTC", 'p.tva_tx'=>'VATRate', 'p.tosell'=>"OnSell*",'p.tobuy'=>"OnBuy*",'p.fk_product_type'=>"Type*",'p.finished'=>'Nature','p.datec'=>'DateCreation');
|
||||
if (! empty($conf->stock->enabled)) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('p.seuil_stock_alerte'=>'StockLimit','p.desiredstock'=>'DesiredStock','p.pmp'=>'PMPValue'));
|
||||
if (! empty($conf->fournisseur->enabled) || !empty($conf->margin->enabled)) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('p.cost_price'=>'CostPrice'));
|
||||
if (is_object($mysoc) && $mysoc->useNPR()) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('p.recuperableonly'=>'NPR'));
|
||||
if (is_object($mysoc) && $mysoc->useLocalTax(1)) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('p.localtax1_tx'=>'LT1', 'p.localtax1_type'=>'LT1Type'));
|
||||
if (is_object($mysoc) && $mysoc->useLocalTax(2)) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('p.localtax2_tx'=>'LT2', 'p.localtax2_type'=>'LT2Type'));
|
||||
if (! empty($conf->barcode->enabled)) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('p.barcode'=>'BarCode'));
|
||||
if (! empty($conf->global->PRODUCT_USE_UNITS)) $this->import_fields_array[$r]['p.fk_unit'] = 'Unit';
|
||||
// Add extra fields
|
||||
@ -300,9 +302,12 @@ class modProduct extends DolibarrModules
|
||||
$this->import_fields_array[$r]=array('sp.fk_product'=>"ProductOrService*",
|
||||
'sp.fk_soc'=>"Supplier*", 'sp.ref_fourn'=>'SupplierRef', 'sp.quantity'=>"QtyMin*", 'sp.tva_tx'=>'VATRate',
|
||||
'sp.price'=>"PriceQtyMinHT*",
|
||||
'sp.unitprice'=>'UnitPriceHT*', // TODO Make this file not required and calculate it from price and qty
|
||||
'sp.unitprice'=>'UnitPriceHT*', // TODO Make this field not required and calculate it from price and qty
|
||||
'sp.remise_percent'=>'DiscountQtyMin'
|
||||
);
|
||||
if (is_object($mysoc) && $mysoc->useNPR()) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('sp.recuperableonly'=>'NPR'));
|
||||
if (is_object($mysoc) && $mysoc->useLocalTax(1)) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('sp.localtax1_tx'=>'LT1', 'sp.localtax1_type'=>'LT1Type'));
|
||||
if (is_object($mysoc) && $mysoc->useLocalTax(2)) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('sp.localtax2_tx'=>'LT2', 'sp.localtax2_type'=>'LT2Type'));
|
||||
|
||||
$this->import_convertvalue_array[$r]=array(
|
||||
'sp.fk_soc'=>array('rule'=>'fetchidfromref','classfile'=>'/societe/class/societe.class.php','class'=>'Societe','method'=>'fetch','element'=>'ThirdParty'),
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
* \file htdocs/document.php
|
||||
* \brief Wrapper to download data files
|
||||
* \remarks Call of this wrapper is made with URL:
|
||||
* document.php?modulepart=repfichierconcerne&file=pathrelatifdufichier
|
||||
* document.php?modulepart=repfichierconcerne&file=relativepathoffile
|
||||
* document.php?modulepart=logs&file=dolibarr.log
|
||||
*/
|
||||
|
||||
|
||||
@ -2221,7 +2221,7 @@ else if ($id || $ref)
|
||||
$formmail->withdeliveryreceipt=1;
|
||||
$formmail->withcancel=1;
|
||||
// Tableau des substitutions
|
||||
$formmail->setSubstitFromObject($object);
|
||||
$formmail->setSubstitFromObject($object, $outputlangs);
|
||||
$formmail->substit['__SHIPPINGREF__']=$object->ref;
|
||||
$formmail->substit['__SHIPPINGTRACKNUM__']=$object->tracking_number;
|
||||
$formmail->substit['__SHIPPINGTRACKNUMURL__']=$object->tracking_url;
|
||||
|
||||
@ -1400,7 +1400,7 @@ CompressionOfResources=Compression of HTTP responses
|
||||
CompressionOfResourcesDesc=For exemple using the Apache directive "AddOutputFilterByType DEFLATE"
|
||||
TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers
|
||||
DefaultValuesDesc=You can define/force here the default value you want to get when your create a new record, and/or defaut filters or sort order when your list record.
|
||||
DefaultCreateForm=Default values for new objects
|
||||
DefaultCreateForm=Default values for creation form
|
||||
DefaultSearchFilters=Default search filters
|
||||
DefaultSortOrder=Default sort orders
|
||||
DefaultFocus=Default focus fields
|
||||
|
||||
@ -376,7 +376,9 @@ VATIN=IGST
|
||||
VATs=Sales taxes
|
||||
VATINs=IGST taxes
|
||||
LT1=Sales tax 2
|
||||
LT1Type=Sales tax 2 type
|
||||
LT2=Sales tax 3
|
||||
LT2Type=Sales tax 3 type
|
||||
LT1ES=RE
|
||||
LT2ES=IRPF
|
||||
LT1IN=CGST
|
||||
|
||||
@ -324,6 +324,17 @@ class MyObject extends CommonObject
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return link to download file from a direct external access
|
||||
*
|
||||
* @param int $withpicto Add download picto into link
|
||||
* @return string HTML link to file
|
||||
*/
|
||||
function getDirectExternalLink($withpicto=0)
|
||||
{
|
||||
return 'todo';
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le libelle du status d'un user (actif, inactif)
|
||||
*
|
||||
|
||||
@ -542,7 +542,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
||||
$formmail->withdeliveryreceipt = 1;
|
||||
$formmail->withcancel = 1;
|
||||
// Tableau des substitutions
|
||||
$formmail->setSubstitFromObject($object);
|
||||
$formmail->setSubstitFromObject($object, $outputlangs);
|
||||
$formmail->substit ['__ORDERREF__'] = $object->ref;
|
||||
|
||||
$custcontact = '';
|
||||
|
||||
@ -2485,7 +2485,7 @@ else
|
||||
$formmail->withdeliveryreceipt=1;
|
||||
$formmail->withcancel=1;
|
||||
// Array of substitutions
|
||||
$formmail->setSubstitFromObject($object);
|
||||
$formmail->setSubstitFromObject($object, $outputlangs);
|
||||
$formmail->substit['__THIRDPARTY_ID__']=$object->id; // substit in setSubstitFromObject was wrong for this one
|
||||
$formmail->substit['__THIRDPARTY_NAME__']=$object->name; // substit in setSubstitFromObject was wrong for this one
|
||||
$formmail->substit['__PERSONALIZED__']=''; // deprecated
|
||||
|
||||
@ -1760,7 +1760,7 @@ else
|
||||
$formmail->withdeliveryreceipt=1;
|
||||
$formmail->withcancel=1;
|
||||
// Tableau des substitutions
|
||||
$formmail->setSubstitFromObject($object);
|
||||
$formmail->setSubstitFromObject($object, $outputlangs);
|
||||
$formmail->substit['__LASTNAME__']=$object->lastname;
|
||||
$formmail->substit['__FIRSTNAME__']=$object->firstname;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user