diff --git a/Admin/Install/Media.install.json b/Admin/Install/Media.install.json index c012cd3..dc66b0f 100755 --- a/Admin/Install/Media.install.json +++ b/Admin/Install/Media.install.json @@ -1,7 +1,7 @@ [ { "type": "type", - "name": "vehicle_profile_image", + "name": "equipment_profile_image", "l11n": [ { "title": "Profile image", @@ -16,15 +16,15 @@ { "type": "collection", "create_directory": true, - "name": "FleetManagement", + "name": "EquipmentManagement", "virtualPath": "/Modules", "user": 1 }, { "type": "collection", "create_directory": true, - "name": "Vehicle", - "virtualPath": "/Modules/FleetManagement", + "name": "Equipment", + "virtualPath": "/Modules/EquipmentManagement", "user": 1 } ] \ No newline at end of file diff --git a/Admin/Install/Media.php b/Admin/Install/Media.php index 5cb9e50..628932e 100755 --- a/Admin/Install/Media.php +++ b/Admin/Install/Media.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Admin\Install + * @package Modules\EquipmentManagement\Admin\Install * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,14 +12,14 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Admin\Install; +namespace Modules\EquipmentManagement\Admin\Install; use phpOMS\Application\ApplicationAbstract; /** * Media class. * - * @package Modules\FleetManagement\Admin\Install + * @package Modules\EquipmentManagement\Admin\Install * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 diff --git a/Admin/Install/Navigation.install.json b/Admin/Install/Navigation.install.json index bb2027b..058f811 100755 --- a/Admin/Install/Navigation.install.json +++ b/Admin/Install/Navigation.install.json @@ -1,259 +1,152 @@ [ { - "id": 1003501001, + "id": 1008401001, "pid": "/", "type": 2, "subtype": 0, - "name": "FleetManagement", + "name": "EquipmentManagement", "uri": null, "target": "self", - "icon": "fa fa-car", + "icon": "fa fa-wrench", "order": 80, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 2, "category": null, "element": null }, "parent": 0, "children": [ { - "id": 1003502001, + "id": 1008402001, "pid": "/", "type": 2, "subtype": 1, - "name": "Vehicles", - "uri": "{/base}/fleet/vehicle/list", + "name": "Equipments", + "uri": "{/base}/equipment/equipment/list", "target": "self", "icon": null, "order": 1, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003501001, + "parent": 1008401001, "children": [ { - "id": 1003502101, - "pid": "/fleet/vehicle", + "id": 1008402101, + "pid": "/equipment/equipment", "type": 3, "subtype": 1, "name": "List", - "uri": "{/base}/fleet/vehicle/list", + "uri": "{/base}/equipment/equipment/list", "target": "self", "icon": null, "order": 1, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003502001, + "parent": 1008402001, "children": [] }, { - "id": 1003502201, - "pid": "/fleet/vehicle", + "id": 1008402201, + "pid": "/equipment/equipment", "type": 3, "subtype": 1, "name": "Create", - "uri": "{/base}/fleet/vehicle/create?{?}", + "uri": "{/base}/equipment/equipment/create?{?}", "target": "self", "icon": null, "order": 1, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 4, "category": null, "element": null }, - "parent": 1003502001, + "parent": 1008402001, "children": [] } ] }, { - "id": 1003503001, - "pid": "/", - "type": 2, - "subtype": 1, - "name": "Drivers", - "uri": "{/base}/fleet/driver/list", - "target": "self", - "icon": null, - "order": 1, - "from": "FleetManagement", - "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003501001, - "children": [ - { - "id": 1003503101, - "pid": "/fleet/driver", - "type": 3, - "subtype": 1, - "name": "List", - "uri": "{/base}/fleet/driver/list", - "target": "self", - "icon": null, - "order": 1, - "from": "FleetManagement", - "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003503001, - "children": [] - }, - { - "id": 1003503201, - "pid": "/fleet/driver", - "type": 3, - "subtype": 1, - "name": "Create", - "uri": "{/base}/fleet/driver/create?{?}", - "target": "self", - "icon": null, - "order": 1, - "from": "FleetManagement", - "permission": { "permission": 4, "category": null, "element": null }, - "parent": 1003503001, - "children": [] - } - ] - }, - { - "id": 1003504001, + "id": 1008404001, "pid": "/", "type": 2, "subtype": 1, "name": "Inspections", - "uri": "{/base}/fleet/inspection/list", + "uri": "{/base}/equipment/inspection/list", "target": "self", "icon": null, "order": 1, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003501001, + "parent": 1008401001, "children": [ { - "id": 1003504101, - "pid": "/fleet/inspection", + "id": 1008404101, + "pid": "/equipment/inspection", "type": 3, "subtype": 1, "name": "List", - "uri": "{/base}/fleet/inspection/list", + "uri": "{/base}/equipment/inspection/list", "target": "self", "icon": null, "order": 1, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003504001, + "parent": 1008404001, "children": [] }, { - "id": 1003504201, - "pid": "/fleet/inspection", + "id": 1008404201, + "pid": "/equipment/inspection", "type": 3, "subtype": 1, - "name": "VehicleInspectionTypes", - "uri": "{/base}/fleet/vehicle/inspection/type/list?{?}", + "name": "EquipmentInspectionTypes", + "uri": "{/base}/equipment/equipment/inspection/type/list?{?}", "target": "self", "icon": null, "order": 5, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 4, "category": null, "element": null }, - "parent": 1003504001, - "children": [] - }, - { - "id": 1003504301, - "pid": "/fleet/inspection", - "type": 3, - "subtype": 1, - "name": "DriverInspectionTypes", - "uri": "{/base}/fleet/driver/inspection/type/list?{?}", - "target": "self", - "icon": null, - "order": 10, - "from": "FleetManagement", - "permission": { "permission": 4, "category": null, "element": null }, - "parent": 1003504001, + "parent": 1008404001, "children": [] } ] }, { - "id": 1003505001, + "id": 1008405001, "pid": "/", "type": 2, "subtype": 1, - "name": "VehicleAttributes", - "uri": "{/base}/fleet/vehicle/attribute/type/list?{?}", + "name": "EquipmentAttributes", + "uri": "{/base}/equipment/equipment/attribute/type/list?{?}", "target": "self", "icon": null, "order": 5, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003501001, + "parent": 1008401001, "children": [ { - "id": 1003505101, - "pid": "/fleet/vehicle/attribute", + "id": 1008405101, + "pid": "/equipment/equipment/attribute", "type": 3, "subtype": 1, "name": "Types", - "uri": "{/base}/fleet/vehicle/attribute/type/list?{?}", + "uri": "{/base}/equipment/equipment/attribute/type/list?{?}", "target": "self", "icon": null, "order": 15, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003505001, + "parent": 1008405001, "children": [] }, { - "id": 1003505201, - "pid": "/fleet/vehicle/attribute", + "id": 1008405201, + "pid": "/equipment/equipment/attribute", "type": 3, "subtype": 1, "name": "Values", - "uri": "{/base}/fleet/vehicle/attribute/value/list?{?}", + "uri": "{/base}/equipment/equipment/attribute/value/list?{?}", "target": "self", "icon": null, "order": 15, - "from": "FleetManagement", + "from": "EquipmentManagement", "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003505001, - "children": [] - } - ] - }, - { - "id": 1003506001, - "pid": "/", - "type": 2, - "subtype": 1, - "name": "DriverAttributes", - "uri": "{/base}/fleet/driver/attribute/type/list?{?}", - "target": "self", - "icon": null, - "order": 5, - "from": "FleetManagement", - "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003501001, - "children": [ - { - "id": 1003506101, - "pid": "/fleet/driver/attribute", - "type": 3, - "subtype": 1, - "name": "Types", - "uri": "{/base}/fleet/driver/attribute/type/list?{?}", - "target": "self", - "icon": null, - "order": 15, - "from": "FleetManagement", - "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003506001, - "children": [] - }, - { - "id": 1003506201, - "pid": "/fleet/driver/attribute", - "type": 3, - "subtype": 1, - "name": "Values", - "uri": "{/base}/fleet/driver/attribute/value/list?{?}", - "target": "self", - "icon": null, - "order": 15, - "from": "FleetManagement", - "permission": { "permission": 2, "category": null, "element": null }, - "parent": 1003506001, + "parent": 1008405001, "children": [] } ] diff --git a/Admin/Install/Navigation.php b/Admin/Install/Navigation.php index 83a251f..d483fbb 100755 --- a/Admin/Install/Navigation.php +++ b/Admin/Install/Navigation.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Admin\Install + * @package Modules\EquipmentManagement\Admin\Install * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,14 +12,14 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Admin\Install; +namespace Modules\EquipmentManagement\Admin\Install; use phpOMS\Application\ApplicationAbstract; /** * Navigation class. * - * @package Modules\FleetManagement\Admin\Install + * @package Modules\EquipmentManagement\Admin\Install * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 diff --git a/Admin/Install/attributes.json b/Admin/Install/attributes.json index dec23c1..1896daf 100644 --- a/Admin/Install/attributes.json +++ b/Admin/Install/attributes.json @@ -1,285 +1,22 @@ [ { - "name": "license_plate", + "name": "is_gauge", "l11n": { - "en": "License plate", - "de": "Kennzeichen" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "insurance_provider", - "l11n": { - "en": "Insurance provider", - "de": "Versicherung" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "insurance_number", - "l11n": { - "en": "Insurance number", - "de": "Versicherungsnummer" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "leasing_provider", - "l11n": { - "en": "Leasing provider", - "de": "Leasingsnummer" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "leasing_number", - "l11n": { - "en": "Leasing number", - "de": "Leasingsnummer" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "leasing_end", - "l11n": { - "en": "Leasing end", - "de": "Leasingende" - }, - "value_type": 4, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "leasing_milage", - "l11n": { - "en": "Leasing milage", - "de": "Laufleistung" - }, - "value_type": 1, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "insurance_milage", - "l11n": { - "en": "Insurance milage", - "de": "Versicherungslaufleistung" - }, - "value_type": 1, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "engine_size", - "l11n": { - "en": "Engine size", - "de": "Hubraum" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "vin", - "l11n": { - "en": "VIN", - "de": "Fahrgestellnummer" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "make", - "l11n": { - "en": "Make", - "de": "Marke" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "model", - "l11n": { - "en": "Model", - "de": "Modell" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "color", - "l11n": { - "en": "Color", - "de": "Farbe" - }, - "value_type": 2, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "build", - "l11n": { - "en": "Build year", - "de": "Baujahr" - }, - "value_type": 4, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "ownership_start", - "l11n": { - "en": "Ownership start", - "de": "Besitzbeginn" - }, - "value_type": 4, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "ownership_end", - "l11n": { - "en": "Ownership end", - "de": "Besitzende" - }, - "value_type": 4, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "fuel_type", - "l11n": { - "en": "Fuel type", - "de": "Kraftstoffart" + "en": "Gauge", + "de": "Messgerät" }, "value_type": 1, "is_custom_allowed": false, "validation_pattern": "", - "is_required": true, + "is_required": false, "default_value": "", "values": [ { - "value": 1, - "l11n": { - "en": "None", - "de": "Kein" - } + "value": 0 }, { - "value": 2, - "l11n": { - "en": "Gas", - "de": "Benzin" - } - }, - { - "value": 3, - "l11n": { - "en": "Diesel", - "de": "Diesel" - } - }, - { - "value": 4, - "l11n": { - "en": "Electric", - "de": "Elektro" - } - }, - { - "value": 5, - "l11n": { - "en": "Hydrogen", - "de": "Wasserstoff" - } + "value": 1 } ] - }, - { - "name": "purchase_price", - "l11n": { - "en": "Purchase price", - "de": "Kaufpreis" - }, - "value_type": 1, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] - }, - { - "name": "leasing_residual_value", - "l11n": { - "en": "Leasing residual value", - "de": "Leasing Restwert" - }, - "value_type": 1, - "is_custom_allowed": true, - "validation_pattern": "", - "is_required": false, - "default_value": "", - "values": [] } ] \ No newline at end of file diff --git a/Admin/Install/db.json b/Admin/Install/db.json index e89eecf..b33da18 100755 --- a/Admin/Install/db.json +++ b/Admin/Install/db.json @@ -1,45 +1,45 @@ { - "fleetmgmt_fuel_type": { - "name": "fleetmgmt_fuel_type", + "equipmgmt_equipment_type": { + "name": "equipmgmt_equipment_type", "fields": { - "fleetmgmt_fuel_type_id": { - "name": "fleetmgmt_fuel_type_id", + "equipmgmt_equipment_type_id": { + "name": "equipmgmt_equipment_type_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_fuel_type_name": { - "name": "fleetmgmt_fuel_type_name", + "equipmgmt_equipment_type_name": { + "name": "equipmgmt_equipment_type_name", "type": "VARCHAR(255)", "null": false } } }, - "fleetmgmt_fuel_type_l11n": { - "name": "fleetmgmt_fuel_type_l11n", + "equipmgmt_equipment_type_l11n": { + "name": "equipmgmt_equipment_type_l11n", "fields": { - "fleetmgmt_fuel_type_l11n_id": { - "name": "fleetmgmt_fuel_type_l11n_id", + "equipmgmt_equipment_type_l11n_id": { + "name": "equipmgmt_equipment_type_l11n_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_fuel_type_l11n_title": { - "name": "fleetmgmt_fuel_type_l11n_title", + "equipmgmt_equipment_type_l11n_title": { + "name": "equipmgmt_equipment_type_l11n_title", "type": "VARCHAR(255)", "null": false }, - "fleetmgmt_fuel_type_l11n_type": { - "name": "fleetmgmt_fuel_type_l11n_type", + "equipmgmt_equipment_type_l11n_type": { + "name": "equipmgmt_equipment_type_l11n_type", "type": "INT(11)", "null": false, - "foreignTable": "fleetmgmt_fuel_type", - "foreignKey": "fleetmgmt_fuel_type_id" + "foreignTable": "equipmgmt_equipment_type", + "foreignKey": "equipmgmt_equipment_type_id" }, - "fleetmgmt_fuel_type_l11n_lang": { - "name": "fleetmgmt_fuel_type_l11n_lang", + "equipmgmt_equipment_type_l11n_lang": { + "name": "equipmgmt_equipment_type_l11n_lang", "type": "VARCHAR(2)", "null": false, "foreignTable": "language", @@ -47,47 +47,47 @@ } } }, - "fleetmgmt_vehicle_type": { - "name": "fleetmgmt_vehicle_type", + "equipmgmt_inspection_type": { + "name": "equipmgmt_inspection_type", "fields": { - "fleetmgmt_vehicle_type_id": { - "name": "fleetmgmt_vehicle_type_id", + "equipmgmt_inspection_type_id": { + "name": "equipmgmt_inspection_type_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_vehicle_type_name": { - "name": "fleetmgmt_vehicle_type_name", + "equipmgmt_inspection_type_name": { + "name": "equipmgmt_inspection_type_name", "type": "VARCHAR(255)", "null": false } } }, - "fleetmgmt_vehicle_type_l11n": { - "name": "fleetmgmt_vehicle_type_l11n", + "equipmgmt_inspection_type_l11n": { + "name": "equipmgmt_inspection_type_l11n", "fields": { - "fleetmgmt_vehicle_type_l11n_id": { - "name": "fleetmgmt_vehicle_type_l11n_id", + "equipmgmt_inspection_type_l11n_id": { + "name": "equipmgmt_inspection_type_l11n_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_vehicle_type_l11n_title": { - "name": "fleetmgmt_vehicle_type_l11n_title", + "equipmgmt_inspection_type_l11n_title": { + "name": "equipmgmt_inspection_type_l11n_title", "type": "VARCHAR(255)", "null": false }, - "fleetmgmt_vehicle_type_l11n_type": { - "name": "fleetmgmt_vehicle_type_l11n_type", + "equipmgmt_inspection_type_l11n_type": { + "name": "equipmgmt_inspection_type_l11n_type", "type": "INT(11)", "null": false, - "foreignTable": "fleetmgmt_vehicle_type", - "foreignKey": "fleetmgmt_vehicle_type_id" + "foreignTable": "equipmgmt_inspection_type", + "foreignKey": "equipmgmt_inspection_type_id" }, - "fleetmgmt_vehicle_type_l11n_lang": { - "name": "fleetmgmt_vehicle_type_l11n_lang", + "equipmgmt_inspection_type_l11n_lang": { + "name": "equipmgmt_inspection_type_l11n_lang", "type": "VARCHAR(2)", "null": false, "foreignTable": "language", @@ -95,106 +95,52 @@ } } }, - "fleetmgmt_inspection_type": { - "name": "fleetmgmt_inspection_type", + "equipmgmt_equipment": { + "name": "equipmgmt_equipment", "fields": { - "fleetmgmt_inspection_type_id": { - "name": "fleetmgmt_inspection_type_id", + "equipmgmt_equipment_id": { + "name": "equipmgmt_equipment_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_inspection_type_name": { - "name": "fleetmgmt_inspection_type_name", - "type": "VARCHAR(255)", - "null": false - } - } - }, - "fleetmgmt_inspection_type_l11n": { - "name": "fleetmgmt_inspection_type_l11n", - "fields": { - "fleetmgmt_inspection_type_l11n_id": { - "name": "fleetmgmt_inspection_type_l11n_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_inspection_type_l11n_title": { - "name": "fleetmgmt_inspection_type_l11n_title", + "equipmgmt_equipment_name": { + "name": "equipmgmt_equipment_name", "type": "VARCHAR(255)", "null": false }, - "fleetmgmt_inspection_type_l11n_type": { - "name": "fleetmgmt_inspection_type_l11n_type", - "type": "INT(11)", - "null": false, - "foreignTable": "fleetmgmt_inspection_type", - "foreignKey": "fleetmgmt_inspection_type_id" - }, - "fleetmgmt_inspection_type_l11n_lang": { - "name": "fleetmgmt_inspection_type_l11n_lang", - "type": "VARCHAR(2)", - "null": false, - "foreignTable": "language", - "foreignKey": "language_639_1" - } - } - }, - "fleetmgmt_vehicle": { - "name": "fleetmgmt_vehicle", - "fields": { - "fleetmgmt_vehicle_id": { - "name": "fleetmgmt_vehicle_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_vehicle_name": { - "name": "fleetmgmt_vehicle_name", - "type": "VARCHAR(255)", - "null": false - }, - "fleetmgmt_vehicle_status": { - "name": "fleetmgmt_vehicle_status", + "equipmgmt_equipment_status": { + "name": "equipmgmt_equipment_status", "type": "TINYINT", "null": false }, - "fleetmgmt_vehicle_type": { - "name": "fleetmgmt_vehicle_type", + "equipmgmt_equipment_type": { + "name": "equipmgmt_equipment_type", "type": "INT", - "foreignTable": "fleetmgmt_vehicle_type", - "foreignKey": "fleetmgmt_vehicle_type_id" + "foreignTable": "equipmgmt_equipment_type", + "foreignKey": "equipmgmt_equipment_type_id" }, - "fleetmgmt_vehicle_fuel": { - "name": "fleetmgmt_vehicle_fuel", - "type": "INT", - "foreignTable": "fleetmgmt_fuel_type", - "foreignKey": "fleetmgmt_fuel_type_id" - }, - "fleetmgmt_vehicle_info": { - "name": "fleetmgmt_vehicle_info", + "equipmgmt_equipment_info": { + "name": "equipmgmt_equipment_info", "type": "TEXT", "null": false }, - "fleetmgmt_vehicle_created_at": { - "name": "fleetmgmt_vehicle_created_at", + "equipmgmt_equipment_created_at": { + "name": "equipmgmt_equipment_created_at", "type": "DATETIME", "null": false }, - "fleetmgmt_vehicle_responsible": { - "name": "fleetmgmt_vehicle_responsible", + "equipmgmt_equipment_responsible": { + "name": "equipmgmt_equipment_responsible", "type": "INT", "null": true, "default": true, "foreignTable": "account", "foreignKey": "account_id" }, - "fleetmgmt_vehicle_unit": { - "name": "fleetmgmt_vehicle_unit", + "equipmgmt_equipment_unit": { + "name": "equipmgmt_equipment_unit", "type": "INT", "default": null, "null": true, @@ -203,268 +149,155 @@ } } }, - "fleetmgmt_vehicle_inspection": { - "name": "fleetmgmt_vehicle_inspection", + "equipmgmt_equipment_inspection": { + "name": "equipmgmt_equipment_inspection", "fields": { - "fleetmgmt_vehicle_inspection_id": { - "name": "fleetmgmt_vehicle_inspection_id", + "equipmgmt_equipment_inspection_id": { + "name": "equipmgmt_equipment_inspection_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_vehicle_inspection_description": { - "name": "fleetmgmt_vehicle_inspection_description", + "equipmgmt_equipment_inspection_description": { + "name": "equipmgmt_equipment_inspection_description", "type": "TEXT", "null": false }, - "fleetmgmt_vehicle_inspection_status": { - "name": "fleetmgmt_vehicle_inspection_status", + "equipmgmt_equipment_inspection_status": { + "name": "equipmgmt_equipment_inspection_status", "type": "TINYINT(1)", "null": false }, - "fleetmgmt_vehicle_inspection_interval": { - "name": "fleetmgmt_vehicle_inspection_interval", + "equipmgmt_equipment_inspection_interval": { + "name": "equipmgmt_equipment_inspection_interval", "type": "TINYINT(3)", "null": false }, - "fleetmgmt_vehicle_inspection_next": { - "name": "fleetmgmt_vehicle_inspection_next", + "equipmgmt_equipment_inspection_next": { + "name": "equipmgmt_equipment_inspection_next", "type": "DATETIME", "null": true, "default": null }, - "fleetmgmt_vehicle_inspection_type": { - "name": "fleetmgmt_vehicle_inspection_type", + "equipmgmt_equipment_inspection_type": { + "name": "equipmgmt_equipment_inspection_type", "type": "INT", "null": false, - "foreignTable": "fleetmgmt_inspection_type", - "foreignKey": "fleetmgmt_inspection_type_id" + "foreignTable": "equipmgmt_inspection_type", + "foreignKey": "equipmgmt_inspection_type_id" } } }, - "fleetmgmt_driver_inspection_type": { - "name": "fleetmgmt_driver_inspection_type", + "equipmgmt_equipment_usage": { + "name": "equipmgmt_equipment_usage", "fields": { - "fleetmgmt_driver_inspection_type_id": { - "name": "fleetmgmt_driver_inspection_type_id", + "equipmgmt_equipment_usage_id": { + "name": "equipmgmt_equipment_usage_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_driver_inspection_type_name": { - "name": "fleetmgmt_driver_inspection_type_name", - "type": "VARCHAR(255)", - "null": false - } - } - }, - "fleetmgmt_driver_inspection_type_l11n": { - "name": "fleetmgmt_driver_inspection_type_l11n", - "fields": { - "fleetmgmt_driver_inspection_type_l11n_id": { - "name": "fleetmgmt_driver_inspection_type_l11n_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_inspection_type_l11n_title": { - "name": "fleetmgmt_driver_inspection_type_l11n_title", - "type": "VARCHAR(255)", - "null": false - }, - "fleetmgmt_driver_inspection_type_l11n_type": { - "name": "fleetmgmt_driver_inspection_type_l11n_type", - "type": "INT(11)", - "null": false, - "foreignTable": "fleetmgmt_driver_inspection_type", - "foreignKey": "fleetmgmt_driver_inspection_type_id" - }, - "fleetmgmt_driver_inspection_type_l11n_lang": { - "name": "fleetmgmt_driver_inspection_type_l11n_lang", - "type": "VARCHAR(2)", - "null": false, - "foreignTable": "language", - "foreignKey": "language_639_1" - } - } - }, - "fleetmgmt_driver": { - "name": "fleetmgmt_driver", - "fields": { - "fleetmgmt_driver_id": { - "name": "fleetmgmt_driver_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_status": { - "name": "fleetmgmt_driver_status", - "type": "TINYINT(1)", - "null": false - }, - "fleetmgmt_driver_account": { - "name": "fleetmgmt_driver_account", - "type": "INT", - "null": true, - "default": true, - "foreignTable": "account", - "foreignKey": "account_id" - } - } - }, - "fleetmgmt_driver_inspection": { - "name": "fleetmgmt_driver_inspection", - "fields": { - "fleetmgmt_driver_inspection_id": { - "name": "fleetmgmt_driver_inspection_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_inspection_description": { - "name": "fleetmgmt_driver_inspection_description", - "type": "TEXT", - "null": false - }, - "fleetmgmt_driver_inspection_status": { - "name": "fleetmgmt_driver_inspection_status", - "type": "TINYINT(1)", - "null": false - }, - "fleetmgmt_driver_inspection_interval": { - "name": "fleetmgmt_driver_inspection_interval", - "type": "TINYINT(3)", - "null": false - }, - "fleetmgmt_driver_inspection_next": { - "name": "fleetmgmt_driver_inspection_next", - "type": "DATETIME", - "null": true, - "default": null - }, - "fleetmgmt_driver_inspection_type": { - "name": "fleetmgmt_driver_inspection_type", - "type": "INT", - "null": false, - "foreignTable": "fleetmgmt_driver_inspection_type", - "foreignKey": "fleetmgmt_driver_inspection_type_id" - } - } - }, - "fleetmgmt_vehicle_usage": { - "name": "fleetmgmt_vehicle_usage", - "fields": { - "fleetmgmt_vehicle_usage_id": { - "name": "fleetmgmt_vehicle_usage_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_vehicle_usage_type": { - "name": "fleetmgmt_vehicle_usage_type", + "equipmgmt_equipment_usage_type": { + "name": "equipmgmt_equipment_usage_type", "type": "INT", "null": false }, - "fleetmgmt_vehicle_usage_account": { - "name": "fleetmgmt_vehicle_usage_account", + "equipmgmt_equipment_usage_account": { + "name": "equipmgmt_equipment_usage_account", "type": "INT", "null": false, "foreignTable": "account", "foreignKey": "account_id" }, - "fleetmgmt_vehicle_usage_start": { - "name": "fleetmgmt_vehicle_usage_start", + "equipmgmt_equipment_usage_start": { + "name": "equipmgmt_equipment_usage_start", "type": "DATETIME", "null": false }, - "fleetmgmt_vehicle_usage_end": { - "name": "fleetmgmt_vehicle_usage_end", + "equipmgmt_equipment_usage_end": { + "name": "equipmgmt_equipment_usage_end", "type": "DATETIME", "null": true, "default": null }, - "fleetmgmt_vehicle_usage_distance": { - "name": "fleetmgmt_vehicle_usage_distance", + "equipmgmt_equipment_usage_distance": { + "name": "equipmgmt_equipment_usage_distance", "type": "INT", "null": false } } }, - "fleetmgmt_attr_type": { - "name": "fleetmgmt_attr_type", + "equipmgmt_attr_type": { + "name": "equipmgmt_attr_type", "fields": { - "fleetmgmt_attr_type_id": { - "name": "fleetmgmt_attr_type_id", + "equipmgmt_attr_type_id": { + "name": "equipmgmt_attr_type_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_attr_type_name": { - "name": "fleetmgmt_attr_type_name", + "equipmgmt_attr_type_name": { + "name": "equipmgmt_attr_type_name", "type": "VARCHAR(255)", "null": false, "unique": true }, - "fleetmgmt_attr_type_datatype": { - "name": "fleetmgmt_attr_type_datatype", + "equipmgmt_attr_type_datatype": { + "name": "equipmgmt_attr_type_datatype", "type": "INT(11)", "null": false }, - "fleetmgmt_attr_type_fields": { - "name": "fleetmgmt_attr_type_fields", + "equipmgmt_attr_type_fields": { + "name": "equipmgmt_attr_type_fields", "type": "INT(11)", "null": false }, - "fleetmgmt_attr_type_custom": { - "name": "fleetmgmt_attr_type_custom", + "equipmgmt_attr_type_custom": { + "name": "equipmgmt_attr_type_custom", "type": "TINYINT(1)", "null": false }, - "fleetmgmt_attr_type_required": { - "description": "Every vehicle must have this attribute type if set to true.", - "name": "fleetmgmt_attr_type_required", + "equipmgmt_attr_type_required": { + "description": "Every equipment must have this attribute type if set to true.", + "name": "equipmgmt_attr_type_required", "type": "TINYINT(1)", "null": false }, - "fleetmgmt_attr_type_pattern": { + "equipmgmt_attr_type_pattern": { "description": "This is a regex validation pattern.", - "name": "fleetmgmt_attr_type_pattern", + "name": "equipmgmt_attr_type_pattern", "type": "VARCHAR(255)", "null": false } } }, - "fleetmgmt_attr_type_l11n": { - "name": "fleetmgmt_attr_type_l11n", + "equipmgmt_attr_type_l11n": { + "name": "equipmgmt_attr_type_l11n", "fields": { - "fleetmgmt_attr_type_l11n_id": { - "name": "fleetmgmt_attr_type_l11n_id", + "equipmgmt_attr_type_l11n_id": { + "name": "equipmgmt_attr_type_l11n_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_attr_type_l11n_title": { - "name": "fleetmgmt_attr_type_l11n_title", + "equipmgmt_attr_type_l11n_title": { + "name": "equipmgmt_attr_type_l11n_title", "type": "VARCHAR(255)", "null": false }, - "fleetmgmt_attr_type_l11n_type": { - "name": "fleetmgmt_attr_type_l11n_type", + "equipmgmt_attr_type_l11n_type": { + "name": "equipmgmt_attr_type_l11n_type", "type": "INT(11)", "null": false, - "foreignTable": "fleetmgmt_attr_type", - "foreignKey": "fleetmgmt_attr_type_id" + "foreignTable": "equipmgmt_attr_type", + "foreignKey": "equipmgmt_attr_type_id" }, - "fleetmgmt_attr_type_l11n_lang": { - "name": "fleetmgmt_attr_type_l11n_lang", + "equipmgmt_attr_type_l11n_lang": { + "name": "equipmgmt_attr_type_l11n_lang", "type": "VARCHAR(2)", "null": false, "foreignTable": "language", @@ -472,92 +305,92 @@ } } }, - "fleetmgmt_attr_value": { - "name": "fleetmgmt_attr_value", + "equipmgmt_attr_value": { + "name": "equipmgmt_attr_value", "fields": { - "fleetmgmt_attr_value_id": { - "name": "fleetmgmt_attr_value_id", + "equipmgmt_attr_value_id": { + "name": "equipmgmt_attr_value_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_attr_value_default": { - "name": "fleetmgmt_attr_value_default", + "equipmgmt_attr_value_default": { + "name": "equipmgmt_attr_value_default", "type": "TINYINT(1)", "null": false }, - "fleetmgmt_attr_value_valueStr": { - "name": "fleetmgmt_attr_value_valueStr", + "equipmgmt_attr_value_valueStr": { + "name": "equipmgmt_attr_value_valueStr", "type": "VARCHAR(255)", "null": true, "default": null }, - "fleetmgmt_attr_value_valueInt": { - "name": "fleetmgmt_attr_value_valueInt", + "equipmgmt_attr_value_valueInt": { + "name": "equipmgmt_attr_value_valueInt", "type": "INT(11)", "null": true, "default": null }, - "fleetmgmt_attr_value_valueDec": { - "name": "fleetmgmt_attr_value_valueDec", + "equipmgmt_attr_value_valueDec": { + "name": "equipmgmt_attr_value_valueDec", "type": "DECIMAL(19,5)", "null": true, "default": null }, - "fleetmgmt_attr_value_valueDat": { - "name": "fleetmgmt_attr_value_valueDat", + "equipmgmt_attr_value_valueDat": { + "name": "equipmgmt_attr_value_valueDat", "type": "DATETIME", "null": true, "default": null }, - "fleetmgmt_attr_value_unit": { - "name": "fleetmgmt_attr_value_unit", + "equipmgmt_attr_value_unit": { + "name": "equipmgmt_attr_value_unit", "type": "VARCHAR(255)", "null": false }, - "fleetmgmt_attr_value_deptype": { - "name": "fleetmgmt_attr_value_deptype", + "equipmgmt_attr_value_deptype": { + "name": "equipmgmt_attr_value_deptype", "type": "INT(11)", "null": true, "default": null, - "foreignTable": "fleetmgmt_attr_type", - "foreignKey": "fleetmgmt_attr_type_id" + "foreignTable": "equipmgmt_attr_type", + "foreignKey": "equipmgmt_attr_type_id" }, - "fleetmgmt_attr_value_depvalue": { - "name": "fleetmgmt_attr_value_depvalue", + "equipmgmt_attr_value_depvalue": { + "name": "equipmgmt_attr_value_depvalue", "type": "INT(11)", "null": true, "default": null, - "foreignTable": "fleetmgmt_attr_value", - "foreignKey": "fleetmgmt_attr_value_id" + "foreignTable": "equipmgmt_attr_value", + "foreignKey": "equipmgmt_attr_value_id" } } }, - "fleetmgmt_attr_value_l11n": { - "name": "fleetmgmt_attr_value_l11n", + "equipmgmt_attr_value_l11n": { + "name": "equipmgmt_attr_value_l11n", "fields": { - "fleetmgmt_attr_value_l11n_id": { - "name": "fleetmgmt_attr_value_l11n_id", + "equipmgmt_attr_value_l11n_id": { + "name": "equipmgmt_attr_value_l11n_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_attr_value_l11n_title": { - "name": "fleetmgmt_attr_value_l11n_title", + "equipmgmt_attr_value_l11n_title": { + "name": "equipmgmt_attr_value_l11n_title", "type": "VARCHAR(255)", "null": false }, - "fleetmgmt_attr_value_l11n_value": { - "name": "fleetmgmt_attr_value_l11n_value", + "equipmgmt_attr_value_l11n_value": { + "name": "equipmgmt_attr_value_l11n_value", "type": "INT(11)", "null": false, - "foreignTable": "fleetmgmt_attr_value", - "foreignKey": "fleetmgmt_attr_value_id" + "foreignTable": "equipmgmt_attr_value", + "foreignKey": "equipmgmt_attr_value_id" }, - "fleetmgmt_attr_value_l11n_lang": { - "name": "fleetmgmt_attr_value_l11n_lang", + "equipmgmt_attr_value_l11n_lang": { + "name": "equipmgmt_attr_value_l11n_lang", "type": "VARCHAR(2)", "null": false, "foreignTable": "language", @@ -565,85 +398,85 @@ } } }, - "fleetmgmt_vehicle_attr_default": { - "name": "fleetmgmt_vehicle_attr_default", + "equipmgmt_equipment_attr_default": { + "name": "equipmgmt_equipment_attr_default", "fields": { - "fleetmgmt_vehicle_attr_default_id": { - "name": "fleetmgmt_vehicle_attr_default_id", + "equipmgmt_equipment_attr_default_id": { + "name": "equipmgmt_equipment_attr_default_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_vehicle_attr_default_type": { - "name": "fleetmgmt_vehicle_attr_default_type", + "equipmgmt_equipment_attr_default_type": { + "name": "equipmgmt_equipment_attr_default_type", "type": "INT(11)", "null": false, - "foreignTable": "fleetmgmt_attr_type", - "foreignKey": "fleetmgmt_attr_type_id" + "foreignTable": "equipmgmt_attr_type", + "foreignKey": "equipmgmt_attr_type_id" }, - "fleetmgmt_vehicle_attr_default_value": { - "name": "fleetmgmt_vehicle_attr_default_value", + "equipmgmt_equipment_attr_default_value": { + "name": "equipmgmt_equipment_attr_default_value", "type": "INT(11)", "null": false, - "foreignTable": "fleetmgmt_attr_value", - "foreignKey": "fleetmgmt_attr_value_id" + "foreignTable": "equipmgmt_attr_value", + "foreignKey": "equipmgmt_attr_value_id" } } }, - "fleetmgmt_vehicle_attr": { - "name": "fleetmgmt_vehicle_attr", + "equipmgmt_equipment_attr": { + "name": "equipmgmt_equipment_attr", "fields": { - "fleetmgmt_vehicle_attr_id": { - "name": "fleetmgmt_vehicle_attr_id", + "equipmgmt_equipment_attr_id": { + "name": "equipmgmt_equipment_attr_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_vehicle_attr_vehicle": { - "name": "fleetmgmt_vehicle_attr_vehicle", + "equipmgmt_equipment_attr_equipment": { + "name": "equipmgmt_equipment_attr_equipment", "type": "INT(11)", "null": false, - "foreignTable": "fleetmgmt_vehicle", - "foreignKey": "fleetmgmt_vehicle_id" + "foreignTable": "equipmgmt_equipment", + "foreignKey": "equipmgmt_equipment_id" }, - "fleetmgmt_vehicle_attr_type": { - "name": "fleetmgmt_vehicle_attr_type", + "equipmgmt_equipment_attr_type": { + "name": "equipmgmt_equipment_attr_type", "type": "INT(11)", "null": false, - "foreignTable": "fleetmgmt_attr_type", - "foreignKey": "fleetmgmt_attr_type_id" + "foreignTable": "equipmgmt_attr_type", + "foreignKey": "equipmgmt_attr_type_id" }, - "fleetmgmt_vehicle_attr_value": { - "name": "fleetmgmt_vehicle_attr_value", + "equipmgmt_equipment_attr_value": { + "name": "equipmgmt_equipment_attr_value", "type": "INT(11)", "null": true, "default": null, - "foreignTable": "fleetmgmt_attr_value", - "foreignKey": "fleetmgmt_attr_value_id" + "foreignTable": "equipmgmt_attr_value", + "foreignKey": "equipmgmt_attr_value_id" } } }, - "fleetmgmt_vehicle_media": { - "name": "fleetmgmt_vehicle_media", + "equipmgmt_equipment_media": { + "name": "equipmgmt_equipment_media", "fields": { - "fleetmgmt_vehicle_media_id": { - "name": "fleetmgmt_vehicle_media_id", + "equipmgmt_equipment_media_id": { + "name": "equipmgmt_equipment_media_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_vehicle_media_vehicle": { - "name": "fleetmgmt_vehicle_media_vehicle", + "equipmgmt_equipment_media_equipment": { + "name": "equipmgmt_equipment_media_equipment", "type": "INT", "null": false, - "foreignTable": "fleetmgmt_vehicle", - "foreignKey": "fleetmgmt_vehicle_id" + "foreignTable": "equipmgmt_equipment", + "foreignKey": "equipmgmt_equipment_id" }, - "fleetmgmt_vehicle_media_media": { - "name": "fleetmgmt_vehicle_media_media", + "equipmgmt_equipment_media_media": { + "name": "equipmgmt_equipment_media_media", "type": "INT", "null": false, "foreignTable": "media", @@ -651,306 +484,25 @@ } } }, - "fleetmgmt_vehicle_note": { - "name": "fleetmgmt_vehicle_note", + "equipmgmt_equipment_note": { + "name": "equipmgmt_equipment_note", "fields": { - "fleetmgmt_vehicle_note_id": { - "name": "fleetmgmt_vehicle_note_id", + "equipmgmt_equipment_note_id": { + "name": "equipmgmt_equipment_note_id", "type": "INT", "null": false, "primary": true, "autoincrement": true }, - "fleetmgmt_vehicle_note_vehicle": { - "name": "fleetmgmt_vehicle_note_vehicle", + "equipmgmt_equipment_note_equipment": { + "name": "equipmgmt_equipment_note_equipment", "type": "INT", "null": false, - "foreignTable": "fleetmgmt_vehicle", - "foreignKey": "fleetmgmt_vehicle_id" + "foreignTable": "equipmgmt_equipment", + "foreignKey": "equipmgmt_equipment_id" }, - "fleetmgmt_vehicle_note_doc": { - "name": "fleetmgmt_vehicle_note_doc", - "type": "INT", - "null": false, - "foreignTable": "editor_doc", - "foreignKey": "editor_doc_id" - } - } - }, - "fleetmgmt_driver_attr_type": { - "name": "fleetmgmt_driver_attr_type", - "fields": { - "fleetmgmt_driver_attr_type_id": { - "name": "fleetmgmt_driver_attr_type_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_attr_type_name": { - "name": "fleetmgmt_driver_attr_type_name", - "type": "VARCHAR(255)", - "null": false, - "unique": true - }, - "fleetmgmt_driver_attr_type_datatype": { - "name": "fleetmgmt_driver_attr_type_datatype", - "type": "INT(11)", - "null": false - }, - "fleetmgmt_driver_attr_type_fields": { - "name": "fleetmgmt_driver_attr_type_fields", - "type": "INT(11)", - "null": false - }, - "fleetmgmt_driver_attr_type_custom": { - "name": "fleetmgmt_driver_attr_type_custom", - "type": "TINYINT(1)", - "null": false - }, - "fleetmgmt_driver_attr_type_required": { - "description": "Every driver must have this attribute type if set to true.", - "name": "fleetmgmt_driver_attr_type_required", - "type": "TINYINT(1)", - "null": false - }, - "fleetmgmt_driver_attr_type_pattern": { - "description": "This is a regex validation pattern.", - "name": "fleetmgmt_driver_attr_type_pattern", - "type": "VARCHAR(255)", - "null": false - } - } - }, - "fleetmgmt_driver_attr_type_l11n": { - "name": "fleetmgmt_driver_attr_type_l11n", - "fields": { - "fleetmgmt_driver_attr_type_l11n_id": { - "name": "fleetmgmt_driver_attr_type_l11n_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_attr_type_l11n_title": { - "name": "fleetmgmt_driver_attr_type_l11n_title", - "type": "VARCHAR(255)", - "null": false - }, - "fleetmgmt_driver_attr_type_l11n_type": { - "name": "fleetmgmt_driver_attr_type_l11n_type", - "type": "INT(11)", - "null": false, - "foreignTable": "fleetmgmt_driver_attr_type", - "foreignKey": "fleetmgmt_driver_attr_type_id" - }, - "fleetmgmt_driver_attr_type_l11n_lang": { - "name": "fleetmgmt_driver_attr_type_l11n_lang", - "type": "VARCHAR(2)", - "null": false, - "foreignTable": "language", - "foreignKey": "language_639_1" - } - } - }, - "fleetmgmt_driver_attr_value": { - "name": "fleetmgmt_driver_attr_value", - "fields": { - "fleetmgmt_driver_attr_value_id": { - "name": "fleetmgmt_driver_attr_value_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_attr_value_default": { - "name": "fleetmgmt_driver_attr_value_default", - "type": "TINYINT(1)", - "null": false - }, - "fleetmgmt_driver_attr_value_valueStr": { - "name": "fleetmgmt_driver_attr_value_valueStr", - "type": "VARCHAR(255)", - "null": true, - "default": null - }, - "fleetmgmt_driver_attr_value_valueInt": { - "name": "fleetmgmt_driver_attr_value_valueInt", - "type": "INT(11)", - "null": true, - "default": null - }, - "fleetmgmt_driver_attr_value_valueDec": { - "name": "fleetmgmt_driver_attr_value_valueDec", - "type": "DECIMAL(19,5)", - "null": true, - "default": null - }, - "fleetmgmt_driver_attr_value_valueDat": { - "name": "fleetmgmt_driver_attr_value_valueDat", - "type": "DATETIME", - "null": true, - "default": null - }, - "fleetmgmt_driver_attr_value_unit": { - "name": "fleetmgmt_driver_attr_value_unit", - "type": "VARCHAR(255)", - "null": false - }, - "fleetmgmt_driver_attr_value_deptype": { - "name": "fleetmgmt_driver_attr_value_deptype", - "type": "INT(11)", - "null": true, - "default": null, - "foreignTable": "fleetmgmt_driver_attr_type", - "foreignKey": "fleetmgmt_driver_attr_type_id" - }, - "fleetmgmt_driver_attr_value_depvalue": { - "name": "fleetmgmt_driver_attr_value_depvalue", - "type": "INT(11)", - "null": true, - "default": null, - "foreignTable": "fleetmgmt_driver_attr_value", - "foreignKey": "fleetmgmt_driver_attr_value_id" - } - } - }, - "fleetmgmt_driver_attr_value_l11n": { - "name": "fleetmgmt_driver_attr_value_l11n", - "fields": { - "fleetmgmt_driver_attr_value_l11n_id": { - "name": "fleetmgmt_driver_attr_value_l11n_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_attr_value_l11n_title": { - "name": "fleetmgmt_driver_attr_value_l11n_title", - "type": "VARCHAR(255)", - "null": false - }, - "fleetmgmt_driver_attr_value_l11n_value": { - "name": "fleetmgmt_driver_attr_value_l11n_value", - "type": "INT(11)", - "null": false, - "foreignTable": "fleetmgmt_driver_attr_value", - "foreignKey": "fleetmgmt_driver_attr_value_id" - }, - "fleetmgmt_driver_attr_value_l11n_lang": { - "name": "fleetmgmt_driver_attr_value_l11n_lang", - "type": "VARCHAR(2)", - "null": false, - "foreignTable": "language", - "foreignKey": "language_639_1" - } - } - }, - "fleetmgmt_driver_attr_default": { - "name": "fleetmgmt_driver_attr_default", - "fields": { - "fleetmgmt_driver_attr_default_id": { - "name": "fleetmgmt_driver_attr_default_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_attr_default_type": { - "name": "fleetmgmt_driver_attr_default_type", - "type": "INT(11)", - "null": false, - "foreignTable": "fleetmgmt_attr_type", - "foreignKey": "fleetmgmt_attr_type_id" - }, - "fleetmgmt_driver_attr_default_value": { - "name": "fleetmgmt_driver_attr_default_value", - "type": "INT(11)", - "null": false, - "foreignTable": "fleetmgmt_attr_value", - "foreignKey": "fleetmgmt_attr_value_id" - } - } - }, - "fleetmgmt_driver_attr": { - "name": "fleetmgmt_driver_attr", - "fields": { - "fleetmgmt_driver_attr_id": { - "name": "fleetmgmt_driver_attr_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_attr_driver": { - "name": "fleetmgmt_driver_attr_driver", - "type": "INT(11)", - "null": false, - "foreignTable": "fleetmgmt_driver", - "foreignKey": "fleetmgmt_driver_id" - }, - "fleetmgmt_driver_attr_type": { - "name": "fleetmgmt_driver_attr_type", - "type": "INT(11)", - "null": false, - "foreignTable": "fleetmgmt_attr_type", - "foreignKey": "fleetmgmt_attr_type_id" - }, - "fleetmgmt_driver_attr_value": { - "name": "fleetmgmt_driver_attr_value", - "type": "INT(11)", - "null": true, - "default": null, - "foreignTable": "fleetmgmt_attr_value", - "foreignKey": "fleetmgmt_attr_value_id" - } - } - }, - "fleetmgmt_driver_media": { - "name": "fleetmgmt_driver_media", - "fields": { - "fleetmgmt_driver_media_id": { - "name": "fleetmgmt_driver_media_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_media_vehicle": { - "name": "fleetmgmt_driver_media_vehicle", - "type": "INT", - "null": false, - "foreignTable": "fleetmgmt_driver", - "foreignKey": "fleetmgmt_driver_id" - }, - "fleetmgmt_driver_media_media": { - "name": "fleetmgmt_driver_media_media", - "type": "INT", - "null": false, - "foreignTable": "media", - "foreignKey": "media_id" - } - } - }, - "fleetmgmt_driver_note": { - "name": "fleetmgmt_driver_note", - "fields": { - "fleetmgmt_driver_note_id": { - "name": "fleetmgmt_driver_note_id", - "type": "INT", - "null": false, - "primary": true, - "autoincrement": true - }, - "fleetmgmt_driver_note_driver": { - "name": "fleetmgmt_driver_note_driver", - "type": "INT", - "null": false, - "foreignTable": "fleetmgmt_driver", - "foreignKey": "fleetmgmt_driver_id" - }, - "fleetmgmt_driver_note_doc": { - "name": "fleetmgmt_driver_note_doc", + "equipmgmt_equipment_note_doc": { + "name": "equipmgmt_equipment_note_doc", "type": "INT", "null": false, "foreignTable": "editor_doc", diff --git a/Admin/Install/driverinspectiontype.json b/Admin/Install/driverinspectiontype.json deleted file mode 100644 index a9a1672..0000000 --- a/Admin/Install/driverinspectiontype.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "name": "license", - "l11n": { - "en": "License", - "de": "FĂ¼hrerschein" - } - } -] \ No newline at end of file diff --git a/Admin/Install/equipmenttype.json b/Admin/Install/equipmenttype.json new file mode 100644 index 0000000..55530b7 --- /dev/null +++ b/Admin/Install/equipmenttype.json @@ -0,0 +1,30 @@ +[ + { + "name": "scale", + "l11n": { + "en": "Scale", + "de": "Waage" + } + }, + { + "name": "ladder", + "l11n": { + "en": "Ladder", + "de": "Leiter" + } + }, + { + "name": "drill", + "l11n": { + "en": "Drill", + "de": "Bohrer" + } + }, + { + "name": "saw", + "l11n": { + "en": "Saw", + "de": "Säge" + } + } +] diff --git a/Admin/Install/fueltype.json b/Admin/Install/fueltype.json deleted file mode 100644 index 76747be..0000000 --- a/Admin/Install/fueltype.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "name": "gasoline", - "l11n": { - "en": "Gasoline", - "de": "Benzin" - } - }, - { - "name": "diesel", - "l11n": { - "en": "Diesel", - "de": "Diesel" - } - }, - { - "name": "electirc", - "l11n": { - "en": "Electric", - "de": "Elektrisch" - } - }, - { - "name": "hydrogen", - "l11n": { - "en": "Hydrogen", - "de": "Wasserstoff" - } - }, - { - "name": "ethanol", - "l11n": { - "en": "Ethanol", - "de": "Ethanol" - } - }, - { - "name": "kerosene", - "l11n": { - "en": "Kerosene", - "de": "Kerosin" - } - }, - { - "name": "lpg", - "l11n": { - "en": "LPG", - "de": "Autogas" - } - }, - { - "name": "methanol", - "l11n": { - "en": "Methanol", - "de": "Methanol" - } - }, - { - "name": "methane", - "l11n": { - "en": "Methane", - "de": "Methan" - } - }, - { - "name": "nitromethane", - "l11n": { - "en": "Nitromethane", - "de": "Nitromethan" - } - }, - { - "name": "coal", - "l11n": { - "en": "Coal", - "de": "Kohle" - } - }, - { - "name": "wood", - "l11n": { - "en": "Wood", - "de": "Holz" - } - }, - { - "name": "petroleum", - "l11n": { - "en": "Petroleum", - "de": "Petroleum" - } - }, - { - "name": "coaltar", - "l11n": { - "en": "Coaltar", - "de": "Steinkohlenteer" - } - }, - { - "name": "coke", - "l11n": { - "en": "Coke", - "de": "Koks" - } - }, - { - "name": "charcoale", - "l11n": { - "en": "Charcoale", - "de": "Holzkohle" - } - }, - { - "name": "naturalgas", - "l11n": { - "en": "Naturalgas", - "de": "Erdgas" - } - }, - { - "name": "biogas", - "l11n": { - "en": "Biogas", - "de": "Biogas" - } - }, - { - "name": "biodiesel", - "l11n": { - "en": "Biodiesel", - "de": "Biodiesel" - } - } -] \ No newline at end of file diff --git a/Admin/Install/inspectiontype.json b/Admin/Install/inspectiontype.json index 033e032..fe8f74d 100644 --- a/Admin/Install/inspectiontype.json +++ b/Admin/Install/inspectiontype.json @@ -1,37 +1,9 @@ [ { - "name": "tire_change", + "name": "tuv", "l11n": { - "en": "Tire change", - "de": "Reifenwechsel" - } - }, - { - "name": "oil_change", - "l11n": { - "en": "Oil change", - "de": "Ă–lwechsel" - } - }, - { - "name": "mot", - "l11n": { - "en": "MOT test", - "de": "TĂœV" - } - }, - { - "name": "emissions_test", - "l11n": { - "en": "Emissions test", - "de": "Abgasuntersuchung" - } - }, - { - "name": "general", - "l11n": { - "en": "General", - "de": "Allgemein" + "en": "TUV", + "de": "TUV" } } ] \ No newline at end of file diff --git a/Admin/Install/vehicletype.json b/Admin/Install/vehicletype.json deleted file mode 100644 index e68fed8..0000000 --- a/Admin/Install/vehicletype.json +++ /dev/null @@ -1,93 +0,0 @@ -[ - { - "name": "car", - "l11n": { - "en": "Car", - "de": "Auto" - } - }, - { - "name": "truck", - "l11n": { - "en": "Truck", - "de": "LKW" - } - }, - { - "name": "motorcycle", - "l11n": { - "en": "Motorcycle", - "de": "Motorrad" - } - }, - { - "name": "bicycle", - "l11n": { - "en": "Bicycle", - "de": "Fahrrad" - } - }, - { - "name": "bus", - "l11n": { - "en": "Bus", - "de": "Bus" - } - }, - { - "name": "boat", - "l11n": { - "en": "Boat", - "de": "Boot" - } - }, - { - "name": "airplane", - "l11n": { - "en": "Airplane", - "de": "Flugzeug" - } - }, - { - "name": "helicopter", - "l11n": { - "en": "Helicopter", - "de": "Hubschrauber" - } - }, - { - "name": "train", - "l11n": { - "en": "Train", - "de": "Zug" - } - }, - { - "name": "scooter", - "l11n": { - "en": "Scooter", - "de": "Roller" - } - }, - { - "name": "moped", - "l11n": { - "en": "Moped", - "de": "Moped" - } - }, - { - "name": "tractor", - "l11n": { - "en": "Tractor", - "de": "Traktor" - } - }, - { - "name": "forklift", - "l11n": { - "en": "Forklift", - "de": "Gabelstapler" - } - } -] diff --git a/Admin/Installer.php b/Admin/Installer.php index dd2e8a3..6e518d4 100755 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Admin + * @package Modules\EquipmentManagement\Admin * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Admin; +namespace Modules\EquipmentManagement\Admin; use phpOMS\Application\ApplicationAbstract; use phpOMS\Config\SettingsInterface; @@ -25,7 +25,7 @@ use phpOMS\Uri\HttpUri; /** * Installer class. * - * @package Modules\FleetManagement\Admin + * @package Modules\EquipmentManagement\Admin * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -58,25 +58,15 @@ final class Installer extends InstallerAbstract $attrTypes = self::createAttributeTypes($app, $attributes); $attrValues = self::createAttributeValues($app, $attrTypes, $attributes); - /* Fuel types */ - $fileContent = \file_get_contents(__DIR__ . '/Install/fueltype.json'); - if ($fileContent === false) { - return; - } - - /** @var array $types */ - $types = \json_decode($fileContent, true); - $fuelTypes = self::createFuelTypes($app, $types); - - /* Vehicle types */ - $fileContent = \file_get_contents(__DIR__ . '/Install/vehicletype.json'); + /* Equipment types */ + $fileContent = \file_get_contents(__DIR__ . '/Install/equipmenttype.json'); if ($fileContent === false) { return; } /** @var array $types */ $types = \json_decode($fileContent, true); - $vehicleTypes = self::createVehicleTypes($app, $types); + $equipmentTypes = self::createEquipmentTypes($app, $types); /* Inspection types */ $fileContent = \file_get_contents(__DIR__ . '/Install/inspectiontype.json'); @@ -87,20 +77,10 @@ final class Installer extends InstallerAbstract /** @var array $types */ $types = \json_decode($fileContent, true); $inspectionTypes = self::createInspectionTypes($app, $types); - - /* Inspection types */ - $fileContent = \file_get_contents(__DIR__ . '/Install/driverinspectiontype.json'); - if ($fileContent === false) { - return; - } - - /** @var array $types */ - $types = \json_decode($fileContent, true); - $inspectionTypes = self::createDriverInspectionTypes($app, $types); } /** - * Install fuel type + * Install equipment type * * @param ApplicationAbstract $app Application * @param array $types Attribute definition @@ -109,13 +89,13 @@ final class Installer extends InstallerAbstract * * @since 1.0.0 */ - private static function createFuelTypes(ApplicationAbstract $app, array $types) : array + private static function createEquipmentTypes(ApplicationAbstract $app, array $types) : array { - /** @var array $fuelTypes */ - $fuelTypes = []; + /** @var array $equipmentTypes */ + $equipmentTypes = []; - /** @var \Modules\FleetManagement\Controller\ApiVehicleController $module */ - $module = $app->moduleManager->getModuleInstance('FleetManagement', 'ApiVehicle'); + /** @var \Modules\EquipmentManagement\Controller\ApiEquipmentController $module */ + $module = $app->moduleManager->getModuleInstance('EquipmentManagement', 'ApiEquipment'); /** @var array $type */ foreach ($types as $type) { @@ -127,14 +107,14 @@ final class Installer extends InstallerAbstract $request->setData('title', \reset($type['l11n'])); $request->setData('language', \array_keys($type['l11n'])[0] ?? 'en'); - $module->apiFuelTypeCreate($request, $response); + $module->apiEquipmentTypeCreate($request, $response); $responseData = $response->get(''); if (!\is_array($responseData)) { continue; } - $fuelTypes[$type['name']] = !\is_array($responseData['response']) + $equipmentTypes[$type['name']] = !\is_array($responseData['response']) ? $responseData['response']->toArray() : $responseData['response']; @@ -151,74 +131,13 @@ final class Installer extends InstallerAbstract $request->header->account = 1; $request->setData('title', $l11n); $request->setData('language', $language); - $request->setData('type', $fuelTypes[$type['name']]['id']); + $request->setData('type', $equipmentTypes[$type['name']]['id']); - $module->apiFuelTypeL11nCreate($request, $response); + $module->apiEquipmentTypeL11nCreate($request, $response); } } - return $fuelTypes; - } - - /** - * Install vehicle type - * - * @param ApplicationAbstract $app Application - * @param array $types Attribute definition - * - * @return array - * - * @since 1.0.0 - */ - private static function createVehicleTypes(ApplicationAbstract $app, array $types) : array - { - /** @var array $vehicleTypes */ - $vehicleTypes = []; - - /** @var \Modules\FleetManagement\Controller\ApiVehicleController $module */ - $module = $app->moduleManager->getModuleInstance('FleetManagement', 'ApiVehicle'); - - /** @var array $type */ - foreach ($types as $type) { - $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); - - $request->header->account = 1; - $request->setData('name', $type['name'] ?? ''); - $request->setData('title', \reset($type['l11n'])); - $request->setData('language', \array_keys($type['l11n'])[0] ?? 'en'); - - $module->apiVehicleTypeCreate($request, $response); - - $responseData = $response->get(''); - if (!\is_array($responseData)) { - continue; - } - - $vehicleTypes[$type['name']] = !\is_array($responseData['response']) - ? $responseData['response']->toArray() - : $responseData['response']; - - $isFirst = true; - foreach ($type['l11n'] as $language => $l11n) { - if ($isFirst) { - $isFirst = false; - continue; - } - - $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); - - $request->header->account = 1; - $request->setData('title', $l11n); - $request->setData('language', $language); - $request->setData('type', $vehicleTypes[$type['name']]['id']); - - $module->apiVehicleTypeL11nCreate($request, $response); - } - } - - return $vehicleTypes; + return $equipmentTypes; } /** @@ -236,8 +155,8 @@ final class Installer extends InstallerAbstract /** @var array $inspectionTypes */ $inspectionTypes = []; - /** @var \Modules\FleetManagement\Controller\ApiVehicleController $module */ - $module = $app->moduleManager->getModuleInstance('FleetManagement', 'ApiVehicle'); + /** @var \Modules\EquipmentManagement\Controller\ApiEquipmentController $module */ + $module = $app->moduleManager->getModuleInstance('EquipmentManagement', 'ApiEquipment'); /** @var array $type */ foreach ($types as $type) { @@ -282,67 +201,6 @@ final class Installer extends InstallerAbstract return $inspectionTypes; } - /** - * Install inspection type - * - * @param ApplicationAbstract $app Application - * @param array $types Attribute definition - * - * @return array - * - * @since 1.0.0 - */ - private static function createDriverInspectionTypes(ApplicationAbstract $app, array $types) : array - { - /** @var array $inspectionTypes */ - $inspectionTypes = []; - - /** @var \Modules\FleetManagement\Controller\ApiVehicleController $module */ - $module = $app->moduleManager->getModuleInstance('FleetManagement', 'ApiDriver'); - - /** @var array $type */ - foreach ($types as $type) { - $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); - - $request->header->account = 1; - $request->setData('name', $type['name'] ?? ''); - $request->setData('title', \reset($type['l11n'])); - $request->setData('language', \array_keys($type['l11n'])[0] ?? 'en'); - - $module->apiDriverInspectionTypeCreate($request, $response); - - $responseData = $response->get(''); - if (!\is_array($responseData)) { - continue; - } - - $inspectionTypes[$type['name']] = !\is_array($responseData['response']) - ? $responseData['response']->toArray() - : $responseData['response']; - - $isFirst = true; - foreach ($type['l11n'] as $language => $l11n) { - if ($isFirst) { - $isFirst = false; - continue; - } - - $response = new HttpResponse(); - $request = new HttpRequest(new HttpUri('')); - - $request->header->account = 1; - $request->setData('title', $l11n); - $request->setData('language', $language); - $request->setData('type', $inspectionTypes[$type['name']]['id']); - - $module->apiDriverInspectionTypeL11nCreate($request, $response); - } - } - - return $inspectionTypes; - } - /** * Install default attribute types * @@ -358,8 +216,8 @@ final class Installer extends InstallerAbstract /** @var array $itemAttrType */ $itemAttrType = []; - /** @var \Modules\FleetManagement\Controller\ApiVehicleAttributeController $module */ - $module = $app->moduleManager->getModuleInstance('FleetManagement', 'ApiVehicleAttribute'); + /** @var \Modules\EquipmentManagement\Controller\ApiEquipmentAttributeController $module */ + $module = $app->moduleManager->getModuleInstance('EquipmentManagement', 'ApiEquipmentAttribute'); /** @var array $attribute */ foreach ($attributes as $attribute) { @@ -375,7 +233,7 @@ final class Installer extends InstallerAbstract $request->setData('validation_pattern', $attribute['validation_pattern'] ?? ''); $request->setData('datatype', (int) $attribute['value_type']); - $module->apiVehicleAttributeTypeCreate($request, $response); + $module->apiEquipmentAttributeTypeCreate($request, $response); $responseData = $response->get(''); if (!\is_array($responseData)) { @@ -401,7 +259,7 @@ final class Installer extends InstallerAbstract $request->setData('language', $language); $request->setData('type', $itemAttrType[$attribute['name']]['id']); - $module->apiVehicleAttributeTypeL11nCreate($request, $response); + $module->apiEquipmentAttributeTypeL11nCreate($request, $response); } } @@ -424,8 +282,8 @@ final class Installer extends InstallerAbstract /** @var array $itemAttrValue */ $itemAttrValue = []; - /** @var \Modules\FleetManagement\Controller\ApiVehicleAttributeController $module */ - $module = $app->moduleManager->getModuleInstance('FleetManagement', 'ApiVehicleAttribute'); + /** @var \Modules\EquipmentManagement\Controller\ApiEquipmentAttributeController $module */ + $module = $app->moduleManager->getModuleInstance('EquipmentManagement', 'ApiEquipmentAttribute'); foreach ($attributes as $attribute) { $itemAttrValue[$attribute['name']] = []; @@ -446,7 +304,7 @@ final class Installer extends InstallerAbstract $request->setData('language', \array_keys($value['l11n'])[0] ?? 'en'); } - $module->apiVehicleAttributeValueCreate($request, $response); + $module->apiEquipmentAttributeValueCreate($request, $response); $responseData = $response->get(''); if (!\is_array($responseData)) { @@ -474,7 +332,7 @@ final class Installer extends InstallerAbstract $request->setData('language', $language); $request->setData('value', $attrValue['id']); - $module->apiVehicleAttributeValueL11nCreate($request, $response); + $module->apiEquipmentAttributeValueL11nCreate($request, $response); } } } diff --git a/Admin/Routes/Web/Api.php b/Admin/Routes/Web/Api.php index 387ac6e..45f6828 100644 --- a/Admin/Routes/Web/Api.php +++ b/Admin/Routes/Web/Api.php @@ -12,104 +12,62 @@ */ declare(strict_types=1); -use Modules\FleetManagement\Controller\Controller; -use Modules\FleetManagement\Models\PermissionCategory; +use Modules\EquipmentManagement\Controller\Controller; +use Modules\EquipmentManagement\Models\PermissionCategory; use phpOMS\Account\PermissionType; use phpOMS\Router\RouteVerb; return [ - '^.*/fleet/vehicle/find.*$' => [ + '^.*/equipment/equipment/find.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\ApiVehicleController:apiVehicleFind', + 'dest' => '\Modules\EquipmentManagement\Controller\ApiEquipmentController:apiEquipmentFind', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => Controller::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], - '^.*/fleet/vehicle/attribute.*$' => [ + '^.*/equipment/equipment/attribute.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\ApiVehicleAttributeController:apiVehicleAttributeCreate', + 'dest' => '\Modules\EquipmentManagement\Controller\ApiEquipmentAttributeController:apiEquipmentAttributeCreate', 'verb' => RouteVerb::PUT, 'permission' => [ 'module' => Controller::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], [ - 'dest' => '\Modules\FleetManagement\Controller\ApiVehicleAttributeController:apiVehicleAttributeUpdate', + 'dest' => '\Modules\EquipmentManagement\Controller\ApiEquipmentAttributeController:apiEquipmentAttributeUpdate', 'verb' => RouteVerb::SET, 'permission' => [ 'module' => Controller::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], - '^.*/fleet/driver/attribute.*$' => [ + '^.*/equipment/equipment/note.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\ApiDriverAttributeController:apiDriverAttributeCreate', + 'dest' => '\Modules\EquipmentManagement\Controller\ApiEquipmentAttributeController:apiNoteCreate', 'verb' => RouteVerb::PUT, 'permission' => [ 'module' => Controller::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::DRIVER, + 'state' => PermissionCategory::EQUIPMENT, ], ], [ - 'dest' => '\Modules\FleetManagement\Controller\ApiDriverAttributeController:apiDriverAttributeUpdate', + 'dest' => '\Modules\EquipmentManagement\Controller\ApiEquipmentAttributeController:apiNoteEdit', 'verb' => RouteVerb::SET, 'permission' => [ 'module' => Controller::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::DRIVER, - ], - ], - ], - - '^.*/fleet/vehicle/note.*$' => [ - [ - 'dest' => '\Modules\FleetManagement\Controller\ApiVehicleAttributeController:apiNoteCreate', - 'verb' => RouteVerb::PUT, - 'permission' => [ - 'module' => Controller::NAME, - 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, - ], - ], - [ - 'dest' => '\Modules\FleetManagement\Controller\ApiVehicleAttributeController:apiNoteEdit', - 'verb' => RouteVerb::SET, - 'permission' => [ - 'module' => Controller::NAME, - 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, - ], - ], - ], - - '^.*/fleet/driver/note.*$' => [ - [ - 'dest' => '\Modules\FleetManagement\Controller\ApiDriverAttributeController:apiNoteCreate', - 'verb' => RouteVerb::PUT, - 'permission' => [ - 'module' => Controller::NAME, - 'type' => PermissionType::READ, - 'state' => PermissionCategory::DRIVER, - ], - ], - [ - 'dest' => '\Modules\FleetManagement\Controller\ApiDriverAttributeController:apiNoteEdit', - 'verb' => RouteVerb::SET, - 'permission' => [ - 'module' => Controller::NAME, - 'type' => PermissionType::READ, - 'state' => PermissionCategory::DRIVER, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php index 75728b0..3d4ea1d 100755 --- a/Admin/Routes/Web/Backend.php +++ b/Admin/Routes/Web/Backend.php @@ -12,156 +12,99 @@ */ declare(strict_types=1); -use Modules\FleetManagement\Controller\BackendController; -use Modules\FleetManagement\Models\PermissionCategory; +use Modules\EquipmentManagement\Controller\BackendController; +use Modules\EquipmentManagement\Models\PermissionCategory; use phpOMS\Account\PermissionType; use phpOMS\Router\RouteVerb; return [ - '^.*/fleet/vehicle/attribute/type/list.*$' => [ + '^.*/equipment/equipment/attribute/type/list.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementAttributeTypeList', + 'dest' => '\Modules\EquipmentManagement\Controller\BackendController:viewEquipmentManagementAttributeTypeList', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => BackendController::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], - '^.*/fleet/vehicle/attribute/type\?.*$' => [ + '^.*/equipment/equipment/attribute/type\?.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementAttributeType', + 'dest' => '\Modules\EquipmentManagement\Controller\BackendController:viewEquipmentManagementAttributeType', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => BackendController::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], - '^.*/fleet/vehicle/list.*$' => [ + '^.*/equipment/equipment/list.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementVehicleList', + 'dest' => '\Modules\EquipmentManagement\Controller\BackendController:viewEquipmentManagementEquipmentList', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => BackendController::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], - '^.*/fleet/vehicle/create.*$' => [ + '^.*/equipment/equipment/create.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementVehicleCreate', + 'dest' => '\Modules\EquipmentManagement\Controller\BackendController:viewEquipmentManagementEquipmentCreate', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => BackendController::NAME, 'type' => PermissionType::CREATE, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], - '^.*/fleet/vehicle/profile.*$' => [ + '^.*/equipment/equipment/profile.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementVehicleProfile', + 'dest' => '\Modules\EquipmentManagement\Controller\BackendController:viewEquipmentManagementEquipmentProfile', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => BackendController::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], - '^.*/fleet/driver/attribute/type/list.*$' => [ + '^.*/equipment/inspection/list.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementDriverAttributeTypeList', + 'dest' => '\Modules\EquipmentManagement\Controller\BackendController:viewEquipmentManagementEquipmentList', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => BackendController::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], - '^.*/fleet/driver/attribute/type\?.*$' => [ + '^.*/equipment/inspection/create.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementDriverAttributeType', - 'verb' => RouteVerb::GET, - 'permission' => [ - 'module' => BackendController::NAME, - 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, - ], - ], - ], - - '^.*/fleet/driver/list.*$' => [ - [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementDriverList', - 'verb' => RouteVerb::GET, - 'permission' => [ - 'module' => BackendController::NAME, - 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, - ], - ], - ], - '^.*/fleet/driver/create.*$' => [ - [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementDriverCreate', + 'dest' => '\Modules\EquipmentManagement\Controller\BackendController:viewEquipmentManagementEquipmentCreate', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => BackendController::NAME, 'type' => PermissionType::CREATE, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], - '^.*/fleet/driver/profile.*$' => [ + '^.*/equipment/inspection/profile.*$' => [ [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementDriverProfile', + 'dest' => '\Modules\EquipmentManagement\Controller\BackendController:viewEquipmentManagementEquipmentProfile', 'verb' => RouteVerb::GET, 'permission' => [ 'module' => BackendController::NAME, 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, - ], - ], - ], - - '^.*/fleet/inspection/list.*$' => [ - [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementVehicleList', - 'verb' => RouteVerb::GET, - 'permission' => [ - 'module' => BackendController::NAME, - 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, - ], - ], - ], - '^.*/fleet/inspection/create.*$' => [ - [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementVehicleCreate', - 'verb' => RouteVerb::GET, - 'permission' => [ - 'module' => BackendController::NAME, - 'type' => PermissionType::CREATE, - 'state' => PermissionCategory::VEHICLE, - ], - ], - ], - '^.*/fleet/inspection/profile.*$' => [ - [ - 'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementVehicleProfile', - 'verb' => RouteVerb::GET, - 'permission' => [ - 'module' => BackendController::NAME, - 'type' => PermissionType::READ, - 'state' => PermissionCategory::VEHICLE, + 'state' => PermissionCategory::EQUIPMENT, ], ], ], diff --git a/Admin/Status.php b/Admin/Status.php index a059599..85a809c 100755 --- a/Admin/Status.php +++ b/Admin/Status.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Admin + * @package Modules\EquipmentManagement\Admin * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,14 +12,14 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Admin; +namespace Modules\EquipmentManagement\Admin; use phpOMS\Module\StatusAbstract; /** * Status class. * - * @package Modules\FleetManagement\Admin + * @package Modules\EquipmentManagement\Admin * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 diff --git a/Admin/Uninstaller.php b/Admin/Uninstaller.php index 4b0e114..eefcca1 100755 --- a/Admin/Uninstaller.php +++ b/Admin/Uninstaller.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Admin + * @package Modules\EquipmentManagement\Admin * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,14 +12,14 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Admin; +namespace Modules\EquipmentManagement\Admin; use phpOMS\Module\UninstallerAbstract; /** * Uninstaller class. * - * @package Modules\FleetManagement\Admin + * @package Modules\EquipmentManagement\Admin * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 diff --git a/Admin/Updater.php b/Admin/Updater.php index f9c1a07..93d0ee6 100755 --- a/Admin/Updater.php +++ b/Admin/Updater.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Admin + * @package Modules\EquipmentManagement\Admin * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,14 +12,14 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Admin; +namespace Modules\EquipmentManagement\Admin; use phpOMS\Module\UpdaterAbstract; /** * Updater class. * - * @package Modules\FleetManagement\Admin + * @package Modules\EquipmentManagement\Admin * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 diff --git a/Controller/ApiDriverController.php b/Controller/ApiDriverController.php deleted file mode 100644 index 6eec99f..0000000 --- a/Controller/ApiDriverController.php +++ /dev/null @@ -1,615 +0,0 @@ -validateDriverCreate($request))) { - $response->data[$request->uri->__toString()] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - /** @var Driver $driver */ - $driver = $this->createDriverFromRequest($request); - $this->createModel($request->header->account, $driver, DriverMapper::class, 'driver', $request->getOrigin()); - - if (!empty($request->files) - || !empty($request->getDataJson('media')) - ) { - $this->createDriverMedia($driver, $request); - } - - $this->fillJsonResponse( - $request, - $response, - NotificationLevel::OK, - '', - $this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'), - $driver - ); - } - - /** - * Method to create driver from request. - * - * @param RequestAbstract $request Request - * - * @return Driver Returns the created driver from the request - * - * @since 1.0.0 - */ - public function createDriverFromRequest(RequestAbstract $request) : Driver - { - $driver = new Driver(); - $driver->account = new NullAccount($request->getDataInt('account') ?? 1); - $driver->status = (int) ($request->getDataInt('status') ?? DriverStatus::INACTIVE); - - return $driver; - } - - /** - * Create media files for driver - * - * @param Driver $driver Driver - * @param RequestAbstract $request Request incl. media do upload - * - * @return void - * - * @since 1.0.0 - */ - private function createDriverMedia(Driver $driver, RequestAbstract $request) : void - { - $path = $this->createDriverDir($driver); - - if (!empty($uploadedFiles = $request->files)) { - $uploaded = $this->app->moduleManager->get('Media')->uploadFiles( - names: [], - fileNames: [], - files: $uploadedFiles, - account: $request->header->account, - basePath: __DIR__ . '/../../../Modules/Media/Files' . $path, - virtualPath: $path, - pathSettings: PathSettings::FILE_PATH - ); - - $collection = null; - foreach ($uploaded as $media) { - $this->createModelRelation( - $request->header->account, - $driver->id, - $media->id, - DriverMapper::class, - 'files', - '', - $request->getOrigin() - ); - - if ($collection === null) { - /** @var \Modules\Media\Models\Collection $collection */ - $collection = MediaMapper::getParentCollection($path)->limit(1)->execute(); - - if ($collection->id === 0) { - $collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection( - $path, - $request->header->account, - __DIR__ . '/../../../Modules/Media/Files' . $path - ); - } - } - - $this->createModelRelation( - $request->header->account, - $collection->id, - $media->id, - CollectionMapper::class, - 'sources', - '', - $request->getOrigin() - ); - } - } - - if (!empty($mediaFiles = $request->getDataJson('media'))) { - $collection = null; - - foreach ($mediaFiles as $file) { - /** @var \Modules\Media\Models\Media $media */ - $media = MediaMapper::get()->where('id', (int) $file)->limit(1)->execute(); - - $this->createModelRelation( - $request->header->account, - $driver->id, - $media->id, - DriverMapper::class, - 'files', - '', - $request->getOrigin() - ); - - $ref = new Reference(); - $ref->name = $media->name; - $ref->source = new NullMedia($media->id); - $ref->createdBy = new NullAccount($request->header->account); - $ref->setVirtualPath($path); - - $this->createModel($request->header->account, $ref, ReferenceMapper::class, 'media_reference', $request->getOrigin()); - - if ($collection === null) { - /** @var \Modules\Media\Models\Collection $collection */ - $collection = MediaMapper::getParentCollection($path)->limit(1)->execute(); - - if ($collection->id === 0) { - $collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection( - $path, - $request->header->account, - __DIR__ . '/../../../Modules/Media/Files' . $path - ); - } - } - - $this->createModelRelation( - $request->header->account, - $collection->id, - $ref->id, - CollectionMapper::class, - 'sources', - '', - $request->getOrigin() - ); - } - } - } - - /** - * Validate driver create request - * - * @param RequestAbstract $request Request - * - * @return array Returns the validation array of the request - * - * @since 1.0.0 - */ - private function validateDriverCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['account'] = !$request->hasData('account')) - ) { - return $val; - } - - return []; - } - - /** - * Api method to create a bill - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return void - * - * @api - * - * @since 1.0.0 - */ - public function apiMediaAddToDriver(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateMediaAddToDriver($request))) { - $response->data[$request->uri->__toString()] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - /** @var \Modules\FleetManagement\Models\Driver\Driver $driver */ - $driver = DriverMapper::get()->where('id', (int) $request->getData('driver'))->execute(); - $path = $this->createDriverDir($driver); - - $uploaded = []; - if (!empty($uploadedFiles = $request->files)) { - $uploaded = $this->app->moduleManager->get('Media')->uploadFiles( - names: [], - fileNames: [], - files: $uploadedFiles, - account: $request->header->account, - basePath: __DIR__ . '/../../../Modules/Media/Files' . $path, - virtualPath: $path, - pathSettings: PathSettings::FILE_PATH, - hasAccountRelation: false, - readContent: (bool) ($request->getData('parse_content') ?? false) - ); - - $collection = null; - foreach ($uploaded as $media) { - $this->createModelRelation( - $request->header->account, - $driver->id, - $media->id, - DriverMapper::class, - 'files', - '', - $request->getOrigin() - ); - - if ($request->hasData('type')) { - $this->createModelRelation( - $request->header->account, - $media->id, - $request->getDataInt('type'), - MediaMapper::class, - 'types', - '', - $request->getOrigin() - ); - } - - if ($collection === null) { - /** @var \Modules\Media\Models\Collection $collection */ - $collection = MediaMapper::getParentCollection($path)->limit(1)->execute(); - - if ($collection->id === 0) { - $collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection( - $path, - $request->header->account, - __DIR__ . '/../../../Modules/Media/Files' . $path, - ); - } - } - - $this->createModelRelation( - $request->header->account, - $collection->id, - $media->id, - CollectionMapper::class, - 'sources', - '', - $request->getOrigin() - ); - } - } - - if (!empty($mediaFiles = $request->getDataJson('media'))) { - foreach ($mediaFiles as $media) { - $this->createModelRelation( - $request->header->account, - $driver->id, - (int) $media, - DriverMapper::class, - 'files', - '', - $request->getOrigin() - ); - } - } - - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Media', 'Media added to driver.', [ - 'upload' => $uploaded, - 'media' => $mediaFiles, - ]); - } - - /** - * Create media directory path - * - * @param Driver $driver Driver - * - * @return string - * - * @since 1.0.0 - */ - private function createDriverDir(Driver $driver) : string - { - return '/Modules/FleetManagement/Driver/' - . $this->app->unitId . '/' - . $driver->id; - } - - /** - * Method to validate bill creation from request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateMediaAddToDriver(RequestAbstract $request) : array - { - $val = []; - if (($val['media'] = (!$request->hasData('media') && empty($request->files))) - || ($val['driver'] = !$request->hasData('driver')) - ) { - return $val; - } - - return []; - } - - /** - * Api method to create a driver - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return void - * - * @api - * - * @since 1.0.0 - */ - public function apiDriverInspectionTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateDriverInspectionTypeCreate($request))) { - $response->data[$request->uri->__toString()] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - /** @var BaseStringL11nType $driver */ - $driver = $this->createDriverInspectionTypeFromRequest($request); - $this->createModel($request->header->account, $driver, DriverInspectionTypeMapper::class, 'driver_inspection_type', $request->getOrigin()); - - $this->fillJsonResponse( - $request, - $response, - NotificationLevel::OK, - '', - $this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'), - $driver - ); - } - - /** - * Method to create driver from request. - * - * @param RequestAbstract $request Request - * - * @return BaseStringL11nType Returns the created driver from the request - * - * @since 1.0.0 - */ - public function createDriverInspectionTypeFromRequest(RequestAbstract $request) : BaseStringL11nType - { - $type = new BaseStringL11nType(); - $type->title = $request->getDataString('name') ?? ''; - $type->setL11n($request->getDataString('title') ?? '', $request->getDataString('language') ?? ISO639x1Enum::_EN); - - return $type; - } - - /** - * Validate driver create request - * - * @param RequestAbstract $request Request - * - * @return array Returns the validation array of the request - * - * @since 1.0.0 - */ - private function validateDriverInspectionTypeCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['name'] = !$request->hasData('name')) - || ($val['title'] = !$request->hasData('title')) - ) { - return $val; - } - - return []; - } - - /** - * Api method to create driver attribute l11n - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return void - * - * @api - * - * @since 1.0.0 - */ - public function apiDriverInspectionTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateDriverInspectionTypeL11nCreate($request))) { - $response->data['driver_inspection_type_l11n_create'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $typeL11n = $this->createDriverInspectionTypeL11nFromRequest($request); - $this->createModel($request->header->account, $typeL11n, DriverInspectionTypeL11nMapper::class, 'driver_inspection_type_l11n', $request->getOrigin()); - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $typeL11n); - } - - /** - * Method to create driver attribute l11n from request. - * - * @param RequestAbstract $request Request - * - * @return BaseStringL11n - * - * @since 1.0.0 - */ - private function createDriverInspectionTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n - { - $typeL11n = new BaseStringL11n(); - $typeL11n->ref = $request->getDataInt('type') ?? 0; - $typeL11n->setLanguage( - $request->getDataString('language') ?? $request->header->l11n->language - ); - $typeL11n->content = $request->getDataString('title') ?? ''; - - return $typeL11n; - } - - /** - * Validate driver attribute l11n create request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateDriverInspectionTypeL11nCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['title'] = !$request->hasData('title')) - || ($val['type'] = !$request->hasData('type')) - ) { - return $val; - } - - return []; - } - - /** - * Api method to create notes - * - * @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['driver_note_create'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $request->setData('virtualpath', '/Modules/FleetManagement/Driver/' . $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, DriverMapper::class, 'notes', '', $request->getOrigin()); - } - - /** - * Validate item note create request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateNoteCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['id'] = !$request->hasData('id')) - ) { - return $val; - } - - return []; - } - - /** - * Api method to update note - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return void - * - * @api - * - * @since 1.0.0 - */ - public function apiNoteEdit(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - $this->app->moduleManager->get('Editor', 'Api')->apiEditorUpdate($request, $response, $data); - - if ($response->header->status !== RequestStatusCode::R_200) { - return; - } - - $responseData = $response->get($request->uri->__toString()); - if (!\is_array($responseData)) { - return; - } - } -} diff --git a/Controller/ApiDriverAttributeController.php b/Controller/ApiEquipmentAttributeController.php similarity index 71% rename from Controller/ApiDriverAttributeController.php rename to Controller/ApiEquipmentAttributeController.php index b002abd..bf68e26 100644 --- a/Controller/ApiDriverAttributeController.php +++ b/Controller/ApiEquipmentAttributeController.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement + * @package Modules\EquipmentManagement * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,18 +12,18 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Controller; +namespace Modules\EquipmentManagement\Controller; use Modules\Attribute\Models\Attribute; use Modules\Attribute\Models\AttributeType; use Modules\Attribute\Models\AttributeValue; use Modules\Attribute\Models\NullAttributeType; use Modules\Attribute\Models\NullAttributeValue; -use Modules\FleetManagement\Models\Driver\DriverAttributeMapper; -use Modules\FleetManagement\Models\Driver\DriverAttributeTypeL11nMapper; -use Modules\FleetManagement\Models\Driver\DriverAttributeTypeMapper; -use Modules\FleetManagement\Models\Driver\DriverAttributeValueL11nMapper; -use Modules\FleetManagement\Models\Driver\DriverAttributeValueMapper; +use Modules\EquipmentManagement\Models\EquipmentAttributeMapper; +use Modules\EquipmentManagement\Models\EquipmentAttributeTypeL11nMapper; +use Modules\EquipmentManagement\Models\EquipmentAttributeTypeMapper; +use Modules\EquipmentManagement\Models\EquipmentAttributeValueL11nMapper; +use Modules\EquipmentManagement\Models\EquipmentAttributeValueMapper; use phpOMS\Localization\BaseStringL11n; use phpOMS\Localization\ISO639x1Enum; use phpOMS\Message\Http\RequestStatusCode; @@ -33,17 +33,17 @@ use phpOMS\Message\ResponseAbstract; use phpOMS\Model\Message\FormValidation; /** - * FleetManagement class. + * EquipmentManagement class. * - * @package Modules\FleetManagement + * @package Modules\EquipmentManagement * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 */ -final class ApiDriverAttributeController extends Controller +final class ApiEquipmentAttributeController extends Controller { /** - * Api method to create driver attribute + * Api method to create equipment attribute * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -55,23 +55,23 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - public function apiDriverAttributeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentAttributeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateDriverAttributeCreate($request))) { + if (!empty($val = $this->validateEquipmentAttributeCreate($request))) { $response->data['attribute_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; return; } - $attribute = $this->createDriverAttributeFromRequest($request); - $this->createModel($request->header->account, $attribute, DriverAttributeMapper::class, 'attribute', $request->getOrigin()); + $attribute = $this->createEquipmentAttributeFromRequest($request); + $this->createModel($request->header->account, $attribute, EquipmentAttributeMapper::class, 'attribute', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute', 'Attribute successfully created', $attribute); } /** - * Method to create driver attribute from request. + * Method to create equipment attribute from request. * * @param RequestAbstract $request Request * @@ -79,10 +79,10 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - private function createDriverAttributeFromRequest(RequestAbstract $request) : Attribute + private function createEquipmentAttributeFromRequest(RequestAbstract $request) : Attribute { $attribute = new Attribute(); - $attribute->ref = (int) $request->getData('driver'); + $attribute->ref = (int) $request->getData('equipment'); $attribute->type = new NullAttributeType((int) $request->getData('type')); if ($request->hasData('value')) { @@ -100,7 +100,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Validate driver attribute create request + * Validate equipment attribute create request * * @param RequestAbstract $request Request * @@ -108,12 +108,12 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - private function validateDriverAttributeCreate(RequestAbstract $request) : array + private function validateEquipmentAttributeCreate(RequestAbstract $request) : array { $val = []; if (($val['type'] = !$request->hasData('type')) || ($val['value'] = (!$request->hasData('value') && !$request->hasData('custom'))) - || ($val['driver'] = !$request->hasData('driver')) + || ($val['equipment'] = !$request->hasData('equipment')) ) { return $val; } @@ -122,7 +122,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Api method to create driver attribute + * Api method to create equipment attribute * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -134,34 +134,34 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - public function apiDriverAttributeUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentAttributeUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateDriverAttributeUpdate($request))) { + if (!empty($val = $this->validateEquipmentAttributeUpdate($request))) { $response->data['attribute_update'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; return; } - $old = DriverAttributeMapper::get() + $old = EquipmentAttributeMapper::get() ->with('type') ->with('type/defaults') ->with('value') ->where('id', (int) $request->getData('id')) ->execute(); - $new = $this->updateDriverAttributeFromRequest($request, $old->deepClone()); - $this->updateModel($request->header->account, $old, $new, DriverAttributeMapper::class, 'attribute', $request->getOrigin()); + $new = $this->updateEquipmentAttributeFromRequest($request, $old->deepClone()); + $this->updateModel($request->header->account, $old, $new, EquipmentAttributeMapper::class, 'attribute', $request->getOrigin()); if ($new->value->getValue() !== $old->value->getValue()) { - $this->updateModel($request->header->account, $old->value, $new->value, DriverAttributeValueMapper::class, 'attribute_value', $request->getOrigin()); + $this->updateModel($request->header->account, $old->value, $new->value, EquipmentAttributeValueMapper::class, 'attribute_value', $request->getOrigin()); } $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute', 'Attribute successfully updated', $new); } /** - * Method to create driver attribute from request. + * Method to create equipment attribute from request. * * @param RequestAbstract $request Request * @@ -169,7 +169,7 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - private function updateDriverAttributeFromRequest(RequestAbstract $request, Attribute $attribute) : Attribute + private function updateEquipmentAttributeFromRequest(RequestAbstract $request, Attribute $attribute) : Attribute { if ($attribute->type->custom) { if ($request->hasData('value')) { @@ -192,7 +192,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Validate driver attribute create request + * Validate equipment attribute create request * * @param RequestAbstract $request Request * @@ -200,7 +200,7 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - private function validateDriverAttributeUpdate(RequestAbstract $request) : array + private function validateEquipmentAttributeUpdate(RequestAbstract $request) : array { $val = []; if (($val['id'] = !$request->hasData('id')) @@ -212,7 +212,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Api method to create driver attribute l11n + * Api method to create equipment attribute l11n * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -224,22 +224,22 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - public function apiDriverAttributeTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentAttributeTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateDriverAttributeTypeL11nCreate($request))) { + if (!empty($val = $this->validateEquipmentAttributeTypeL11nCreate($request))) { $response->data['attr_type_l11n_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; return; } - $attrL11n = $this->createDriverAttributeTypeL11nFromRequest($request); - $this->createModel($request->header->account, $attrL11n, DriverAttributeTypeL11nMapper::class, 'attr_type_l11n', $request->getOrigin()); + $attrL11n = $this->createEquipmentAttributeTypeL11nFromRequest($request); + $this->createModel($request->header->account, $attrL11n, EquipmentAttributeTypeL11nMapper::class, 'attr_type_l11n', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $attrL11n); } /** - * Method to create driver attribute l11n from request. + * Method to create equipment attribute l11n from request. * * @param RequestAbstract $request Request * @@ -247,7 +247,7 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - private function createDriverAttributeTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n + private function createEquipmentAttributeTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n { $attrL11n = new BaseStringL11n(); $attrL11n->ref = $request->getDataInt('type') ?? 0; @@ -260,7 +260,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Validate driver attribute l11n create request + * Validate equipment attribute l11n create request * * @param RequestAbstract $request Request * @@ -268,7 +268,7 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - private function validateDriverAttributeTypeL11nCreate(RequestAbstract $request) : array + private function validateEquipmentAttributeTypeL11nCreate(RequestAbstract $request) : array { $val = []; if (($val['title'] = !$request->hasData('title')) @@ -281,7 +281,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Api method to create driver attribute type + * Api method to create equipment attribute type * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -293,9 +293,9 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - public function apiDriverAttributeTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentAttributeTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateDriverAttributeTypeCreate($request))) { + if (!empty($val = $this->validateEquipmentAttributeTypeCreate($request))) { $response->data['attr_type_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; @@ -303,13 +303,13 @@ final class ApiDriverAttributeController extends Controller } $attrType = $this->createAttributeTypeFromRequest($request); - $this->createModel($request->header->account, $attrType, DriverAttributeTypeMapper::class, 'attr_type', $request->getOrigin()); + $this->createModel($request->header->account, $attrType, EquipmentAttributeTypeMapper::class, 'attr_type', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute type', 'Attribute type successfully created', $attrType); } /** - * Method to create driver attribute from request. + * Method to create equipment attribute from request. * * @param RequestAbstract $request Request * @@ -331,7 +331,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Validate driver attribute create request + * Validate equipment attribute create request * * @param RequestAbstract $request Request * @@ -339,7 +339,7 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - private function validateDriverAttributeTypeCreate(RequestAbstract $request) : array + private function validateEquipmentAttributeTypeCreate(RequestAbstract $request) : array { $val = []; if (($val['title'] = !$request->hasData('title')) @@ -352,7 +352,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Api method to create driver attribute value + * Api method to create equipment attribute value * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -364,9 +364,9 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - public function apiDriverAttributeValueCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentAttributeValueCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateDriverAttributeValueCreate($request))) { + if (!empty($val = $this->validateEquipmentAttributeValueCreate($request))) { $response->data['attr_value_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; @@ -374,14 +374,14 @@ final class ApiDriverAttributeController extends Controller } $attrValue = $this->createAttributeValueFromRequest($request); - $this->createModel($request->header->account, $attrValue, DriverAttributeValueMapper::class, 'attr_value', $request->getOrigin()); + $this->createModel($request->header->account, $attrValue, EquipmentAttributeValueMapper::class, 'attr_value', $request->getOrigin()); if ($attrValue->isDefault) { $this->createModelRelation( $request->header->account, (int) $request->getData('type'), $attrValue->id, - DriverAttributeTypeMapper::class, 'defaults', '', $request->getOrigin() + EquipmentAttributeTypeMapper::class, 'defaults', '', $request->getOrigin() ); } @@ -389,7 +389,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Method to create driver attribute value from request. + * Method to create equipment attribute value from request. * * @param RequestAbstract $request Request * @@ -400,7 +400,7 @@ final class ApiDriverAttributeController extends Controller private function createAttributeValueFromRequest(RequestAbstract $request) : AttributeValue { /** @var AttributeType $type */ - $type = DriverAttributeTypeMapper::get() + $type = EquipmentAttributeTypeMapper::get() ->where('id', $request->getDataInt('type') ?? 0) ->execute(); @@ -416,7 +416,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Validate driver attribute value create request + * Validate equipment attribute value create request * * @param RequestAbstract $request Request * @@ -424,7 +424,7 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - private function validateDriverAttributeValueCreate(RequestAbstract $request) : array + private function validateEquipmentAttributeValueCreate(RequestAbstract $request) : array { $val = []; if (($val['type'] = !$request->hasData('type')) @@ -437,7 +437,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Api method to create driver attribute l11n + * Api method to create equipment attribute l11n * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -449,9 +449,9 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - public function apiDriverAttributeValueL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentAttributeValueL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateDriverAttributeValueL11nCreate($request))) { + if (!empty($val = $this->validateEquipmentAttributeValueL11nCreate($request))) { $response->data['attr_value_l11n_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; @@ -459,12 +459,12 @@ final class ApiDriverAttributeController extends Controller } $attrL11n = $this->createAttributeValueL11nFromRequest($request); - $this->createModel($request->header->account, $attrL11n, DriverAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin()); + $this->createModel($request->header->account, $attrL11n, EquipmentAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $attrL11n); } /** - * Method to create driver attribute l11n from request. + * Method to create equipment attribute l11n from request. * * @param RequestAbstract $request Request * @@ -485,7 +485,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Validate driver attribute l11n create request + * Validate equipment attribute l11n create request * * @param RequestAbstract $request Request * @@ -493,7 +493,7 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - private function validateDriverAttributeValueL11nCreate(RequestAbstract $request) : array + private function validateEquipmentAttributeValueL11nCreate(RequestAbstract $request) : array { $val = []; if (($val['title'] = !$request->hasData('title')) @@ -506,7 +506,7 @@ final class ApiDriverAttributeController extends Controller } /** - * Api method to handle api driver attributes + * Api method to handle api equipment attributes * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -518,9 +518,9 @@ final class ApiDriverAttributeController extends Controller * * @since 1.0.0 */ - public function apiDriverAttribute(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentAttribute(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateDriverAttributeValueL11nCreate($request))) { + if (!empty($val = $this->validateEquipmentAttributeValueL11nCreate($request))) { $response->data['attr_value_l11n_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; @@ -528,7 +528,7 @@ final class ApiDriverAttributeController extends Controller } $attrL11n = $this->createAttributeValueL11nFromRequest($request); - $this->createModel($request->header->account, $attrL11n, DriverAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin()); + $this->createModel($request->header->account, $attrL11n, EquipmentAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $attrL11n); } } diff --git a/Controller/ApiVehicleController.php b/Controller/ApiEquipmentController.php similarity index 65% rename from Controller/ApiVehicleController.php rename to Controller/ApiEquipmentController.php index c77a232..71733cc 100755 --- a/Controller/ApiVehicleController.php +++ b/Controller/ApiEquipmentController.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement + * @package Modules\EquipmentManagement * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,18 +12,16 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Controller; +namespace Modules\EquipmentManagement\Controller; use Modules\Admin\Models\NullAccount; -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\VehicleMapper; -use Modules\FleetManagement\Models\VehicleStatus; -use Modules\FleetManagement\Models\VehicleTypeL11nMapper; -use Modules\FleetManagement\Models\VehicleTypeMapper; +use Modules\EquipmentManagement\Models\InspectionTypeL11nMapper; +use Modules\EquipmentManagement\Models\InspectionTypeMapper; +use Modules\EquipmentManagement\Models\Equipment; +use Modules\EquipmentManagement\Models\EquipmentMapper; +use Modules\EquipmentManagement\Models\EquipmentStatus; +use Modules\EquipmentManagement\Models\EquipmentTypeL11nMapper; +use Modules\EquipmentManagement\Models\EquipmentTypeMapper; use Modules\Media\Models\CollectionMapper; use Modules\Media\Models\MediaMapper; use Modules\Media\Models\NullMedia; @@ -41,17 +39,17 @@ use phpOMS\Message\ResponseAbstract; use phpOMS\Model\Message\FormValidation; /** - * FleetManagement class. + * EquipmentManagement class. * - * @package Modules\FleetManagement + * @package Modules\EquipmentManagement * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 */ -final class ApiVehicleController extends Controller +final class ApiEquipmentController extends Controller { /** - * Api method to create a vehicle + * Api method to create a equipment * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -63,18 +61,18 @@ final class ApiVehicleController extends Controller * * @since 1.0.0 */ - public function apiVehicleTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateVehicleTypeCreate($request))) { + if (!empty($val = $this->validateEquipmentTypeCreate($request))) { $response->data[$request->uri->__toString()] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; return; } - /** @var BaseStringL11nType $vehicle */ - $vehicle = $this->createVehicleTypeFromRequest($request); - $this->createModel($request->header->account, $vehicle, VehicleTypeMapper::class, 'vehicle_type', $request->getOrigin()); + /** @var BaseStringL11nType $equipment */ + $equipment = $this->createEquipmentTypeFromRequest($request); + $this->createModel($request->header->account, $equipment, EquipmentTypeMapper::class, 'equipment_type', $request->getOrigin()); $this->fillJsonResponse( $request, @@ -82,20 +80,20 @@ final class ApiVehicleController extends Controller NotificationLevel::OK, '', $this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'), - $vehicle + $equipment ); } /** - * Method to create vehicle from request. + * Method to create equipment from request. * * @param RequestAbstract $request Request * - * @return BaseStringL11nType Returns the created vehicle from the request + * @return BaseStringL11nType Returns the created equipment from the request * * @since 1.0.0 */ - public function createVehicleTypeFromRequest(RequestAbstract $request) : BaseStringL11nType + public function createEquipmentTypeFromRequest(RequestAbstract $request) : BaseStringL11nType { $type = new BaseStringL11nType(); $type->title = $request->getDataString('name') ?? ''; @@ -105,7 +103,7 @@ final class ApiVehicleController extends Controller } /** - * Validate vehicle create request + * Validate equipment create request * * @param RequestAbstract $request Request * @@ -113,7 +111,7 @@ final class ApiVehicleController extends Controller * * @since 1.0.0 */ - private function validateVehicleTypeCreate(RequestAbstract $request) : array + private function validateEquipmentTypeCreate(RequestAbstract $request) : array { $val = []; if (($val['name'] = !$request->hasData('name')) @@ -126,7 +124,7 @@ final class ApiVehicleController extends Controller } /** - * Api method to create vehicle attribute l11n + * Api method to create equipment attribute l11n * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -138,22 +136,22 @@ final class ApiVehicleController extends Controller * * @since 1.0.0 */ - public function apiVehicleTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateVehicleTypeL11nCreate($request))) { - $response->data['vehicle_type_l11n_create'] = new FormValidation($val); + if (!empty($val = $this->validateEquipmentTypeL11nCreate($request))) { + $response->data['equipment_type_l11n_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; return; } - $typeL11n = $this->createVehicleTypeL11nFromRequest($request); - $this->createModel($request->header->account, $typeL11n, VehicleTypeL11nMapper::class, 'vehicle_type_l11n', $request->getOrigin()); + $typeL11n = $this->createEquipmentTypeL11nFromRequest($request); + $this->createModel($request->header->account, $typeL11n, EquipmentTypeL11nMapper::class, 'equipment_type_l11n', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $typeL11n); } /** - * Method to create vehicle attribute l11n from request. + * Method to create equipment attribute l11n from request. * * @param RequestAbstract $request Request * @@ -161,7 +159,7 @@ final class ApiVehicleController extends Controller * * @since 1.0.0 */ - private function createVehicleTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n + private function createEquipmentTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n { $typeL11n = new BaseStringL11n(); $typeL11n->ref = $request->getDataInt('type') ?? 0; @@ -174,7 +172,7 @@ final class ApiVehicleController extends Controller } /** - * Validate vehicle attribute l11n create request + * Validate equipment attribute l11n create request * * @param RequestAbstract $request Request * @@ -182,7 +180,7 @@ final class ApiVehicleController extends Controller * * @since 1.0.0 */ - private function validateVehicleTypeL11nCreate(RequestAbstract $request) : array + private function validateEquipmentTypeL11nCreate(RequestAbstract $request) : array { $val = []; if (($val['title'] = !$request->hasData('title')) @@ -195,7 +193,7 @@ final class ApiVehicleController extends Controller } /** - * Api method to create a vehicle + * Api method to create a equipment * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -207,167 +205,23 @@ final class ApiVehicleController extends Controller * * @since 1.0.0 */ - public function apiFuelTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiEquipmentCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateFuelTypeCreate($request))) { + if (!empty($val = $this->validateEquipmentCreate($request))) { $response->data[$request->uri->__toString()] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; return; } - /** @var BaseStringL11nType $vehicle */ - $vehicle = $this->createFuelTypeFromRequest($request); - $this->createModel($request->header->account, $vehicle, FuelTypeMapper::class, 'fuel_type', $request->getOrigin()); - - $this->fillJsonResponse( - $request, - $response, - NotificationLevel::OK, - '', - $this->app->l11nManager->getText($response->header->l11n->language, '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 createFuelTypeFromRequest(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 Returns the validation array of the request - * - * @since 1.0.0 - */ - private function validateFuelTypeCreate(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 apiFuelTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateFuelTypeL11nCreate($request))) { - $response->data['fuel_type_l11n_create'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $typeL11n = $this->createFuelTypeL11nFromRequest($request); - $this->createModel($request->header->account, $typeL11n, FuelTypeL11nMapper::class, 'fuel_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 createFuelTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n - { - $typeL11n = new BaseStringL11n(); - $typeL11n->ref = $request->getDataInt('type') ?? 0; - $typeL11n->setLanguage( - $request->getDataString('language') ?? $request->header->l11n->language - ); - $typeL11n->content = $request->getDataString('title') ?? ''; - - return $typeL11n; - } - - /** - * Validate vehicle attribute l11n create request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateFuelTypeL11nCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['title'] = !$request->hasData('title')) - || ($val['type'] = !$request->hasData('type')) - ) { - return $val; - } - - 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 apiVehicleCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateVehicleCreate($request))) { - $response->data[$request->uri->__toString()] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - /** @var Vehicle $vehicle */ - $vehicle = $this->createVehicleFromRequest($request); - $this->createModel($request->header->account, $vehicle, VehicleMapper::class, 'vehicle', $request->getOrigin()); + /** @var Equipment $equipment */ + $equipment = $this->createEquipmentFromRequest($request); + $this->createModel($request->header->account, $equipment, EquipmentMapper::class, 'equipment', $request->getOrigin()); if (!empty($request->files) || !empty($request->getDataJson('media')) ) { - $this->createVehicleMedia($vehicle, $request); + $this->createEquipmentMedia($equipment, $request); } $this->fillJsonResponse( @@ -376,45 +230,44 @@ final class ApiVehicleController extends Controller NotificationLevel::OK, '', $this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'SucessfulCreate'), - $vehicle + $equipment ); } /** - * Method to create vehicle from request. + * Method to create equipment from request. * * @param RequestAbstract $request Request * - * @return Vehicle Returns the created vehicle from the request + * @return Equipment Returns the created equipment from the request * * @since 1.0.0 */ - public function createVehicleFromRequest(RequestAbstract $request) : Vehicle + public function createEquipmentFromRequest(RequestAbstract $request) : Equipment { - $vehicle = new Vehicle(); - $vehicle->name = $request->getDataString('name') ?? ''; - $vehicle->info = $request->getDataString('info') ?? ''; - $vehicle->type = new NullBaseStringL11nType((int) ($request->getDataInt('type') ?? 0)); - $vehicle->fuelType = new NullBaseStringL11nType((int) ($request->getDataInt('fuel') ?? 0)); - $vehicle->status = (int) ($request->getDataInt('status') ?? VehicleStatus::INACTIVE); - $vehicle->unit = $request->getDataInt('unit') ?? $this->app->unitId; + $equipment = new Equipment(); + $equipment->name = $request->getDataString('name') ?? ''; + $equipment->info = $request->getDataString('info') ?? ''; + $equipment->type = new NullBaseStringL11nType((int) ($request->getDataInt('type') ?? 0)); + $equipment->status = (int) ($request->getDataInt('status') ?? EquipmentStatus::INACTIVE); + $equipment->unit = $request->getDataInt('unit') ?? $this->app->unitId; - return $vehicle; + return $equipment; } /** - * Create media files for vehicle + * Create media files for equipment * - * @param Vehicle $vehicle Vehicle + * @param Equipment $equipment Equipment * @param RequestAbstract $request Request incl. media do upload * * @return void * * @since 1.0.0 */ - private function createVehicleMedia(Vehicle $vehicle, RequestAbstract $request) : void + private function createEquipmentMedia(Equipment $equipment, RequestAbstract $request) : void { - $path = $this->createVehicleDir($vehicle); + $path = $this->createEquipmentDir($equipment); if (!empty($uploadedFiles = $request->files)) { $uploaded = $this->app->moduleManager->get('Media')->uploadFiles( @@ -431,9 +284,9 @@ final class ApiVehicleController extends Controller foreach ($uploaded as $media) { $this->createModelRelation( $request->header->account, - $vehicle->id, + $equipment->id, $media->id, - VehicleMapper::class, + EquipmentMapper::class, 'files', '', $request->getOrigin() @@ -473,9 +326,9 @@ final class ApiVehicleController extends Controller $this->createModelRelation( $request->header->account, - $vehicle->id, + $equipment->id, $media->id, - VehicleMapper::class, + EquipmentMapper::class, 'files', '', $request->getOrigin() @@ -516,7 +369,7 @@ final class ApiVehicleController extends Controller } /** - * Validate vehicle create request + * Validate equipment create request * * @param RequestAbstract $request Request * @@ -524,7 +377,7 @@ final class ApiVehicleController extends Controller * * @since 1.0.0 */ - private function validateVehicleCreate(RequestAbstract $request) : array + private function validateEquipmentCreate(RequestAbstract $request) : array { $val = []; if (($val['name'] = !$request->hasData('name')) @@ -549,18 +402,18 @@ final class ApiVehicleController extends Controller * * @since 1.0.0 */ - public function apiMediaAddToVehicle(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void + public function apiMediaAddToEquipment(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void { - if (!empty($val = $this->validateMediaAddToVehicle($request))) { + if (!empty($val = $this->validateMediaAddToEquipment($request))) { $response->data[$request->uri->__toString()] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; return; } - /** @var \Modules\FleetManagement\Models\Vehicle $vehicle */ - $vehicle = VehicleMapper::get()->where('id', (int) $request->getData('vehicle'))->execute(); - $path = $this->createVehicleDir($vehicle); + /** @var \Modules\EquipmentManagement\Models\Equipment $equipment */ + $equipment = EquipmentMapper::get()->where('id', (int) $request->getData('equipment'))->execute(); + $path = $this->createEquipmentDir($equipment); $uploaded = []; if (!empty($uploadedFiles = $request->files)) { @@ -580,9 +433,9 @@ final class ApiVehicleController extends Controller foreach ($uploaded as $media) { $this->createModelRelation( $request->header->account, - $vehicle->id, + $equipment->id, $media->id, - VehicleMapper::class, + EquipmentMapper::class, 'files', '', $request->getOrigin() @@ -629,9 +482,9 @@ final class ApiVehicleController extends Controller foreach ($mediaFiles as $media) { $this->createModelRelation( $request->header->account, - $vehicle->id, + $equipment->id, (int) $media, - VehicleMapper::class, + EquipmentMapper::class, 'files', '', $request->getOrigin() @@ -639,7 +492,7 @@ final class ApiVehicleController extends Controller } } - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Media', 'Media added to vehicle.', [ + $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Media', 'Media added to equipment.', [ 'upload' => $uploaded, 'media' => $mediaFiles, ]); @@ -648,17 +501,17 @@ final class ApiVehicleController extends Controller /** * Create media directory path * - * @param Vehicle $vehicle Vehicle + * @param Equipment $equipment Equipment * * @return string * * @since 1.0.0 */ - private function createVehicleDir(Vehicle $vehicle) : string + private function createEquipmentDir(Equipment $equipment) : string { - return '/Modules/FleetManagement/Vehicle/' + return '/Modules/EquipmentManagement/Equipment/' . $this->app->unitId . '/' - . $vehicle->id; + . $equipment->id; } /** @@ -670,11 +523,11 @@ final class ApiVehicleController extends Controller * * @since 1.0.0 */ - private function validateMediaAddToVehicle(RequestAbstract $request) : array + private function validateMediaAddToEquipment(RequestAbstract $request) : array { $val = []; if (($val['media'] = (!$request->hasData('media') && empty($request->files))) - || ($val['vehicle'] = !$request->hasData('vehicle')) + || ($val['equipment'] = !$request->hasData('equipment')) ) { return $val; } @@ -683,7 +536,7 @@ final class ApiVehicleController extends Controller } /** - * Api method to create a vehicle + * Api method to create a equipment * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -719,11 +572,11 @@ final class ApiVehicleController extends Controller } /** - * Method to create vehicle from request. + * Method to create equipment from request. * * @param RequestAbstract $request Request * - * @return BaseStringL11nType Returns the created vehicle from the request + * @return BaseStringL11nType Returns the created equipment from the request * * @since 1.0.0 */ @@ -737,7 +590,7 @@ final class ApiVehicleController extends Controller } /** - * Validate vehicle create request + * Validate equipment create request * * @param RequestAbstract $request Request * @@ -758,7 +611,7 @@ final class ApiVehicleController extends Controller } /** - * Api method to create vehicle attribute l11n + * Api method to create equipment attribute l11n * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -785,7 +638,7 @@ final class ApiVehicleController extends Controller } /** - * Method to create vehicle attribute l11n from request. + * Method to create equipment attribute l11n from request. * * @param RequestAbstract $request Request * @@ -806,7 +659,7 @@ final class ApiVehicleController extends Controller } /** - * Validate vehicle attribute l11n create request + * Validate equipment attribute l11n create request * * @param RequestAbstract $request Request * @@ -842,13 +695,13 @@ final class ApiVehicleController extends Controller 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->data['equipment_note_create'] = new FormValidation($val); $response->header->status = RequestStatusCode::R_400; return; } - $request->setData('virtualpath', '/Modules/FleetManagement/Vehicle/' . $request->getData('id'), true); + $request->setData('virtualpath', '/Modules/EquipmentManagement/Equipment/' . $request->getData('id'), true); $this->app->moduleManager->get('Editor', 'Api')->apiEditorCreate($request, $response, $data); if ($response->header->status !== RequestStatusCode::R_200) { @@ -861,7 +714,7 @@ final class ApiVehicleController extends Controller } $model = $responseData['response']; - $this->createModelRelation($request->header->account, (int) $request->getData('id'), $model->id, VehicleMapper::class, 'notes', '', $request->getOrigin()); + $this->createModelRelation($request->header->account, (int) $request->getData('id'), $model->id, EquipmentMapper::class, 'notes', '', $request->getOrigin()); } /** diff --git a/Controller/ApiVehicleAttributeController.php b/Controller/ApiVehicleAttributeController.php deleted file mode 100644 index 739a828..0000000 --- a/Controller/ApiVehicleAttributeController.php +++ /dev/null @@ -1,534 +0,0 @@ -validateVehicleAttributeCreate($request))) { - $response->data['attribute_create'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $attribute = $this->createVehicleAttributeFromRequest($request); - $this->createModel($request->header->account, $attribute, VehicleAttributeMapper::class, 'attribute', $request->getOrigin()); - - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute', 'Attribute successfully created', $attribute); - } - - /** - * Method to create vehicle attribute from request. - * - * @param RequestAbstract $request Request - * - * @return Attribute - * - * @since 1.0.0 - */ - private function createVehicleAttributeFromRequest(RequestAbstract $request) : Attribute - { - $attribute = new Attribute(); - $attribute->ref = (int) $request->getData('vehicle'); - $attribute->type = new NullAttributeType((int) $request->getData('type')); - - if ($request->hasData('value')) { - $attribute->value = new NullAttributeValue((int) $request->getData('value')); - } else { - $newRequest = clone $request; - $newRequest->setData('value', $request->getData('custom'), true); - - $value = $this->createAttributeValueFromRequest($newRequest); - - $attribute->value = $value; - } - - return $attribute; - } - - /** - * Validate vehicle attribute create request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateVehicleAttributeCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['type'] = !$request->hasData('type')) - || ($val['value'] = (!$request->hasData('value') && !$request->hasData('custom'))) - || ($val['vehicle'] = !$request->hasData('vehicle')) - ) { - return $val; - } - - return []; - } - - /** - * Api method to create vehicle attribute - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return void - * - * @api - * - * @since 1.0.0 - */ - public function apiVehicleAttributeUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateVehicleAttributeUpdate($request))) { - $response->data['attribute_update'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $old = VehicleAttributeMapper::get() - ->with('type') - ->with('type/defaults') - ->with('value') - ->where('id', (int) $request->getData('id')) - ->execute(); - - $new = $this->updateVehicleAttributeFromRequest($request, $old->deepClone()); - $this->updateModel($request->header->account, $old, $new, VehicleAttributeMapper::class, 'attribute', $request->getOrigin()); - - if ($new->value->getValue() !== $old->value->getValue()) { - $this->updateModel($request->header->account, $old->value, $new->value, VehicleAttributeValueMapper::class, 'attribute_value', $request->getOrigin()); - } - - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute', 'Attribute successfully updated', $new); - } - - /** - * Method to create vehicle attribute from request. - * - * @param RequestAbstract $request Request - * - * @return Attribute - * - * @since 1.0.0 - */ - private function updateVehicleAttributeFromRequest(RequestAbstract $request, Attribute $attribute) : Attribute - { - if ($attribute->type->custom) { - if ($request->hasData('value')) { - // @question: we are overwriting the old value, could there be a use case where we want to create a new value and keep the old one? - $attribute->value->setValue($request->getData('value'), $attribute->type->datatype); - } - } else { - if ($request->hasData('value')) { - // @todo: fix by only accepting the value id to be used - // this is a workaround for now because the front end doesn't allow to dynamically show default values. - $value = $attribute->type->getDefaultByValue($request->getData('value')); - - if ($value->id !== 0) { - $attribute->value = $attribute->type->getDefaultByValue($request->getData('value')); - } - } - } - - return $attribute; - } - - /** - * Validate vehicle attribute create request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateVehicleAttributeUpdate(RequestAbstract $request) : array - { - $val = []; - if (($val['id'] = !$request->hasData('id')) - ) { - 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 apiVehicleAttributeTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateVehicleAttributeTypeL11nCreate($request))) { - $response->data['attr_type_l11n_create'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $attrL11n = $this->createVehicleAttributeTypeL11nFromRequest($request); - $this->createModel($request->header->account, $attrL11n, VehicleAttributeTypeL11nMapper::class, 'attr_type_l11n', $request->getOrigin()); - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $attrL11n); - } - - /** - * Method to create vehicle attribute l11n from request. - * - * @param RequestAbstract $request Request - * - * @return BaseStringL11n - * - * @since 1.0.0 - */ - private function createVehicleAttributeTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n - { - $attrL11n = new BaseStringL11n(); - $attrL11n->ref = $request->getDataInt('type') ?? 0; - $attrL11n->setLanguage( - $request->getDataString('language') ?? $request->header->l11n->language - ); - $attrL11n->content = $request->getDataString('title') ?? ''; - - return $attrL11n; - } - - /** - * Validate vehicle attribute l11n create request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateVehicleAttributeTypeL11nCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['title'] = !$request->hasData('title')) - || ($val['type'] = !$request->hasData('type')) - ) { - return $val; - } - - return []; - } - - /** - * Api method to create vehicle attribute type - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return void - * - * @api - * - * @since 1.0.0 - */ - public function apiVehicleAttributeTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateVehicleAttributeTypeCreate($request))) { - $response->data['attr_type_create'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $attrType = $this->createAttributeTypeFromRequest($request); - $this->createModel($request->header->account, $attrType, VehicleAttributeTypeMapper::class, 'attr_type', $request->getOrigin()); - - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute type', 'Attribute type successfully created', $attrType); - } - - /** - * Method to create vehicle attribute from request. - * - * @param RequestAbstract $request Request - * - * @return AttributeType - * - * @since 1.0.0 - */ - private function createAttributeTypeFromRequest(RequestAbstract $request) : AttributeType - { - $attrType = new AttributeType($request->getDataString('name') ?? ''); - $attrType->datatype = $request->getDataInt('datatype') ?? 0; - $attrType->custom = $request->getDataBool('custom') ?? false; - $attrType->isRequired = (bool) ($request->getData('is_required') ?? false); - $attrType->validationPattern = $request->getDataString('validation_pattern') ?? ''; - $attrType->setL11n($request->getDataString('title') ?? '', $request->getDataString('language') ?? ISO639x1Enum::_EN); - $attrType->setFields($request->getDataInt('fields') ?? 0); - - return $attrType; - } - - /** - * Validate vehicle attribute create request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateVehicleAttributeTypeCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['title'] = !$request->hasData('title')) - || ($val['name'] = !$request->hasData('name')) - ) { - return $val; - } - - return []; - } - - /** - * Api method to create vehicle attribute value - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return void - * - * @api - * - * @since 1.0.0 - */ - public function apiVehicleAttributeValueCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateVehicleAttributeValueCreate($request))) { - $response->data['attr_value_create'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $attrValue = $this->createAttributeValueFromRequest($request); - $this->createModel($request->header->account, $attrValue, VehicleAttributeValueMapper::class, 'attr_value', $request->getOrigin()); - - if ($attrValue->isDefault) { - $this->createModelRelation( - $request->header->account, - (int) $request->getData('type'), - $attrValue->id, - VehicleAttributeTypeMapper::class, 'defaults', '', $request->getOrigin() - ); - } - - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute value', 'Attribute value successfully created', $attrValue); - } - - /** - * Method to create vehicle attribute value from request. - * - * @param RequestAbstract $request Request - * - * @return AttributeValue - * - * @since 1.0.0 - */ - private function createAttributeValueFromRequest(RequestAbstract $request) : AttributeValue - { - /** @var AttributeType $type */ - $type = VehicleAttributeTypeMapper::get() - ->where('id', $request->getDataInt('type') ?? 0) - ->execute(); - - $attrValue = new AttributeValue(); - $attrValue->isDefault = $request->getDataBool('default') ?? false; - $attrValue->setValue($request->getData('value'), $type->datatype); - - if ($request->hasData('title')) { - $attrValue->setL11n($request->getDataString('title') ?? '', $request->getDataString('language') ?? ISO639x1Enum::_EN); - } - - return $attrValue; - } - - /** - * Validate vehicle attribute value create request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateVehicleAttributeValueCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['type'] = !$request->hasData('type')) - || ($val['value'] = !$request->hasData('value')) - ) { - 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 apiVehicleAttributeValueL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateVehicleAttributeValueL11nCreate($request))) { - $response->data['attr_value_l11n_create'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $attrL11n = $this->createAttributeValueL11nFromRequest($request); - $this->createModel($request->header->account, $attrL11n, VehicleAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin()); - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $attrL11n); - } - - /** - * Method to create vehicle attribute l11n from request. - * - * @param RequestAbstract $request Request - * - * @return BaseStringL11n - * - * @since 1.0.0 - */ - private function createAttributeValueL11nFromRequest(RequestAbstract $request) : BaseStringL11n - { - $attrL11n = new BaseStringL11n(); - $attrL11n->ref = $request->getDataInt('value') ?? 0; - $attrL11n->setLanguage( - $request->getDataString('language') ?? $request->header->l11n->language - ); - $attrL11n->content = $request->getDataString('title') ?? ''; - - return $attrL11n; - } - - /** - * Validate vehicle attribute l11n create request - * - * @param RequestAbstract $request Request - * - * @return array - * - * @since 1.0.0 - */ - private function validateVehicleAttributeValueL11nCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['title'] = !$request->hasData('title')) - || ($val['value'] = !$request->hasData('value')) - ) { - return $val; - } - - return []; - } - - /** - * Api method to handle api vehicle attributes - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return void - * - * @api - * - * @since 1.0.0 - */ - public function apiVehicleAttribute(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void - { - if (!empty($val = $this->validateVehicleAttributeValueL11nCreate($request))) { - $response->data['attr_value_l11n_create'] = new FormValidation($val); - $response->header->status = RequestStatusCode::R_400; - - return; - } - - $attrL11n = $this->createAttributeValueL11nFromRequest($request); - $this->createModel($request->header->account, $attrL11n, VehicleAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin()); - $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $attrL11n); - } -} diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 30a5ab4..847e87b 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement + * @package Modules\EquipmentManagement * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,14 +12,14 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Controller; +namespace Modules\EquipmentManagement\Controller; use Modules\Admin\Models\LocalizationMapper; use Modules\Admin\Models\SettingsEnum; -use Modules\FleetManagement\Models\VehicleAttributeTypeL11nMapper; -use Modules\FleetManagement\Models\VehicleAttributeTypeMapper; -use Modules\FleetManagement\Models\VehicleMapper; -use Modules\FleetManagement\Models\VehicleTypeMapper; +use Modules\EquipmentManagement\Models\EquipmentAttributeTypeL11nMapper; +use Modules\EquipmentManagement\Models\EquipmentAttributeTypeMapper; +use Modules\EquipmentManagement\Models\EquipmentMapper; +use Modules\EquipmentManagement\Models\EquipmentTypeMapper; use Modules\Media\Models\MediaMapper; use Modules\Media\Models\MediaTypeMapper; use Modules\Organization\Models\UnitMapper; @@ -30,9 +30,9 @@ use phpOMS\Message\ResponseAbstract; use phpOMS\Views\View; /** - * FleetManagement class. + * EquipmentManagement class. * - * @package Modules\FleetManagement + * @package Modules\EquipmentManagement * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -52,14 +52,14 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function viewFleetManagementAttributeTypeList(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface + public function viewEquipmentManagementAttributeTypeList(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); - $view->setTemplate('/Modules/FleetManagement/Theme/Backend/attribute-type-list'); + $view->setTemplate('/Modules/EquipmentManagement/Theme/Backend/attribute-type-list'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003503001, $request, $response); /** @var \Modules\Attribute\Models\AttributeType[] $attributes */ - $attributes = VehicleAttributeTypeMapper::getAll() + $attributes = EquipmentAttributeTypeMapper::getAll() ->with('l11n') ->where('l11n/language', $response->header->l11n->language) ->execute(); @@ -81,50 +81,21 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function viewFleetManagementVehicleList(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface + public function viewEquipmentManagementEquipmentList(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); - $view->setTemplate('/Modules/FleetManagement/Theme/Backend/vehicle-list'); + $view->setTemplate('/Modules/EquipmentManagement/Theme/Backend/equipment-list'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003502001, $request, $response); - $list = VehicleMapper::getAll() + $list = EquipmentMapper::getAll() ->with('type') ->with('type/l11n') ->where('type/l11n/language', $response->header->l11n->language) ->sort('id', 'DESC') ->execute(); - $view->data['vehicles'] = $list; - - return $view; - } - - /** - * Routing end-point for application behaviour. - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return RenderableInterface Returns a renderable object - * - * @since 1.0.0 - * @codeCoverageIgnore - */ - public function viewFleetManagementDriverList(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface - { - $view = new View($this->app->l11nManager, $request, $response); - - $view->setTemplate('/Modules/FleetManagement/Theme/Backend/driver-list'); - $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003502001, $request, $response); - - $list = DriverMapper::getAll() - ->with('account') - ->sort('id', 'DESC') - ->execute(); - - $view->data['drivers'] = $list; + $view->data['equipments'] = $list; return $view; } @@ -141,20 +112,20 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function viewFleetManagementAttributeType(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface + public function viewEquipmentManagementAttributeType(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); - $view->setTemplate('/Modules/FleetManagement/Theme/Backend/attribute-type'); + $view->setTemplate('/Modules/EquipmentManagement/Theme/Backend/attribute-type'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1004801001, $request, $response); /** @var \Modules\Attribute\Models\AttributeType $attribute */ - $attribute = VehicleAttributeTypeMapper::get() + $attribute = EquipmentAttributeTypeMapper::get() ->with('l11n') ->where('id', (int) $request->getData('id')) ->where('l11n/language', $response->header->l11n->language) ->execute(); - $l11ns = VehicleAttributeTypeL11nMapper::getAll() + $l11ns = EquipmentAttributeTypeL11nMapper::getAll() ->where('ref', $attribute->id) ->execute(); @@ -176,11 +147,11 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function viewFleetManagementVehicleCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface + public function viewEquipmentManagementEquipmentCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); - $view->setTemplate('/Modules/FleetManagement/Theme/Backend/vehicle-profile'); + $view->setTemplate('/Modules/EquipmentManagement/Theme/Backend/equipment-profile'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003502001, $request, $response); /** @var \Model\Setting $settings */ @@ -192,7 +163,7 @@ final class BackendController extends Controller $view->data['attributeView']->data['defaultlocalization'] = LocalizationMapper::get()->where('id', (int) $settings->id)->execute(); $view->data['media-upload'] = new \Modules\Media\Theme\Backend\Components\Upload\BaseView($this->app->l11nManager, $request, $response); - $view->data['vehicle-notes'] = new \Modules\Editor\Theme\Backend\Components\Compound\BaseView($this->app->l11nManager, $request, $response); + $view->data['equipment-notes'] = new \Modules\Editor\Theme\Backend\Components\Compound\BaseView($this->app->l11nManager, $request, $response); return $view; } @@ -209,15 +180,15 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function viewFleetManagementVehicleProfile(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface + public function viewEquipmentManagementEquipmentProfile(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); - $view->setTemplate('/Modules/FleetManagement/Theme/Backend/vehicle-profile'); + $view->setTemplate('/Modules/EquipmentManagement/Theme/Backend/equipment-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() + $equipment = EquipmentMapper::get() ->with('attributes') ->with('attributes/type') ->with('attributes/value') @@ -234,36 +205,36 @@ final class BackendController extends Controller ->where('attributes/type/l11n/language', $response->header->l11n->language) ->execute(); - $view->data['vehicle'] = $vehicle; + $view->data['equipment'] = $equipment; $query = new Builder($this->app->dbPool->get()); - $results = $query->selectAs(VehicleMapper::HAS_MANY['files']['external'], 'file') - ->from(VehicleMapper::TABLE) - ->leftJoin(VehicleMapper::HAS_MANY['files']['table']) - ->on(VehicleMapper::HAS_MANY['files']['table'] . '.' . VehicleMapper::HAS_MANY['files']['self'], '=', VehicleMapper::TABLE . '.' . VehicleMapper::PRIMARYFIELD) + $results = $query->selectAs(EquipmentMapper::HAS_MANY['files']['external'], 'file') + ->from(EquipmentMapper::TABLE) + ->leftJoin(EquipmentMapper::HAS_MANY['files']['table']) + ->on(EquipmentMapper::HAS_MANY['files']['table'] . '.' . EquipmentMapper::HAS_MANY['files']['self'], '=', EquipmentMapper::TABLE . '.' . EquipmentMapper::PRIMARYFIELD) ->leftJoin(MediaMapper::TABLE) - ->on(VehicleMapper::HAS_MANY['files']['table'] . '.' . VehicleMapper::HAS_MANY['files']['external'], '=', MediaMapper::TABLE . '.' . MediaMapper::PRIMARYFIELD) + ->on(EquipmentMapper::HAS_MANY['files']['table'] . '.' . EquipmentMapper::HAS_MANY['files']['external'], '=', MediaMapper::TABLE . '.' . MediaMapper::PRIMARYFIELD) ->leftJoin(MediaMapper::HAS_MANY['types']['table']) ->on(MediaMapper::TABLE . '.' . MediaMapper::PRIMARYFIELD, '=', MediaMapper::HAS_MANY['types']['table'] . '.' . MediaMapper::HAS_MANY['types']['self']) ->leftJoin(MediaTypeMapper::TABLE) ->on(MediaMapper::HAS_MANY['types']['table'] . '.' . MediaMapper::HAS_MANY['types']['external'], '=', MediaTypeMapper::TABLE . '.' . MediaTypeMapper::PRIMARYFIELD) - ->where(VehicleMapper::HAS_MANY['files']['self'], '=', $vehicle->id) - ->where(MediaTypeMapper::TABLE . '.' . MediaTypeMapper::getColumnByMember('name'), '=', 'vehicle_profile_image'); + ->where(EquipmentMapper::HAS_MANY['files']['self'], '=', $equipment->id) + ->where(MediaTypeMapper::TABLE . '.' . MediaTypeMapper::getColumnByMember('name'), '=', 'equipment_profile_image'); - $vehicleImage = MediaMapper::get() + $equipmentImage = MediaMapper::get() ->with('types') ->where('id', $results) ->limit(1) ->execute(); - $view->data['vehicleImage'] = $vehicleImage; + $view->data['equipmentImage'] = $equipmentImage; - $vehicleTypes = VehicleTypeMapper::getAll() + $equipmentTypes = EquipmentTypeMapper::getAll() ->with('l11n') ->where('l11n/language', $response->header->l11n->language) ->execute(); - $view->data['types'] = $vehicleTypes; + $view->data['types'] = $equipmentTypes; $units = UnitMapper::getAll() ->execute(); @@ -279,76 +250,7 @@ final class BackendController extends Controller $view->data['attributeView']->data['defaultlocalization'] = LocalizationMapper::get()->where('id', (int) $settings->id)->execute(); $view->data['media-upload'] = new \Modules\Media\Theme\Backend\Components\Upload\BaseView($this->app->l11nManager, $request, $response); - $view->data['vehicle-notes'] = new \Modules\Editor\Theme\Backend\Components\Compound\BaseView($this->app->l11nManager, $request, $response); - - return $view; - } - - /** - * Routing end-point for application behaviour. - * - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return RenderableInterface Returns a renderable object - * - * @since 1.0.0 - * @codeCoverageIgnore - */ - public function viewFleetManagementDriverProfile(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface - { - $view = new View($this->app->l11nManager, $request, $response); - - $view->setTemplate('/Modules/FleetManagement/Theme/Backend/driver-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. - $driver = DriverMapper::get() - ->with('attributes') - ->with('attributes/type') - ->with('attributes/value') - ->with('attributes/type/l11n') - ->with('files') - ->with('files/types') - ->where('id', (int) $request->getData('id')) - ->where('attributes/type/l11n/language', $response->header->l11n->language) - ->execute(); - - $view->data['driver'] = $driver; - - $query = new Builder($this->app->dbPool->get()); - $results = $query->selectAs(DriverMapper::HAS_MANY['files']['external'], 'file') - ->from(DriverMapper::TABLE) - ->leftJoin(DriverMapper::HAS_MANY['files']['table']) - ->on(DriverMapper::HAS_MANY['files']['table'] . '.' . DriverMapper::HAS_MANY['files']['self'], '=', DriverMapper::TABLE . '.' . DriverMapper::PRIMARYFIELD) - ->leftJoin(MediaMapper::TABLE) - ->on(DriverMapper::HAS_MANY['files']['table'] . '.' . DriverMapper::HAS_MANY['files']['external'], '=', MediaMapper::TABLE . '.' . MediaMapper::PRIMARYFIELD) - ->leftJoin(MediaMapper::HAS_MANY['types']['table']) - ->on(MediaMapper::TABLE . '.' . MediaMapper::PRIMARYFIELD, '=', MediaMapper::HAS_MANY['types']['table'] . '.' . MediaMapper::HAS_MANY['types']['self']) - ->leftJoin(MediaTypeMapper::TABLE) - ->on(MediaMapper::HAS_MANY['types']['table'] . '.' . MediaMapper::HAS_MANY['types']['external'], '=', MediaTypeMapper::TABLE . '.' . MediaTypeMapper::PRIMARYFIELD) - ->where(DriverMapper::HAS_MANY['files']['self'], '=', $driver->id) - ->where(MediaTypeMapper::TABLE . '.' . MediaTypeMapper::getColumnByMember('name'), '=', 'driver_profile_image'); - - $driverImage = MediaMapper::get() - ->with('types') - ->where('id', $results) - ->limit(1) - ->execute(); - - $view->data['driverImage'] = $driverImage; - - /** @var \Model\Setting $settings */ - $settings = $this->app->appSettings->get(null, [ - SettingsEnum::DEFAULT_LOCALIZATION, - ]); - - $view->data['attributeView'] = new \Modules\Attribute\Theme\Backend\Components\AttributeView($this->app->l11nManager, $request, $response); - $view->data['attributeView']->data['defaultlocalization'] = LocalizationMapper::get()->where('id', (int) $settings->id)->execute(); - - $view->data['media-upload'] = new \Modules\Media\Theme\Backend\Components\Upload\BaseView($this->app->l11nManager, $request, $response); - $view->data['driver-notes'] = new \Modules\Editor\Theme\Backend\Components\Compound\BaseView($this->app->l11nManager, $request, $response); + $view->data['equipment-notes'] = new \Modules\Editor\Theme\Backend\Components\Compound\BaseView($this->app->l11nManager, $request, $response); return $view; } diff --git a/Controller/Controller.php b/Controller/Controller.php index 477d5a1..8c9625a 100755 --- a/Controller/Controller.php +++ b/Controller/Controller.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement + * @package Modules\EquipmentManagement * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,14 +12,14 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Controller; +namespace Modules\EquipmentManagement\Controller; use phpOMS\Module\ModuleAbstract; /** - * FleetManagement class. + * EquipmentManagement class. * - * @package Modules\FleetManagement + * @package Modules\EquipmentManagement * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -48,7 +48,7 @@ class Controller extends ModuleAbstract * @var string * @since 1.0.0 */ - public const NAME = 'FleetManagement'; + public const NAME = 'EquipmentManagement'; /** * Module id. @@ -56,7 +56,7 @@ class Controller extends ModuleAbstract * @var int * @since 1.0.0 */ - public const ID = 1003500000; + public const ID = 1008400000; /** * Providing. diff --git a/Models/Cost.php b/Models/Cost.php index b724492..aeae23a 100644 --- a/Models/Cost.php +++ b/Models/Cost.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; /** * class. diff --git a/Models/CostType.php b/Models/CostType.php index 52d49f6..95b0731 100644 --- a/Models/CostType.php +++ b/Models/CostType.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; /** * class. diff --git a/Models/Driver/Driver.php b/Models/Driver/Driver.php deleted file mode 100644 index 829b960..0000000 --- a/Models/Driver/Driver.php +++ /dev/null @@ -1,79 +0,0 @@ - $this->id, - 'status' => $this->status, - ]; - } - - /** - * {@inheritdoc} - */ - public function jsonSerialize() : mixed - { - return $this->toArray(); - } - - use \Modules\Media\Models\MediaListTrait; - use \Modules\Editor\Models\EditorDocListTrait; - use \Modules\Attribute\Models\AttributeHolderTrait; -} diff --git a/Models/Driver/DriverAttributeMapper.php b/Models/Driver/DriverAttributeMapper.php deleted file mode 100644 index 6138f69..0000000 --- a/Models/Driver/DriverAttributeMapper.php +++ /dev/null @@ -1,86 +0,0 @@ - - */ -final class DriverAttributeMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_driver_attr_id' => ['name' => 'fleetmgmt_driver_attr_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_driver_attr_driver' => ['name' => 'fleetmgmt_driver_attr_driver', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_driver_attr_type' => ['name' => 'fleetmgmt_driver_attr_type', 'type' => 'int', 'internal' => 'type'], - 'fleetmgmt_driver_attr_value' => ['name' => 'fleetmgmt_driver_attr_value', 'type' => 'int', 'internal' => 'value'], - ]; - - /** - * Has one relation. - * - * @var array - * @since 1.0.0 - */ - public const OWNS_ONE = [ - 'type' => [ - 'mapper' => DriverAttributeTypeMapper::class, - 'external' => 'fleetmgmt_driver_attr_type', - ], - 'value' => [ - 'mapper' => DriverAttributeValueMapper::class, - 'external' => 'fleetmgmt_driver_attr_value', - ], - ]; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = Attribute::class; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_driver_attr'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_driver_attr_id'; -} diff --git a/Models/Driver/DriverAttributeTypeL11nMapper.php b/Models/Driver/DriverAttributeTypeL11nMapper.php deleted file mode 100644 index 7439317..0000000 --- a/Models/Driver/DriverAttributeTypeL11nMapper.php +++ /dev/null @@ -1,69 +0,0 @@ - - */ -final class DriverAttributeTypeL11nMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_driver_attr_type_l11n_id' => ['name' => 'fleetmgmt_driver_attr_type_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_driver_attr_type_l11n_title' => ['name' => 'fleetmgmt_driver_attr_type_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'fleetmgmt_driver_attr_type_l11n_type' => ['name' => 'fleetmgmt_driver_attr_type_l11n_type', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_driver_attr_type_l11n_lang' => ['name' => 'fleetmgmt_driver_attr_type_l11n_lang', 'type' => 'string', 'internal' => 'language'], - ]; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_driver_attr_type_l11n'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_driver_attr_type_l11n_id'; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = BaseStringL11n::class; -} diff --git a/Models/Driver/DriverAttributeTypeMapper.php b/Models/Driver/DriverAttributeTypeMapper.php deleted file mode 100644 index 544eaab..0000000 --- a/Models/Driver/DriverAttributeTypeMapper.php +++ /dev/null @@ -1,94 +0,0 @@ - - */ -final class DriverAttributeTypeMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_driver_attr_type_id' => ['name' => 'fleetmgmt_driver_attr_type_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_driver_attr_type_name' => ['name' => 'fleetmgmt_driver_attr_type_name', 'type' => 'string', 'internal' => 'name', 'autocomplete' => true], - 'fleetmgmt_driver_attr_type_datatype' => ['name' => 'fleetmgmt_driver_attr_type_datatype', 'type' => 'int', 'internal' => 'datatype'], - 'fleetmgmt_driver_attr_type_fields' => ['name' => 'fleetmgmt_driver_attr_type_fields', 'type' => 'int', 'internal' => 'fields'], - 'fleetmgmt_driver_attr_type_custom' => ['name' => 'fleetmgmt_driver_attr_type_custom', 'type' => 'bool', 'internal' => 'custom'], - 'fleetmgmt_driver_attr_type_pattern' => ['name' => 'fleetmgmt_driver_attr_type_pattern', 'type' => 'string', 'internal' => 'validationPattern'], - 'fleetmgmt_driver_attr_type_required' => ['name' => 'fleetmgmt_driver_attr_type_required', 'type' => 'bool', 'internal' => 'isRequired'], - ]; - - /** - * Has many relation. - * - * @var array - * @since 1.0.0 - */ - public const HAS_MANY = [ - 'l11n' => [ - 'mapper' => DriverAttributeTypeL11nMapper::class, - 'table' => 'fleetmgmt_driver_attr_type_l11n', - 'self' => 'fleetmgmt_driver_attr_type_l11n_type', - 'column' => 'content', - 'external' => null, - ], - 'defaults' => [ - 'mapper' => DriverAttributeValueMapper::class, - 'table' => 'fleetmgmt_driver_attr_default', - 'self' => 'fleetmgmt_driver_attr_default_type', - 'external' => 'fleetmgmt_driver_attr_default_value', - ], - ]; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = AttributeType::class; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_driver_attr_type'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_driver_attr_type_id'; -} diff --git a/Models/Driver/DriverAttributeValueL11nMapper.php b/Models/Driver/DriverAttributeValueL11nMapper.php deleted file mode 100644 index cdb986d..0000000 --- a/Models/Driver/DriverAttributeValueL11nMapper.php +++ /dev/null @@ -1,69 +0,0 @@ - - */ -final class DriverAttributeValueL11nMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_driver_attr_value_l11n_id' => ['name' => 'fleetmgmt_driver_attr_value_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_driver_attr_value_l11n_title' => ['name' => 'fleetmgmt_driver_attr_value_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'fleetmgmt_driver_attr_value_l11n_value' => ['name' => 'fleetmgmt_driver_attr_value_l11n_value', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_driver_attr_value_l11n_lang' => ['name' => 'fleetmgmt_driver_attr_value_l11n_lang', 'type' => 'string', 'internal' => 'language'], - ]; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_driver_attr_value_l11n'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_driver_attr_value_l11n_id'; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = BaseStringL11n::class; -} diff --git a/Models/Driver/DriverAttributeValueMapper.php b/Models/Driver/DriverAttributeValueMapper.php deleted file mode 100644 index 7b883b5..0000000 --- a/Models/Driver/DriverAttributeValueMapper.php +++ /dev/null @@ -1,89 +0,0 @@ - - */ -final class DriverAttributeValueMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_driver_attr_value_id' => ['name' => 'fleetmgmt_driver_attr_value_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_driver_attr_value_default' => ['name' => 'fleetmgmt_driver_attr_value_default', 'type' => 'bool', 'internal' => 'isDefault'], - 'fleetmgmt_driver_attr_value_valueStr' => ['name' => 'fleetmgmt_driver_attr_value_valueStr', 'type' => 'string', 'internal' => 'valueStr'], - 'fleetmgmt_driver_attr_value_valueInt' => ['name' => 'fleetmgmt_driver_attr_value_valueInt', 'type' => 'int', 'internal' => 'valueInt'], - 'fleetmgmt_driver_attr_value_valueDec' => ['name' => 'fleetmgmt_driver_attr_value_valueDec', 'type' => 'float', 'internal' => 'valueDec'], - 'fleetmgmt_driver_attr_value_valueDat' => ['name' => 'fleetmgmt_driver_attr_value_valueDat', 'type' => 'DateTime', 'internal' => 'valueDat'], - 'fleetmgmt_driver_attr_value_unit' => ['name' => 'fleetmgmt_driver_attr_value_unit', 'type' => 'string', 'internal' => 'unit'], - 'fleetmgmt_driver_attr_value_deptype' => ['name' => 'fleetmgmt_driver_attr_value_deptype', 'type' => 'int', 'internal' => 'dependingAttributeType'], - 'fleetmgmt_driver_attr_value_depvalue' => ['name' => 'fleetmgmt_driver_attr_value_depvalue', 'type' => 'int', 'internal' => 'dependingAttributeValue'], - ]; - - /** - * Has many relation. - * - * @var array - * @since 1.0.0 - */ - public const HAS_MANY = [ - 'l11n' => [ - 'mapper' => DriverAttributeValueL11nMapper::class, - 'table' => 'fleetmgmt_driver_attr_value_l11n', - 'self' => 'fleetmgmt_driver_attr_value_l11n_value', - 'external' => null, - ], - ]; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = AttributeValue::class; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_driver_attr_value'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_driver_attr_value_id'; -} diff --git a/Models/Driver/DriverInspection.php b/Models/Driver/DriverInspection.php deleted file mode 100644 index 39e5d9a..0000000 --- a/Models/Driver/DriverInspection.php +++ /dev/null @@ -1,78 +0,0 @@ -type = new BaseStringL11nType(); - } - - /** - * {@inheritdoc} - */ - public function toArray() : array - { - return [ - 'id' => $this->id, - ]; - } - - /** - * {@inheritdoc} - */ - public function jsonSerialize() : mixed - { - return $this->toArray(); - } - - use \Modules\Media\Models\MediaListTrait; -} diff --git a/Models/Driver/DriverInspectionMapper.php b/Models/Driver/DriverInspectionMapper.php deleted file mode 100644 index b7a04ba..0000000 --- a/Models/Driver/DriverInspectionMapper.php +++ /dev/null @@ -1,84 +0,0 @@ - - */ -final class DriverInspectionMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_driver_inspection_id' => ['name' => 'fleetmgmt_driver_inspection_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_driver_inspection_description' => ['name' => 'fleetmgmt_driver_inspection_description', 'type' => 'string', 'internal' => 'description'], - 'fleetmgmt_driver_inspection_status' => ['name' => 'fleetmgmt_driver_inspection_status', 'type' => 'int', 'internal' => 'status'], - 'fleetmgmt_driver_inspection_interval' => ['name' => 'fleetmgmt_driver_inspection_interval', 'type' => 'int', 'internal' => 'interval'], - 'fleetmgmt_driver_inspection_next' => ['name' => 'fleetmgmt_driver_inspection_next', 'type' => 'DateTime', 'internal' => 'next'], - 'fleetmgmt_driver_inspection_type' => ['name' => 'fleetmgmt_driver_inspection_type', 'type' => 'int', 'internal' => 'type'], - ]; - - /** - * Has one relation. - * - * @var array - * @since 1.0.0 - */ - public const OWNS_ONE = [ - 'type' => [ - 'mapper' => DriverInspectionTypeMapper::class, - 'external' => 'fleetmgmt_driver_inspection_type', - ], - ]; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_driver_inspection'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_driver_inspection_id'; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = DriverInspection::class; -} diff --git a/Models/Driver/DriverInspectionStatus.php b/Models/Driver/DriverInspectionStatus.php deleted file mode 100644 index 78b7e58..0000000 --- a/Models/Driver/DriverInspectionStatus.php +++ /dev/null @@ -1,36 +0,0 @@ - - */ -final class DriverInspectionTypeL11nMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_driver_inspection_type_l11n_id' => ['name' => 'fleetmgmt_driver_inspection_type_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_driver_inspection_type_l11n_title' => ['name' => 'fleetmgmt_driver_inspection_type_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'fleetmgmt_driver_inspection_type_l11n_type' => ['name' => 'fleetmgmt_driver_inspection_type_l11n_type', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_driver_inspection_type_l11n_lang' => ['name' => 'fleetmgmt_driver_inspection_type_l11n_lang', 'type' => 'string', 'internal' => 'language'], - ]; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_driver_inspection_type_l11n'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_driver_inspection_type_l11n_id'; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = BaseStringL11n::class; -} diff --git a/Models/Driver/DriverInspectionTypeMapper.php b/Models/Driver/DriverInspectionTypeMapper.php deleted file mode 100644 index 9646a6b..0000000 --- a/Models/Driver/DriverInspectionTypeMapper.php +++ /dev/null @@ -1,83 +0,0 @@ - - */ -final class DriverInspectionTypeMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_driver_inspection_type_id' => ['name' => 'fleetmgmt_driver_inspection_type_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_driver_inspection_type_name' => ['name' => 'fleetmgmt_driver_inspection_type_name', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true], - ]; - - /** - * Has many relation. - * - * @var array - * @since 1.0.0 - */ - public const HAS_MANY = [ - 'l11n' => [ - 'mapper' => DriverInspectionTypeL11nMapper::class, - 'table' => 'fleetmgmt_driver_inspection_type_l11n', - 'self' => 'fleetmgmt_driver_inspection_type_l11n_type', - 'column' => 'content', - 'external' => null, - ], - ]; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = BaseStringL11nType::class; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_driver_inspection_type'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_driver_inspection_type_id'; -} diff --git a/Models/Driver/DriverMapper.php b/Models/Driver/DriverMapper.php deleted file mode 100644 index a661327..0000000 --- a/Models/Driver/DriverMapper.php +++ /dev/null @@ -1,102 +0,0 @@ - - */ -final class DriverMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_driver_id' => ['name' => 'fleetmgmt_driver_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_driver_status' => ['name' => 'fleetmgmt_driver_status', 'type' => 'int', 'internal' => 'status'], - 'fleetmgmt_driver_account' => ['name' => 'fleetmgmt_driver_account', 'type' => 'int', 'internal' => 'account'], - ]; - - /** - * Has many relation. - * - * @var array - * @since 1.0.0 - */ - public const HAS_MANY = [ - 'files' => [ - 'mapper' => MediaMapper::class, - 'table' => 'fleetmgmt_driver_media', - 'external' => 'fleetmgmt_driver_media_media', - 'self' => 'fleetmgmt_driver_media_vehicle', - ], - 'attributes' => [ - 'mapper' => DriverAttributeMapper::class, - 'table' => 'fleetmgmt_driver_attr', - 'self' => 'fleetmgmt_driver_attr_driver', - 'external' => null, - ], - 'notes' => [ - 'mapper' => EditorDocMapper::class, /* mapper of the related object */ - 'table' => 'fleetmgmt_driver_note', /* table of the related object, null if no relation table is used (many->1) */ - 'external' => 'fleetmgmt_driver_note_doc', - 'self' => 'fleetmgmt_driver_note_driver', - ], - ]; - - /** - * Has one relation. - * - * @var array - * @since 1.0.0 - */ - public const OWNS_ONE = [ - 'account' => [ - 'mapper' => AccountMapper::class, - 'external' => 'fleetmgmt_driver_account', - ], - ]; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_driver'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_driver_id'; -} diff --git a/Models/Driver/DriverStatus.php b/Models/Driver/DriverStatus.php deleted file mode 100644 index 798051b..0000000 --- a/Models/Driver/DriverStatus.php +++ /dev/null @@ -1,34 +0,0 @@ -id = $id; - } - - /** - * {@inheritdoc} - */ - public function jsonSerialize() : mixed - { - return ['id' => $this->id]; - } -} diff --git a/Models/Driver/NullDriverInspection.php b/Models/Driver/NullDriverInspection.php deleted file mode 100644 index 2bd03e5..0000000 --- a/Models/Driver/NullDriverInspection.php +++ /dev/null @@ -1,46 +0,0 @@ -id = $id; - } - - /** - * {@inheritdoc} - */ - public function jsonSerialize() : mixed - { - return ['id' => $this->id]; - } -} diff --git a/Models/Vehicle.php b/Models/Equipment.php similarity index 82% rename from Models/Vehicle.php rename to Models/Equipment.php index d45b1ce..e3b8bd2 100644 --- a/Models/Vehicle.php +++ b/Models/Equipment.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,30 +12,28 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\Localization\BaseStringL11nType; /** - * Vehicle class. + * Equipment class. * * @package Modules\Attribute\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 */ -class Vehicle implements \JsonSerializable +class Equipment implements \JsonSerializable { public int $id = 0; public string $name = ''; - public int $status = VehicleStatus::ACTIVE; + public int $status = EquipmentStatus::ACTIVE; public BaseStringL11nType $type; - public BaseStringL11nType $fuelType; - public string $info = ''; public array $drivers = []; @@ -59,7 +57,6 @@ class Vehicle implements \JsonSerializable { $this->createdAt = new \DateTimeImmutable('now'); $this->type = new BaseStringL11nType(); - $this->fuelType = new BaseStringL11nType(); } /** diff --git a/Models/VehicleAttributeMapper.php b/Models/EquipmentAttributeMapper.php similarity index 54% rename from Models/VehicleAttributeMapper.php rename to Models/EquipmentAttributeMapper.php index 4cd22c9..d9e8e99 100644 --- a/Models/VehicleAttributeMapper.php +++ b/Models/EquipmentAttributeMapper.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use Modules\Attribute\Models\Attribute; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; @@ -20,7 +20,7 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; /** * Fleet mapper class. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -28,7 +28,7 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; * @template T of Attribute * @extends DataMapperFactory */ -final class VehicleAttributeMapper extends DataMapperFactory +final class EquipmentAttributeMapper extends DataMapperFactory { /** * Columns. @@ -37,10 +37,10 @@ final class VehicleAttributeMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'fleetmgmt_vehicle_attr_id' => ['name' => 'fleetmgmt_vehicle_attr_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_vehicle_attr_vehicle' => ['name' => 'fleetmgmt_vehicle_attr_vehicle', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_vehicle_attr_type' => ['name' => 'fleetmgmt_vehicle_attr_type', 'type' => 'int', 'internal' => 'type'], - 'fleetmgmt_vehicle_attr_value' => ['name' => 'fleetmgmt_vehicle_attr_value', 'type' => 'int', 'internal' => 'value'], + 'equipmgmt_equipment_attr_id' => ['name' => 'equipmgmt_equipment_attr_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_equipment_attr_equipment' => ['name' => 'equipmgmt_equipment_attr_equipment', 'type' => 'int', 'internal' => 'ref'], + 'equipmgmt_equipment_attr_type' => ['name' => 'equipmgmt_equipment_attr_type', 'type' => 'int', 'internal' => 'type'], + 'equipmgmt_equipment_attr_value' => ['name' => 'equipmgmt_equipment_attr_value', 'type' => 'int', 'internal' => 'value'], ]; /** @@ -51,12 +51,12 @@ final class VehicleAttributeMapper extends DataMapperFactory */ public const OWNS_ONE = [ 'type' => [ - 'mapper' => VehicleAttributeTypeMapper::class, - 'external' => 'fleetmgmt_vehicle_attr_type', + 'mapper' => EquipmentAttributeTypeMapper::class, + 'external' => 'equipmgmt_equipment_attr_type', ], 'value' => [ - 'mapper' => VehicleAttributeValueMapper::class, - 'external' => 'fleetmgmt_vehicle_attr_value', + 'mapper' => EquipmentAttributeValueMapper::class, + 'external' => 'equipmgmt_equipment_attr_value', ], ]; @@ -74,7 +74,7 @@ final class VehicleAttributeMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const TABLE = 'fleetmgmt_vehicle_attr'; + public const TABLE = 'equipmgmt_equipment_attr'; /** * Primary field name. @@ -82,5 +82,5 @@ final class VehicleAttributeMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const PRIMARYFIELD = 'fleetmgmt_vehicle_attr_id'; + public const PRIMARYFIELD = 'equipmgmt_equipment_attr_id'; } diff --git a/Models/VehicleAttributeTypeL11nMapper.php b/Models/EquipmentAttributeTypeL11nMapper.php similarity index 68% rename from Models/VehicleAttributeTypeL11nMapper.php rename to Models/EquipmentAttributeTypeL11nMapper.php index 3aaea51..a760c85 100644 --- a/Models/VehicleAttributeTypeL11nMapper.php +++ b/Models/EquipmentAttributeTypeL11nMapper.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,15 +12,15 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\Localization\BaseStringL11n; /** - * Vehicle mapper class. + * Equipment mapper class. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -28,7 +28,7 @@ use phpOMS\Localization\BaseStringL11n; * @template T of BaseStringL11n * @extends DataMapperFactory */ -final class VehicleAttributeTypeL11nMapper extends DataMapperFactory +final class EquipmentAttributeTypeL11nMapper extends DataMapperFactory { /** * Columns. @@ -37,10 +37,10 @@ final class VehicleAttributeTypeL11nMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'fleetmgmt_attr_type_l11n_id' => ['name' => 'fleetmgmt_attr_type_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_attr_type_l11n_title' => ['name' => 'fleetmgmt_attr_type_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'fleetmgmt_attr_type_l11n_type' => ['name' => 'fleetmgmt_attr_type_l11n_type', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_attr_type_l11n_lang' => ['name' => 'fleetmgmt_attr_type_l11n_lang', 'type' => 'string', 'internal' => 'language'], + 'equipmgmt_attr_type_l11n_id' => ['name' => 'equipmgmt_attr_type_l11n_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_attr_type_l11n_title' => ['name' => 'equipmgmt_attr_type_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], + 'equipmgmt_attr_type_l11n_type' => ['name' => 'equipmgmt_attr_type_l11n_type', 'type' => 'int', 'internal' => 'ref'], + 'equipmgmt_attr_type_l11n_lang' => ['name' => 'equipmgmt_attr_type_l11n_lang', 'type' => 'string', 'internal' => 'language'], ]; /** @@ -49,7 +49,7 @@ final class VehicleAttributeTypeL11nMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const TABLE = 'fleetmgmt_attr_type_l11n'; + public const TABLE = 'equipmgmt_attr_type_l11n'; /** * Primary field name. @@ -57,7 +57,7 @@ final class VehicleAttributeTypeL11nMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const PRIMARYFIELD = 'fleetmgmt_attr_type_l11n_id'; + public const PRIMARYFIELD = 'equipmgmt_attr_type_l11n_id'; /** * Model to use by the mapper. diff --git a/Models/VehicleAttributeTypeMapper.php b/Models/EquipmentAttributeTypeMapper.php similarity index 60% rename from Models/VehicleAttributeTypeMapper.php rename to Models/EquipmentAttributeTypeMapper.php index 314e148..e72b4b0 100644 --- a/Models/VehicleAttributeTypeMapper.php +++ b/Models/EquipmentAttributeTypeMapper.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,15 +12,15 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use Modules\Attribute\Models\AttributeType; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; /** - * Vehicle mapper class. + * Equipment mapper class. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -28,7 +28,7 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; * @template T of AttributeType * @extends DataMapperFactory */ -final class VehicleAttributeTypeMapper extends DataMapperFactory +final class EquipmentAttributeTypeMapper extends DataMapperFactory { /** * Columns. @@ -37,13 +37,13 @@ final class VehicleAttributeTypeMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'fleetmgmt_attr_type_id' => ['name' => 'fleetmgmt_attr_type_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_attr_type_name' => ['name' => 'fleetmgmt_attr_type_name', 'type' => 'string', 'internal' => 'name', 'autocomplete' => true], - 'fleetmgmt_attr_type_datatype' => ['name' => 'fleetmgmt_attr_type_datatype', 'type' => 'int', 'internal' => 'datatype'], - 'fleetmgmt_attr_type_fields' => ['name' => 'fleetmgmt_attr_type_fields', 'type' => 'int', 'internal' => 'fields'], - 'fleetmgmt_attr_type_custom' => ['name' => 'fleetmgmt_attr_type_custom', 'type' => 'bool', 'internal' => 'custom'], - 'fleetmgmt_attr_type_pattern' => ['name' => 'fleetmgmt_attr_type_pattern', 'type' => 'string', 'internal' => 'validationPattern'], - 'fleetmgmt_attr_type_required' => ['name' => 'fleetmgmt_attr_type_required', 'type' => 'bool', 'internal' => 'isRequired'], + 'equipmgmt_attr_type_id' => ['name' => 'equipmgmt_attr_type_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_attr_type_name' => ['name' => 'equipmgmt_attr_type_name', 'type' => 'string', 'internal' => 'name', 'autocomplete' => true], + 'equipmgmt_attr_type_datatype' => ['name' => 'equipmgmt_attr_type_datatype', 'type' => 'int', 'internal' => 'datatype'], + 'equipmgmt_attr_type_fields' => ['name' => 'equipmgmt_attr_type_fields', 'type' => 'int', 'internal' => 'fields'], + 'equipmgmt_attr_type_custom' => ['name' => 'equipmgmt_attr_type_custom', 'type' => 'bool', 'internal' => 'custom'], + 'equipmgmt_attr_type_pattern' => ['name' => 'equipmgmt_attr_type_pattern', 'type' => 'string', 'internal' => 'validationPattern'], + 'equipmgmt_attr_type_required' => ['name' => 'equipmgmt_attr_type_required', 'type' => 'bool', 'internal' => 'isRequired'], ]; /** @@ -54,17 +54,17 @@ final class VehicleAttributeTypeMapper extends DataMapperFactory */ public const HAS_MANY = [ 'l11n' => [ - 'mapper' => VehicleAttributeTypeL11nMapper::class, - 'table' => 'fleetmgmt_attr_type_l11n', - 'self' => 'fleetmgmt_attr_type_l11n_type', + 'mapper' => EquipmentAttributeTypeL11nMapper::class, + 'table' => 'equipmgmt_attr_type_l11n', + 'self' => 'equipmgmt_attr_type_l11n_type', 'column' => 'content', 'external' => null, ], 'defaults' => [ - 'mapper' => VehicleAttributeValueMapper::class, - 'table' => 'fleetmgmt_vehicle_attr_default', - 'self' => 'fleetmgmt_vehicle_attr_default_type', - 'external' => 'fleetmgmt_vehicle_attr_default_value', + 'mapper' => EquipmentAttributeValueMapper::class, + 'table' => 'equipmgmt_equipment_attr_default', + 'self' => 'equipmgmt_equipment_attr_default_type', + 'external' => 'equipmgmt_equipment_attr_default_value', ], ]; @@ -82,7 +82,7 @@ final class VehicleAttributeTypeMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const TABLE = 'fleetmgmt_attr_type'; + public const TABLE = 'equipmgmt_attr_type'; /** * Primary field name. @@ -90,5 +90,5 @@ final class VehicleAttributeTypeMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const PRIMARYFIELD = 'fleetmgmt_attr_type_id'; + public const PRIMARYFIELD = 'equipmgmt_attr_type_id'; } diff --git a/Models/VehicleAttributeValueL11nMapper.php b/Models/EquipmentAttributeValueL11nMapper.php similarity index 68% rename from Models/VehicleAttributeValueL11nMapper.php rename to Models/EquipmentAttributeValueL11nMapper.php index b96c4d4..608fc87 100644 --- a/Models/VehicleAttributeValueL11nMapper.php +++ b/Models/EquipmentAttributeValueL11nMapper.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,15 +12,15 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\Localization\BaseStringL11n; /** - * Vehicle mapper class. + * Equipment mapper class. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -28,7 +28,7 @@ use phpOMS\Localization\BaseStringL11n; * @template T of BaseStringL11n * @extends DataMapperFactory */ -final class VehicleAttributeValueL11nMapper extends DataMapperFactory +final class EquipmentAttributeValueL11nMapper extends DataMapperFactory { /** * Columns. @@ -37,10 +37,10 @@ final class VehicleAttributeValueL11nMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'fleetmgmt_attr_value_l11n_id' => ['name' => 'fleetmgmt_attr_value_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_attr_value_l11n_title' => ['name' => 'fleetmgmt_attr_value_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'fleetmgmt_attr_value_l11n_value' => ['name' => 'fleetmgmt_attr_value_l11n_value', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_attr_value_l11n_lang' => ['name' => 'fleetmgmt_attr_value_l11n_lang', 'type' => 'string', 'internal' => 'language'], + 'equipmgmt_attr_value_l11n_id' => ['name' => 'equipmgmt_attr_value_l11n_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_attr_value_l11n_title' => ['name' => 'equipmgmt_attr_value_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], + 'equipmgmt_attr_value_l11n_value' => ['name' => 'equipmgmt_attr_value_l11n_value', 'type' => 'int', 'internal' => 'ref'], + 'equipmgmt_attr_value_l11n_lang' => ['name' => 'equipmgmt_attr_value_l11n_lang', 'type' => 'string', 'internal' => 'language'], ]; /** @@ -49,7 +49,7 @@ final class VehicleAttributeValueL11nMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const TABLE = 'fleetmgmt_attr_value_l11n'; + public const TABLE = 'equipmgmt_attr_value_l11n'; /** * Primary field name. @@ -57,7 +57,7 @@ final class VehicleAttributeValueL11nMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const PRIMARYFIELD = 'fleetmgmt_attr_value_l11n_id'; + public const PRIMARYFIELD = 'equipmgmt_attr_value_l11n_id'; /** * Model to use by the mapper. diff --git a/Models/EquipmentAttributeValueMapper.php b/Models/EquipmentAttributeValueMapper.php new file mode 100644 index 0000000..1a3119a --- /dev/null +++ b/Models/EquipmentAttributeValueMapper.php @@ -0,0 +1,89 @@ + + */ +final class EquipmentAttributeValueMapper extends DataMapperFactory +{ + /** + * Columns. + * + * @var array + * @since 1.0.0 + */ + public const COLUMNS = [ + 'equipmgmt_attr_value_id' => ['name' => 'equipmgmt_attr_value_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_attr_value_default' => ['name' => 'equipmgmt_attr_value_default', 'type' => 'bool', 'internal' => 'isDefault'], + 'equipmgmt_attr_value_valueStr' => ['name' => 'equipmgmt_attr_value_valueStr', 'type' => 'string', 'internal' => 'valueStr'], + 'equipmgmt_attr_value_valueInt' => ['name' => 'equipmgmt_attr_value_valueInt', 'type' => 'int', 'internal' => 'valueInt'], + 'equipmgmt_attr_value_valueDec' => ['name' => 'equipmgmt_attr_value_valueDec', 'type' => 'float', 'internal' => 'valueDec'], + 'equipmgmt_attr_value_valueDat' => ['name' => 'equipmgmt_attr_value_valueDat', 'type' => 'DateTime', 'internal' => 'valueDat'], + 'equipmgmt_attr_value_unit' => ['name' => 'equipmgmt_attr_value_unit', 'type' => 'string', 'internal' => 'unit'], + 'equipmgmt_attr_value_deptype' => ['name' => 'equipmgmt_attr_value_deptype', 'type' => 'int', 'internal' => 'dependingAttributeType'], + 'equipmgmt_attr_value_depvalue' => ['name' => 'equipmgmt_attr_value_depvalue', 'type' => 'int', 'internal' => 'dependingAttributeValue'], + ]; + + /** + * Has many relation. + * + * @var array + * @since 1.0.0 + */ + public const HAS_MANY = [ + 'l11n' => [ + 'mapper' => EquipmentAttributeValueL11nMapper::class, + 'table' => 'equipmgmt_attr_value_l11n', + 'self' => 'equipmgmt_attr_value_l11n_value', + 'external' => null, + ], + ]; + + /** + * Model to use by the mapper. + * + * @var class-string + * @since 1.0.0 + */ + public const MODEL = AttributeValue::class; + + /** + * Primary table. + * + * @var string + * @since 1.0.0 + */ + public const TABLE = 'equipmgmt_attr_value'; + + /** + * Primary field name. + * + * @var string + * @since 1.0.0 + */ + public const PRIMARYFIELD = 'equipmgmt_attr_value_id'; +} diff --git a/Models/EquipmentMapper.php b/Models/EquipmentMapper.php new file mode 100644 index 0000000..f4cfa05 --- /dev/null +++ b/Models/EquipmentMapper.php @@ -0,0 +1,114 @@ + + */ +final class EquipmentMapper extends DataMapperFactory +{ + /** + * Columns. + * + * @var array + * @since 1.0.0 + */ + public const COLUMNS = [ + 'equipmgmt_equipment_id' => ['name' => 'equipmgmt_equipment_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_equipment_name' => ['name' => 'equipmgmt_equipment_name', 'type' => 'string', 'internal' => 'name'], + 'equipmgmt_equipment_status' => ['name' => 'equipmgmt_equipment_status', 'type' => 'int', 'internal' => 'status'], + 'equipmgmt_equipment_info' => ['name' => 'equipmgmt_equipment_info', 'type' => 'string', 'internal' => 'info'], + 'equipmgmt_equipment_unit' => ['name' => 'equipmgmt_equipment_unit', 'type' => 'int', 'internal' => 'unit'], + 'equipmgmt_equipment_type' => ['name' => 'equipmgmt_equipment_type', 'type' => 'int', 'internal' => 'type'], + 'equipmgmt_equipment_responsible' => ['name' => 'equipmgmt_equipment_responsible', 'type' => 'int', 'internal' => 'responsible'], + 'equipmgmt_equipment_created_at' => ['name' => 'equipmgmt_equipment_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true], + ]; + + /** + * Has many relation. + * + * @var array + * @since 1.0.0 + */ + public const HAS_MANY = [ + 'files' => [ + 'mapper' => MediaMapper::class, + 'table' => 'equipmgmt_equipment_media', + 'external' => 'equipmgmt_equipment_media_media', + 'self' => 'equipmgmt_equipment_media_equipment', + ], + 'attributes' => [ + 'mapper' => EquipmentAttributeMapper::class, + 'table' => 'equipmgmt_equipment_attr', + 'self' => 'equipmgmt_equipment_attr_equipment', + 'external' => null, + ], + 'notes' => [ + 'mapper' => EditorDocMapper::class, /* mapper of the related object */ + 'table' => 'equipmgmt_equipment_note', /* table of the related object, null if no relation table is used (many->1) */ + 'external' => 'equipmgmt_equipment_note_doc', + 'self' => 'equipmgmt_equipment_note_equipment', + ], + ]; + + /** + * Has one relation. + * + * @var array + * @since 1.0.0 + */ + public const OWNS_ONE = [ + 'type' => [ + 'mapper' => EquipmentTypeMapper::class, + 'external' => 'equipmgmt_equipment_type', + ], + ]; + + /** + * Primary table. + * + * @var string + * @since 1.0.0 + */ + public const TABLE = 'equipmgmt_equipment'; + + /** + * Created at. + * + * @var string + * @since 1.0.0 + */ + public const CREATED_AT = 'equipmgmt_equipment_created_at'; + + /** + * Primary field name. + * + * @var string + * @since 1.0.0 + */ + public const PRIMARYFIELD = 'equipmgmt_equipment_id'; +} diff --git a/Models/VehicleStatus.php b/Models/EquipmentStatus.php similarity index 69% rename from Models/VehicleStatus.php rename to Models/EquipmentStatus.php index 060a263..a5b6539 100644 --- a/Models/VehicleStatus.php +++ b/Models/EquipmentStatus.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,19 +12,19 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\Stdlib\Base\Enum; /** - * Vehicle status enum. + * Equipment status enum. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 */ -abstract class VehicleStatus extends Enum +abstract class EquipmentStatus extends Enum { public const ACTIVE = 1; diff --git a/Models/FuelTypeL11nMapper.php b/Models/EquipmentTypeL11nMapper.php similarity index 52% rename from Models/FuelTypeL11nMapper.php rename to Models/EquipmentTypeL11nMapper.php index 0ff1136..598f449 100644 --- a/Models/FuelTypeL11nMapper.php +++ b/Models/EquipmentTypeL11nMapper.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\Localization\BaseStringL11n; @@ -20,7 +20,7 @@ use phpOMS\Localization\BaseStringL11n; /** * mapper class. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -28,7 +28,7 @@ use phpOMS\Localization\BaseStringL11n; * @template T of BaseStringL11n * @extends DataMapperFactory */ -final class FuelTypeL11nMapper extends DataMapperFactory +final class EquipmentTypeL11nMapper extends DataMapperFactory { /** * Columns. @@ -37,10 +37,10 @@ final class FuelTypeL11nMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'fleetmgmt_fuel_type_l11n_id' => ['name' => 'fleetmgmt_fuel_type_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_fuel_type_l11n_title' => ['name' => 'fleetmgmt_fuel_type_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'fleetmgmt_fuel_type_l11n_type' => ['name' => 'fleetmgmt_fuel_type_l11n_type', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_fuel_type_l11n_lang' => ['name' => 'fleetmgmt_fuel_type_l11n_lang', 'type' => 'string', 'internal' => 'language'], + 'equipmgmt_equipment_type_l11n_id' => ['name' => 'equipmgmt_equipment_type_l11n_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_equipment_type_l11n_title' => ['name' => 'equipmgmt_equipment_type_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], + 'equipmgmt_equipment_type_l11n_type' => ['name' => 'equipmgmt_equipment_type_l11n_type', 'type' => 'int', 'internal' => 'ref'], + 'equipmgmt_equipment_type_l11n_lang' => ['name' => 'equipmgmt_equipment_type_l11n_lang', 'type' => 'string', 'internal' => 'language'], ]; /** @@ -49,7 +49,7 @@ final class FuelTypeL11nMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const TABLE = 'fleetmgmt_fuel_type_l11n'; + public const TABLE = 'equipmgmt_equipment_type_l11n'; /** * Primary field name. @@ -57,7 +57,7 @@ final class FuelTypeL11nMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const PRIMARYFIELD = 'fleetmgmt_fuel_type_l11n_id'; + public const PRIMARYFIELD = 'equipmgmt_equipment_type_l11n_id'; /** * Model to use by the mapper. diff --git a/Models/VehicleTypeMapper.php b/Models/EquipmentTypeMapper.php similarity index 63% rename from Models/VehicleTypeMapper.php rename to Models/EquipmentTypeMapper.php index 0498203..ac87266 100644 --- a/Models/VehicleTypeMapper.php +++ b/Models/EquipmentTypeMapper.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\Localization\BaseStringL11nType; @@ -20,7 +20,7 @@ use phpOMS\Localization\BaseStringL11nType; /** * Item mapper class. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -28,7 +28,7 @@ use phpOMS\Localization\BaseStringL11nType; * @template T of BaseStringL11nType * @extends DataMapperFactory */ -final class VehicleTypeMapper extends DataMapperFactory +final class EquipmentTypeMapper extends DataMapperFactory { /** * Columns. @@ -37,8 +37,8 @@ final class VehicleTypeMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'fleetmgmt_vehicle_type_id' => ['name' => 'fleetmgmt_vehicle_type_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_vehicle_type_name' => ['name' => 'fleetmgmt_vehicle_type_name', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true], + 'equipmgmt_equipment_type_id' => ['name' => 'equipmgmt_equipment_type_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_equipment_type_name' => ['name' => 'equipmgmt_equipment_type_name', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true], ]; @@ -50,9 +50,9 @@ final class VehicleTypeMapper extends DataMapperFactory */ public const HAS_MANY = [ 'l11n' => [ - 'mapper' => VehicleTypeL11nMapper::class, - 'table' => 'fleetmgmt_vehicle_type_l11n', - 'self' => 'fleetmgmt_vehicle_type_l11n_type', + 'mapper' => EquipmentTypeL11nMapper::class, + 'table' => 'equipmgmt_equipment_type_l11n', + 'self' => 'equipmgmt_equipment_type_l11n_type', 'column' => 'content', 'external' => null, ], @@ -72,7 +72,7 @@ final class VehicleTypeMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const TABLE = 'fleetmgmt_vehicle_type'; + public const TABLE = 'equipmgmt_equipment_type'; /** * Primary field name. @@ -80,5 +80,5 @@ final class VehicleTypeMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const PRIMARYFIELD = 'fleetmgmt_vehicle_type_id'; + public const PRIMARYFIELD = 'equipmgmt_equipment_type_id'; } diff --git a/Models/FuelTypeMapper.php b/Models/FuelTypeMapper.php deleted file mode 100644 index 22adc74..0000000 --- a/Models/FuelTypeMapper.php +++ /dev/null @@ -1,83 +0,0 @@ - - */ -final class FuelTypeMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_fuel_type_id' => ['name' => 'fleetmgmt_fuel_type_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_fuel_type_name' => ['name' => 'fleetmgmt_fuel_type_name', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true], - ]; - - /** - * Has many relation. - * - * @var array - * @since 1.0.0 - */ - public const HAS_MANY = [ - 'l11n' => [ - 'mapper' => FuelTypeL11nMapper::class, - 'table' => 'fleetmgmt_fuel_type_l11n', - 'self' => 'fleetmgmt_fuel_type_l11n_type', - 'column' => 'content', - 'external' => null, - ], - ]; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = BaseStringL11nType::class; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_fuel_type'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_fuel_type_id'; -} diff --git a/Models/Inspection.php b/Models/Inspection.php index 0148044..84ac830 100644 --- a/Models/Inspection.php +++ b/Models/Inspection.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\Localization\BaseStringL11nType; diff --git a/Models/InspectionMapper.php b/Models/InspectionMapper.php index 45d87a2..3a27226 100644 --- a/Models/InspectionMapper.php +++ b/Models/InspectionMapper.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\Localization\BaseStringL11n; @@ -20,7 +20,7 @@ use phpOMS\Localization\BaseStringL11n; /** * mapper class. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -37,12 +37,12 @@ final class InspectionMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'fleetmgmt_vehicle_inspection_id' => ['name' => 'fleetmgmt_vehicle_inspection_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_vehicle_inspection_description' => ['name' => 'fleetmgmt_vehicle_inspection_description', 'type' => 'string', 'internal' => 'description'], - 'fleetmgmt_vehicle_inspection_status' => ['name' => 'fleetmgmt_vehicle_inspection_status', 'type' => 'int', 'internal' => 'status'], - 'fleetmgmt_vehicle_inspection_interval' => ['name' => 'fleetmgmt_vehicle_inspection_interval', 'type' => 'int', 'internal' => 'interval'], - 'fleetmgmt_vehicle_inspection_next' => ['name' => 'fleetmgmt_vehicle_inspection_next', 'type' => 'DateTime', 'internal' => 'next'], - 'fleetmgmt_vehicle_inspection_type' => ['name' => 'fleetmgmt_vehicle_inspection_type', 'type' => 'int', 'internal' => 'type'], + 'equipmgmt_equipment_inspection_id' => ['name' => 'equipmgmt_equipment_inspection_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_equipment_inspection_description' => ['name' => 'equipmgmt_equipment_inspection_description', 'type' => 'string', 'internal' => 'description'], + 'equipmgmt_equipment_inspection_status' => ['name' => 'equipmgmt_equipment_inspection_status', 'type' => 'int', 'internal' => 'status'], + 'equipmgmt_equipment_inspection_interval' => ['name' => 'equipmgmt_equipment_inspection_interval', 'type' => 'int', 'internal' => 'interval'], + 'equipmgmt_equipment_inspection_next' => ['name' => 'equipmgmt_equipment_inspection_next', 'type' => 'DateTime', 'internal' => 'next'], + 'equipmgmt_equipment_inspection_type' => ['name' => 'equipmgmt_equipment_inspection_type', 'type' => 'int', 'internal' => 'type'], ]; /** @@ -54,7 +54,7 @@ final class InspectionMapper extends DataMapperFactory public const OWNS_ONE = [ 'type' => [ 'mapper' => InspectionTypeMapper::class, - 'external' => 'fleetmgmt_vehicle_inspection_type', + 'external' => 'equipmgmt_equipment_inspection_type', ], ]; @@ -64,7 +64,7 @@ final class InspectionMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const TABLE = 'fleetmgmt_vehicle_inspection'; + public const TABLE = 'equipmgmt_equipment_inspection'; /** * Primary field name. @@ -72,7 +72,7 @@ final class InspectionMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const PRIMARYFIELD = 'fleetmgmt_vehicle_inspection_id'; + public const PRIMARYFIELD = 'equipmgmt_equipment_inspection_id'; /** * Model to use by the mapper. diff --git a/Models/InspectionStatus.php b/Models/InspectionStatus.php index ea62429..a7eef09 100644 --- a/Models/InspectionStatus.php +++ b/Models/InspectionStatus.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,14 +12,14 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\Stdlib\Base\Enum; /** * Inspection status enum. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 diff --git a/Models/InspectionTypeL11nMapper.php b/Models/InspectionTypeL11nMapper.php index 33e4684..fd77390 100644 --- a/Models/InspectionTypeL11nMapper.php +++ b/Models/InspectionTypeL11nMapper.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\Localization\BaseStringL11n; @@ -20,7 +20,7 @@ use phpOMS\Localization\BaseStringL11n; /** * mapper class. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -37,10 +37,10 @@ final class InspectionTypeL11nMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'fleetmgmt_inspection_type_l11n_id' => ['name' => 'fleetmgmt_inspection_type_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_inspection_type_l11n_title' => ['name' => 'fleetmgmt_inspection_type_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'fleetmgmt_inspection_type_l11n_type' => ['name' => 'fleetmgmt_inspection_type_l11n_type', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_inspection_type_l11n_lang' => ['name' => 'fleetmgmt_inspection_type_l11n_lang', 'type' => 'string', 'internal' => 'language'], + 'equipmgmt_inspection_type_l11n_id' => ['name' => 'equipmgmt_inspection_type_l11n_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_inspection_type_l11n_title' => ['name' => 'equipmgmt_inspection_type_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], + 'equipmgmt_inspection_type_l11n_type' => ['name' => 'equipmgmt_inspection_type_l11n_type', 'type' => 'int', 'internal' => 'ref'], + 'equipmgmt_inspection_type_l11n_lang' => ['name' => 'equipmgmt_inspection_type_l11n_lang', 'type' => 'string', 'internal' => 'language'], ]; /** @@ -49,7 +49,7 @@ final class InspectionTypeL11nMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const TABLE = 'fleetmgmt_inspection_type_l11n'; + public const TABLE = 'equipmgmt_inspection_type_l11n'; /** * Primary field name. @@ -57,7 +57,7 @@ final class InspectionTypeL11nMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const PRIMARYFIELD = 'fleetmgmt_inspection_type_l11n_id'; + public const PRIMARYFIELD = 'equipmgmt_inspection_type_l11n_id'; /** * Model to use by the mapper. diff --git a/Models/InspectionTypeMapper.php b/Models/InspectionTypeMapper.php index e818f14..e299dbb 100644 --- a/Models/InspectionTypeMapper.php +++ b/Models/InspectionTypeMapper.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; use phpOMS\Localization\BaseStringL11nType; @@ -20,7 +20,7 @@ use phpOMS\Localization\BaseStringL11nType; /** * Item mapper class. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 @@ -37,8 +37,8 @@ final class InspectionTypeMapper extends DataMapperFactory * @since 1.0.0 */ public const COLUMNS = [ - 'fleetmgmt_inspection_type_id' => ['name' => 'fleetmgmt_inspection_type_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_inspection_type_name' => ['name' => 'fleetmgmt_inspection_type_name', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true], + 'equipmgmt_inspection_type_id' => ['name' => 'equipmgmt_inspection_type_id', 'type' => 'int', 'internal' => 'id'], + 'equipmgmt_inspection_type_name' => ['name' => 'equipmgmt_inspection_type_name', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true], ]; /** @@ -50,8 +50,8 @@ final class InspectionTypeMapper extends DataMapperFactory public const HAS_MANY = [ 'l11n' => [ 'mapper' => InspectionTypeL11nMapper::class, - 'table' => 'fleetmgmt_inspection_type_l11n', - 'self' => 'fleetmgmt_inspection_type_l11n_type', + 'table' => 'equipmgmt_inspection_type_l11n', + 'self' => 'equipmgmt_inspection_type_l11n_type', 'column' => 'content', 'external' => null, ], @@ -71,7 +71,7 @@ final class InspectionTypeMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const TABLE = 'fleetmgmt_inspection_type'; + public const TABLE = 'equipmgmt_inspection_type'; /** * Primary field name. @@ -79,5 +79,5 @@ final class InspectionTypeMapper extends DataMapperFactory * @var string * @since 1.0.0 */ - public const PRIMARYFIELD = 'fleetmgmt_inspection_type_id'; + public const PRIMARYFIELD = 'equipmgmt_inspection_type_id'; } diff --git a/Models/License.php b/Models/License.php deleted file mode 100644 index e69de29..0000000 diff --git a/Models/LicenseType.php b/Models/LicenseType.php deleted file mode 100644 index e69de29..0000000 diff --git a/Models/NullVehicle.php b/Models/NullEquipment.php similarity index 77% rename from Models/NullVehicle.php rename to Models/NullEquipment.php index 656899c..17a7184 100644 --- a/Models/NullVehicle.php +++ b/Models/NullEquipment.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,17 +12,17 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; /** * Null model * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 */ -final class NullVehicle extends Vehicle +final class NullEquipment extends Equipment { /** * Constructor diff --git a/Models/NullInspection.php b/Models/NullInspection.php index 44acde6..dfa93b4 100644 --- a/Models/NullInspection.php +++ b/Models/NullInspection.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,12 +12,12 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; /** * Null model * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 diff --git a/Models/PermissionCategory.php b/Models/PermissionCategory.php index 8db498a..cc7f905 100755 --- a/Models/PermissionCategory.php +++ b/Models/PermissionCategory.php @@ -4,7 +4,7 @@ * * PHP Version 8.1 * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -12,37 +12,27 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; use phpOMS\Stdlib\Base\Enum; /** * Permision state enum. * - * @package Modules\FleetManagement\Models + * @package Modules\EquipmentManagement\Models * @license OMS License 2.0 * @link https://jingga.app * @since 1.0.0 */ abstract class PermissionCategory extends Enum { - public const VEHICLE = 1; + public const EQUIPMENT = 1; - public const FUEL_TYPE = 2; + public const EQUIPMENT_TYPE = 3; - public const VEHICLE_TYPE = 3; + public const EQUIPMENT_INSPECTION_TYPE = 4; - public const VEHICLE_INSPECTION_TYPE = 4; + public const EQUIPMENT_INSPECTION = 5; - public const VEHICLE_INSPECTION = 5; - - public const VEHICLE_ATTRIBUTE_TYPE = 6; - - public const DRIVER = 7; - - public const DRIVER_INSPECTION_TYPE = 8; - - public const DRIVER_INSPECTION = 9; - - public const DRIVER_ATTRIBUTE_TYPE = 10; + public const EQUIPMENT_ATTRIBUTE_TYPE = 6; } diff --git a/Models/VehicleAttributeValueMapper.php b/Models/VehicleAttributeValueMapper.php deleted file mode 100644 index 5e1cd12..0000000 --- a/Models/VehicleAttributeValueMapper.php +++ /dev/null @@ -1,89 +0,0 @@ - - */ -final class VehicleAttributeValueMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_attr_value_id' => ['name' => 'fleetmgmt_attr_value_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_attr_value_default' => ['name' => 'fleetmgmt_attr_value_default', 'type' => 'bool', 'internal' => 'isDefault'], - 'fleetmgmt_attr_value_valueStr' => ['name' => 'fleetmgmt_attr_value_valueStr', 'type' => 'string', 'internal' => 'valueStr'], - 'fleetmgmt_attr_value_valueInt' => ['name' => 'fleetmgmt_attr_value_valueInt', 'type' => 'int', 'internal' => 'valueInt'], - 'fleetmgmt_attr_value_valueDec' => ['name' => 'fleetmgmt_attr_value_valueDec', 'type' => 'float', 'internal' => 'valueDec'], - 'fleetmgmt_attr_value_valueDat' => ['name' => 'fleetmgmt_attr_value_valueDat', 'type' => 'DateTime', 'internal' => 'valueDat'], - 'fleetmgmt_attr_value_unit' => ['name' => 'fleetmgmt_attr_value_unit', 'type' => 'string', 'internal' => 'unit'], - 'fleetmgmt_attr_value_deptype' => ['name' => 'fleetmgmt_attr_value_deptype', 'type' => 'int', 'internal' => 'dependingAttributeType'], - 'fleetmgmt_attr_value_depvalue' => ['name' => 'fleetmgmt_attr_value_depvalue', 'type' => 'int', 'internal' => 'dependingAttributeValue'], - ]; - - /** - * Has many relation. - * - * @var array - * @since 1.0.0 - */ - public const HAS_MANY = [ - 'l11n' => [ - 'mapper' => VehicleAttributeValueL11nMapper::class, - 'table' => 'fleetmgmt_attr_value_l11n', - 'self' => 'fleetmgmt_attr_value_l11n_value', - 'external' => null, - ], - ]; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = AttributeValue::class; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_attr_value'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_attr_value_id'; -} diff --git a/Models/VehicleMapper.php b/Models/VehicleMapper.php deleted file mode 100644 index bf821ba..0000000 --- a/Models/VehicleMapper.php +++ /dev/null @@ -1,119 +0,0 @@ - - */ -final class VehicleMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_vehicle_id' => ['name' => 'fleetmgmt_vehicle_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_vehicle_name' => ['name' => 'fleetmgmt_vehicle_name', 'type' => 'string', 'internal' => 'name'], - 'fleetmgmt_vehicle_status' => ['name' => 'fleetmgmt_vehicle_status', 'type' => 'int', 'internal' => 'status'], - 'fleetmgmt_vehicle_info' => ['name' => 'fleetmgmt_vehicle_info', 'type' => 'string', 'internal' => 'info'], - 'fleetmgmt_vehicle_unit' => ['name' => 'fleetmgmt_vehicle_unit', 'type' => 'int', 'internal' => 'unit'], - 'fleetmgmt_vehicle_type' => ['name' => 'fleetmgmt_vehicle_type', 'type' => 'int', 'internal' => 'type'], - 'fleetmgmt_vehicle_fuel' => ['name' => 'fleetmgmt_vehicle_fuel', 'type' => 'int', 'internal' => 'fuelType'], - 'fleetmgmt_vehicle_responsible' => ['name' => 'fleetmgmt_vehicle_responsible', 'type' => 'int', 'internal' => 'responsible'], - 'fleetmgmt_vehicle_created_at' => ['name' => 'fleetmgmt_vehicle_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true], - ]; - - /** - * Has many relation. - * - * @var array - * @since 1.0.0 - */ - public const HAS_MANY = [ - 'files' => [ - 'mapper' => MediaMapper::class, - 'table' => 'fleetmgmt_vehicle_media', - 'external' => 'fleetmgmt_vehicle_media_media', - 'self' => 'fleetmgmt_vehicle_media_vehicle', - ], - 'attributes' => [ - 'mapper' => VehicleAttributeMapper::class, - 'table' => 'fleetmgmt_vehicle_attr', - 'self' => 'fleetmgmt_vehicle_attr_vehicle', - 'external' => null, - ], - 'notes' => [ - 'mapper' => EditorDocMapper::class, /* mapper of the related object */ - 'table' => 'fleetmgmt_vehicle_note', /* table of the related object, null if no relation table is used (many->1) */ - 'external' => 'fleetmgmt_vehicle_note_doc', - 'self' => 'fleetmgmt_vehicle_note_vehicle', - ], - ]; - - /** - * Has one relation. - * - * @var array - * @since 1.0.0 - */ - public const OWNS_ONE = [ - 'type' => [ - 'mapper' => VehicleTypeMapper::class, - 'external' => 'fleetmgmt_vehicle_type', - ], - 'fuelType' => [ - 'mapper' => FuelTypeMapper::class, - 'external' => 'fleetmgmt_vehicle_fuel', - ], - ]; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_vehicle'; - - /** - * Created at. - * - * @var string - * @since 1.0.0 - */ - public const CREATED_AT = 'fleetmgmt_vehicle_created_at'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_vehicle_id'; -} diff --git a/Models/VehicleTypeL11nMapper.php b/Models/VehicleTypeL11nMapper.php deleted file mode 100644 index e5eb452..0000000 --- a/Models/VehicleTypeL11nMapper.php +++ /dev/null @@ -1,69 +0,0 @@ - - */ -final class VehicleTypeL11nMapper extends DataMapperFactory -{ - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - public const COLUMNS = [ - 'fleetmgmt_vehicle_type_l11n_id' => ['name' => 'fleetmgmt_vehicle_type_l11n_id', 'type' => 'int', 'internal' => 'id'], - 'fleetmgmt_vehicle_type_l11n_title' => ['name' => 'fleetmgmt_vehicle_type_l11n_title', 'type' => 'string', 'internal' => 'content', 'autocomplete' => true], - 'fleetmgmt_vehicle_type_l11n_type' => ['name' => 'fleetmgmt_vehicle_type_l11n_type', 'type' => 'int', 'internal' => 'ref'], - 'fleetmgmt_vehicle_type_l11n_lang' => ['name' => 'fleetmgmt_vehicle_type_l11n_lang', 'type' => 'string', 'internal' => 'language'], - ]; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - public const TABLE = 'fleetmgmt_vehicle_type_l11n'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - public const PRIMARYFIELD = 'fleetmgmt_vehicle_type_l11n_id'; - - /** - * Model to use by the mapper. - * - * @var class-string - * @since 1.0.0 - */ - public const MODEL = BaseStringL11n::class; -} diff --git a/README.md b/README.md index 56f240a..e9da8c3 100755 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# oms-FleetManagement \ No newline at end of file +# oms-EquipmentManagement \ No newline at end of file diff --git a/Theme/Backend/Lang/Navigation.en.lang.php b/Theme/Backend/Lang/Navigation.en.lang.php index 138fd60..92e715c 100755 --- a/Theme/Backend/Lang/Navigation.en.lang.php +++ b/Theme/Backend/Lang/Navigation.en.lang.php @@ -13,12 +13,9 @@ declare(strict_types=1); return ['Navigation' => [ - 'FleetManagement' => 'Fleet Management', - 'Vehicles' => 'Vehicles', - 'Drivers' => 'Drivers', + 'EquipmentManagement' => 'Equipment Management', + 'Equipments' => 'Equipments', 'Inspections' => 'Inspections', - 'VehicleInspectionTypes' => 'Vehicle Inspection Types', - 'DriverInspectionTypes' => 'Driver Inspection Types', - 'VehicleAttributes' => 'Vehicle Attributes', - 'DriverAttributes' => 'Driver Attributes', + 'EquipmentInspectionTypes' => 'Equipment Inspection Types', + 'EquipmentAttributes' => 'Equipment Attributes', ]]; diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php index d644579..4ab96ca 100755 --- a/Theme/Backend/Lang/en.lang.php +++ b/Theme/Backend/Lang/en.lang.php @@ -12,9 +12,9 @@ */ declare(strict_types=1); -return ['FleetManagement' => [ - 'Vehicle' => 'Vehicle', - 'Vehicles' => 'Vehicles', +return ['EquipmentManagement' => [ + 'Equipment' => 'Equipment', + 'Equipments' => 'Equipments', 'Status' => 'Status', 'Name' => 'Name', 'Type' => 'Type', diff --git a/Theme/Backend/attribute-type-list.tpl.php b/Theme/Backend/attribute-type-list.tpl.php index 34276fd..ef6e347 100755 --- a/Theme/Backend/attribute-type-list.tpl.php +++ b/Theme/Backend/attribute-type-list.tpl.php @@ -55,7 +55,7 @@ echo $this->data['nav']->render(); ?> $value) : ++$count; - $url = UriFactory::build('{/base}/fleet/vehicle/attribute/type?{?}&id=' . $value->id); + $url = UriFactory::build('{/base}/fleet/equipment/attribute/type?{?}&id=' . $value->id); ?> id; ?> diff --git a/Theme/Backend/driver-profile.tpl.php b/Theme/Backend/driver-profile.tpl.php deleted file mode 100644 index 62569c0..0000000 --- a/Theme/Backend/driver-profile.tpl.php +++ /dev/null @@ -1,318 +0,0 @@ -data['driver'] ?? new NullDriver(); -$files = $driver->files; -$driverImage = $this->data['driverImage'] ?? new NullMedia(); -$attributeView = $this->data['attributeView']; - -/** - * @var \phpOMS\Views\View $this - */ -echo $this->data['nav']->render(); -?> -
-
- -
-
- request->uri->fragment === 'c-tab-1' ? ' checked' : ''; ?>> -
-
-
-
-
getHtml('Profile'); ?>
-
-
- - -
- -
- - -
- -
- - -
-
-
- id === 0) : ?> - - - - -
-
-
- -
-
-
- -
-
-
-
-
- - request->uri->fragment === 'c-tab-2' ? ' checked' : ''; ?>> -
-
- render( - $driver->attributes, - $this->data['attributeTypes'] ?? [], - [], - '{/api}fleet/driver/attribute' - ); - ?> -
-
- - request->uri->fragment === 'c-tab-3' ? ' checked' : ''; ?>> -
- data['media-upload']->render('driver-file', 'files', '', $driver->files); ?> -
- - request->uri->fragment === 'c-tab-4' ? ' checked' : ''; ?>> -
- data['driver-notes']->render('driver-notes', '', $driver->notes); ?> -
- - request->uri->fragment === 'c-tab-5' ? ' checked' : ''; ?>> -
- -
-
-
-
getHtml('Upcoming'); ?>
- - - - - -
getHtml('Date'); ?> - getHtml('Type'); ?> - getHtml('Responsible'); ?> -
- - -
-
-
- -
-
-
getHtml('History'); ?>
- - - - - -
getHtml('Date'); ?> - getHtml('Type'); ?> - getHtml('Responsible'); ?> -
- - -
-
-
-
-
- - request->uri->fragment === 'c-tab-7' ? ' checked' : ''; ?>> -
-
-
-
-
-
getHtml('Milage'); ?>
-
-
- - -
- -
- -
-
- - - - -
- 0) : ?> - - -
-
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- -

-                                
-
-
- - - -
-
-
-
- -
-
-
getHtml('Milage'); ?>
-
- - - - - - $value) : ++$c; ?> - - -
- getHtml('ID', '0', '0'); ?> - getHtml('Driver'); ?> - getHtml('Milage'); ?> - getHtml('Start'); ?> - getHtml('End'); ?> -
- - type->isRequired) : ?> - - - - - - - - id; ?> - printHtml($value->type->getL11n()); ?> - value->getValue() instanceof \DateTime ? $value->value->getValue()->format('Y-m-d') : $this->printHtml((string) $value->value->getValue()); ?> - printHtml($value->value->unit); ?> - printHtml($value->value->unit); ?> - - -
getHtml('Empty', '0', '0'); ?> - -
-
-
-
-
-
- - request->uri->fragment === 'c-tab-8' ? ' checked' : ''; ?>> -
-
-
-
-
-
-
-
\ No newline at end of file diff --git a/Theme/Backend/driver-list.tpl.php b/Theme/Backend/equipment-list.tpl.php old mode 100644 new mode 100755 similarity index 93% rename from Theme/Backend/driver-list.tpl.php rename to Theme/Backend/equipment-list.tpl.php index 99d4394..d98d5d8 --- a/Theme/Backend/driver-list.tpl.php +++ b/Theme/Backend/equipment-list.tpl.php @@ -5,7 +5,7 @@ * * PHP Version 8.1 * - * @package Modules\ClientManagement + * @package Modules\EquipmentManagement * @copyright Dennis Eichhorn * @license OMS License 2.0 * @version 1.0.0 @@ -16,13 +16,13 @@ declare(strict_types=1); use phpOMS\Uri\UriFactory; /** @var \phpOMS\Views\View $this */ -$drivers = $this->data['drivers'] ?? []; +$equipments = $this->data['equipments'] ?? []; echo $this->data['nav']->render(); ?>
-
getHtml('Vehicles'); ?>
+
getHtml('Equipments'); ?>
@@ -79,9 +79,9 @@ echo $this->data['nav']->render(); ?> $value) : + foreach ($equipments as $key => $value) : ++$count; - $url = UriFactory::build('{/base}/fleet/driver/profile?{?}&id=' . $value->id); + $url = UriFactory::build('{/base}/fleet/equipment/profile?{?}&id=' . $value->id); ?>
diff --git a/Theme/Backend/vehicle-profile.tpl.php b/Theme/Backend/equipment-profile.tpl.php similarity index 81% rename from Theme/Backend/vehicle-profile.tpl.php rename to Theme/Backend/equipment-profile.tpl.php index fe4bf8a..3485217 100755 --- a/Theme/Backend/vehicle-profile.tpl.php +++ b/Theme/Backend/equipment-profile.tpl.php @@ -12,22 +12,22 @@ */ declare(strict_types=1); -use Modules\FleetManagement\Models\NullVehicle; -use Modules\FleetManagement\Models\VehicleStatus; +use Modules\EquipmentManagement\Models\NullEquipment; +use Modules\EquipmentManagement\Models\EquipmentStatus; use Modules\Media\Models\NullMedia; use phpOMS\Uri\UriFactory; $countryCodes = \phpOMS\Localization\ISO3166TwoEnum::getConstants(); $countries = \phpOMS\Localization\ISO3166NameEnum::getConstants(); -$vehicleStatus = VehicleStatus::getConstants(); +$equipmentStatus = EquipmentStatus::getConstants(); /** - * @var \Modules\FleetManagement\Models\Vehicle $vehicle + * @var \Modules\EquipmentManagement\Models\Equipment $equipment */ -$vehicle = $this->data['vehicle'] ?? new NullVehicle(); -$files = $vehicle->files; -$vehicleImage = $this->data['vehicleImage'] ?? new NullMedia(); -$vehicleTypes = $this->data['types'] ?? []; +$equipment = $this->data['equipment'] ?? new NullEquipment(); +$files = $equipment->files; +$equipmentImage = $this->data['equipmentImage'] ?? new NullMedia(); +$equipmentTypes = $this->data['types'] ?? []; $attributeView = $this->data['attributeView']; /** @@ -56,70 +56,70 @@ echo $this->data['nav']->render();
getHtml('Profile'); ?>
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- id === 0) : ?> + id === 0) : ?> @@ -131,9 +131,9 @@ echo $this->data['nav']->render();
- + : UriFactory::build($equipmentImage->getPath()); ?>">
@@ -144,10 +144,10 @@ echo $this->data['nav']->render();
render( - $vehicle->attributes, + $equipment->attributes, $this->data['attributeTypes'] ?? [], $this->data['units'] ?? [], - '{/api}fleet/vehicle/attribute' + '{/api}fleet/equipment/attribute' ); ?>
@@ -155,18 +155,18 @@ echo $this->data['nav']->render(); request->uri->fragment === 'c-tab-3' ? ' checked' : ''; ?>>
- data['media-upload']->render('vehicle-file', 'files', '', $vehicle->files); ?> + data['media-upload']->render('equipment-file', 'files', '', $equipment->files); ?>
request->uri->fragment === 'c-tab-4' ? ' checked' : ''; ?>>
- data['vehicle-notes']->render('vehicle-notes', '', $vehicle->notes); ?> + data['equipment-notes']->render('equipment-notes', '', $equipment->notes); ?>
request->uri->fragment === 'c-tab-5' ? ' checked' : ''; ?>>
diff --git a/Theme/Backend/vehicle-list.tpl.php b/Theme/Backend/vehicle-list.tpl.php deleted file mode 100755 index e0b4939..0000000 --- a/Theme/Backend/vehicle-list.tpl.php +++ /dev/null @@ -1,100 +0,0 @@ -data['vehicles'] ?? []; - -echo $this->data['nav']->render(); ?> -
-
-
-
getHtml('Vehicles'); ?>
-
- - - - - $value) : - ++$count; - $url = UriFactory::build('{/base}/fleet/vehicle/profile?{?}&id=' . $value->id); - ?> - -
- getHtml('ID', '0', '0'); ?> - - - - getHtml('Status'); ?> - - - - getHtml('Name'); ?> - - - - getHtml('Type'); ?> - - - -
- printHtml((string) $value->id); ?> - getHtml(':status' . $value->status); ?> - printHtml($value->name); ?> - printHtml($value->type->getL11n()); ?> - - -
getHtml('Empty', '0', '0'); ?> - -
-
-
-
-
diff --git a/info.json b/info.json index a5aa7bb..176a22b 100755 --- a/info.json +++ b/info.json @@ -1,10 +1,10 @@ { "name": { - "id": 1003500000, - "internal": "FleetManagement", - "external": "Fleet Management" + "id": 1008400000, + "internal": "EquipmentManagement", + "external": "Equipment Management" }, - "category": "Fleet", + "category": "Equipment", "version": "1.0.0", "requirements": { "phpOMS": "1.0.0", @@ -15,7 +15,7 @@ "website": "jingga.app" }, "description": "The buisness module.", - "directory": "FleetManagement", + "directory": "EquipmentManagement", "dependencies": { "Admin": "1.0.0", "Profile": "1.0.0", @@ -29,19 +29,19 @@ "load": [ { "pid": [ - "/fleet" + "/equipment" ], "type": 4, "for": 0, - "from": "FleetManagement", - "file": "FleetManagement" + "from": "EquipmentManagement", + "file": "EquipmentManagement" }, { "pid": [ "/" ], "type": 5, - "from": "FleetManagement", + "from": "EquipmentManagement", "for": "Navigation", "file": "Navigation" } diff --git a/tests/Admin/AdminTest.php b/tests/Admin/AdminTest.php index 1b6302a..6f80b2d 100755 --- a/tests/Admin/AdminTest.php +++ b/tests/Admin/AdminTest.php @@ -12,14 +12,14 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\tests\Admin; +namespace Modules\EquipmentManagement\tests\Admin; /** * @internal */ final class AdminTest extends \PHPUnit\Framework\TestCase { - protected const NAME = 'FleetManagement'; + protected const NAME = 'EquipmentManagement'; protected const URI_LOAD = ''; diff --git a/tests/Controller/ApiControllerTest.php b/tests/Controller/ApiControllerTest.php index ab64e9a..b88ede4 100755 --- a/tests/Controller/ApiControllerTest.php +++ b/tests/Controller/ApiControllerTest.php @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\tests\Controller; +namespace Modules\EquipmentManagement\tests\Controller; use Model\CoreSettings; use Modules\Admin\Models\AccountPermission; @@ -30,7 +30,7 @@ use phpOMS\Router\WebRouter; use phpOMS\Utils\TestUtils; /** - * @testdox Modules\FleetManagement\tests\Controller\ApiControllerTest: FleetManagement api controller + * @testdox Modules\EquipmentManagement\tests\Controller\ApiControllerTest: EquipmentManagement api controller * * @internal */ @@ -39,7 +39,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase protected ApplicationAbstract $app; /** - * @var \Modules\FleetManagement\Controller\ApiController + * @var \Modules\EquipmentManagement\Controller\ApiController */ protected ModuleAbstract $module; @@ -83,7 +83,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase $this->app->accountManager->add($account); $this->app->router = new WebRouter(); - $this->module = $this->app->moduleManager->get('FleetManagement'); + $this->module = $this->app->moduleManager->get('EquipmentManagement'); TestUtils::setMember($this->module, 'app', $this->app); } diff --git a/tests/Models/Vehicle.php b/tests/Models/Vehicle.php index 1b4fc32..3eab9df 100755 --- a/tests/Models/Vehicle.php +++ b/tests/Models/Vehicle.php @@ -12,9 +12,9 @@ */ declare(strict_types=1); -namespace Modules\FleetManagement\Models; +namespace Modules\EquipmentManagement\Models; -class Vehicle +class Equipment { public int $id = 0; }