|
39 | 39 | use Glpi\ContentTemplates\Parameters\ParametersTypes\ArrayParameter; |
40 | 40 | use Glpi\ContentTemplates\Parameters\ParametersTypes\AttributeParameter; |
41 | 41 | use Glpi\ContentTemplates\Parameters\ParametersTypes\ObjectParameter; |
| 42 | +use Item_Ola; |
42 | 43 | use Item_Ticket; |
43 | 44 | use KnowbaseItem; |
44 | 45 | use KnowbaseItem_Item; |
45 | 46 | use Location; |
| 47 | +use LogicException; |
46 | 48 | use OLA; |
47 | 49 | use RequestType; |
48 | 50 | use Session; |
49 | 51 | use SLA; |
| 52 | +use SLM; |
50 | 53 | use Ticket; |
51 | 54 | use TicketValidation; |
52 | 55 |
|
@@ -114,9 +117,22 @@ protected function defineValues(CommonDBTM $ticket): array |
114 | 117 |
|
115 | 118 | // Add ticket's OLA |
116 | 119 | $ola_parameters = new OLAParameters(); |
117 | | - $_getOlas = fn(array $ola_datas) => OLA::getByIds(array_column($ola_datas, 'olas_id')); |
118 | | - $values['olas_tto'] = array_map([$ola_parameters, 'getValues'], $_getOlas($ticket->getOlasTTOData())); |
119 | | - $values['olas_ttr'] = array_map([$ola_parameters, 'getValues'], $_getOlas($ticket->getOlasTTRData())); |
| 120 | + |
| 121 | + $values['olas_tto'] = []; |
| 122 | + $values['olas_ttr'] = []; |
| 123 | + |
| 124 | + $ticket_olas = (new Item_Ola())->find(['itemtype' => Ticket::class, 'items_id' => $ticket->getID()]); |
| 125 | + foreach ($ticket_olas as $ticket_ola_data) { |
| 126 | + $key = match ($ticket_ola_data['ola_type']) { |
| 127 | + SLM::TTO => 'olas_tto', |
| 128 | + SLM::TTR => 'olas_ttr', |
| 129 | + default => throw new LogicException(), |
| 130 | + }; |
| 131 | + |
| 132 | + if ($ola = OLA::getById($ticket_ola_data['olas_id'])) { |
| 133 | + $values[$key][] = $ola_parameters->getValues($ola); |
| 134 | + } |
| 135 | + } |
120 | 136 |
|
121 | 137 | // Add ticket's request type |
122 | 138 | if ($requesttype = RequestType::getById($fields['requesttypes_id'])) { |
|
0 commit comments