mirror of
https://github.com/Karaka-Management/oms-FleetManagement.git
synced 2026-01-31 05:48:41 +00:00
Switch to BaseStringL11nType
This commit is contained in:
parent
44abf6044d
commit
28f9162c10
|
|
@ -22,6 +22,8 @@ use Modules\Attribute\Models\NullAttributeType;
|
|||
use Modules\Attribute\Models\NullAttributeValue;
|
||||
use Modules\FleetManagement\Models\FuelTypeL11nMapper;
|
||||
use Modules\FleetManagement\Models\FuelTypeMapper;
|
||||
use Modules\FleetManagement\Models\InspectionTypeL11nMapper;
|
||||
use Modules\FleetManagement\Models\InspectionTypeMapper;
|
||||
use Modules\FleetManagement\Models\Vehicle;
|
||||
use Modules\FleetManagement\Models\VehicleAttributeMapper;
|
||||
use Modules\FleetManagement\Models\VehicleAttributeTypeL11nMapper;
|
||||
|
|
@ -1177,4 +1179,148 @@ final class ApiController extends Controller
|
|||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create a vehicle
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiInspectionTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateInspectionTypeCreate($request))) {
|
||||
$response->set($request->uri->__toString(), new FormValidation($val));
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/** @var BaseStringL11nType $vehicle */
|
||||
$vehicle = $this->createInspectionTypeFromRequest($request);
|
||||
$this->createModel($request->header->account, $vehicle, InspectionTypeMapper::class, 'inspection_type', $request->getOrigin());
|
||||
|
||||
$this->fillJsonResponse(
|
||||
$request,
|
||||
$response,
|
||||
NotificationLevel::OK,
|
||||
'',
|
||||
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulCreate'),
|
||||
$vehicle
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create vehicle from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return BaseStringL11nType Returns the created vehicle from the request
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function createInspectionTypeFromRequest(RequestAbstract $request) : BaseStringL11nType
|
||||
{
|
||||
$type = new BaseStringL11nType();
|
||||
$type->title = $request->getDataString('name') ?? '';
|
||||
$type->setL11n($request->getDataString('title') ?? '', $request->getDataString('language') ?? ISO639x1Enum::_EN);
|
||||
|
||||
return $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate vehicle create request
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return array<string, bool> Returns the validation array of the request
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function validateInspectionTypeCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['name'] = !$request->hasData('name'))
|
||||
|| ($val['title'] = !$request->hasData('title'))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create vehicle attribute l11n
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiInspectionTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateInspectionTypeL11nCreate($request))) {
|
||||
$response->set('inspection_type_l11n_create', new FormValidation($val));
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$typeL11n = $this->createInspectionTypeL11nFromRequest($request);
|
||||
$this->createModel($request->header->account, $typeL11n, InspectionTypeL11nMapper::class, 'inspection_type_l11n', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $typeL11n);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create vehicle attribute l11n from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return BaseStringL11n
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function createInspectionTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n
|
||||
{
|
||||
$typeL11n = new BaseStringL11n();
|
||||
$typeL11n->ref = $request->getDataInt('type') ?? 0;
|
||||
$typeL11n->setLanguage(
|
||||
$request->getDataString('language') ?? $request->getLanguage()
|
||||
);
|
||||
$typeL11n->content = $request->getDataString('title') ?? '';
|
||||
|
||||
return $typeL11n;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate vehicle attribute l11n create request
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return array<string, bool>
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function validateInspectionTypeL11nCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['title'] = !$request->hasData('title'))
|
||||
|| ($val['type'] = !$request->hasData('type'))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ use phpOMS\Localization\BaseStringL11nType;
|
|||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @template T of FuelType
|
||||
* @template T of BaseStringL11nType
|
||||
* @extends DataMapperFactory<T>
|
||||
*/
|
||||
final class FuelTypeMapper extends DataMapperFactory
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ use phpOMS\Localization\BaseStringL11nType;
|
|||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @template T of FuelType
|
||||
* @template T of BaseStringL11nType
|
||||
* @extends DataMapperFactory<T>
|
||||
*/
|
||||
final class InspectionTypeMapper extends DataMapperFactory
|
||||
|
|
@ -49,7 +49,7 @@ final class InspectionTypeMapper extends DataMapperFactory
|
|||
*/
|
||||
public const HAS_MANY = [
|
||||
'l11n' => [
|
||||
'mapper' => FuelTypeL11nMapper::class,
|
||||
'mapper' => InspectionTypeL11nMapper::class,
|
||||
'table' => 'fleetmgmt_inspection_type_l11n',
|
||||
'self' => 'fleetmgmt_inspection_type_l11n_type',
|
||||
'column' => 'content',
|
||||
|
|
|
|||
|
|
@ -27,4 +27,14 @@ use phpOMS\Stdlib\Base\Enum;
|
|||
abstract class PermissionCategory extends Enum
|
||||
{
|
||||
public const VEHICLE = 1;
|
||||
|
||||
public const FUEL_TYPE = 2;
|
||||
|
||||
public const VEHICLE_TYPE = 3;
|
||||
|
||||
public const INSPECTION_TYPE = 4;
|
||||
|
||||
public const INSPECTION = 5;
|
||||
|
||||
public const ATTRIBUTE_TYPE = 6;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user