mirror of https://github.com/MISP/MISP
chg: [analyst-data:capture] Recursively capture nested analyst-data
parent
ba9f9f4781
commit
21f4b04494
|
@ -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'])) {
|
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);
|
$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);
|
$this->CRUD->add($params);
|
||||||
if ($this->restResponsePayload) {
|
if ($this->restResponsePayload) {
|
||||||
return $this->restResponsePayload;
|
return $this->restResponsePayload;
|
||||||
|
@ -79,6 +85,8 @@ class AnalystDataController extends AppController
|
||||||
|
|
||||||
$this->set('id', $id);
|
$this->set('id', $id);
|
||||||
$conditions = $this->AnalystData->buildConditions($this->Auth->user());
|
$conditions = $this->AnalystData->buildConditions($this->Auth->user());
|
||||||
|
$this->loadModel('Event');
|
||||||
|
$currentUser = $this->Auth->user();
|
||||||
$params = [
|
$params = [
|
||||||
'fields' => $this->AnalystData->getEditableFields(),
|
'fields' => $this->AnalystData->getEditableFields(),
|
||||||
'conditions' => $conditions,
|
'conditions' => $conditions,
|
||||||
|
@ -92,6 +100,9 @@ class AnalystDataController extends AppController
|
||||||
'beforeSave' => function(array $analystData): array {
|
'beforeSave' => function(array $analystData): array {
|
||||||
$analystData[$this->modelSelection]['modified'] = date('Y-m-d H:i:s');
|
$analystData[$this->modelSelection]['modified'] = date('Y-m-d H:i:s');
|
||||||
return $analystData;
|
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);
|
$this->CRUD->edit($id, $params);
|
||||||
|
|
Loading…
Reference in New Issue