chg: [analyst-data:capture] Recursively capture nested analyst-data

pull/9679/merge
Sami Mokaddem 2024-05-03 15:29:54 +02:00
parent ba9f9f4781
commit 21f4b04494
No known key found for this signature in database
GPG Key ID: 164C473F627A06FA
1 changed files with 12 additions and 1 deletions

View File

@ -53,7 +53,13 @@ class AnalystDataController extends AppController
if (empty($this->request->data[$this->modelSelection]['object_type']) && !empty($this->request->data[$this->modelSelection]['object_uuid'])) {
$this->request->data[$this->modelSelection]['object_type'] = $this->AnalystData->deduceType($object_uuid);
}
$params = [];
$this->loadModel('Event');
$currentUser = $this->Auth->user();
$params = [
'afterSave' => function (array $analystData) use ($currentUser) {
$this->Event->captureAnalystData($currentUser, $this->request->data[$this->modelSelection], $this->modelSelection, $analystData[$this->modelSelection]['uuid']);
}
];
$this->CRUD->add($params);
if ($this->restResponsePayload) {
return $this->restResponsePayload;
@ -79,6 +85,8 @@ class AnalystDataController extends AppController
$this->set('id', $id);
$conditions = $this->AnalystData->buildConditions($this->Auth->user());
$this->loadModel('Event');
$currentUser = $this->Auth->user();
$params = [
'fields' => $this->AnalystData->getEditableFields(),
'conditions' => $conditions,
@ -92,6 +100,9 @@ class AnalystDataController extends AppController
'beforeSave' => function(array $analystData): array {
$analystData[$this->modelSelection]['modified'] = date('Y-m-d H:i:s');
return $analystData;
},
'afterSave' => function (array $analystData) use ($currentUser) {
$this->Event->captureAnalystData($currentUser, $this->request->data[$this->modelSelection], $this->modelSelection, $analystData[$this->modelSelection]['uuid']);
}
];
$this->CRUD->edit($id, $params);