Merge remote-tracking branch 'upstream/develop' into free_email

This commit is contained in:
Frédéric FRANCE 2020-05-02 06:59:54 +02:00
commit 39ac031aa9
No known key found for this signature in database
GPG Key ID: 06809324E4B2ABC1
27 changed files with 62 additions and 57 deletions

View File

@ -3151,7 +3151,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
'object_category', 'object_bookmark', 'object_bug', 'object_dolly', 'object_dollyrevert', 'object_generic', 'object_folder', 'object_category', 'object_bookmark', 'object_bug', 'object_dolly', 'object_dollyrevert', 'object_generic', 'object_folder',
'object_list-alt', 'object_calendar', 'object_calendarweek', 'object_calendarmonth', 'object_calendarday', 'object_calendarperuser', 'object_list-alt', 'object_calendar', 'object_calendarweek', 'object_calendarmonth', 'object_calendarday', 'object_calendarperuser',
'object_cash-register', 'object_company', 'object_contact', 'object_contract', 'object_donation', 'object_dynamicprice', 'object_cash-register', 'object_company', 'object_contact', 'object_contract', 'object_donation', 'object_dynamicprice',
'object_holiday', 'object_hrm', 'object_intervention', 'object_label', 'object_holiday', 'object_hrm', 'object_invoice', 'object_intervention', 'object_label',
'object_margin', 'object_money-bill-alt', 'object_multicurrency', 'object_order', 'object_payment', 'object_margin', 'object_money-bill-alt', 'object_multicurrency', 'object_order', 'object_payment',
'object_lot', 'object_mrp', 'object_payment', 'object_product', 'object_propal', 'object_lot', 'object_mrp', 'object_payment', 'object_product', 'object_propal',
'object_other', 'object_paragraph', 'object_poll', 'object_printer', 'object_project', 'object_projectpub', 'object_propal', 'object_resource', 'object_rss', 'object_projecttask', 'object_other', 'object_paragraph', 'object_poll', 'object_printer', 'object_project', 'object_projectpub', 'object_propal', 'object_resource', 'object_rss', 'object_projecttask',
@ -3195,7 +3195,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
'switch_off'=>'toggle-off', 'switch_on'=>'toggle-on', 'check'=>'check', 'bookmark'=>'star', 'bookmark'=>'star', 'switch_off'=>'toggle-off', 'switch_on'=>'toggle-on', 'check'=>'check', 'bookmark'=>'star', 'bookmark'=>'star',
'bank'=>'university', 'close_title'=>'window-close', 'delete'=>'trash', 'edit'=>'pencil-alt', 'filter'=>'filter', 'bank'=>'university', 'close_title'=>'window-close', 'delete'=>'trash', 'edit'=>'pencil-alt', 'filter'=>'filter',
'list-alt'=>'list-alt', 'calendar'=>'calendar-alt', 'calendarweek'=>'calendar-week', 'calendarmonth'=>'calendar-alt', 'calendarday'=>'calendar-day', 'calendarperuser'=>'table', 'list-alt'=>'list-alt', 'calendar'=>'calendar-alt', 'calendarweek'=>'calendar-week', 'calendarmonth'=>'calendar-alt', 'calendarday'=>'calendar-day', 'calendarperuser'=>'table',
'intervention'=>'ambulance', 'multicurrency'=>'dollar-sign', 'order'=>'file-invoice', 'intervention'=>'ambulance', 'invoice'=>'file-invoice-dollar', 'multicurrency'=>'dollar-sign', 'order'=>'file-invoice',
'error'=>'exclamation-triangle', 'warning'=>'exclamation-triangle', 'error'=>'exclamation-triangle', 'warning'=>'exclamation-triangle',
'other'=>'square', 'other'=>'square',
'playdisabled'=>'play', 'poll'=>'check-double', 'preview'=>'binoculars', 'project'=>'sitemap', 'projectpub'=>'sitemap', 'projecttask'=>'tasks', 'propal'=>'file-signature', 'playdisabled'=>'play', 'poll'=>'check-double', 'preview'=>'binoculars', 'project'=>'sitemap', 'projectpub'=>'sitemap', 'projecttask'=>'tasks', 'propal'=>'file-signature',
@ -3264,7 +3264,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
'order'=>'bg-infobox-commande', 'order'=>'bg-infobox-commande',
'user'=>'bg-infobox-adherent', 'users'=>'bg-infobox-adherent', 'user'=>'bg-infobox-adherent', 'users'=>'bg-infobox-adherent',
'error'=>'pictoerror', 'warning'=>'pictowarning', 'switch_on'=>'font-status4', 'error'=>'pictoerror', 'warning'=>'pictowarning', 'switch_on'=>'font-status4',
'holiday'=>'bg-infobox-holiday', 'holiday'=>'bg-infobox-holiday', 'invoice'=>'bg-infobox-commande',
'payment'=>'bg-infobox-bank_account', 'poll'=>'bg-infobox-adherent', 'project'=>'bg-infobox-project', 'projecttask'=>'bg-infobox-project', 'propal'=>'bg-infobox-propal', 'payment'=>'bg-infobox-bank_account', 'poll'=>'bg-infobox-adherent', 'project'=>'bg-infobox-project', 'projecttask'=>'bg-infobox-project', 'propal'=>'bg-infobox-propal',
'resource'=>'bg-infobox-action', 'supplier_invoice'=>'bg-infobox-order_supplier', 'supplier_order'=>'bg-infobox-order_supplier', 'supplier_proposal'=>'bg-infobox-supplier_proposal', 'resource'=>'bg-infobox-action', 'supplier_invoice'=>'bg-infobox-order_supplier', 'supplier_order'=>'bg-infobox-order_supplier', 'supplier_proposal'=>'bg-infobox-supplier_proposal',
'ticket'=>'bg-infobox-contrat', 'title_accountancy'=>'bg-infobox-bank_account', 'title_hrm'=>'bg-infobox-holiday', 'trip'=>'bg-infobox-expensereport', 'title_agenda'=>'bg-infobox-action', 'ticket'=>'bg-infobox-contrat', 'title_accountancy'=>'bg-infobox-bank_account', 'title_hrm'=>'bg-infobox-holiday', 'trip'=>'bg-infobox-expensereport', 'title_agenda'=>'bg-infobox-action',

