Bugfix incoming tickets select warteschlange and adresse

This commit is contained in:
Xenomporio 2022-08-05 17:08:41 +02:00
parent e1e886e8e6
commit a1aa642849
1 changed files with 14 additions and 12 deletions

View File

@ -91,7 +91,7 @@ class TicketImportHelper
$id = $this->db->Select($searchByEmail); $id = $this->db->Select($searchByEmail);
if ($id !== null && $id > 0) { if ($id !== null && $id > 0) {
return $id; return (int) $id;
} }
$searchByResponsePerson = 'SELECT ap.adresse FROM `ansprechpartner` AS `ap` $searchByResponsePerson = 'SELECT ap.adresse FROM `ansprechpartner` AS `ap`
@ -99,14 +99,14 @@ class TicketImportHelper
ORDER BY ap.id DESC'; ORDER BY ap.id DESC';
$id = $this->db->Select($searchByResponsePerson); $id = $this->db->Select($searchByResponsePerson);
if ($id !== null && $id > 0) { if ($id !== null && $id > 0) {
return $id; return (int) $id;
} }
$searchByContactInfo = 'SELECT ak.adresse FROM `adresse_kontakte` AS `ak` $searchByContactInfo = 'SELECT ak.adresse FROM `adresse_kontakte` AS `ak`
WHERE ak.kontakt LIKE \''.$emailAddress.'\' ORDER BY ak.id DESC'; WHERE ak.kontakt LIKE \''.$emailAddress.'\' ORDER BY ak.id DESC';
$id = $this->db->Select($searchByContactInfo); $id = $this->db->Select($searchByContactInfo);
return $id; return (int) $id;
} }
/* Some functions taken from TicketService (sorry...) */ /* Some functions taken from TicketService (sorry...) */
@ -244,12 +244,8 @@ class TicketImportHelper
string $replyToAddress string $replyToAddress
): string ): string
{ {
$assigneeAddressId = $this->mailAccount->getAddressId(); $AddressId = $this->tryGetAddressIdByEmailAddress($senderAddress);
if ($assigneeAddressId < 1) {
$assigneeAddressId = $this->tryGetAddressIdByEmailAddress(
$this->mailAccount->getEmailAddress()
);
}
$ticketNumber = $this->generateRandomTicketNumber(); $ticketNumber = $this->generateRandomTicketNumber();
if($projectId < 1) { if($projectId < 1) {
@ -261,6 +257,12 @@ class TicketImportHelper
$status = 'neu'; //TicketGateway::STATUS_NEW; $status = 'neu'; //TicketGateway::STATUS_NEW;
} }
$queue_id = $this->mailAccount->getTicketQueueId();
if (!empty($queue_id)) {
$queue_label = $this->db->Select("SELECT label FROM warteschlangen WHERE id = ".$queue_id." LIMIT 1");
}
$insertTicket = "INSERT INTO `ticket` ( $insertTicket = "INSERT INTO `ticket` (
`schluessel`, `zeit`, `projekt`, `quelle`, `status`, `kunde`, `schluessel`, `zeit`, `projekt`, `quelle`, `status`, `kunde`,
`mailadresse`, `prio`, `betreff`,`warteschlange`,`adresse` `mailadresse`, `prio`, `betreff`,`warteschlange`,`adresse`
@ -274,13 +276,13 @@ class TicketImportHelper
'".$senderAddress."', '".$senderAddress."',
'".'3'."', '".'3'."',
'".$subject."', '".$subject."',
'".$this->mailAccount->getTicketQueueId()."', '".$queue_label."',
'".$assigneeAddressId."');"; '".$AddressId."');";
$this->db->Insert($insertTicket); $this->db->Insert($insertTicket);
$ticketId = $this->db->GetInsertID(); $ticketId = $this->db->GetInsertID();
$this->logger->debug('inserted ticket',['id' => $ticketId,'ticketnr' => $ticketNumber]); $this->logger->debug('inserted ticket',['id' => $ticketId,'ticketnr' => $ticketNumber, 'projekt' => $projectId, 'warteschlange' => $this->mailAccount->getTicketQueueId(), 'adresse' => $AddressId]);
// todo als rueckgabe ticketnachricht // todo als rueckgabe ticketnachricht
return $ticketNumber; return $ticketNumber;