';
diff --git a/htdocs/api/admin/index.php b/htdocs/api/admin/index.php
index 05f372a3486..1697318c5e8 100644
--- a/htdocs/api/admin/index.php
+++ b/htdocs/api/admin/index.php
@@ -139,21 +139,24 @@ $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domai
// Show message
$message = '';
-$url = $urlwithroot.'/api/index.php/login?login=
[&reset=1]';
+$url = $urlwithroot.'/api/index.php/login?login=auserlogin&password=thepassword[&reset=1]';
$message .= '
';
if (dol_is_dir(DOL_DOCUMENT_ROOT.'/includes/restler/framework/Luracast/Restler/explorer')) {
$url = DOL_MAIN_URL_ROOT.'/api/index.php/explorer';
- print '
'.$langs->trans("SwaggerDescriptionFile").': ';
+ print '
\n";
+ print '
'.$langs->trans("SwaggerDescriptionFile").': ';
$urlswagger = DOL_MAIN_URL_ROOT.'/api/index.php/explorer/swagger.json?DOLAPIKEY=youruserapikey';
- print '
\n";
+ //$urlswaggerreal = DOL_MAIN_URL_ROOT.'/api/index.php/explorer/swagger.json?DOLAPIKEY='.$user->api_key;
+ print '
\n";
print '
';
} else {
$langs->load("errors");
diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php
index b4c63365bf8..453abff36b2 100644
--- a/htdocs/comm/propal/list.php
+++ b/htdocs/comm/propal/list.php
@@ -1532,7 +1532,7 @@ if ($resql) {
}
// Amount HT
if (!empty($arrayfields['p.total_ht']['checked'])) {
- print '
'.price($obj->total_ht)." \n";
+ print '
'.price($obj->total_ht)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1543,7 +1543,7 @@ if ($resql) {
}
// Amount VAT
if (!empty($arrayfields['p.total_tva']['checked'])) {
- print '
'.price($obj->total_tva)." \n";
+ print '
'.price($obj->total_tva)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1554,7 +1554,7 @@ if ($resql) {
}
// Amount TTC
if (!empty($arrayfields['p.total_ttc']['checked'])) {
- print '
'.price($obj->total_ttc)." \n";
+ print '
'.price($obj->total_ttc)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1563,9 +1563,9 @@ if ($resql) {
}
$totalarray['val']['p.total_ttc'] += $obj->total_ttc;
}
- // Amount invoiced
+ // Amount invoiced HT
if (!empty($arrayfields['p.total_ht_invoiced']['checked'])) {
- print '
'.price($totalInvoicedHT)." \n";
+ print '
'.price($totalInvoicedHT)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1574,9 +1574,9 @@ if ($resql) {
}
$totalarray['val']['p.total_ht_invoiced'] += $totalInvoicedHT;
}
- // Amount invoiced
+ // Amount invoiced TTC
if (!empty($arrayfields['p.total_invoiced']['checked'])) {
- print '
'.price($totalInvoicedTTC)." \n";
+ print '
'.price($totalInvoicedTTC)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1604,35 +1604,35 @@ if ($resql) {
}
// Amount HT
if (!empty($arrayfields['p.multicurrency_total_ht']['checked'])) {
- print '
'.price($obj->multicurrency_total_ht)." \n";
+ print '
'.price($obj->multicurrency_total_ht)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
}
// Amount VAT
if (!empty($arrayfields['p.multicurrency_total_tva']['checked'])) {
- print '
'.price($obj->multicurrency_total_tva)." \n";
+ print '
'.price($obj->multicurrency_total_tva)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
}
// Amount TTC
if (!empty($arrayfields['p.multicurrency_total_ttc']['checked'])) {
- print '
'.price($obj->multicurrency_total_ttc)." \n";
+ print '
'.price($obj->multicurrency_total_ttc)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
}
// Amount invoiced
if (!empty($arrayfields['p.multicurrency_total_ht_invoiced']['checked'])) {
- print '
'.price($multicurrency_totalInvoicedHT)." \n";
+ print '
'.price($multicurrency_totalInvoicedHT)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
}
// Amount invoiced
if (!empty($arrayfields['p.multicurrency_total_invoiced']['checked'])) {
- print '
'.price($multicurrency_totalInvoicedTTC)." \n";
+ print '
'.price($multicurrency_totalInvoicedTTC)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php
index 117f7557db3..df79a9edffd 100644
--- a/htdocs/commande/list.php
+++ b/htdocs/commande/list.php
@@ -806,39 +806,39 @@ if ($resql) {
if ($user->rights->societe->client->voir || $socid) {
$langs->load("commercial");
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('ThirdPartiesOfSaleRepresentative').': ';
- $moreforfilter .= $formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, 1, 'maxwidth200');
+ $tmptitle = $langs->trans('ThirdPartiesOfSaleRepresentative');
+ $moreforfilter .= img_picto($tmptitle, 'user', 'class="pictofixedwidth"').$formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, $tmptitle, 'maxwidth250');
$moreforfilter .= '
';
}
// If the user can view other users
if ($user->rights->user->user->lire) {
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('LinkedToSpecificUsers').': ';
- $moreforfilter .= $form->select_dolusers($search_user, 'search_user', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth200');
+ $tmptitle = $langs->trans('LinkedToSpecificUsers');
+ $moreforfilter .= img_picto($tmptitle, 'user', 'class="pictofixedwidth"').$form->select_dolusers($search_user, 'search_user', $tmptitle, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth250');
$moreforfilter .= '
';
}
// If the user can view prospects other than his'
if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire && ($user->rights->produit->lire || $user->rights->service->lire)) {
include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('IncludingProductWithTag').': ';
+ $tmptitle = $langs->trans('IncludingProductWithTag');
$cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, null, 'parent', null, null, 1);
- $moreforfilter .= $form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, 'maxwidth300', 1);
+ $moreforfilter .= img_picto($tmptitle, 'category', 'class="pictofixedwidth"').$form->selectarray('search_product_category', $cate_arbo, $search_product_category, $tmptitle, 0, 0, '', 0, 0, 0, 0, 'maxwidth300', 1);
$moreforfilter .= '
';
}
if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire) {
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('CustomersProspectsCategoriesShort').': ';
- $moreforfilter .= $formother->select_categories('customer', $search_categ_cus, 'search_categ_cus', 1);
+ $tmptitle = $langs->trans('CustomersProspectsCategoriesShort');
+ $moreforfilter .= img_picto($tmptitle, 'category', 'class="pictofixedwidth"').$formother->select_categories('customer', $search_categ_cus, 'search_categ_cus', 1, $tmptitle);
$moreforfilter .= '
';
}
if (!empty($conf->expedition->enabled) && !empty($conf->global->WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER)) {
require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
$formproduct = new FormProduct($db);
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('Warehouse').': ';
- $moreforfilter .= $formproduct->selectWarehouses($search_warehouse, 'search_warehouse', '', 1);
+ $tmptitle = $langs->trans('Warehouse');
+ $moreforfilter .= img_picto($tmptitle, 'warehouse', 'class="pictofixedwidth"').$formproduct->selectWarehouses($search_warehouse, 'search_warehouse', '', $tmptitle);
$moreforfilter .= '
';
}
$parameters = array();
@@ -1437,7 +1437,7 @@ if ($resql) {
}
// Amount HT
if (!empty($arrayfields['c.total_ht']['checked'])) {
- print '
'.price($obj->total_ht)." \n";
+ print '
'.price($obj->total_ht)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1448,7 +1448,7 @@ if ($resql) {
}
// Amount VAT
if (!empty($arrayfields['c.total_vat']['checked'])) {
- print '
'.price($obj->total_tva)." \n";
+ print '
'.price($obj->total_tva)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1459,7 +1459,7 @@ if ($resql) {
}
// Amount TTC
if (!empty($arrayfields['c.total_ttc']['checked'])) {
- print '
'.price($obj->total_ttc)." \n";
+ print '
'.price($obj->total_ttc)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1488,21 +1488,21 @@ if ($resql) {
}
// Amount HT
if (!empty($arrayfields['c.multicurrency_total_ht']['checked'])) {
- print '
'.price($obj->multicurrency_total_ht)." \n";
+ print '
'.price($obj->multicurrency_total_ht)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
}
// Amount VAT
if (!empty($arrayfields['c.multicurrency_total_vat']['checked'])) {
- print '
'.price($obj->multicurrency_total_vat)." \n";
+ print '
'.price($obj->multicurrency_total_vat)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
}
// Amount TTC
if (!empty($arrayfields['c.multicurrency_total_ttc']['checked'])) {
- print '
'.price($obj->multicurrency_total_ttc)." \n";
+ print '
'.price($obj->multicurrency_total_ttc)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php
index c3544ba214e..e3079f227f1 100644
--- a/htdocs/compta/facture/class/facture.class.php
+++ b/htdocs/compta/facture/class/facture.class.php
@@ -283,44 +283,42 @@ class Facture extends CommonInvoice
* @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor.
*/
public $fields = array(
- 'rowid' =>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>10),
- 'ref' =>array('type'=>'varchar(30)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'showoncombobox'=>1, 'position'=>15),
+ 'rowid' =>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>1),
+ 'ref' =>array('type'=>'varchar(30)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'position'=>5),
'entity' =>array('type'=>'integer', 'label'=>'Entity', 'default'=>1, 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>20, 'index'=>1),
- 'ref_ext' =>array('type'=>'varchar(255)', 'label'=>'Ref ext', 'enabled'=>1, 'visible'=>0, 'position'=>25),
- 'ref_int' =>array('type'=>'varchar(255)', 'label'=>'Ref int', 'enabled'=>1, 'visible'=>0, 'position'=>30), // deprecated
- 'type' =>array('type'=>'smallint(6)', 'label'=>'Type', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>35),
- 'ref_client' =>array('type'=>'varchar(255)', 'label'=>'Ref client', 'enabled'=>1, 'visible'=>-1, 'position'=>40),
+ 'ref_client' =>array('type'=>'varchar(255)', 'label'=>'Ref client', 'enabled'=>1, 'visible'=>-1, 'position'=>10),
+ 'ref_ext' =>array('type'=>'varchar(255)', 'label'=>'Ref ext', 'enabled'=>1, 'visible'=>0, 'position'=>12),
+ //'ref_int' =>array('type'=>'varchar(255)', 'label'=>'Ref int', 'enabled'=>1, 'visible'=>0, 'position'=>30), // deprecated
+ 'type' =>array('type'=>'smallint(6)', 'label'=>'Type', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>15),
//'increment' =>array('type'=>'varchar(10)', 'label'=>'Increment', 'enabled'=>1, 'visible'=>-1, 'position'=>45),
'fk_soc' =>array('type'=>'integer:Societe:societe/class/societe.class.php', 'label'=>'ThirdParty', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>50),
- 'datec' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-1, 'position'=>55),
- 'datef' =>array('type'=>'date', 'label'=>'DateInvoice', 'enabled'=>1, 'visible'=>-1, 'position'=>60),
- 'date_valid' =>array('type'=>'date', 'label'=>'DateValidation', 'enabled'=>1, 'visible'=>-1, 'position'=>65),
- 'date_closing' =>array('type'=>'datetime', 'label'=>'Date closing', 'enabled'=>1, 'visible'=>-1, 'position'=>70),
- 'tms' =>array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>75),
+ 'datef' =>array('type'=>'date', 'label'=>'DateInvoice', 'enabled'=>1, 'visible'=>-1, 'position'=>20),
+ 'date_valid' =>array('type'=>'date', 'label'=>'DateValidation', 'enabled'=>1, 'visible'=>-1, 'position'=>22),
+ 'date_lim_reglement' =>array('type'=>'date', 'label'=>'DateDue', 'enabled'=>1, 'visible'=>-1, 'position'=>25),
+ 'date_closing' =>array('type'=>'datetime', 'label'=>'Date closing', 'enabled'=>1, 'visible'=>-1, 'position'=>30),
'paye' =>array('type'=>'smallint(6)', 'label'=>'InvoicePaidCompletely', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>80),
//'amount' =>array('type'=>'double(24,8)', 'label'=>'Amount', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>85),
'remise_percent' =>array('type'=>'double', 'label'=>'RelativeDiscount', 'enabled'=>1, 'visible'=>-1, 'position'=>90),
- 'remise_absolue' =>array('type'=>'double', 'label'=>'CustomerRelativeDiscount', 'enabled'=>1, 'visible'=>-1, 'position'=>95),
+ 'remise_absolue' =>array('type'=>'double', 'label'=>'CustomerRelativeDiscount', 'enabled'=>1, 'visible'=>-1, 'position'=>91),
//'remise' =>array('type'=>'double', 'label'=>'Remise', 'enabled'=>1, 'visible'=>-1, 'position'=>100),
- 'close_code' =>array('type'=>'varchar(16)', 'label'=>'EarlyClosingReason', 'enabled'=>1, 'visible'=>-1, 'position'=>105),
- 'close_note' =>array('type'=>'varchar(128)', 'label'=>'EarlyClosingComment', 'enabled'=>1, 'visible'=>-1, 'position'=>110),
- 'tva' =>array('type'=>'double(24,8)', 'label'=>'TotalVAT', 'enabled'=>1, 'visible'=>-1, 'position'=>115, 'isameasure'=>1),
- 'localtax1' =>array('type'=>'double(24,8)', 'label'=>'LT1', 'enabled'=>1, 'visible'=>-1, 'position'=>120, 'isameasure'=>1),
- 'localtax2' =>array('type'=>'double(24,8)', 'label'=>'LT2', 'enabled'=>1, 'visible'=>-1, 'position'=>125, 'isameasure'=>1),
- 'revenuestamp' =>array('type'=>'double(24,8)', 'label'=>'RevenueStamp', 'enabled'=>1, 'visible'=>-1, 'position'=>130, 'isameasure'=>1),
- 'total' =>array('type'=>'double(24,8)', 'label'=>'TotalHT', 'enabled'=>1, 'visible'=>-1, 'position'=>135, 'isameasure'=>1),
- 'total_ttc' =>array('type'=>'double(24,8)', 'label'=>'TotalTTC', 'enabled'=>1, 'visible'=>-1, 'position'=>140, 'isameasure'=>1),
- 'fk_user_author' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>-1, 'position'=>150),
- 'fk_user_modif' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'position'=>155),
- 'fk_user_valid' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'enabled'=>1, 'visible'=>-1, 'position'=>160),
- 'fk_user_closing' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserClosing', 'enabled'=>1, 'visible'=>-1, 'position'=>165),
+ 'close_code' =>array('type'=>'varchar(16)', 'label'=>'EarlyClosingReason', 'enabled'=>1, 'visible'=>-1, 'position'=>92),
+ 'close_note' =>array('type'=>'varchar(128)', 'label'=>'EarlyClosingComment', 'enabled'=>1, 'visible'=>-1, 'position'=>93),
+ 'total' =>array('type'=>'double(24,8)', 'label'=>'AmountHT', 'enabled'=>1, 'visible'=>-1, 'position'=>95, 'isameasure'=>1),
+ 'tva' =>array('type'=>'double(24,8)', 'label'=>'AmountVAT', 'enabled'=>1, 'visible'=>-1, 'position'=>100, 'isameasure'=>1),
+ 'localtax1' =>array('type'=>'double(24,8)', 'label'=>'LT1', 'enabled'=>1, 'visible'=>-1, 'position'=>110, 'isameasure'=>1),
+ 'localtax2' =>array('type'=>'double(24,8)', 'label'=>'LT2', 'enabled'=>1, 'visible'=>-1, 'position'=>120, 'isameasure'=>1),
+ 'revenuestamp' =>array('type'=>'double(24,8)', 'label'=>'RevenueStamp', 'enabled'=>1, 'visible'=>-1, 'position'=>115, 'isameasure'=>1),
+ 'total_ttc' =>array('type'=>'double(24,8)', 'label'=>'AmountTTC', 'enabled'=>1, 'visible'=>1, 'position'=>130, 'isameasure'=>1),
+ 'fk_user_author' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>-1, 'position'=>165),
+ 'fk_user_modif' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'position'=>166),
+ 'fk_user_valid' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'enabled'=>1, 'visible'=>-1, 'position'=>167),
+ 'fk_user_closing' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserClosing', 'enabled'=>1, 'visible'=>-1, 'position'=>168),
'fk_facture_source' =>array('type'=>'integer', 'label'=>'SourceInvoice', 'enabled'=>1, 'visible'=>-1, 'position'=>170),
'fk_projet' =>array('type'=>'integer:Project:projet/class/project.class.php:1:fk_statut=1', 'label'=>'Project', 'enabled'=>1, 'visible'=>-1, 'position'=>175),
'fk_account' =>array('type'=>'integer', 'label'=>'Fk account', 'enabled'=>1, 'visible'=>-1, 'position'=>180),
'fk_currency' =>array('type'=>'varchar(3)', 'label'=>'CurrencyCode', 'enabled'=>1, 'visible'=>-1, 'position'=>185),
'fk_cond_reglement' =>array('type'=>'integer', 'label'=>'PaymentTerm', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>190),
'fk_mode_reglement' =>array('type'=>'integer', 'label'=>'PaymentMode', 'enabled'=>1, 'visible'=>-1, 'position'=>195),
- 'date_lim_reglement' =>array('type'=>'date', 'label'=>'DateDue', 'enabled'=>1, 'visible'=>-1, 'position'=>200),
'note_private' =>array('type'=>'text', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>0, 'position'=>205),
'note_public' =>array('type'=>'text', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>0, 'position'=>210),
'model_pdf' =>array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>1, 'visible'=>0, 'position'=>215),
@@ -335,8 +333,8 @@ class Facture extends CommonInvoice
'location_incoterms' =>array('type'=>'varchar(255)', 'label'=>'IncotermLabel', 'enabled'=>'$conf->incoterm->enabled', 'visible'=>-1, 'position'=>265),
'date_pointoftax' =>array('type'=>'date', 'label'=>'DatePointOfTax', 'enabled'=>'$conf->global->INVOICE_POINTOFTAX_DATE', 'visible'=>-1, 'position'=>270),
'fk_multicurrency' =>array('type'=>'integer', 'label'=>'MulticurrencyID', 'enabled'=>'$conf->multicurrency->enabled', 'visible'=>-1, 'position'=>275),
- 'multicurrency_code' =>array('type'=>'varchar(255)', 'label'=>'MulticurrencyCurrency', 'enabled'=>'$conf->multicurrency->enabled', 'visible'=>-1, 'position'=>280),
- 'multicurrency_tx' =>array('type'=>'double(24,8)', 'label'=>'MulticurrencyRate', 'enabled'=>'$conf->multicurrency->enabled', 'visible'=>-1, 'position'=>285, 'isameasure'=>1),
+ 'multicurrency_code' =>array('type'=>'varchar(255)', 'label'=>'Currency', 'enabled'=>'$conf->multicurrency->enabled', 'visible'=>-1, 'position'=>280),
+ 'multicurrency_tx' =>array('type'=>'double(24,8)', 'label'=>'CurrencyRate', 'enabled'=>'$conf->multicurrency->enabled', 'visible'=>-1, 'position'=>285, 'isameasure'=>1),
'multicurrency_total_ht' =>array('type'=>'double(24,8)', 'label'=>'MulticurrencyAmountHT', 'enabled'=>'$conf->multicurrency->enabled', 'visible'=>-1, 'position'=>290, 'isameasure'=>1),
'multicurrency_total_tva' =>array('type'=>'double(24,8)', 'label'=>'MulticurrencyAmountVAT', 'enabled'=>'$conf->multicurrency->enabled', 'visible'=>-1, 'position'=>295, 'isameasure'=>1),
'multicurrency_total_ttc' =>array('type'=>'double(24,8)', 'label'=>'MulticurrencyAmountTTC', 'enabled'=>'$conf->multicurrency->enabled', 'visible'=>-1, 'position'=>300, 'isameasure'=>1),
@@ -344,8 +342,10 @@ class Facture extends CommonInvoice
'last_main_doc' =>array('type'=>'varchar(255)', 'label'=>'LastMainDoc', 'enabled'=>1, 'visible'=>-1, 'position'=>310),
'module_source' =>array('type'=>'varchar(32)', 'label'=>'POSModule', 'enabled'=>1, 'visible'=>-1, 'position'=>315),
'pos_source' =>array('type'=>'varchar(32)', 'label'=>'POSTerminal', 'enabled'=>1, 'visible'=>-1, 'position'=>320),
- 'fk_statut' =>array('type'=>'smallint(6)', 'label'=>'Status', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>500, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Validated', 2=>'Paid', 3=>'Abandonned')),
+ 'datec' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-1, 'position'=>500),
+ 'tms' =>array('type'=>'timestamp', 'label'=>'DateModificationShort', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>500),
'import_key' =>array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>900),
+ 'fk_statut' =>array('type'=>'smallint(6)', 'label'=>'Status', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Validated', 2=>'Paid', 3=>'Abandonned')),
);
// END MODULEBUILDER PROPERTIES
diff --git a/htdocs/compta/facture/invoicetemplate_list.php b/htdocs/compta/facture/invoicetemplate_list.php
index 5d511aa6cd6..a0a2e6d5e84 100644
--- a/htdocs/compta/facture/invoicetemplate_list.php
+++ b/htdocs/compta/facture/invoicetemplate_list.php
@@ -125,22 +125,22 @@ $permissiondellink = $user->rights->facture->creer; // Used by the include of ac
$permissiontoedit = $user->rights->facture->creer; // Used by the include of actions_lineupdonw.inc.php
$arrayfields = array(
- 'f.titre'=>array('label'=>$langs->trans("Ref"), 'checked'=>1),
- 's.nom'=>array('label'=>$langs->trans("ThirdParty"), 'checked'=>1),
- 'f.total'=>array('label'=>$langs->trans("AmountHT"), 'checked'=>1),
- 'f.tva'=>array('label'=>$langs->trans("AmountVAT"), 'checked'=>1),
- 'f.total_ttc'=>array('label'=>$langs->trans("AmountTTC"), 'checked'=>1),
- 'f.fk_mode_reglement'=>array('label'=>$langs->trans("PaymentMode"), 'checked'=>0),
- 'f.fk_cond_reglement'=>array('label'=>$langs->trans("PaymentTerm"), 'checked'=>0),
- 'recurring'=>array('label'=>$langs->trans("RecurringInvoiceTemplate"), 'checked'=>1),
- 'f.frequency'=>array('label'=>$langs->trans("Frequency"), 'checked'=>1),
- 'f.unit_frequency'=>array('label'=>$langs->trans("FrequencyUnit"), 'checked'=>1),
- 'f.nb_gen_done'=>array('label'=>$langs->trans("NbOfGenerationDoneShort"), 'checked'=>1),
- 'f.date_last_gen'=>array('label'=>$langs->trans("DateLastGenerationShort"), 'checked'=>1),
- 'f.date_when'=>array('label'=>$langs->trans("NextDateToExecutionShort"), 'checked'=>1),
- 'status'=>array('label'=>$langs->trans("Status"), 'checked'=>1, 'position'=>100),
- 'f.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500),
- 'f.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500),
+ 'f.titre'=>array('label'=>"Ref", 'checked'=>1),
+ 's.nom'=>array('label'=>"ThirdParty", 'checked'=>1),
+ 'f.total'=>array('label'=>"AmountHT", 'checked'=>1),
+ 'f.tva'=>array('label'=>"AmountVAT", 'checked'=>1),
+ 'f.total_ttc'=>array('label'=>"AmountTTC", 'checked'=>1),
+ 'f.fk_mode_reglement'=>array('label'=>"PaymentMode", 'checked'=>0),
+ 'f.fk_cond_reglement'=>array('label'=>"PaymentTerm", 'checked'=>0),
+ 'recurring'=>array('label'=>"RecurringInvoiceTemplate", 'checked'=>1),
+ 'f.frequency'=>array('label'=>"Frequency", 'checked'=>1),
+ 'f.unit_frequency'=>array('label'=>"FrequencyUnit", 'checked'=>1),
+ 'f.nb_gen_done'=>array('label'=>"NbOfGenerationDoneShort", 'checked'=>1),
+ 'f.date_last_gen'=>array('label'=>"DateLastGenerationShort", 'checked'=>1),
+ 'f.date_when'=>array('label'=>"NextDateToExecutionShort", 'checked'=>1),
+ 'status'=>array('label'=>"Status", 'checked'=>1, 'position'=>100),
+ 'f.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500),
+ 'f.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500),
);
// Extra fields
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php';
@@ -655,7 +655,7 @@ if ($resql) {
}
}
if (!empty($arrayfields['f.total']['checked'])) {
- print '
'.price($objp->total).' '."\n";
+ print '
'.price($objp->total).' '."\n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -665,7 +665,7 @@ if ($resql) {
$totalarray['val']['f.total'] += $objp->total;
}
if (!empty($arrayfields['f.tva']['checked'])) {
- print '
'.price($objp->total_vat).' '."\n";
+ print '
'.price($objp->total_vat).' '."\n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -675,7 +675,7 @@ if ($resql) {
$totalarray['val']['f.tva'] += $objp->total_vat;
}
if (!empty($arrayfields['f.total_ttc']['checked'])) {
- print '
'.price($objp->total_ttc).' '."\n";
+ print '
'.price($objp->total_ttc).' '."\n";
if (!$i) {
$totalarray['nbfield']++;
}
diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php
index 6cf770cb79c..a3c5fb08133 100644
--- a/htdocs/compta/facture/list.php
+++ b/htdocs/compta/facture/list.php
@@ -189,33 +189,33 @@ $arrayfields = array(
'f.ref'=>array('label'=>"Ref", 'checked'=>1, 'position'=>5),
'f.ref_client'=>array('label'=>"RefCustomer", 'checked'=>-1, 'position'=>10),
'f.type'=>array('label'=>"Type", 'checked'=>0, 'position'=>15),
- 'f.date'=>array('label'=>"DateInvoice", 'checked'=>1, 'position'=>20),
+ 'f.datef'=>array('label'=>"DateInvoice", 'checked'=>1, 'position'=>20),
'f.date_valid'=>array('label'=>"DateValidation", 'checked'=>0, 'position'=>22),
'f.date_lim_reglement'=>array('label'=>"DateDue", 'checked'=>1, 'position'=>25),
'f.date_closing'=>array('label'=>"DateClosing", 'checked'=>0, 'position'=>30),
'p.ref'=>array('label'=>"ProjectRef", 'checked'=>1, 'enabled'=>(empty($conf->projet->enabled) ? 0 : 1), 'position'=>40),
- 'p.title'=>array('label'=>"ProjectLabel", 'checked'=>0, 'enabled'=>(empty($conf->projet->enabled) ? 0 : 1), 'position'=>40),
+ 'p.title'=>array('label'=>"ProjectLabel", 'checked'=>0, 'enabled'=>(empty($conf->projet->enabled) ? 0 : 1), 'position'=>41),
's.nom'=>array('label'=>"ThirdParty", 'checked'=>1, 'position'=>50),
's.name_alias'=>array('label'=>"AliasNameShort", 'checked'=>1, 'position'=>51),
- 's.town'=>array('label'=>"Town", 'checked'=>1, 'position'=>55),
+ 's.town'=>array('label'=>"Town", 'checked'=>-1, 'position'=>55),
's.zip'=>array('label'=>"Zip", 'checked'=>1, 'position'=>60),
'state.nom'=>array('label'=>"StateShort", 'checked'=>0, 'position'=>65),
'country.code_iso'=>array('label'=>"Country", 'checked'=>0, 'position'=>70),
'typent.code'=>array('label'=>"ThirdPartyType", 'checked'=>$checkedtypetiers, 'position'=>75),
'f.fk_mode_reglement'=>array('label'=>"PaymentMode", 'checked'=>1, 'position'=>80),
'f.fk_cond_reglement'=>array('label'=>"PaymentConditionsShort", 'checked'=>1, 'position'=>85),
- 'f.module_source'=>array('label'=>"Module", 'checked'=>($contextpage == 'poslist' ? 1 : 0), 'enabled'=>((empty($conf->cashdesk->enabled) && empty($conf->takepos->enabled) && empty($conf->global->INVOICE_SHOW_POS)) ? 0 : 1), 'position'=>90),
- 'f.pos_source'=>array('label'=>"Terminal", 'checked'=>($contextpage == 'poslist' ? 1 : 0), 'enabled'=>((empty($conf->cashdesk->enabled) && empty($conf->takepos->enabled) && empty($conf->global->INVOICE_SHOW_POS)) ? 0 : 1), 'position'=>91),
+ 'f.module_source'=>array('label'=>"POSModule", 'checked'=>($contextpage == 'poslist' ? 1 : 0), 'enabled'=>((empty($conf->cashdesk->enabled) && empty($conf->takepos->enabled) && empty($conf->global->INVOICE_SHOW_POS)) ? 0 : 1), 'position'=>90),
+ 'f.pos_source'=>array('label'=>"POSTerminal", 'checked'=>($contextpage == 'poslist' ? 1 : 0), 'enabled'=>((empty($conf->cashdesk->enabled) && empty($conf->takepos->enabled) && empty($conf->global->INVOICE_SHOW_POS)) ? 0 : 1), 'position'=>91),
'f.total_ht'=>array('label'=>"AmountHT", 'checked'=>1, 'position'=>95),
'f.total_vat'=>array('label'=>"AmountVAT", 'checked'=>0, 'position'=>100),
'f.total_localtax1'=>array('label'=>$langs->transcountry("AmountLT1", $mysoc->country_code), 'checked'=>0, 'enabled'=>($mysoc->localtax1_assuj == "1"), 'position'=>110),
'f.total_localtax2'=>array('label'=>$langs->transcountry("AmountLT2", $mysoc->country_code), 'checked'=>0, 'enabled'=>($mysoc->localtax2_assuj == "1"), 'position'=>120),
'f.total_ttc'=>array('label'=>"AmountTTC", 'checked'=>0, 'position'=>130),
- 'u.login'=>array('label'=>"Author", 'checked'=>1, 'position'=>135),
'dynamount_payed'=>array('label'=>"Received", 'checked'=>0, 'position'=>140),
'rtp'=>array('label'=>"Rest", 'checked'=>0, 'position'=>150), // Not enabled by default because slow
- 'f.multicurrency_code'=>array('label'=>'Currency', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>160),
- 'f.multicurrency_tx'=>array('label'=>'CurrencyRate', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>170),
+ 'u.login'=>array('label'=>"Author", 'checked'=>1, 'position'=>165),
+ 'f.multicurrency_code'=>array('label'=>'Currency', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>170),
+ 'f.multicurrency_tx'=>array('label'=>'CurrencyRate', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>171),
'f.multicurrency_total_ht'=>array('label'=>'MulticurrencyAmountHT', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>180),
'f.multicurrency_total_vat'=>array('label'=>'MulticurrencyAmountVAT', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>190),
'f.multicurrency_total_ttc'=>array('label'=>'MulticurrencyAmountTTC', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>200),
@@ -235,7 +235,24 @@ $arrayfields = array(
if ($conf->global->INVOICE_USE_SITUATION && $conf->global->INVOICE_USE_RETAINED_WARRANTY) {
$arrayfields['f.retained_warranty'] = array('label'=>$langs->trans("RetainedWarranty"), 'checked'=>0, 'position'=>86);
}
-
+// Overwrite $arrayfields from columns into ->fields (transition before removal of $arrayoffields)
+foreach ($object->fields as $key => $val) {
+ // If $val['visible']==0, then we never show the field
+ if (!empty($val['visible'])) {
+ $visible = (int) dol_eval($val['visible'], 1);
+ $newkey = '';
+ if (array_key_exists($key, $arrayfields)) { $newkey = $key; } elseif (array_key_exists('t.'.$key, $arrayfields)) { $newkey = 't.'.$key; } elseif (array_key_exists('f.'.$key, $arrayfields)) { $newkey = 'f.'.$key; } elseif (array_key_exists('s.'.$key, $arrayfields)) { $newkey = 's.'.$key; }
+ if ($newkey) {
+ $arrayfields[$newkey] = array(
+ 'label'=>$val['label'],
+ 'checked'=>(($visible < 0) ? 0 : 1),
+ 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)),
+ 'position'=>$val['position'],
+ 'help'=>$val['help']
+ );
+ }
+ }
+}
// Extra fields
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php';
@@ -434,7 +451,7 @@ $sql .= ' f.rowid as id, f.ref, f.ref_client, f.type, f.note_private, f.note_pub
$sql .= ' f.localtax1 as total_localtax1, f.localtax2 as total_localtax2,';
$sql .= ' f.fk_user_author,';
$sql .= ' f.fk_multicurrency, f.multicurrency_code, f.multicurrency_tx, f.multicurrency_total_ht, f.multicurrency_total_tva as multicurrency_total_vat, f.multicurrency_total_ttc,';
-$sql .= ' f.datef as df, f.date_valid, f.date_lim_reglement as datelimite, f.module_source, f.pos_source,';
+$sql .= ' f.datef, f.date_valid, f.date_lim_reglement as datelimite, f.module_source, f.pos_source,';
$sql .= ' f.paye as paye, f.fk_statut, f.close_code,';
$sql .= ' f.datec as date_creation, f.tms as date_update, f.date_closing as date_closing,';
$sql .= ' f.retained_warranty, f.retained_warranty_date_limit, f.situation_final, f.situation_cycle_ref, f.situation_counter,';
@@ -942,31 +959,31 @@ if ($resql) {
if ($user->rights->societe->client->voir || $socid) {
$langs->load("commercial");
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('ThirdPartiesOfSaleRepresentative').': ';
- $moreforfilter .= $formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, 1, 'maxwidth200');
+ $tmptitle = $langs->trans('ThirdPartiesOfSaleRepresentative');
+ $moreforfilter .= img_picto($tmptitle, 'user', 'class="pictofixedwidth"').$formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, $tmptitle, 'maxwidth250');
$moreforfilter .= '
';
}
// If the user can view prospects other than his'
if ($user->rights->societe->client->voir || $socid) {
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('LinkedToSpecificUsers').': ';
- $moreforfilter .= $form->select_dolusers($search_user, 'search_user', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth200');
+ $tmptitle = $langs->trans('LinkedToSpecificUsers');
+ $moreforfilter .= img_picto($tmptitle, 'user', 'class="pictofixedwidth"').$form->select_dolusers($search_user, 'search_user', $tmptitle, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth250');
$moreforfilter .= '
';
}
// If the user can view prospects other than his'
if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire && ($user->rights->produit->lire || $user->rights->service->lire)) {
include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('IncludingProductWithTag').': ';
+ $tmptitle = $langs->trans('IncludingProductWithTag');
$cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, null, 'parent', null, null, 1);
- $moreforfilter .= $form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, 'maxwidth300', 1);
+ $moreforfilter .= img_picto($tmptitle, 'category', 'class="pictofixedwidth"').$form->selectarray('search_product_category', $cate_arbo, $search_product_category, $tmptitle, 0, 0, '', 0, 0, 0, 0, 'maxwidth300', 1);
$moreforfilter .= '
';
}
if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire) {
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('CustomersProspectsCategoriesShort').': ';
- $moreforfilter .= $formother->select_categories('customer', $search_categ_cus, 'search_categ_cus', 1);
+ $tmptitle = $langs->trans('CustomersProspectsCategoriesShort');
+ $moreforfilter .= img_picto($tmptitle, 'category', 'class="pictofixedwidth"').$formother->select_categories('customer', $search_categ_cus, 'search_categ_cus', 1, $tmptitle);
$moreforfilter .= '
';
}
$parameters = array();
@@ -985,6 +1002,7 @@ if ($resql) {
$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
+
// Show the massaction checkboxes only when this page is not opend from the Extended POS
if ($massactionbutton && $contextpage != 'poslist') {
$selectedfields .= $form->showCheckAddButtons('checkforselect', 1);
@@ -1028,7 +1046,7 @@ if ($resql) {
print '';
}
// Date invoice
- if (!empty($arrayfields['f.date']['checked'])) {
+ if (!empty($arrayfields['f.datef']['checked'])) {
print '
';
print '';
print $form->selectDate($search_date_start ? $search_date_start : -1, 'search_date_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'));
@@ -1291,7 +1309,7 @@ if ($resql) {
if (!empty($arrayfields['f.type']['checked'])) {
print_liste_field_titre($arrayfields['f.type']['label'], $_SERVER["PHP_SELF"], 'f.type', '', $param, '', $sortfield, $sortorder);
}
- if (!empty($arrayfields['f.date']['checked'])) {
+ if (!empty($arrayfields['f.datef']['checked'])) {
print_liste_field_titre($arrayfields['f.date']['label'], $_SERVER['PHP_SELF'], 'f.datef', '', $param, 'align="center"', $sortfield, $sortorder);
}
if (!empty($arrayfields['f.date_valid']['checked'])) {
@@ -1456,7 +1474,7 @@ if ($resql) {
$facturestatic->paye = $obj->paye;
$facturestatic->fk_soc = $obj->fk_soc;
- $facturestatic->date = $db->jdate($obj->df);
+ $facturestatic->date = $db->jdate($obj->datef);
$facturestatic->date_valid = $db->jdate($obj->date_valid);
$facturestatic->date_lim_reglement = $db->jdate($obj->datelimite);
@@ -1576,9 +1594,9 @@ if ($resql) {
}
// Date
- if (!empty($arrayfields['f.date']['checked'])) {
+ if (!empty($arrayfields['f.datef']['checked'])) {
print '
';
- print dol_print_date($db->jdate($obj->df), 'day');
+ print dol_print_date($db->jdate($obj->datef), 'day');
print ' ';
if (!$i) {
$totalarray['nbfield']++;
@@ -1755,7 +1773,7 @@ if ($resql) {
// Amount HT
if (!empty($arrayfields['f.total_ht']['checked'])) {
- print '
'.price($obj->total_ht)." \n";
+ print '
'.price($obj->total_ht)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1766,7 +1784,7 @@ if ($resql) {
}
// Amount VAT
if (!empty($arrayfields['f.total_vat']['checked'])) {
- print '
'.price($obj->total_vat)." \n";
+ print '
'.price($obj->total_vat)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1777,7 +1795,7 @@ if ($resql) {
}
// Amount LocalTax1
if (!empty($arrayfields['f.total_localtax1']['checked'])) {
- print '
'.price($obj->total_localtax1)." \n";
+ print '
'.price($obj->total_localtax1)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1788,7 +1806,7 @@ if ($resql) {
}
// Amount LocalTax2
if (!empty($arrayfields['f.total_localtax2']['checked'])) {
- print '
'.price($obj->total_localtax2)." \n";
+ print '
'.price($obj->total_localtax2)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1799,7 +1817,7 @@ if ($resql) {
}
// Amount TTC
if (!empty($arrayfields['f.total_ttc']['checked'])) {
- print '
'.price($obj->total_ttc)." \n";
+ print '
'.price($obj->total_ttc)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1826,11 +1844,11 @@ if ($resql) {
}
if (!empty($arrayfields['f.retained_warranty']['checked'])) {
- print '
'.(!empty($obj->retained_warranty) ?price($obj->retained_warranty).'%' : ' ').' ';
+ print '
'.(!empty($obj->retained_warranty) ?price($obj->retained_warranty).'%' : ' ').' ';
}
if (!empty($arrayfields['dynamount_payed']['checked'])) {
- print '
'.(!empty($totalpay) ?price($totalpay, 0, $langs) : ' ').' '; // TODO Use a denormalized field
+ print '
'.(!empty($totalpay) ?price($totalpay, 0, $langs) : ' ').' '; // TODO Use a denormalized field
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1842,7 +1860,7 @@ if ($resql) {
// Pending amount
if (!empty($arrayfields['rtp']['checked'])) {
- print '
';
+ print ' ';
print (!empty($remaintopay) ? price($remaintopay, 0, $langs) : ' ');
print ' '; // TODO Use a denormalized field
if (!$i) {
@@ -1874,27 +1892,27 @@ if ($resql) {
}
// Amount HT
if (!empty($arrayfields['f.multicurrency_total_ht']['checked'])) {
- print '
'.price($obj->multicurrency_total_ht)." \n";
+ print '
'.price($obj->multicurrency_total_ht)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
}
// Amount VAT
if (!empty($arrayfields['f.multicurrency_total_vat']['checked'])) {
- print '
'.price($obj->multicurrency_total_vat)." \n";
+ print '
'.price($obj->multicurrency_total_vat)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
}
// Amount TTC
if (!empty($arrayfields['f.multicurrency_total_ttc']['checked'])) {
- print '
'.price($obj->multicurrency_total_ttc)." \n";
+ print '
'.price($obj->multicurrency_total_ttc)." \n";
if (!$i) {
$totalarray['nbfield']++;
}
}
if (!empty($arrayfields['multicurrency_dynamount_payed']['checked'])) {
- print '
'.(!empty($multicurrency_totalpay) ?price($multicurrency_totalpay, 0, $langs) : ' ').' '; // TODO Use a denormalized field
+ print '
'.(!empty($multicurrency_totalpay) ?price($multicurrency_totalpay, 0, $langs) : ' ').' '; // TODO Use a denormalized field
if (!$i) {
$totalarray['nbfield']++;
}
diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php
index 3890155f116..4535c0514e9 100644
--- a/htdocs/contact/list.php
+++ b/htdocs/contact/list.php
@@ -704,25 +704,29 @@ $moreforfilter = '';
if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire) {
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('Categories').': ';
- $moreforfilter .= $formother->select_categories(Categorie::TYPE_CONTACT, $search_categ, 'search_categ', 1);
+ $tmptitle = $langs->trans('ContactCategoriesShort');
+ $moreforfilter .= img_picto($tmptitle, 'category', 'class="pictofixedwidth"');
+ $moreforfilter .= $formother->select_categories(Categorie::TYPE_CONTACT, $search_categ, 'search_categ', 1, $tmptitle);
$moreforfilter .= '
';
if (empty($type) || $type == 'c' || $type == 'p') {
$moreforfilter .= '
';
+ $tmptitle = '';
if ($type == 'c') {
- $moreforfilter .= $langs->trans('CustomersCategoriesShort').': ';
+ $tmptitle .= $langs->trans('CustomersCategoriesShort');
} elseif ($type == 'p') {
- $moreforfilter .= $langs->trans('ProspectsCategoriesShort').': ';
+ $tmptitle .= $langs->trans('ProspectsCategoriesShort');
} else {
- $moreforfilter .= $langs->trans('CustomersProspectsCategoriesShort').': ';
+ $tmptitle .= $langs->trans('CustomersProspectsCategoriesShort');
}
- $moreforfilter .= $formother->select_categories(Categorie::TYPE_CUSTOMER, $search_categ_thirdparty, 'search_categ_thirdparty', 1);
+ $moreforfilter .= img_picto($tmptitle, 'category', 'class="pictofixedwidth"');
+ $moreforfilter .= $formother->select_categories(Categorie::TYPE_CUSTOMER, $search_categ_thirdparty, 'search_categ_thirdparty', 1, $tmptitle);
$moreforfilter .= '
';
}
if (empty($type) || $type == 'f') {
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('SuppliersCategoriesShort').': ';
- $moreforfilter .= $formother->select_categories(Categorie::TYPE_SUPPLIER, $search_categ_supplier, 'search_categ_supplier', 1);
+ $tmptitle = $langs->trans('SuppliersCategoriesShort');
+ $moreforfilter .= img_picto($tmptitle, 'category', 'class="pictofixedwidth"');
+ $moreforfilter .= $formother->select_categories(Categorie::TYPE_SUPPLIER, $search_categ_supplier, 'search_categ_supplier', 1, $tmptitle);
$moreforfilter .= '
';
}
}
@@ -1092,35 +1096,35 @@ while ($i < min($num, $limit)) {
}
// Phone
if (!empty($arrayfields['p.phone']['checked'])) {
- print '
'.dol_print_phone($obj->phone_pro, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'phone').' ';
+ print '
'.dol_print_phone($obj->phone_pro, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'phone').' ';
if (!$i) {
$totalarray['nbfield']++;
}
}
// Phone perso
if (!empty($arrayfields['p.phone_perso']['checked'])) {
- print '
'.dol_print_phone($obj->phone_perso, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'phone').' ';
+ print '
'.dol_print_phone($obj->phone_perso, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'phone').' ';
if (!$i) {
$totalarray['nbfield']++;
}
}
// Phone mobile
if (!empty($arrayfields['p.phone_mobile']['checked'])) {
- print '
'.dol_print_phone($obj->phone_mobile, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'mobile').' ';
+ print '
'.dol_print_phone($obj->phone_mobile, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'mobile').' ';
if (!$i) {
$totalarray['nbfield']++;
}
}
// Fax
if (!empty($arrayfields['p.fax']['checked'])) {
- print '
'.dol_print_phone($obj->fax, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'fax').' ';
+ print '
'.dol_print_phone($obj->fax, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'fax').' ';
if (!$i) {
$totalarray['nbfield']++;
}
}
// EMail
if (!empty($arrayfields['p.email']['checked'])) {
- print '
'.dol_print_email($obj->email, $obj->rowid, $obj->socid, 'AC_EMAIL', 18, 0, 1).' ';
+ print '
'.dol_print_email($obj->email, $obj->rowid, $obj->socid, 'AC_EMAIL', 18, 0, 1).' ';
if (!$i) {
$totalarray['nbfield']++;
}
@@ -1144,7 +1148,7 @@ while ($i < min($num, $limit)) {
}
// Company
if (!empty($arrayfields['p.fk_soc']['checked']) || !empty($arrayfields['s.nom']['checked'])) {
- print '
';
+ print ' ';
if ($obj->socid) {
$objsoc = new Societe($db);
$objsoc->fetch($obj->socid);
diff --git a/htdocs/core/ajax/selectsearchbox.php b/htdocs/core/ajax/selectsearchbox.php
index 2794243b7f3..d10324ef620 100644
--- a/htdocs/core/ajax/selectsearchbox.php
+++ b/htdocs/core/ajax/selectsearchbox.php
@@ -81,7 +81,7 @@ if (((!empty($conf->product->enabled) && $user->rights->produit->lire) || (!empt
$arrayresult['searchintoproduct'] = array('position'=>30, 'shortcut'=>'P', 'img'=>'object_product', 'label'=>$langs->trans("SearchIntoProductsOrServices", $search_boxvalue), 'text'=>img_picto('', 'object_product').' '.$langs->trans("SearchIntoProductsOrServices", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/product/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : ''));
// search on lot/serial numbers
if ( ! empty($conf->productbatch->enabled) ) {
- $arrayresult['searchintobatch'] = array('position'=>32, 'shortcut'=>'B', 'img'=>'object_plot', 'label'=>$langs->trans("SearchIntoBatch", $search_boxvalue), 'text'=>img_picto('', 'object_lot').' '.$langs->trans("SearchIntoBatch", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/product/stock/productlot_list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : ''));
+ $arrayresult['searchintobatch'] = array('position'=>32, 'shortcut'=>'B', 'img'=>'object_lot', 'label'=>$langs->trans("SearchIntoBatch", $search_boxvalue), 'text'=>img_picto('', 'object_lot').' '.$langs->trans("SearchIntoBatch", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/product/stock/productlot_list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : ''));
}
}
diff --git a/htdocs/core/boxes/box_members_last_subscriptions.php b/htdocs/core/boxes/box_members_last_subscriptions.php
index 6da20bf28d0..e08bc1073b6 100644
--- a/htdocs/core/boxes/box_members_last_subscriptions.php
+++ b/htdocs/core/boxes/box_members_last_subscriptions.php
@@ -153,7 +153,7 @@ class box_members_last_subscriptions extends ModeleBoxes
$this->info_box_contents[$line][] = array(
'td' => 'class="right" width="18"',
- 'text' => price($obj->subscription),
+ 'text' => ''.price($obj->subscription).' ',
);
$this->info_box_contents[$line][] = array(
diff --git a/htdocs/core/boxes/box_members_subscriptions_by_year.php b/htdocs/core/boxes/box_members_subscriptions_by_year.php
index ef796b75044..b6c146312bc 100644
--- a/htdocs/core/boxes/box_members_subscriptions_by_year.php
+++ b/htdocs/core/boxes/box_members_subscriptions_by_year.php
@@ -180,11 +180,11 @@ class box_members_subscriptions_by_year extends ModeleBoxes
);
$this->info_box_contents[$line][] = array(
'td' => 'class="right"',
- 'text' => price($value),
+ 'text' => ''.price($value).' ',
);
$this->info_box_contents[$line][] = array(
'td' => 'class="right"',
- 'text' => price(price2num($value / $Number[$key], 'MT')),
+ 'text' => ''.price(price2num($value / $Number[$key], 'MT')).' ',
);
$line++;
}
@@ -205,11 +205,11 @@ class box_members_subscriptions_by_year extends ModeleBoxes
);
$this->info_box_contents[$line][] = array(
'td' => 'class="liste_total right"',
- 'text' => price($tot),
+ 'text' => ''.price($tot).' ',
);
$this->info_box_contents[$line][] = array(
'td' => 'class="liste_total right"',
- 'text' => price(price2num($numb > 0 ? ($tot / $numb) : 0, 'MT')),
+ 'text' => ''.price(price2num($numb > 0 ? ($tot / $numb) : 0, 'MT')).' ',
);
}
} else {
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index df79fcfca7c..df9c8488553 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -1837,7 +1837,7 @@ class Form
*
* @param string $selected User id or user object of user preselected. If 0 or < -2, we use id of current user. If -1, keep unselected (if empty is allowed)
* @param string $htmlname Field name in form
- * @param int $show_empty 0=list with no empty value, 1=add also an empty value into list
+ * @param int|string $show_empty 0=list with no empty value, 1=add also an empty value into list
* @param array $exclude Array list of users id to exclude
* @param int $disabled If select list must be disabled
* @param array|string $include Array list of users id to include. User '' for all users or 'hierarchy' to have only supervised users or 'hierarchyme' to have supervised + me
@@ -1937,9 +1937,9 @@ class Form
}
if (empty($conf->global->MAIN_FIRSTNAME_NAME_POSITION)) { // MAIN_FIRSTNAME_NAME_POSITION is 0 means firstname+lastname
- $sql .= " ORDER BY u.firstname ASC";
+ $sql .= " ORDER BY u.statut DESC, u.firstname ASC, u.lastname ASC";
} else {
- $sql .= " ORDER BY u.lastname ASC";
+ $sql .= " ORDER BY u.statut DESC, u.lastname ASC, u.firstname ASC";
}
dol_syslog(get_class($this)."::select_dolusers", LOG_DEBUG);
@@ -1955,7 +1955,14 @@ class Form
// do not use maxwidthonsmartphone by default. Set it by caller so auto size to 100% will work when not defined
$out .= '';
if ($show_empty && !$multiple) {
- $out .= ' '."\n";
+ $textforempty = ' ';
+ if (!empty($conf->use_javascript_ajax)) {
+ $textforempty = ' '; // If we use ajaxcombo, we need here to avoid to have an empty element that is too small.
+ }
+ if (!is_numeric($show_empty)) {
+ $textforempty = $show_empty;
+ }
+ $out .= ''.$textforempty.' '."\n";
}
if ($show_every) {
$out .= '-- '.$langs->trans("Everybody").' -- '."\n";
@@ -7340,7 +7347,7 @@ class Form
/**
- * Show a multiselect dropbox from an array.
+ * Show a multiselect dropbox from an array. If a saved selection of fields exists for user (into $user->conf->MAIN_SELECTEDFIELDS_contextofpage), we use this one instead of default.
*
* @param string $htmlname Name of HTML field
* @param array $array Array with array of fields we could show. This array may be modified according to setup of user.
@@ -7356,8 +7363,9 @@ class Form
return '';
}
- $tmpvar = "MAIN_SELECTEDFIELDS_".$varpage; // To get list of saved seleteced properties
- if (!empty($user->conf->$tmpvar)) {
+ $tmpvar = "MAIN_SELECTEDFIELDS_".$varpage; // To get list of saved selected fields to show
+
+ if (!empty($user->conf->$tmpvar)) { // A list of fields was already customized for user
$tmparray = explode(',', $user->conf->$tmpvar);
foreach ($array as $key => $val) {
//var_dump($key);
@@ -7368,6 +7376,12 @@ class Form
$array[$key]['checked'] = 0;
}
}
+ } else { // There is no list of fields already customized for user
+ foreach ($array as $key => $val) {
+ if ($array[$key]['checked'] < 0) {
+ $array[$key]['checked'] = 0;
+ }
+ }
}
$lis = '';
@@ -7386,7 +7400,8 @@ class Form
$langs->load($val['langfile']);
}
- $lis .= ''.dol_escape_htmltag($langs->trans($val['label'])).' ';
+ // Note: $val['checked'] <> 0 means we must show the field into the combo list
+ $lis .= ''.dol_escape_htmltag($langs->trans($val['label'])).' ';
$listcheckedstring .= (empty($val['checked']) ? '' : $key.',');
}
}
@@ -7727,16 +7742,17 @@ class Form
print '';
print '';
- print ' ';
+ print ' ';
print ' ';
- print ''.$objp->ref.' ';
+ print ''.$objp->ref.' ';
print ''.$objp->ref_client.' ';
print '';
if ($possiblelink['label'] == 'LinkToContract') {
$form = new Form($this->db);
print $form->textwithpicto('', $langs->trans("InformationOnLinkToContract")).' ';
}
- print price($objp->total_ht).' ';
+ print ''.price($objp->total_ht).' ';
+ print '';
print ''.$objp->name.' ';
print ' ';
$i++;
@@ -7766,7 +7782,7 @@ class Form
';
if (!empty($conf->use_javascript_ajax)) {
- $linktoelem .= ''.$langs->trans("LinkTo").'... ';
+ $linktoelem .= ' '.$langs->trans("LinkTo").'... ';
}
$linktoelem .= '
diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php
index 78212ca3580..533328599c8 100644
--- a/htdocs/core/class/html.formother.class.php
+++ b/htdocs/core/class/html.formother.class.php
@@ -481,7 +481,12 @@ class FormOther
$sql_usr .= $hookmanager->resArray[1];
}
}
- $sql_usr .= " ORDER BY statut DESC, lastname ASC"; // Do not use 'ORDER BY u.statut' here, not compatible with the UNION.
+
+ if (empty($conf->global->MAIN_FIRSTNAME_NAME_POSITION)) { // MAIN_FIRSTNAME_NAME_POSITION is 0 means firstname+lastname
+ $sql_usr .= " ORDER BY statut DESC, firstname ASC, lastname ASC"; // Do not use 'ORDER BY u.statut' here, not compatible with the UNION.
+ } else {
+ $sql_usr .= " ORDER BY statut DESC, lastname ASC, firstname ASC"; // Do not use 'ORDER BY u.statut' here, not compatible with the UNION.
+ }
//print $sql_usr;exit;
$resql_usr = $this->db->query($sql_usr);
diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php
index d2c75082318..3088db079e3 100644
--- a/htdocs/core/lib/admin.lib.php
+++ b/htdocs/core/lib/admin.lib.php
@@ -635,16 +635,28 @@ function dolibarr_set_const($db, $name, $value, $type = 'chaine', $visible = 0,
/**
* Prepare array with list of tabs
*
- * @return array Array of tabs to show
+ * @param int $nbofactivatedmodules Number f oactivated modules
+ * @param int $nboftotalmodules Nb of total modules
+ * @return array Array of tabs to show
*/
-function modules_prepare_head()
+function modules_prepare_head($nbofactivatedmodules, $nboftotalmodules)
{
- global $langs, $conf, $user;
+ global $langs, $conf, $user, $form;
+
+ $desc = $langs->trans("ModulesDesc", '{picto}');
+ $desc = str_replace('{picto}', img_picto('', 'switch_off'), $desc);
+
$h = 0;
$head = array();
$mode = empty($conf->global->MAIN_MODULE_SETUP_ON_LIST_BY_DEFAULT) ? 'commonkanban' : 'common';
$head[$h][0] = DOL_URL_ROOT."/admin/modules.php?mode=".$mode;
- $head[$h][1] = $langs->trans("AvailableModules");
+ if ($nbofactivatedmodules <= (empty($conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING) ? 1 : $conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)) { // If only minimal initial modules enabled)
+ $head[$h][1] = $form->textwithpicto($langs->trans("AvailableModules"), $desc);
+ $head[$h][1] .= img_warning($langs->trans("YouMustEnableOneModule"));
+ } else {
+ //$head[$h][1] = $langs->trans("AvailableModules").$form->textwithpicto('
'.$nbofactivatedmodules.' / '.$nboftotalmodules.' ', $desc, 1, 'help', '', 1, 3);
+ $head[$h][1] = $langs->trans("AvailableModules").'
'.$nbofactivatedmodules.' / '.$nboftotalmodules.' ';
+ }
$head[$h][2] = 'modules';
$h++;
diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index 6769c9a58d7..403aa59e66a 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -634,8 +634,8 @@ function GETPOST($paramname, $check = 'alphanohtml', $method = 0, $filter = null
$out = checkVal($out, $check, $filter, $options);
}
- // Sanitizing for special parameters. There is no reason to allow the backtopage parameter to contains an external URL.
- if ($paramname == 'backtopage' || $paramname == 'backtolist') {
+ // Sanitizing for special parameters. There is no reason to allow the backtopage, backtolist or backtourl parameter to contains an external URL.
+ if ($paramname == 'backtopage' || $paramname == 'backtolist' || $paramname == 'backtourl') {
$out = str_replace('\\', '/', $out);
$out = str_replace(array(':', ';', '@'), '', $out);
@@ -3528,17 +3528,17 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
'accountancy', 'account', 'accountline', 'action', 'add', 'address', 'angle-double-down', 'angle-double-up', 'asset',
'bank_account', 'barcode', 'bank', 'bill', 'billa', 'billr', 'billd', 'bookmark', 'bom', 'building',
'cash-register', 'category', 'chart', 'check', 'clock', 'close_title', 'cog', 'collab', 'company', 'contact', 'country', 'contract', 'cron', 'cubes',
- 'delete', 'dolly', 'dollyrevert', 'donation', 'download', 'edit', 'ellipsis-h', 'email', 'eraser', 'external-link-alt', 'external-link-square-alt',
+ 'delete', 'dolly', 'dollyrevert', 'donation', 'download', 'edit', 'ellipsis-h', 'email', 'eraser', 'establishment', 'external-link-alt', 'external-link-square-alt',
'filter', 'file-code', 'file-export', 'file-import', 'file-upload', 'folder', 'folder-open', 'globe', 'globe-americas', 'grip', 'grip_title', 'group',
'help', 'holiday',
'info', 'intervention', 'inventory', 'intracommreport',
'label', 'language', 'link', 'list', 'listlight', 'loan', 'lot', 'long-arrow-alt-right',
'margin', 'map-marker-alt', 'member', 'meeting', 'money-bill-alt', 'movement', 'mrp', 'note', 'next',
'object_accounting', 'object_account', 'object_accountline', 'object_action', 'object_asset', 'object_barcode', 'object_bill', 'object_billr', 'object_billa', 'object_billd', 'object_bom',
- 'object_category', 'conferenceorbooth', 'object_conversation', 'object_bookmark', 'object_bug', 'object_clock', 'object_dolly', 'object_dollyrevert',
+ 'object_category', 'conferenceorbooth', 'object_conversation', 'object_bookmark', 'object_bug', 'object_building', 'object_clock', 'object_collab', 'object_dolly', 'object_dollyrevert',
'object_folder', 'object_folder-open','object_generic',
'object_list-alt', 'object_calendar', 'object_calendarweek', 'object_calendarmonth', 'object_calendarday', 'object_calendarperuser',
- 'object_cash-register', 'object_company', 'object_contact', 'object_contract', 'object_cron', 'object_donation', 'object_dynamicprice',
+ 'object_cash-register', 'object_company', 'object_contact', 'object_contract', 'object_cron', 'object_donation', 'object_dynamicprice', 'object_establishment',
'object_globe', 'object_holiday', 'object_hrm', 'object_invoice', 'object_intervention', 'object_inventory', 'object_intracommreport', 'object_label',
'object_margin', 'object_members', 'object_money-bill-alt', 'object_multicurrency', 'object_order', 'object_payment',
'object_lot', 'object_mrp', 'object_other',
@@ -3568,7 +3568,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
$facolor = '';
$fasize = '';
$fa = 'fas';
- if (in_array($pictowithouttext, array('clock', 'generic', 'minus-square', 'object_generic', 'pdf', 'plus-square', 'timespent', 'note', 'off', 'on', 'object_bookmark', 'bookmark', 'vcard'))) {
+ if (in_array($pictowithouttext, array('clock', 'establishment', 'generic', 'minus-square', 'object_generic', 'pdf', 'plus-square', 'timespent', 'note', 'off', 'on', 'object_bookmark', 'bookmark', 'vcard'))) {
$fa = 'far';
}
if (in_array($pictowithouttext, array('black-tie', 'github', 'skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'stripe', 'stripe-s', 'youtube', 'google-plus-g', 'whatsapp'))) {
@@ -3584,7 +3584,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
'setup'=>'cog', 'companies'=>'building', 'products'=>'cube', 'commercial'=>'suitcase', 'invoicing'=>'coins',
'accounting'=>'chart-line', 'category'=>'tag', 'dollyrevert'=>'dolly',
'hrm'=>'user-tie', 'margin'=>'calculator', 'members'=>'user-friends', 'ticket'=>'ticket-alt', 'globe'=>'external-link-alt', 'lot'=>'barcode',
- 'email'=>'at',
+ 'email'=>'at', 'establishment'=>'building',
'edit'=>'pencil-alt', 'grip_title'=>'arrows-alt', 'grip'=>'arrows-alt', 'help'=>'question-circle',
'generic'=>'file', 'holiday'=>'umbrella-beach',
'info'=>'info-circle', 'inventory'=>'boxes', 'intracommreport'=>'globe-europe', 'label'=>'layer-group', 'loan'=>'money-bill-alt',
@@ -8821,8 +8821,8 @@ function showDirectDownloadLink($object)
$url = $object->getLastMainDocLink($object->element);
if ($url) {
- $out .= img_picto($langs->trans("PublicDownloadLinkdesc"), 'globe').' '.$langs->trans("DirectDownloadLink").'
';
- $out .= '
';
+ $out .= img_picto($langs->trans("PublicDownloadLinkdesc"), 'globe').'
'.$langs->trans("DirectDownloadLink").' ';
+ $out .= '
';
$out .= ajax_autoselect("directdownloadlink", 0);
}
return $out;
diff --git a/htdocs/core/lib/payments.lib.php b/htdocs/core/lib/payments.lib.php
index 835986f5f83..84a72edcc1e 100644
--- a/htdocs/core/lib/payments.lib.php
+++ b/htdocs/core/lib/payments.lib.php
@@ -171,9 +171,9 @@ function showOnlinePaymentUrl($type, $ref)
$servicename = $langs->transnoentitiesnoconv('Online');
- $out = img_picto('', 'globe').' '.$langs->trans("ToOfferALinkForOnlinePayment", $servicename).'
';
+ $out = img_picto('', 'globe').'
'.$langs->trans("ToOfferALinkForOnlinePayment", $servicename).' ';
$url = getOnlinePaymentUrl(0, $type, $ref);
- $out .= '
';
+ $out .= '
';
$out .= ajax_autoselect("onlinepaymenturl", 0);
return $out;
}
diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php
index e97d4a01904..abdb098eb7d 100644
--- a/htdocs/core/lib/project.lib.php
+++ b/htdocs/core/lib/project.lib.php
@@ -2572,7 +2572,7 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks
$ponderated_opp_amount += price2num($opp_weighted_amount);
}
if ($objp->opp_amount) {
- print '
'.price($objp->opp_amount, 0, '', 1, -1, 0, $conf->currency).' ';
+ print '
'.price($objp->opp_amount, 0, '', 1, -1, 0, $conf->currency).' ';
}
print '
';
}
diff --git a/htdocs/core/lib/signature.lib.php b/htdocs/core/lib/signature.lib.php
index 8b49b01ae35..82f446f04c7 100644
--- a/htdocs/core/lib/signature.lib.php
+++ b/htdocs/core/lib/signature.lib.php
@@ -33,9 +33,15 @@ function showOnlineSignatureUrl($type, $ref)
$servicename = 'Online';
- $out = img_picto('', 'globe').' '.$langs->trans("ToOfferALinkForOnlineSignature", $servicename).'
';
+ $out = img_picto('', 'globe').'
'.$langs->trans("ToOfferALinkForOnlineSignature", $servicename).' ';
$url = getOnlineSignatureUrl(0, $type, $ref);
- $out .= '
';
+ $out .= '
';
+ if ($url == $langs->trans("FeatureOnlineSignDisabled")) {
+ $out .= $url;
+ } else {
+ $out .= ' ';
+ }
+ $out .= '
';
$out .= ajax_autoselect("onlinesignatureurl", 0);
return $out;
}
diff --git a/htdocs/core/modules/modService.class.php b/htdocs/core/modules/modService.class.php
index 13ff4618483..cd646dc8364 100644
--- a/htdocs/core/modules/modService.class.php
+++ b/htdocs/core/modules/modService.class.php
@@ -277,7 +277,7 @@ class modService extends DolibarrModules
$r++;
$this->export_code[$r] = $this->rights_class.'_'.$r;
$this->export_label[$r] = "ProductsMultiPrice"; // Translation key (used only if key ExportDataset_xxx_z not found)
- $this->export_permission[$r] = array(array("produit", "export"));
+ $this->export_permission[$r] = array(array("service", "export"));
$this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref",
'pr.price_base_type'=>"PriceBase", 'pr.price_level'=>"PriceLevel",
'pr.price'=>"PriceLevelUnitPriceHT", 'pr.price_ttc'=>"PriceLevelUnitPriceTTC",
@@ -311,7 +311,7 @@ class modService extends DolibarrModules
$r++;
$this->export_code[$r] = $this->rights_class.'_'.$r;
$this->export_label[$r] = "ProductsPricePerCustomer"; // Translation key (used only if key ExportDataset_xxx_z not found)
- $this->export_permission[$r] = array(array("produit", "export"));
+ $this->export_permission[$r] = array(array("service", "export"));
$this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref",
's.nom'=>'ThirdParty',
'pr.price_base_type'=>"PriceBase",
@@ -344,7 +344,7 @@ class modService extends DolibarrModules
$r++;
$this->export_code[$r] = $this->rights_class.'_'.$r;
$this->export_label[$r] = "AssociatedProducts"; // Translation key (used only if key ExportDataset_xxx_z not found)
- $this->export_permission[$r] = array(array("produit", "export"));
+ $this->export_permission[$r] = array(array("service", "export"));
$this->export_fields_array[$r] = array(
'p.rowid'=>"Id", 'p.ref'=>"Ref", 'p.label'=>"Label", 'p.description'=>"Description", 'p.url'=>"PublicUrl",
'p.accountancy_code_sell'=>"ProductAccountancySellCode", 'p.accountancy_code_sell_intra'=>"ProductAccountancySellIntraCode",
diff --git a/htdocs/expedition/list.php b/htdocs/expedition/list.php
index a4a09e06808..365964857a2 100644
--- a/htdocs/expedition/list.php
+++ b/htdocs/expedition/list.php
@@ -511,31 +511,37 @@ $moreforfilter = '';
if ($user->rights->societe->client->voir || $socid) {
$langs->load("commercial");
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('ThirdPartiesOfSaleRepresentative').': ';
- $moreforfilter .= $formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, 1, 'maxwidth200');
+ $tmptitle = $langs->trans('ThirdPartiesOfSaleRepresentative');
+ $moreforfilter .= img_picto($tmptitle, 'user');
+ $moreforfilter .= $formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, $tmptitle, 'maxwidth200');
$moreforfilter .= '
';
}
// If the user can view other users
if ($user->rights->user->user->lire) {
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('LinkedToSpecificUsers').': ';
- $moreforfilter .= $form->select_dolusers($search_user, 'search_user', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth200');
+ $tmptitle = $langs->trans('LinkedToSpecificUsers');
+ $moreforfilter .= img_picto($tmptitle, 'user');
+ $moreforfilter .= $form->select_dolusers($search_user, 'search_user', $tmptitle, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth200');
$moreforfilter .= '
';
}
// If the user can view prospects other than his'
if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire && ($user->rights->produit->lire || $user->rights->service->lire)) {
include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('IncludingProductWithTag').': ';
- $cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, null, 'parent', null, null, 1);
- $moreforfilter .= $form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, 'maxwidth300', 1);
+ $tmptitle = $langs->trans('IncludingProductWithTag');
+ $moreforfilter .= img_picto($tmptitle, 'category');
+ //$cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, null, 'parent', null, null, 1);
+ //$moreforfilter .= $form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, 'maxwidth300', 1);
+ $moreforfilter .= $formother->select_categories(Categorie::TYPE_PRODUCT, $search_product_category, 'parent', 1, $tmptitle);
+
$moreforfilter .= '
';
}
if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire) {
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('CustomersProspectsCategoriesShort').': ';
- $moreforfilter .= $formother->select_categories('customer', $search_categ_cus, 'search_categ_cus', 1);
+ $tmptitle = $langs->trans('CustomersProspectsCategoriesShort');
+ $moreforfilter .= img_picto($tmptitle, 'category');
+ $moreforfilter .= $formother->select_categories('customer', $search_categ_cus, 'search_categ_cus', 1, $tmptitle);
$moreforfilter .= '
';
}
$parameters = array();
diff --git a/htdocs/externalsite/admin/index.php b/htdocs/externalsite/admin/index.php
index 1710a570c45..a9a41c5e555 100644
--- a/htdocs/externalsite/admin/index.php
+++ b/htdocs/externalsite/admin/index.php
@@ -58,7 +58,7 @@ if ($action == 'update') {
$exturl = GETPOST('EXTERNALSITE_URL', 'none');
$exturl = dol_string_onlythesehtmltags($exturl, 1, 1, 0, 1);
- $exturl = dol_string_onlythesehtmlattributes($exturl);
+ $exturl = trim(dol_string_onlythesehtmlattributes($exturl));
$i += dolibarr_set_const($db, 'EXTERNALSITE_LABEL', trim($label), 'chaine', 0, '', $conf->entity);
$i += dolibarr_set_const($db, 'EXTERNALSITE_URL', trim($exturl), 'chaine', 0, '', $conf->entity);
@@ -108,7 +108,12 @@ print "