Skip to content

Commit

Permalink
fix(issue): take ticket valdiation status and user into account
Browse files Browse the repository at this point in the history
Signed-off-by: Thierry Bugier <tbugier@teclib.com>
  • Loading branch information
btry committed May 19, 2020
1 parent 5d9cb07 commit 937a4a5
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 25 deletions.
52 changes: 28 additions & 24 deletions hook.php
Original file line number Diff line number Diff line change
Expand Up @@ -333,19 +333,21 @@ function plugin_formcreator_hook_add_ticket(CommonDBTM $item) {
];
}

$validationStatus = PluginFormcreatorCommon::getTicketStatusForIssue($item);

$issue = new PluginFormcreatorIssue();
$issue->add([
'original_id' => $item->getID(),
'sub_itemtype' => 'Ticket',
'name' => addslashes($item->fields['name']),
'status' => PluginFOrmcreatorCommon::getTicketStatusForIssue($item),
'date_creation' => $item->fields['date'],
'date_mod' => $item->fields['date_mod'],
'entities_id' => $item->fields['entities_id'],
'is_recursive' => '0',
'requester_id' => $requester['users_id'],
'validator_id' => '0',
'comment' => addslashes($item->fields['content']),
'original_id' => $item->getID(),
'sub_itemtype' => 'Ticket',
'name' => addslashes($item->fields['name']),
'status' => $validationStatus['status'],
'date_creation' => $item->fields['date'],
'date_mod' => $item->fields['date_mod'],
'entities_id' => $item->fields['entities_id'],
'is_recursive' => '0',
'requester_id' => $requester['users_id'],
'users_id_validator' => $validationStatus['user'],
'comment' => addslashes($item->fields['content']),
]);
}

Expand All @@ -356,6 +358,8 @@ function plugin_formcreator_hook_update_ticket(CommonDBTM $item) {

$id = $item->getID();

$validationStatus = PluginFormcreatorCommon::getTicketStatusForIssue($item);

$issue = new PluginFormcreatorIssue();
$issue->getFromDBByCrit([
'AND' => [
Expand All @@ -364,19 +368,19 @@ function plugin_formcreator_hook_update_ticket(CommonDBTM $item) {
]
]);
$issue->update([
'id' => $issue->getID(),
'original_id' => $id,
'display_id' => "t_$id",
'sub_itemtype' => 'Ticket',
'name' => addslashes($item->fields['name']),
'status' => PluginFOrmcreatorCommon::getTicketStatusForIssue($item),
'date_creation' => $item->fields['date'],
'date_mod' => $item->fields['date_mod'],
'entities_id' => $item->fields['entities_id'],
'is_recursive' => '0',
'requester_id' => $item->fields['users_id_recipient'],
'validator_id' => '0',
'comment' => addslashes($item->fields['content']),
'id' => $issue->getID(),
'original_id' => $id,
'display_id' => "t_$id",
'sub_itemtype' => 'Ticket',
'name' => addslashes($item->fields['name']),
'status' => $validationStatus['status'],
'date_creation' => $item->fields['date'],
'date_mod' => $item->fields['date_mod'],
'entities_id' => $item->fields['entities_id'],
'is_recursive' => '0',
'requester_id' => $item->fields['users_id_recipient'],
'users_id_validator' => $validationStatus['user'],
'comment' => addslashes($item->fields['content']),
]);
}

Expand Down
9 changes: 8 additions & 1 deletion inc/common.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -211,13 +211,20 @@ public static function cancelMyTicket($id) {
return $ticket->delete($ticket->fields);
}

/**
* Get the status to set for an issue matching a ticket
* @param Ticket $item
* @return integer
*/
public static function getTicketStatusForIssue(Ticket $item) {
$ticketValidation = new TicketValidation();
$ticketValidation->getFromDBByCrit([
'tickets_id' => $item->getID(),
]);
$status = $item->fields['status'];
$user = 0;
if (!$ticketValidation->isNewItem()) {
$user = $ticketValidation->fields['users_id_validate'];
$status = 103;
switch ($ticketValidation->fields['status']) {
case TicketValidation::WAITING:
Expand All @@ -229,6 +236,6 @@ public static function getTicketStatusForIssue(Ticket $item) {
}
}

return $status;
return ['status' => $status, 'user' => $user];
}
}

0 comments on commit 937a4a5

Please sign in to comment.