View File

@ -50,7 +50,7 @@ class modAdherent extends DolibarrModules
$this->numero = 310; $this->numero = 310;
$this->family = "hr"; $this->family = "hr";
$this->module_position = '55'; $this->module_position = '06';
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = preg_replace('/^mod/i', '', get_class($this)); $this->name = preg_replace('/^mod/i', '', get_class($this));
$this->description = "Management of members of a foundation or association"; $this->description = "Management of members of a foundation or association";

View File

@ -143,6 +143,7 @@ class modBanque extends DolibarrModules
//-------- //--------
$r = 0; $r = 0;
// Bank lines
$r++; $r++;
$this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_code[$r] = $this->rights_class.'_'.$r;
$this->export_label[$r] = 'Ecritures bancaires et releves'; $this->export_label[$r] = 'Ecritures bancaires et releves';
@ -174,6 +175,7 @@ class modBanque extends DolibarrModules
$this->export_sql_end[$r] .= ' AND ba.entity IN ('.getEntity('bank_account').')'; $this->export_sql_end[$r] .= ' AND ba.entity IN ('.getEntity('bank_account').')';
$this->export_sql_order[$r] = ' ORDER BY b.datev, b.num_releve'; $this->export_sql_order[$r] = ' ORDER BY b.datev, b.num_releve';
//
$r++; $r++;
$this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_code[$r] = $this->rights_class.'_'.$r;
$this->export_label[$r] = 'Bordereaux remise Chq/Fact'; $this->export_label[$r] = 'Bordereaux remise Chq/Fact';

View File

@ -51,7 +51,7 @@ class modCommande extends DolibarrModules
$this->numero = 25; $this->numero = 25;
$this->family = "crm"; $this->family = "crm";
$this->module_position = '23'; $this->module_position = '11';
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = preg_replace('/^mod/i', '', get_class($this)); $this->name = preg_replace('/^mod/i', '', get_class($this));
$this->description = "Gestion des commandes clients"; $this->description = "Gestion des commandes clients";

View File

@ -47,7 +47,7 @@ class modContrat extends DolibarrModules
$this->numero = 54; $this->numero = 54;
$this->family = "crm"; $this->family = "crm";
$this->module_position = '35'; $this->module_position = '41';
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = preg_replace('/^mod/i', '', get_class($this)); $this->name = preg_replace('/^mod/i', '', get_class($this));
$this->description = "Gestion des contrats de services"; $this->description = "Gestion des contrats de services";

View File

@ -48,7 +48,7 @@ class modFacture extends DolibarrModules
$this->numero = 30; $this->numero = 30;
$this->family = "financial"; $this->family = "financial";
$this->module_position = '10'; $this->module_position = '11';
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = preg_replace('/^mod/i', '', get_class($this)); $this->name = preg_replace('/^mod/i', '', get_class($this));
$this->description = "Gestion des factures"; $this->description = "Gestion des factures";

