Merge pull request #19426 from FHenry/dev_fix_ticket_user_assign
NEW: make unicity for user assigned(responsible) on ticket from anyways
This commit is contained in:
commit
661c414703
@ -386,20 +386,24 @@ if (empty($reshook)) {
|
|||||||
if (!$error) { // Update list of contacts
|
if (!$error) { // Update list of contacts
|
||||||
// Si déjà un user assigné on le supprime des contacts
|
// Si déjà un user assigné on le supprime des contacts
|
||||||
if ($useroriginassign > 0) {
|
if ($useroriginassign > 0) {
|
||||||
$internal_contacts = $object->listeContact(-1, 'internal');
|
$internal_contacts = $object->listeContact(-1, 'internal', 0, 'SUPPORTTEC');
|
||||||
|
|
||||||
foreach ($internal_contacts as $key => $contact) {
|
foreach ($internal_contacts as $key => $contact) {
|
||||||
if ($contact['code'] == "SUPPORTTEC" && $contact['id'] == $useroriginassign) {
|
if ($contact['id'] !== $usertoassign) {
|
||||||
}
|
$result = $object->delete_contact($contact['rowid']);
|
||||||
{
|
if ($result<0) {
|
||||||
//print "user à effacer : ".$useroriginassign;
|
$error++;
|
||||||
$object->delete_contact($contact['rowid']);
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($usertoassign > 0) {
|
if ($usertoassign > 0 && $usertoassign!==$useroriginassign) {
|
||||||
$object->add_contact($usertoassign, "SUPPORTTEC", 'internal', $notrigger = 0);
|
$result = $object->add_contact($usertoassign, "SUPPORTTEC", 'internal', $notrigger = 0);
|
||||||
|
if ($result<0) {
|
||||||
|
$error++;
|
||||||
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -408,8 +412,8 @@ if (empty($reshook)) {
|
|||||||
$object->fetch_user($usertoassign);
|
$object->fetch_user($usertoassign);
|
||||||
//$log_action = $langs->trans('TicketLogAssignedTo', $object->user->getFullName($langs));
|
//$log_action = $langs->trans('TicketLogAssignedTo', $object->user->getFullName($langs));
|
||||||
|
|
||||||
setEventMessages($langs->trans('TicketAssigned'), null, 'mesgs');
|
|
||||||
|
|
||||||
|
setEventMessages($langs->trans('TicketAssigned'), null, 'mesgs');
|
||||||
header("Location: card.php?track_id=".$object->track_id."&action=view");
|
header("Location: card.php?track_id=".$object->track_id."&action=view");
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -84,7 +84,32 @@ if ($action == 'addcontact' && $user->rights->ticket->write) {
|
|||||||
if ($result > 0 && ($id > 0 || (!empty($track_id)))) {
|
if ($result > 0 && ($id > 0 || (!empty($track_id)))) {
|
||||||
$contactid = (GETPOST('userid', 'int') ? GETPOST('userid', 'int') : GETPOST('contactid', 'int'));
|
$contactid = (GETPOST('userid', 'int') ? GETPOST('userid', 'int') : GETPOST('contactid', 'int'));
|
||||||
$typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type'));
|
$typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type'));
|
||||||
$result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09'));
|
|
||||||
|
$error = 0;
|
||||||
|
|
||||||
|
$codecontact = dol_getIdFromCode($db, $typeid, 'c_type_contact', 'rowid', 'code');
|
||||||
|
if ($codecontact=='SUPPORTTEC') {
|
||||||
|
$internal_contacts = $object->listeContact(-1, 'internal', 0, 'SUPPORTTEC');
|
||||||
|
foreach ($internal_contacts as $key => $contact) {
|
||||||
|
if ($contact['id'] !== $contactid) {
|
||||||
|
//print "user à effacer : ".$useroriginassign;
|
||||||
|
$result = $object->delete_contact($contact['rowid']);
|
||||||
|
if ($result<0) {
|
||||||
|
$error ++;
|
||||||
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$ret = $object->assignUser($user, $contactid);
|
||||||
|
if ($ret < 0) {
|
||||||
|
$error ++;
|
||||||
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($error)) {
|
||||||
|
$result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user