diff --git a/.travis.yml b/.travis.yml
index 882c6e74620..6e5a51aa6cc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -132,6 +132,8 @@ install:
php-parallel-lint/php-var-dump-check ~0.4 \
squizlabs/php_codesniffer ^3
fi
+ # Remove non expected files
+ rm -fr /home/travis/build/Dolibarr/dolibarr/htdocs/includes/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js
echo
- |
diff --git a/htdocs/adherents/subscription/card.php b/htdocs/adherents/subscription/card.php
index 15b33d0018a..ea47ffc9362 100644
--- a/htdocs/adherents/subscription/card.php
+++ b/htdocs/adherents/subscription/card.php
@@ -109,8 +109,9 @@ if ($user->hasRight('adherent', 'cotisation', 'creer') && $action == 'update' &&
$object->dateh = dol_mktime(GETPOST('datesubhour', 'int'), GETPOST('datesubmin', 'int'), 0, GETPOST('datesubmonth', 'int'), GETPOST('datesubday', 'int'), GETPOST('datesubyear', 'int'));
$object->datef = dol_mktime(GETPOST('datesubendhour', 'int'), GETPOST('datesubendmin', 'int'), 0, GETPOST('datesubendmonth', 'int'), GETPOST('datesubendday', 'int'), GETPOST('datesubendyear', 'int'));
$object->fk_type = $typeid;
- $object->note = $note;
+ $object->note_public = $note;
$object->note_private = $note;
+
$object->amount = $amount;
$result = $object->update($user);
diff --git a/htdocs/admin/perms.php b/htdocs/admin/perms.php
index ef20ab6e205..42c766d1a22 100644
--- a/htdocs/admin/perms.php
+++ b/htdocs/admin/perms.php
@@ -227,7 +227,7 @@ if ($result) {
// Tick
if ($obj->bydefault == 1) {
print '
';
- print '';
+ print '';
//print img_edit_remove();
print img_picto('', 'switch_on');
print '';
diff --git a/htdocs/barcode/codeinit.php b/htdocs/barcode/codeinit.php
index 8ce559031a1..511528036c5 100644
--- a/htdocs/barcode/codeinit.php
+++ b/htdocs/barcode/codeinit.php
@@ -179,14 +179,16 @@ if (!empty($conf->global->BARCODE_PRODUCT_ADDON_NUM)) {
if (preg_match('/^mod_barcode_product_.*php$/', $file)) {
$file = substr($file, 0, dol_strlen($file) - 4);
- try {
- dol_include_once($dirroot.$file.'.php');
- } catch (Exception $e) {
- dol_syslog($e->getMessage(), LOG_ERR);
- }
+ if ($file == $conf->global->BARCODE_PRODUCT_ADDON_NUM) {
+ try {
+ dol_include_once($dirroot.$file.'.php');
+ } catch (Exception $e) {
+ dol_syslog($e->getMessage(), LOG_ERR);
+ }
- $modBarCodeProduct = new $file();
- break;
+ $modBarCodeProduct = new $file();
+ break;
+ }
}
}
closedir($handle);
diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index 00defaf909c..440a40ac8f0 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -1718,7 +1718,7 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename =
* @param string $name A name for the html component
* @param string $label Label shown in Popup title top bar
* @param string $buttonstring button string
- * @param string $url Relative Url to open
+ * @param string $url Relative Url to open. For example '/project/card.php'
* @param string $disabled Disabled text
* @param string $morecss More CSS
* @param string $backtopagejsfields The back to page must be managed using javascript instead of a redirect.
@@ -1752,13 +1752,16 @@ function dolButtonToOpenUrlInDialogPopup($name, $label, $buttonstring, $url, $di
}
//print '';
- $out .= '';
+ $out .= '';
$out .= 'use_javascript_ajax)) {
$out .= ' href="'.DOL_URL_ROOT.$url.'" target="_blank"';
}
$out .= '>'.$buttonstring.'';
+
if (!empty($conf->use_javascript_ajax)) {
+ // Add code to open url using the popup. Add also hidden field to retreive the returned variables
+ $out .= '';
$out .= ' div for dialog ';
$out .= 'div for returned id ';
$out .= 'div for returned label ';
@@ -4085,7 +4088,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
'generate', 'globe', 'globe-americas', 'graph', 'grip', 'grip_title', 'group',
'help', 'holiday',
'images', 'incoterm', 'info', 'intervention', 'inventory', 'intracommreport', 'knowledgemanagement',
- 'label', 'language', 'line', 'link', 'list', 'list-alt', 'listlight', 'loan', 'lot', 'long-arrow-alt-right',
+ 'label', 'language', 'line', 'link', 'list', 'list-alt', 'listlight', 'loan', 'lock', 'lot', 'long-arrow-alt-right',
'margin', 'map-marker-alt', 'member', 'meeting', 'money-bill-alt', 'movement', 'mrp', 'note', 'next',
'off', 'on', 'order',
'paiment', 'paragraph', 'play', 'pdf', 'phone', 'phoning', 'phoning_mobile', 'phoning_fax', 'playdisabled', 'previous', 'poll', 'pos', 'printer', 'product', 'propal', 'proposal', 'puce',
@@ -4244,7 +4247,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
'dynamicprice'=>'#a69944',
'edit'=>'#444', 'note'=>'#999', 'error'=>'', 'help'=>'#bbb', 'listlight'=>'#999', 'language'=>'#555',
//'dolly'=>'#a69944', 'dollyrevert'=>'#a69944',
- 'lot'=>'#a69944',
+ 'lock'=>'#ddd', 'lot'=>'#a69944',
'map-marker-alt'=>'#aaa', 'mrp'=>'#a69944', 'product'=>'#a69944', 'service'=>'#a69944', 'inventory'=>'#a69944', 'stock'=>'#a69944', 'movement'=>'#a69944',
'other'=>'#ddd', 'world'=>'#986c6a',
'partnership'=>'#6c6aa8', 'playdisabled'=>'#ccc', 'printer'=>'#444', 'projectpub'=>'#986c6a', 'reception'=>'#a69944', 'resize'=>'#444', 'rss'=>'#cba',
diff --git a/htdocs/core/modules/mailings/contacts1.modules.php b/htdocs/core/modules/mailings/contacts1.modules.php
index 64097078147..7406779054b 100644
--- a/htdocs/core/modules/mailings/contacts1.modules.php
+++ b/htdocs/core/modules/mailings/contacts1.modules.php
@@ -409,7 +409,7 @@ class mailing_contacts1 extends MailingTargets
}
// Filter on language
- if ($filter_lang != '') {
+ if (!empty($filter_lang)) {
$sql .= " AND sp.default_lang LIKE '".$this->db->escape($filter_lang)."%'";
}
@@ -418,7 +418,7 @@ class mailing_contacts1 extends MailingTargets
//print "xx".$key;
if ($key == 'prospects') {
- $sql .= " AND s.client=2";
+ $sql .= " AND s.client = 2";
}
foreach ($prospectlevel as $codelevel => $valuelevel) {
if ($key == 'prospectslevel'.$codelevel) {
@@ -426,10 +426,10 @@ class mailing_contacts1 extends MailingTargets
}
}
if ($key == 'customers') {
- $sql .= " AND s.client=1";
+ $sql .= " AND s.client = 1";
}
if ($key == 'suppliers') {
- $sql .= " AND s.fournisseur=1";
+ $sql .= " AND s.fournisseur = 1";
}
// Filter on job position
@@ -440,7 +440,6 @@ class mailing_contacts1 extends MailingTargets
$sql .= " ORDER BY sp.email";
// print "wwwwwwx".$sql;
-
// Stocke destinataires dans cibles
$result = $this->db->query($sql);
if ($result) {
diff --git a/htdocs/core/tpl/card_presend.tpl.php b/htdocs/core/tpl/card_presend.tpl.php
index 24604388af1..84b051d24f3 100644
--- a/htdocs/core/tpl/card_presend.tpl.php
+++ b/htdocs/core/tpl/card_presend.tpl.php
@@ -74,7 +74,7 @@ if ($action == 'presend') {
$outputlangs = new Translate('', $conf);
$outputlangs->setDefaultLang($newlang);
// Load traductions files required by page
- $outputlangs->loadLangs(array('commercial', 'bills', 'orders', 'contracts', 'members', 'propal', 'products', 'supplier_proposal', 'interventions', 'receptions'));
+ $outputlangs->loadLangs(array('commercial', 'bills', 'orders', 'contracts', 'members', 'propal', 'products', 'supplier_proposal', 'interventions', 'receptions', 'sendings'));
}
$topicmail = '';
diff --git a/htdocs/langs/en_US/mrp.lang b/htdocs/langs/en_US/mrp.lang
index 442c5c92b1c..6bdea0cc951 100644
--- a/htdocs/langs/en_US/mrp.lang
+++ b/htdocs/langs/en_US/mrp.lang
@@ -11,8 +11,8 @@ Bom=Bills of Material
BillOfMaterials=Bill of Materials
BillOfMaterialsLines=Bill of Materials lines
BOMsSetup=Setup of module BOM
-ListOfBOMs=List of bills of material - BOM
-ListOfManufacturingOrders=List of Manufacturing Orders
+ListOfBOMs=Bills of material - BOM
+ListOfManufacturingOrders=Manufacturing Orders
NewBOM=New bill of materials
ProductBOMHelp=Product to create (or disassemble) with this BOM. Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list.
BOMsNumberingModules=BOM numbering templates
@@ -116,3 +116,5 @@ ParentMo=MO Parent
MOChild=MO Child
BomCantAddChildBom=The nomenclature %s is already present in the tree leading to the nomenclature %s
BOMNetNeeds = BOM Net Needs
+BOMProductsList=BOM's products
+BOMServicesList=BOM's services
diff --git a/htdocs/modulebuilder/template/myobject_card.php b/htdocs/modulebuilder/template/myobject_card.php
index 5d3f9dd4275..9e7b2438050 100644
--- a/htdocs/modulebuilder/template/myobject_card.php
+++ b/htdocs/modulebuilder/template/myobject_card.php
@@ -331,9 +331,8 @@ if (($id || $ref) && $action == 'edit') {
// Part to show record
if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) {
- $res = $object->fetch_optionals();
-
$head = myobjectPrepareHead($object);
+
print dol_get_fiche_head($head, 'card', $langs->trans("MyObject"), -1, $object->picto);
$formconfirm = '';
@@ -399,39 +398,36 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
$morehtmlref = '';
/*
- // Ref customer
- $morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
- $morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
- // Thirdparty
- $morehtmlref.=' '.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
- // Project
- if (!empty($conf->project->enabled)) {
- $langs->load("projects");
- $morehtmlref .= ' '.$langs->trans('Project') . ' ';
- if ($permissiontoadd) {
- //if ($action != 'classify') $morehtmlref.=' ' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' ';
- $morehtmlref .= ' : ';
- if ($action == 'classify') {
- //$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
- $morehtmlref .= ' ';
- } else {
- $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
- }
- } else {
- if (!empty($object->fk_project)) {
- $proj = new Project($db);
- $proj->fetch($object->fk_project);
- $morehtmlref .= ': '.$proj->getNomUrl();
- } else {
- $morehtmlref .= '';
- }
- }
- }*/
+ // Ref customer
+ $morehtmlref .= $form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, $usercancreate, 'string', '', 0, 1);
+ $morehtmlref .= $form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, $usercancreate, 'string'.(isset($conf->global->THIRDPARTY_REF_INPUT_SIZE) ? ':'.$conf->global->THIRDPARTY_REF_INPUT_SIZE : ''), '', null, null, '', 1);
+ // Thirdparty
+ $morehtmlref .= ' '.$object->thirdparty->getNomUrl(1, 'customer');
+ if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
+ $morehtmlref .= ' ( '.$langs->trans("OtherOrders").')';
+ }
+ // Project
+ if (isModEnabled('project')) {
+ $langs->load("projects");
+ $morehtmlref .= ' ';
+ if ($permissiontoadd) {
+ $morehtmlref .= img_picto($langs->trans("Project"), 'project', 'class="pictofixedwidth"');
+ if ($action != 'classify') {
+ $morehtmlref .= ' '.img_edit($langs->transnoentitiesnoconv('SetProject')).' ';
+ }
+ $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, ($action == 'classify' ? 1 : 0), 0, 1, '');
+ } else {
+ if (!empty($object->fk_project)) {
+ $proj = new Project($db);
+ $proj->fetch($object->fk_project);
+ $morehtmlref .= $proj->getNomUrl(1);
+ if ($proj->title) {
+ $morehtmlref .= ' - '.dol_escape_htmltag($proj->title).'';
+ }
+ }
+ }
+ }
+ */
$morehtmlref .= ' ';
diff --git a/htdocs/mrp/mo_agenda.php b/htdocs/mrp/mo_agenda.php
index ac944acc066..dbba6ed912a 100644
--- a/htdocs/mrp/mo_agenda.php
+++ b/htdocs/mrp/mo_agenda.php
@@ -151,33 +151,28 @@ if ($object->id > 0) {
//$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
//$morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
// Thirdparty
- $morehtmlref .= $langs->trans('ThirdParty').' : '.(is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
+ $morehtmlref .= $object->thirdparty->getNomUrl(1, 'customer');
+ if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
+ $morehtmlref .= ' ('.$langs->trans("OtherOrders").')';
+ }
// Project
if (isModEnabled('project')) {
$langs->load("projects");
- $morehtmlref .= ' '.$langs->trans('Project').' ';
- if ($permissiontoadd) {
+ $morehtmlref .= ' ';
+ if (0) {
+ $morehtmlref .= img_picto($langs->trans("Project"), 'project', 'class="pictofixedwidth"');
if ($action != 'classify') {
- $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : ';
- }
- if ($action == 'classify') {
- //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1);
- $morehtmlref .= '';
- } else {
- $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_soc, $object->fk_project, 'none', 0, 0, 0, 1);
+ $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' ';
}
+ $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, ($action == 'classify' ? 1 : 0), 0, 1, '');
} else {
if (!empty($object->fk_project)) {
$proj = new Project($db);
$proj->fetch($object->fk_project);
- $morehtmlref .= ': '.$proj->getNomUrl();
- } else {
- $morehtmlref .= '';
+ $morehtmlref .= $proj->getNomUrl(1);
+ if ($proj->title) {
+ $morehtmlref .= ' - '.dol_escape_htmltag($proj->title).'';
+ }
}
}
}
diff --git a/htdocs/mrp/mo_card.php b/htdocs/mrp/mo_card.php
index aa3381c1242..026267a2243 100644
--- a/htdocs/mrp/mo_card.php
+++ b/htdocs/mrp/mo_card.php
@@ -135,7 +135,7 @@ if (empty($reshook)) {
if ($cancel && !empty($backtopageforcancel)) {
$backtopage = $backtopageforcancel;
}
- $triggermodname = 'MRP_MO_MODIFY'; // Name of trigger action code to execute when we modify record
+ $triggermodname = 'MO_MODIFY'; // Name of trigger action code to execute when we modify record
// Create MO with Childs
if ($action == 'add' && empty($id) && !empty($TBomLineId)) {
@@ -183,7 +183,7 @@ if (empty($reshook)) {
include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php';
if ($action == 'set_thirdparty' && $permissiontoadd) {
- $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, 'MO_MODIFY');
+ $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, $triggermodname);
}
if ($action == 'classin' && $permissiontoadd) {
$object->setProject(GETPOST('projectid', 'int'));
@@ -399,7 +399,6 @@ if (($id || $ref) && $action == 'edit') {
// Part to show record
if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) {
$res = $object->fetch_thirdparty();
- $res = $object->fetch_optionals();
$head = moPrepareHead($object);
@@ -485,34 +484,28 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
$morehtmlref.=$form->editfieldkey("RefBis", 'ref_client', $object->ref_client, $object, $user->rights->mrp->creer, 'string', '', 0, 1);
$morehtmlref.=$form->editfieldval("RefBis", 'ref_client', $object->ref_client, $object, $user->rights->mrp->creer, 'string', '', null, null, '', 1);*/
// Thirdparty
- $morehtmlref .= $langs->trans('ThirdParty').' ';
- $morehtmlref .= ': '.(is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
+ $morehtmlref .= $object->thirdparty->getNomUrl(1, 'customer');
+ if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
+ $morehtmlref .= ' ('.$langs->trans("OtherOrders").')';
+ }
// Project
if (isModEnabled('project')) {
$langs->load("projects");
- $morehtmlref .= ' '.$langs->trans('Project').' ';
+ $morehtmlref .= ' ';
if ($permissiontoadd) {
+ $morehtmlref .= img_picto($langs->trans("Project"), 'project', 'class="pictofixedwidth"');
if ($action != 'classify') {
- $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : ';
- }
- if ($action == 'classify') {
- //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1);
- $morehtmlref .= '';
- } else {
- $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_soc, $object->fk_project, 'none', 0, 0, 0, 1);
+ $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' ';
}
+ $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, ($action == 'classify' ? 1 : 0), 0, 1, '');
} else {
if (!empty($object->fk_project)) {
$proj = new Project($db);
$proj->fetch($object->fk_project);
- $morehtmlref .= ' : '.$proj->getNomUrl();
- } else {
- $morehtmlref .= '';
+ $morehtmlref .= $proj->getNomUrl(1);
+ if ($proj->title) {
+ $morehtmlref .= ' - '.dol_escape_htmltag($proj->title).'';
+ }
}
}
}
diff --git a/htdocs/mrp/mo_document.php b/htdocs/mrp/mo_document.php
index 4e8808012e1..57998132a84 100644
--- a/htdocs/mrp/mo_document.php
+++ b/htdocs/mrp/mo_document.php
@@ -129,33 +129,28 @@ if ($object->id) {
//$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
//$morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
// Thirdparty
- $morehtmlref .= $langs->trans('ThirdParty').' : '.(is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
+ $morehtmlref .= $object->thirdparty->getNomUrl(1, 'customer');
+ if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
+ $morehtmlref .= ' ('.$langs->trans("OtherOrders").')';
+ }
// Project
if (isModEnabled('project')) {
$langs->load("projects");
- $morehtmlref .= ' '.$langs->trans('Project').' ';
- if ($permissiontoadd) {
+ $morehtmlref .= ' ';
+ if (0) {
+ $morehtmlref .= img_picto($langs->trans("Project"), 'project', 'class="pictofixedwidth"');
if ($action != 'classify') {
- $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : ';
- }
- if ($action == 'classify') {
- //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1);
- $morehtmlref .= '';
- } else {
- $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_soc, $object->fk_project, 'none', 0, 0, 0, 1);
+ $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' ';
}
+ $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, ($action == 'classify' ? 1 : 0), 0, 1, '');
} else {
if (!empty($object->fk_project)) {
$proj = new Project($db);
$proj->fetch($object->fk_project);
- $morehtmlref .= ': '.$proj->getNomUrl();
- } else {
- $morehtmlref .= '';
+ $morehtmlref .= $proj->getNomUrl(1);
+ if ($proj->title) {
+ $morehtmlref .= ' - '.dol_escape_htmltag($proj->title).'';
+ }
}
}
}
diff --git a/htdocs/mrp/mo_movements.php b/htdocs/mrp/mo_movements.php
index 086ccbf1978..96891186b3f 100644
--- a/htdocs/mrp/mo_movements.php
+++ b/htdocs/mrp/mo_movements.php
@@ -211,7 +211,7 @@ if (empty($reshook)) {
$backtopage = DOL_URL_ROOT.'/mrp/mo_production.php?id='.($id > 0 ? $id : '__ID__');
}
}
- $triggermodname = 'MRP_MO_MODIFY'; // Name of trigger action code to execute when we modify record
+ $triggermodname = 'MO_MODIFY'; // Name of trigger action code to execute when we modify record
// Actions cancel, add, update, delete or clone
include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php';
@@ -232,7 +232,7 @@ if (empty($reshook)) {
//include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; // Must be include, not include_once
if ($action == 'set_thirdparty' && $permissiontoadd) {
- $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, 'MO_MODIFY');
+ $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, $triggermodname);
}
if ($action == 'classin' && $permissiontoadd) {
$object->setProject(GETPOST('projectid', 'int'));
@@ -326,33 +326,28 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
$morehtmlref.=$form->editfieldkey("RefBis", 'ref_client', $object->ref_client, $object, $user->rights->mrp->creer, 'string', '', 0, 1);
$morehtmlref.=$form->editfieldval("RefBis", 'ref_client', $object->ref_client, $object, $user->rights->mrp->creer, 'string', '', null, null, '', 1);*/
// Thirdparty
- $morehtmlref .= $langs->trans('ThirdParty').' : '.(is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
+ $morehtmlref .= $object->thirdparty->getNomUrl(1, 'customer');
+ if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
+ $morehtmlref .= ' ('.$langs->trans("OtherOrders").')';
+ }
// Project
if (isModEnabled('project')) {
$langs->load("projects");
- $morehtmlref .= ' '.$langs->trans('Project').' ';
+ $morehtmlref .= ' ';
if ($permissiontoadd) {
+ $morehtmlref .= img_picto($langs->trans("Project"), 'project', 'class="pictofixedwidth"');
if ($action != 'classify') {
- $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : ';
- }
- if ($action == 'classify') {
- //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1);
- $morehtmlref .= '';
- } else {
- $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_soc, $object->fk_project, 'none', 0, 0, 0, 1);
+ $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' ';
}
+ $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, ($action == 'classify' ? 1 : 0), 0, 1, '');
} else {
if (!empty($object->fk_project)) {
$proj = new Project($db);
$proj->fetch($object->fk_project);
- $morehtmlref .= $proj->getNomUrl();
- } else {
- $morehtmlref .= '';
+ $morehtmlref .= $proj->getNomUrl(1);
+ if ($proj->title) {
+ $morehtmlref .= ' - '.dol_escape_htmltag($proj->title).'';
+ }
}
}
}
diff --git a/htdocs/mrp/mo_note.php b/htdocs/mrp/mo_note.php
index 031018d0daa..47a01f388a6 100644
--- a/htdocs/mrp/mo_note.php
+++ b/htdocs/mrp/mo_note.php
@@ -105,33 +105,28 @@ if ($id > 0 || !empty($ref)) {
//$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
//$morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
// Thirdparty
- $morehtmlref .= $langs->trans('ThirdParty').' : '.(is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
+ $morehtmlref .= $object->thirdparty->getNomUrl(1, 'customer');
+ if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
+ $morehtmlref .= ' ('.$langs->trans("OtherOrders").')';
+ }
// Project
if (isModEnabled('project')) {
$langs->load("projects");
- $morehtmlref .= ' '.$langs->trans('Project').' ';
- if ($permissiontoadd) {
+ $morehtmlref .= ' ';
+ if (0) {
+ $morehtmlref .= img_picto($langs->trans("Project"), 'project', 'class="pictofixedwidth"');
if ($action != 'classify') {
- $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : ';
- }
- if ($action == 'classify') {
- //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1);
- $morehtmlref .= '';
- } else {
- $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_soc, $object->fk_project, 'none', 0, 0, 0, 1);
+ $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' ';
}
+ $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, ($action == 'classify' ? 1 : 0), 0, 1, '');
} else {
if (!empty($object->fk_project)) {
$proj = new Project($db);
$proj->fetch($object->fk_project);
- $morehtmlref .= ' : '.$proj->getNomUrl();
- } else {
- $morehtmlref .= '';
+ $morehtmlref .= $proj->getNomUrl(1);
+ if ($proj->title) {
+ $morehtmlref .= ' - '.dol_escape_htmltag($proj->title).'';
+ }
}
}
}
diff --git a/htdocs/mrp/mo_production.php b/htdocs/mrp/mo_production.php
index 7bff43bfc7b..b5856b81a99 100644
--- a/htdocs/mrp/mo_production.php
+++ b/htdocs/mrp/mo_production.php
@@ -120,7 +120,7 @@ if (empty($reshook)) {
$backtopage = DOL_URL_ROOT.'/mrp/mo_production.php?id='.($id > 0 ? $id : '__ID__');
}
}
- $triggermodname = 'MRP_MO_MODIFY'; // Name of trigger action code to execute when we modify record
+ $triggermodname = 'MO_MODIFY'; // Name of trigger action code to execute when we modify record
// Actions cancel, add, update, delete or clone
include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php';
@@ -141,7 +141,7 @@ if (empty($reshook)) {
//include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; // Must be include, not include_once
if ($action == 'set_thirdparty' && $permissiontoadd) {
- $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, 'MO_MODIFY');
+ $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, $triggermodname);
}
if ($action == 'classin' && $permissiontoadd) {
$object->setProject(GETPOST('projectid', 'int'));
@@ -523,33 +523,28 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
$morehtmlref.=$form->editfieldkey("RefBis", 'ref_client', $object->ref_client, $object, $user->rights->mrp->creer, 'string', '', 0, 1);
$morehtmlref.=$form->editfieldval("RefBis", 'ref_client', $object->ref_client, $object, $user->rights->mrp->creer, 'string', '', null, null, '', 1);*/
// Thirdparty
- $morehtmlref .= $langs->trans('ThirdParty').' : '.(is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
+ $morehtmlref .= $object->thirdparty->getNomUrl(1, 'customer');
+ if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
+ $morehtmlref .= ' ('.$langs->trans("OtherOrders").')';
+ }
// Project
if (isModEnabled('project')) {
$langs->load("projects");
- $morehtmlref .= ' '.$langs->trans('Project').' ';
+ $morehtmlref .= ' ';
if ($permissiontoadd) {
+ $morehtmlref .= img_picto($langs->trans("Project"), 'project', 'class="pictofixedwidth"');
if ($action != 'classify') {
- $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : ';
- }
- if ($action == 'classify') {
- //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1);
- $morehtmlref .= '';
- } else {
- $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_soc, $object->fk_project, 'none', 0, 0, 0, 1);
+ $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' ';
}
+ $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, ($action == 'classify' ? 1 : 0), 0, 1, '');
} else {
if (!empty($object->fk_project)) {
$proj = new Project($db);
$proj->fetch($object->fk_project);
- $morehtmlref .= $proj->getNomUrl();
- } else {
- $morehtmlref .= '';
+ $morehtmlref .= $proj->getNomUrl(1);
+ if ($proj->title) {
+ $morehtmlref .= ' - '.dol_escape_htmltag($proj->title).'';
+ }
}
}
}
@@ -809,6 +804,10 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
if ($permissiontodelete) {
print ' | | ';
}
+ // Split
+ print ' | ';
+ // SplitAll
+ print ' | ';
print '';
}
@@ -869,18 +868,16 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
print '';
// Qty
print '';
- $help = '';
+ $help = ''; $picto = 'help';
if ($line->qty_frozen) {
- $help .= ($help ? ' ' : '').''.$langs->trans("QuantityFrozen").': '.yn(1).' ('.$langs->trans("QuantityConsumedInvariable").')';
+ $help = ($help ? ' ' : '').''.$langs->trans("QuantityFrozen").': '.yn(1).' ('.$langs->trans("QuantityConsumedInvariable").')';
+ print $form->textwithpicto('', $help, -1, 'lock').' ';
}
if ($line->disable_stock_change) {
- $help .= ($help ? ' ' : '').''.$langs->trans("DisableStockChange").': '.yn(1).' ('.(($tmpproduct->type == Product::TYPE_SERVICE && empty($conf->global->STOCK_SUPPORTS_SERVICES)) ? $langs->trans("NoStockChangeOnServices") : $langs->trans("DisableStockChangeHelp")).')';
- }
- if ($help) {
- print $form->textwithpicto($line->qty, $help, -1);
- } else {
- print price2num($line->qty, 'MS');
+ $help = ($help ? ' ' : '').''.$langs->trans("DisableStockChange").': '.yn(1).' ('.(($tmpproduct->type == Product::TYPE_SERVICE && empty($conf->global->STOCK_SUPPORTS_SERVICES)) ? $langs->trans("NoStockChangeOnServices") : $langs->trans("DisableStockChangeHelp")).')';
+ print $form->textwithpicto('', $help, -1, 'help').' ';
}
+ print price2num($line->qty, 'MS');
print ' | ';
// Cost price
if ($permissiontoupdatecost && !empty($conf->global->MRP_SHOW_COST_FOR_CONSUMPTION)) {
diff --git a/test/phpunit/RepositoryTest.php b/test/phpunit/RepositoryTest.php
index 4185a46b5b1..1df9cbe7aa8 100644
--- a/test/phpunit/RepositoryTest.php
+++ b/test/phpunit/RepositoryTest.php
@@ -169,14 +169,14 @@ class RepositoryTest extends PHPUnit\Framework\TestCase
global $conf,$user,$langs,$db;
// Scan dir to guarante we don't have library jquery twice
- $founddirs=dol_dir_list(DOL_DOCUMENT_ROOT.'/includes/', 'files', 1, '^jquery\.js', array('ckeditor'));
- print __METHOD__." count(founddirs)=".count($founddirs)."\n";
- $this->assertEquals(1, count($founddirs), 'We found jquery lib (jquery.js) twice');
+ $foundfiles=dol_dir_list(DOL_DOCUMENT_ROOT.'/includes/', 'files', 1, '^jquery\.js', array('ckeditor'));
+ print __METHOD__." count(founddirs)=".count($foundfiles)."\n";
+ $this->assertEquals(1, count($foundfiles), 'We found jquery lib (jquery.js) twice');
// Scan dir to guarante we don't have library jquery twice
- $founddirs=dol_dir_list(DOL_DOCUMENT_ROOT.'/includes/', 'files', 1, '^jquery\.min\.js', array('ckeditor'));
- print __METHOD__." count(founddirs)=".count($founddirs)."\n";
- $this->assertEquals(1, count($founddirs), 'We found jquery lib (jquery.min.js) twice');
+ $foundfiles=dol_dir_list(DOL_DOCUMENT_ROOT.'/includes/', 'files', 1, '^jquery\.min\.js', array('ckeditor'));
+ print __METHOD__." count(founddirs)=".count($foundfiles)."\n";
+ $this->assertEquals(1, count($foundfiles), 'We found jquery lib (jquery.min.js) twice '.(empty($foundfiles[0]) ? '' : $foundfiles[0]['fullname']).' '.(empty($foundfiles[1]) ? '' : $foundfiles[1]['fullname']));
}