View File

@ -49,7 +49,7 @@ class modPropale extends DolibarrModules
$this->numero = 20; $this->numero = 20;
$this->family = "crm"; $this->family = "crm";
$this->module_position = '22'; $this->module_position = '10';
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = preg_replace('/^mod/i', '', get_class($this)); $this->name = preg_replace('/^mod/i', '', get_class($this));
$this->description = "Gestion des propositions commerciales"; $this->description = "Gestion des propositions commerciales";

View File

@ -48,7 +48,7 @@ class modStock extends DolibarrModules
$this->numero = 52; $this->numero = 52;
$this->family = "products"; $this->family = "products";
$this->module_position = '40'; $this->module_position = '39';
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = preg_replace('/^mod/i', '', get_class($this)); $this->name = preg_replace('/^mod/i', '', get_class($this));
$this->description = "Gestion des stocks"; $this->description = "Gestion des stocks";

View File

@ -922,7 +922,7 @@ class Don extends CommonObject
*/ */
public function getNomUrl($withpicto = 0, $notooltip = 0) public function getNomUrl($withpicto = 0, $notooltip = 0)
{ {
global $langs; global $conf, $langs;
if (!empty($conf->dol_no_mouse_hover)) $notooltip = 1; // Force disable tooltips if (!empty($conf->dol_no_mouse_hover)) $notooltip = 1; // Force disable tooltips

View File

@ -207,7 +207,7 @@ if (empty($user->socid) && empty($conf->global->MAIN_DISABLE_GLOBAL_BOXSTATS))
'suppliers' => 'Fournisseur', 'suppliers' => 'Fournisseur',
'contacts' => 'Contact', 'contacts' => 'Contact',
'products' => 'Product', 'products' => 'Product',
'services' => 'Service', 'services' => 'ProductService',
'proposals' => 'Propal', 'proposals' => 'Propal',
'orders' => 'Commande', 'orders' => 'Commande',
'invoices' => 'Facture', 'invoices' => 'Facture',

View File

@ -716,18 +716,18 @@ class Products extends DolibarrApi
if (!DolibarrApiAccess::$user->rights->produit->supprimer) { if (!DolibarrApiAccess::$user->rights->produit->supprimer) {
throw new RestException(401); throw new RestException(401);
} }
$result = $this->product->fetch($id); $result = $this->productsupplier->fetch($id);
if (!$result) { if (!$result) {
throw new RestException(404, 'Product not found'); throw new RestException(404, 'Product not found');
} }
if (!DolibarrApi::_checkAccessToResource('product', $this->product->id)) { if (!DolibarrApi::_checkAccessToResource('product', $this->productsupplier->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$resultsupplier = 0; $resultsupplier = 0;
if ($result) { if ($result > 0) {
$this->productsupplier->fetch($id); $resultsupplier = $this->productsupplier->remove_product_fournisseur_price($priceid);
$resultsupplier = $this->product->remove_product_fournisseur_price($priceid);
} }
return $resultsupplier; return $resultsupplier;

View File

@ -5639,9 +5639,10 @@ class Product extends CommonObject
/** /**
* Class to manage products or services * Class to manage products or services.
* Do not use 'Service' as class name since it is already used by APIs.
*/ */
class Service extends Product class ProductService extends Product
{ {
public $picto = 'service'; public $picto = 'service';
} }

View File

@ -102,10 +102,12 @@ if ($rss) {
$MAXNEWS = 20; $MAXNEWS = 20;
$arrayofblogs = $websitepage->fetchAll($website->id, 'DESC', 'date_creation', $MAXNEWS, 0, $filters); $arrayofblogs = $websitepage->fetchAll($website->id, 'DESC', 'date_creation', $MAXNEWS, 0, $filters);
$eventarray = array(); $eventarray = array();
if (is_array($arrayofblogs)) {
foreach ($arrayofblogs as $blog) { foreach ($arrayofblogs as $blog) {
$blog->fullpageurl = $website->virtualhost.'/'.$blog->pageurl.'.php'; $blog->fullpageurl = $website->virtualhost.'/'.$blog->pageurl.'.php';
$eventarray[] = $blog; $eventarray[] = $blog;
} }
}
require_once DOL_DOCUMENT_ROOT."/core/lib/xcal.lib.php"; require_once DOL_DOCUMENT_ROOT."/core/lib/xcal.lib.php";
require_once DOL_DOCUMENT_ROOT."/core/lib/date.lib.php"; require_once DOL_DOCUMENT_ROOT."/core/lib/date.lib.php";