mirror of
https://github.com/Karaka-Management/oms-EquipmentManagement.git
synced 2026-01-11 17:18:41 +00:00
Merge branch 'develop' of https://github.com/Karaka-Management/oms-FleetManagement into develop
This commit is contained in:
commit
f3ff7eec1f
|
|
@ -548,8 +548,8 @@
|
|||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_vehicle_note_item": {
|
||||
"name": "fleetmgmt_vehicle_note_item",
|
||||
"fleetmgmt_vehicle_note_vehicle": {
|
||||
"name": "fleetmgmt_vehicle_note_vehicle",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "fleetmgmt_vehicle",
|
||||
|
|
|
|||
|
|
@ -1323,4 +1323,62 @@ final class ApiController extends Controller
|
|||
|
||||
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 [];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,6 +187,7 @@ final class BackendController extends Controller
|
|||
$view->setTemplate('/Modules/FleetManagement/Theme/Backend/vehicle-profile');
|
||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003502001, $request, $response);
|
||||
|
||||
// @todo: This langauge filtering doesn't work. But it was working with the old mappers. Maybe there is a bug in the where() definition. Need to inspect the actual query.
|
||||
$vehicle = VehicleMapper::get()
|
||||
->with('attributes')
|
||||
->with('attributes/type')
|
||||
|
|
|
|||
|
|
@ -44,8 +44,6 @@ class Vehicle implements \JsonSerializable
|
|||
|
||||
public array $milage = [];
|
||||
|
||||
public array $notes = [];
|
||||
|
||||
public int $unit = 0;
|
||||
|
||||
public ?int $responsible = null;
|
||||
|
|
@ -76,7 +74,8 @@ class Vehicle implements \JsonSerializable
|
|||
{
|
||||
return $this->toArray();
|
||||
}
|
||||
|
||||
|
||||
use \Modules\Media\Models\MediaListTrait;
|
||||
use \Modules\Editor\Models\EditorDocListTrait;
|
||||
use \Modules\Attribute\Models\AttributeHolderTrait;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ namespace Modules\FleetManagement\Models;
|
|||
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use Modules\Editor\Models\EditorDocMapper;
|
||||
|
||||
/**
|
||||
* Mapper class.
|
||||
|
|
@ -67,6 +68,12 @@ final class VehicleMapper extends DataMapperFactory
|
|||
'self' => 'fleetmgmt_vehicle_attr_item',
|
||||
'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