mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
d24069d5e2
|
|
@ -52,7 +52,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) {
|
|||
echo '<tr class="'.$trclass.'" >';
|
||||
echo '<td class="linkedcol-element tdoverflowmax100">'.$langs->trans("Asset");
|
||||
if (!empty($showImportButton) && getDolGlobalString('MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES')) {
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines&token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
}
|
||||
echo '</td>';
|
||||
echo '<td class="linkedcol-name tdoverflowmax150" >'.$objectlink->getNomUrl(1).'</td>';
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) {
|
|||
echo '<tr class="'.$trclass.'" >';
|
||||
echo '<td class="linkedcol-element tdoverflowmax100">'.$langs->trans("Bom");
|
||||
if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) {
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines&token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
}
|
||||
echo '</td>';
|
||||
echo '<td class="linkedcol-name tdoverflowmax150" >'.$objectlink->getNomUrl(1).'</td>';
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) {
|
|||
print '<td class="linkedcol-element tdoverflowmax100">'.$langs->trans("Proposal");
|
||||
if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) {
|
||||
$url = DOL_URL_ROOT.'/comm/propal/card.php?id='.$objectlink->id;
|
||||
print '<a class="objectlinked_importbtn" href="'.$url.'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a>';
|
||||
print '<a class="objectlinked_importbtn" href="'.$url.'&action=selectlines&token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a>';
|
||||
}
|
||||
print '</td>';
|
||||
print '<td class="linkedcol-name tdoverflowmax150">'.$objectlink->getNomUrl(1).'</td>';
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) {
|
|||
echo '<tr class="'.$trclass.'" >';
|
||||
echo '<td class="linkedcol-element tdoverflowmax100">'.$langs->trans("CustomerOrder");
|
||||
if (!empty($showImportButton) && getDolGlobalString('MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES')) {
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines&token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
}
|
||||
echo '</td>';
|
||||
echo '<td class="linkedcol-name tdoverflowmax150" >'.$objectlink->getNomUrl(1).'</td>';
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) {
|
|||
break;
|
||||
}
|
||||
if (!empty($showImportButton) && getDolGlobalString('MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES')) {
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines&token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
}
|
||||
print '</td>';
|
||||
print '<td class="linkedcol-name tdoverflowmax150">'.$objectlink->getNomUrl(1).'</td>';
|
||||
|
|
|
|||
|
|
@ -1321,7 +1321,7 @@ jQuery(document).ready(function() {
|
|||
|
||||
|
||||
jQuery(document).ready(function() {
|
||||
jQuery(".butAction.dropdown-toggle").on("click", function(event) {
|
||||
jQuery(document).on("click", ".butAction.dropdown-toggle", function(event) {
|
||||
console.log("Click on .butAction.dropdown-toggle");
|
||||
let parentHolder = jQuery(event.target).parent();
|
||||
let dropDownContent = parentHolder.children(".dropdown-content");
|
||||
|
|
|
|||
|
|
@ -1384,7 +1384,10 @@ function dol_include_once($relpath, $classname = '')
|
|||
* Return path of url or filesystem. Can check into alternate dir or alternate dir + main dir depending on value of $returnemptyifnotfound.
|
||||
*
|
||||
* @param string $path Relative path to file (if mode=0) or relative url (if mode=1). Ie: mydir/myfile, ../myfile
|
||||
* @param int $type 0=Used for a Filesystem path, 1=Used for an URL path (output relative), 2=Used for an URL path (output full path using same host that current url), 3=Used for an URL path (output full path using host defined into $dolibarr_main_url_root of conf file)
|
||||
* @param int $type 0=Used for a Filesystem path,
|
||||
* 1=Used for an URL path (output relative),
|
||||
* 2=Used for an URL path (output full path using same host that current url),
|
||||
* 3=Used for an URL path (output full path using host defined into $dolibarr_main_url_root of conf file)
|
||||
* @param int $returnemptyifnotfound 0:If $type==0 and if file was not found into alternate dir, return default path into main dir (no test on it)
|
||||
* 1:If $type==0 and if file was not found into alternate dir, return empty string
|
||||
* 2:If $type==0 and if file was not found into alternate dir, test into main dir, return default path if found, empty string if not found
|
||||
|
|
@ -1455,11 +1458,9 @@ function dol_buildpath($path, $type = 0, $returnemptyifnotfound = 0)
|
|||
if (@file_exists($dirroot.'/'.$regs[1])) { // avoid [php:warn]
|
||||
if ($type == 1) {
|
||||
$res = (preg_match('/^http/i', $conf->file->dol_url_root[$key]) ? '' : DOL_URL_ROOT).$conf->file->dol_url_root[$key].'/'.$path;
|
||||
}
|
||||
if ($type == 2) {
|
||||
} elseif ($type == 2) {
|
||||
$res = (preg_match('/^http/i', $conf->file->dol_url_root[$key]) ? '' : DOL_MAIN_URL_ROOT).$conf->file->dol_url_root[$key].'/'.$path;
|
||||
}
|
||||
if ($type == 3) {
|
||||
} elseif ($type == 3) {
|
||||
/*global $dolibarr_main_url_root;*/
|
||||
|
||||
// Define $urlwithroot
|
||||
|
|
@ -12423,13 +12424,13 @@ function dolGetStatus($statusLabel = '', $statusLabelShort = '', $html = '', $st
|
|||
* @param string $text Optional : short label on button. Can be escaped HTML content or full simple text.
|
||||
* @param string $actionType 'default', 'danger', 'email', 'clone', 'cancel', 'delete', ...
|
||||
*
|
||||
* @param string|array<int,array{lang:string,enabled:bool,perm:bool,label:string,url:string}> $url Url for link or array of subbutton description
|
||||
* @param string|array<int,array{lang:string,enabled:bool,perm:bool,label:string,url:string,urlroot:string}> $url Url for link or array of subbutton description
|
||||
*
|
||||
* Example when an array is used: $arrayforbutaction = array(
|
||||
* 10 => array('lang'=>'propal', 'enabled'=>isModEnabled("propal"), 'perm'=>$user->hasRight('propal', 'creer'), 'label' => 'AddProp', 'url'=>'/comm/propal/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
* 20 => array('lang'=>'orders', 'enabled'=>isModEnabled("order"), 'perm'=>$user->hasRight('commande', 'creer'), 'label' => 'CreateOrder', 'url'=>'/commande/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
* 30 => array('lang'=>'bills', 'enabled'=>isModEnabled("invoice"), 'perm'=>$user->hasRight('facture', 'creer'), 'label' => 'CreateBill', 'url'=>'/compta/facture/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
* );
|
||||
* Example when an array is used:
|
||||
* $arrayforbutaction = array(
|
||||
* 10 => array('attr' => array('class'=>''), 'lang'=>'propal', 'enabled'=>isModEnabled("propal"), 'perm'=>$user->hasRight('propal', 'creer'), 'label' => 'AddProp', 'url'=>'/comm/propal/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
* 20 => array('attr' => array('class'=>''), 'lang'=>'mymodule', 'enabled'=>isModEnabled("mymodule"), 'perm'=>$user->hasRight('mymodule', 'write'), 'label' => 'MyModuleAction', 'urlroot'=>dol_build_patch('/mymodule/mypage.php?action=create')),
|
||||
* ); );
|
||||
* @param string $id Attribute id of action button. Example 'action-delete'. This can be used for full ajax confirm if this code is reused into the ->formconfirm() method.
|
||||
* @param int|boolean $userRight User action right
|
||||
* // phpcs:disable
|
||||
|
|
@ -12446,7 +12447,7 @@ function dolGetStatus($statusLabel = '', $statusLabelShort = '', $html = '', $st
|
|||
* 'cancel-btn-label' => '', // Override label of cancel button, if empty default label use "CloseDialog" lang key
|
||||
* 'content' => '', // Override text of content, if empty default content use "ConfirmBtnCommonContent" lang key
|
||||
* 'modal' => true, // true|false to display dialog as a modal (with dark background)
|
||||
* 'isDropDrown' => false, // true|false to display dialog as a dropdown (with dark background)
|
||||
* 'isDropDrown' => false, // true|false to display dialog as a dropdown list (css dropdown-item with dark background)
|
||||
* ],
|
||||
* ]
|
||||
* // phpcs:enable
|
||||
|
|
@ -12477,11 +12478,11 @@ function dolGetButtonAction($label, $text = '', $actionType = 'default', $url =
|
|||
$text = $button['text'] ?? '';
|
||||
$actionType = $button['actionType'] ?? '';
|
||||
$tmpUrl = DOL_URL_ROOT.$button['url'].(empty($params['backtopage']) ? '' : '&backtopage='.urlencode($params['backtopage']));
|
||||
$id = $button['$id'] ?? '';
|
||||
$id = $button['id'] ?? '';
|
||||
$userRight = $button['perm'] ?? 1;
|
||||
$params = $button['$params'] ?? [];
|
||||
$button['params'] = $button['params'] ?? [];
|
||||
|
||||
$out .= dolGetButtonAction($label, $text, $actionType, $tmpUrl, $id, $userRight, $params);
|
||||
$out .= dolGetButtonAction($label, $text, $actionType, $tmpUrl, $id, $userRight, $button['params']);
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
|
@ -12494,8 +12495,20 @@ function dolGetButtonAction($label, $text = '', $actionType = 'default', $url =
|
|||
if (!empty($subbutton['lang'])) {
|
||||
$langs->load($subbutton['lang']);
|
||||
}
|
||||
$tmpurl = DOL_URL_ROOT.$subbutton['url'].(empty($params['backtopage']) ? '' : '&backtopage='.urlencode($params['backtopage']));
|
||||
$out .= dolGetButtonAction('', $langs->trans($subbutton['label']), 'default', $tmpurl, '', $subbutton['perm'], array('isDropDown' => true));
|
||||
|
||||
if (!empty($subbutton['urlroot'])) {
|
||||
$tmpurl = $subbutton['urlroot'].(empty($params['backtopage']) ? '' : '&backtopage='.urlencode($params['backtopage']));
|
||||
} else {
|
||||
$tmpurl = DOL_URL_ROOT.$subbutton['url'].(empty($params['backtopage']) ? '' : '&backtopage='.urlencode($params['backtopage']));
|
||||
}
|
||||
|
||||
$subbuttonparam = array();
|
||||
if (!empty($subbutton['attr'])) {
|
||||
$subbuttonparam['attr'] = $subbutton['attr'];
|
||||
}
|
||||
$subbuttonparam['isDropDown'] = (empty($params['isDropDown']) ? $subbutton['isDropDown'] : $params['isDropDown']);
|
||||
|
||||
$out .= dolGetButtonAction('', $langs->trans($subbutton['label']), 'default', $tmpurl, $subbutton['id'] ?? '', $subbutton['perm'], $subbuttonparam);
|
||||
}
|
||||
$out .= "</div>";
|
||||
$out .= "</div>";
|
||||
|
|
@ -12504,8 +12517,14 @@ function dolGetButtonAction($label, $text = '', $actionType = 'default', $url =
|
|||
if (!empty($subbutton['lang'])) {
|
||||
$langs->load($subbutton['lang']);
|
||||
}
|
||||
$tmpurl = DOL_URL_ROOT.$subbutton['url'].(empty($params['backtopage']) ? '' : '&backtopage='.urlencode($params['backtopage']));
|
||||
$out .= dolGetButtonAction('', $langs->trans($subbutton['label']), 'default', $tmpurl, '', $subbutton['perm']);
|
||||
|
||||
if (!empty($subbutton['urlroot'])) {
|
||||
$tmpurl = $subbutton['urlroot'].(empty($params['backtopage']) ? '' : '&backtopage='.urlencode($params['backtopage']));
|
||||
} else {
|
||||
$tmpurl = DOL_URL_ROOT.$subbutton['url'].(empty($params['backtopage']) ? '' : '&backtopage='.urlencode($params['backtopage']));
|
||||
}
|
||||
|
||||
$out .= dolGetButtonAction('', $langs->trans($subbutton['label']), 'default', $tmpurl, '', $subbutton['perm'], $params);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -12514,7 +12533,7 @@ function dolGetButtonAction($label, $text = '', $actionType = 'default', $url =
|
|||
|
||||
// Here, $url is a simple link
|
||||
|
||||
if (!empty($params['isDropdown'])) {
|
||||
if (!empty($params['isDropdown']) || !empty($params['isDropDown'])) { // Use the dropdown-item style (not for action button)
|
||||
$class = "dropdown-item";
|
||||
} else {
|
||||
$class = 'butAction';
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ class InterfaceTicketEmail extends DolibarrTriggers
|
|||
}
|
||||
|
||||
// Send email to customer
|
||||
if (!getDolGlobalString('TICKET_DISABLE_CUSTOMER_MAILS') && empty($object->context['disableticketemail']) && $object->notify_tiers_at_create) {
|
||||
if (!getDolGlobalInt('TICKET_DISABLE_CUSTOMER_MAILS') && empty($object->context['disableticketemail']) && $object->notify_tiers_at_create) {
|
||||
$sendto = '';
|
||||
|
||||
// if contact selected send to email's contact else send to email's thirdparty
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) {
|
|||
echo '<tr class="'.$trclass.'" >';
|
||||
echo '<td class="linkedcol-element tdoverflowmax100">'.$langs->trans("Delivery");
|
||||
if (!empty($showImportButton) && getDolGlobalString('MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES')) {
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines&token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
}
|
||||
echo '</td>';
|
||||
echo '<td class="linkedcol-name tdoverflowmax150" >'.$objectlink->getNomUrl(1).'</td>';
|
||||
|
|
|
|||
|
|
@ -2721,7 +2721,7 @@ class EmailCollector extends CommonObject
|
|||
|
||||
$thirdpartystatic->fetch($result);
|
||||
|
||||
$operationslog .= '<br>Thirdparty already exists with id = '.dol_escape_htmltag($thirdpartystatic->id)." and name ".dol_escape_all($thirdpartystatic->name);
|
||||
$operationslog .= '<br>Thirdparty already exists with id = '.dol_escape_htmltag($thirdpartystatic->id)." and name ".dol_escape_htmltag($thirdpartystatic->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ if ($object->element == 'mo') {
|
|||
echo '<tr class="' . $trclass . '" >';
|
||||
echo '<td class="linkedcol-element tdoverflowmax100">' . $langs->trans("ManufacturingOrder");
|
||||
if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) {
|
||||
print '<a class="objectlinked_importbtn" href="' . $objectlink->getNomUrl(0, '', 0, 1) . '&action=selectlines" data-element="' . $objectlink->element . '" data-id="' . $objectlink->id . '" > <i class="fa fa-indent"></i> </a';
|
||||
print '<a class="objectlinked_importbtn" href="' . $objectlink->getNomUrl(0, '', 0, 1) . '&action=selectlines&token='.newToken().'" data-element="' . $objectlink->element . '" data-id="' . $objectlink->id . '" > <i class="fa fa-indent"></i> </a';
|
||||
}
|
||||
echo '</td>';
|
||||
echo '<td class="linkedcol-name nowraponall" >' . $objectlink->getNomUrl(1) . '</td>';
|
||||
|
|
@ -104,7 +104,7 @@ if ($object->element == 'mo') {
|
|||
print '<td class="linkedcol-element tdoverflowmax100">'.$langs->trans("ManufacturingOrder");
|
||||
if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) {
|
||||
$url = DOL_URL_ROOT.'/mrp/mo_card.php?id='.$objectlink->id;
|
||||
print '<a class="objectlinked_importbtn" href="'.$url.'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a>';
|
||||
print '<a class="objectlinked_importbtn" href="'.$url.'&action=selectlines&token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a>';
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -1659,9 +1659,11 @@ if ($action == 'create' && $user->hasRight('projet', 'creer')) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Buttons Create
|
||||
if (!getDolGlobalString('PROJECT_HIDE_CREATE_OBJECT_BUTTON')) {
|
||||
$arrayforbutaction = array(
|
||||
//1 => array('lang' => 'propal', 'enabled' => 1, 'perm' => 1, 'label' => 'XXX'),
|
||||
10 => array('lang' => 'propal', 'enabled' => isModEnabled("propal"), 'perm' => $user->hasRight('propal', 'creer'), 'label' => 'AddProp', 'url' => '/comm/propal/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
20 => array('lang' => 'orders', 'enabled' => isModEnabled("order"), 'perm' => $user->hasRight('commande', 'creer'), 'label' => 'CreateOrder', 'url' => '/commande/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
30 => array('lang' => 'bills', 'enabled' => isModEnabled("invoice"), 'perm' => $user->hasRight('facture', 'creer'), 'label' => 'CreateBill', 'url' => '/compta/facture/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
|
|
@ -1671,10 +1673,11 @@ if ($action == 'create' && $user->hasRight('projet', 'creer')) {
|
|||
70 => array('lang' => 'interventions', 'enabled' => isModEnabled("intervention"), 'perm' => $user->hasRight('fichinter', 'creer'), 'label' => 'AddIntervention', 'url' => '/fichinter/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
80 => array('lang' => 'contracts', 'enabled' => isModEnabled("contract"), 'perm' => $user->hasRight('contrat', 'creer'), 'label' => 'AddContract', 'url' => '/contrat/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
90 => array('lang' => 'trips', 'enabled' => isModEnabled("expensereport"), 'perm' => $user->hasRight('expensereport', 'creer'), 'label' => 'AddTrip', 'url' => '/expensereport/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
100 => array('lang' => 'donations', 'enabled' => isModEnabled("don"), 'perm' => $user->hasRight('don', 'creer'), 'label' => 'AddDonation', 'url' => '/don/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
100 => array('lang' => 'donations', 'enabled' => isModEnabled("don"), 'perm' => $user->hasRight('don', 'creer'), 'label' => 'AddDonation', 'url' => '/don/card.php?action=create&projectid='.$object->id.'&socid='.$object->socid),
|
||||
);
|
||||
|
||||
$params = array('backtopage' => $_SERVER["PHP_SELF"].'?id='.$object->id);
|
||||
//$params = array('backtopage' => $_SERVER["PHP_SELF"].'?id='.$object->id, 'isDropDown' => true);
|
||||
|
||||
print dolGetButtonAction('', $langs->trans("Create"), 'default', $arrayforbutaction, '', 1, $params);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) {
|
|||
<tr class="<?php echo $trclass; ?>">
|
||||
<td class="linkedcol-element tdoverflowmax100"><?php echo $langs->trans("Reception"); ?>
|
||||
<?php if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) {
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines&token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
} ?>
|
||||
</td>
|
||||
<td class="linkedcol-name tdoverflowmax150"><?php echo $objectlink->getNomUrl(1); ?></td>
|
||||
|
|
|
|||
|
|
@ -362,7 +362,7 @@ a.dropdown-item {
|
|||
display: block !important;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
padding: .3em 1.5em .4em 1em;
|
||||
padding: .5em 1.5em .5em 1em;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
color: #212529 !important;
|
||||
|
|
|
|||
|
|
@ -1708,6 +1708,8 @@ class Ticket extends CommonObject
|
|||
$this->oldcopy = dol_clone($this, 2);
|
||||
|
||||
$this->db->begin();
|
||||
$oldStatus = $this->fk_statut;
|
||||
$this->fk_statut = Ticket::STATUS_READ;
|
||||
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."ticket";
|
||||
$sql .= " SET fk_statut = ".Ticket::STATUS_READ.", date_read = '".$this->db->idate(dol_now())."'";
|
||||
|
|
@ -1723,6 +1725,7 @@ class Ticket extends CommonObject
|
|||
// Call trigger
|
||||
$result = $this->call_trigger('TICKET_MODIFY', $user);
|
||||
if ($result < 0) {
|
||||
$this->fk_statut = $oldStatus;
|
||||
$error++;
|
||||
}
|
||||
// End call triggers
|
||||
|
|
@ -1732,12 +1735,14 @@ class Ticket extends CommonObject
|
|||
$this->db->commit();
|
||||
return 1;
|
||||
} else {
|
||||
$this->fk_statut = $oldStatus;
|
||||
$this->db->rollback();
|
||||
$this->error = implode(',', $this->errors);
|
||||
dol_syslog(get_class($this)."::markAsRead ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
$this->fk_statut = $oldStatus;
|
||||
$this->db->rollback();
|
||||
$this->error = $this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::markAsRead ".$this->error, LOG_ERR);
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) {
|
|||
<tr class="<?php echo $trclass; ?>" >
|
||||
<td class="linkedcol-element tdoverflowmax100"><?php echo $langs->trans("Ticket"); ?>
|
||||
<?php if (!empty($showImportButton) && getDolGlobalString('MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES')) {
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines&token='.newToken().'" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a';
|
||||
} ?>
|
||||
</td>
|
||||
<td class="linkedcol-name tdoverflowmax150"><?php echo $objectlink->getNomUrl(1); ?></td>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user