mirror of
https://github.com/Karaka-Management/oms-FleetManagement.git
synced 2026-02-15 12:58:41 +00:00
Add notes.
This commit is contained in:
parent
c22b2890a7
commit
64b6bd4ea9
|
|
@ -548,8 +548,8 @@
|
||||||
"primary": true,
|
"primary": true,
|
||||||
"autoincrement": true
|
"autoincrement": true
|
||||||
},
|
},
|
||||||
"fleetmgmt_vehicle_note_item": {
|
"fleetmgmt_vehicle_note_vehicle": {
|
||||||
"name": "fleetmgmt_vehicle_note_item",
|
"name": "fleetmgmt_vehicle_note_vehicle",
|
||||||
"type": "INT",
|
"type": "INT",
|
||||||
"null": false,
|
"null": false,
|
||||||
"foreignTable": "fleetmgmt_vehicle",
|
"foreignTable": "fleetmgmt_vehicle",
|
||||||
|
|
|
||||||
|
|
@ -1323,4 +1323,62 @@ final class ApiController extends Controller
|
||||||
|
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Api method to create item files
|
||||||
|
*
|
||||||
|
* @param RequestAbstract $request Request
|
||||||
|
* @param ResponseAbstract $response Response
|
||||||
|
* @param mixed $data Generic data
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
* @api
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
public function apiNoteCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||||
|
{
|
||||||
|
if (!empty($val = $this->validateNoteCreate($request))) {
|
||||||
|
$response->data['vehicle_note_create'] = new FormValidation($val);
|
||||||
|
$response->header->status = RequestStatusCode::R_400;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$request->setData('virtualpath', '/Modules/FleetManagement/Items/' . $request->getData('id'), true);
|
||||||
|
$this->app->moduleManager->get('Editor', 'Api')->apiEditorCreate($request, $response, $data);
|
||||||
|
|
||||||
|
if ($response->header->status !== RequestStatusCode::R_200) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$responseData = $response->get($request->uri->__toString());
|
||||||
|
if (!\is_array($responseData)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$model = $responseData['response'];
|
||||||
|
$this->createModelRelation($request->header->account, (int) $request->getData('id'), $model->id, VehicleMapper::class, 'notes', '', $request->getOrigin());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validate item note create request
|
||||||
|
*
|
||||||
|
* @param RequestAbstract $request Request
|
||||||
|
*
|
||||||
|
* @return array<string, bool>
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
private function validateNoteCreate(RequestAbstract $request) : array
|
||||||
|
{
|
||||||
|
$val = [];
|
||||||
|
if (($val['id'] = !$request->hasData('id'))
|
||||||
|
) {
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ namespace Modules\FleetManagement\Models;
|
||||||
|
|
||||||
use Modules\Media\Models\MediaMapper;
|
use Modules\Media\Models\MediaMapper;
|
||||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||||
|
use Modules\Editor\Models\EditorDocMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class.
|
* Mapper class.
|
||||||
|
|
@ -67,6 +68,12 @@ final class VehicleMapper extends DataMapperFactory
|
||||||
'self' => 'fleetmgmt_vehicle_attr_item',
|
'self' => 'fleetmgmt_vehicle_attr_item',
|
||||||
'external' => null,
|
'external' => null,
|
||||||
],
|
],
|
||||||
|
'notes' => [
|
||||||
|
'mapper' => EditorDocMapper::class, /* mapper of the related object */
|
||||||
|
'table' => 'bizexpenses_expense_note', /* table of the related object, null if no relation table is used (many->1) */
|
||||||
|
'external' => 'bizexpenses_expense_note_doc',
|
||||||
|
'self' => 'bizexpenses_expense_note_expense',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user