diff --git a/Controller/BackendController.php b/Controller/BackendController.php index d5b26b4..34d0c12 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -14,6 +14,8 @@ declare(strict_types=1); namespace Modules\FleetManagement\Controller; +use Modules\Attribute\Models\NullAttributeType; +use Modules\Attribute\Models\NullAttributeValue; use Modules\FleetManagement\Models\Attribute\DriverAttributeTypeMapper; use Modules\FleetManagement\Models\Attribute\DriverAttributeValueL11nMapper; use Modules\FleetManagement\Models\Attribute\DriverAttributeValueMapper; @@ -238,16 +240,15 @@ final class BackendController extends Controller public function viewFleetManagementInspectionTypeList(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); - $view->setTemplate('/Modules/FleetManagement/Theme/Backend/inspection-type-list'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003502001, $request, $response); - $list = InspectionTypeMapper::getAll() + $view->data['inspections'] = InspectionTypeMapper::getAll() + ->with('l11n') + ->where('l11n/language', $response->header->l11n->language) ->sort('id', 'DESC') ->executeGetArray(); - $view->data['inspections'] = $list; - return $view; } @@ -263,18 +264,43 @@ final class BackendController extends Controller * @since 1.0.0 * @codeCoverageIgnore */ - public function viewFleetManagementInspectionCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface + public function viewFleetManagementDriverInspectionTypeList(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); - - $view->setTemplate('/Modules/FleetManagement/Theme/Backend/inspection-list'); + $view->setTemplate('/Modules/FleetManagement/Theme/Backend/inspection-type-list'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003502001, $request, $response); - $list = InspectionMapper::getAll() + $view->data['inspections'] = InspectionTypeMapper::getAll() + ->with('l11n') + ->where('l11n/language', $response->header->l11n->language) ->sort('id', 'DESC') ->executeGetArray(); - $view->data['inspections'] = $list; + return $view; + } + + /** + * Routing end-point for application behavior. + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param array $data Generic data + * + * @return RenderableInterface Returns a renderable object + * + * @since 1.0.0 + * @codeCoverageIgnore + */ + public function viewFleetManagementDriverInspectionCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface + { + $view = new View($this->app->l11nManager, $request, $response); + + $view->setTemplate('/Modules/FleetManagement/Theme/Backend/inspection-view'); + $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003502001, $request, $response); + + $view->data['inspections'] = InspectionMapper::getAll() + ->sort('id', 'DESC') + ->executeGetArray(); return $view; } @@ -510,7 +536,6 @@ final class BackendController extends Controller $view->setTemplate('/Modules/FleetManagement/Theme/Backend/vehicle-view'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003502001, $request, $response); - // @todo This language filtering doesn't work. But it was working with the old mappers. Maybe there is a bug in the where() definition. Need to inspect the actual query. $vehicle = VehicleMapper::get() ->with('attributes') ->with('attributes/type') @@ -557,7 +582,7 @@ final class BackendController extends Controller ->where(VehicleMapper::HAS_MANY['files']['self'], '=', $vehicle->id) ->where(MediaTypeMapper::TABLE . '.' . MediaTypeMapper::getColumnByMember('name'), '=', 'vehicle_profile_image'); - $view->data['vehicleImage'] = MediaMapper::get() + $view->data['vehicleImage'] = MediaMapper::get() ->with('types') ->where('id', $results) ->limit(1) @@ -604,7 +629,6 @@ final class BackendController extends Controller $view->setTemplate('/Modules/FleetManagement/Theme/Backend/driver-view'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003503001, $request, $response); - // @todo This language 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') @@ -662,4 +686,102 @@ final class BackendController extends Controller return $view; } + + /** + * Routing end-point for application behavior. + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param array $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @codeCoverageIgnore + */ + public function viewFleetManagementDriverAttributeTypeCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface + { + $view = new \Modules\Attribute\Theme\Backend\Components\AttributeTypeView($this->app->l11nManager, $request, $response); + $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003506001, $request, $response); + + $view->attribute = new NullAttributeType(); + + $view->path = 'fleet/driver'; + + return $view; + } + + /** + * Routing end-point for application behavior. + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param array $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @codeCoverageIgnore + */ + public function viewFleetManagementAttributeTypeCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface + { + $view = new \Modules\Attribute\Theme\Backend\Components\AttributeTypeView($this->app->l11nManager, $request, $response); + $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003505001, $request, $response); + + $view->attribute = new NullAttributeType(); + + $view->path = 'fleet/driver'; + + return $view; + } + + /** + * Routing end-point for application behavior. + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param array $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @codeCoverageIgnore + */ + public function viewFleetManagementAttributeValueCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface + { + $view = new \Modules\Attribute\Theme\Backend\Components\AttributeValueView($this->app->l11nManager, $request, $response); + $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003505001, $request, $response); + + $view->type = VehicleAttributeTypeMapper::get()->where('id', (int) $request->getData('type'))->execute(); + $view->attribute = new NullAttributeValue(); + + $view->path = 'contract'; + + return $view; + } + + /** + * Routing end-point for application behavior. + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param array $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @codeCoverageIgnore + */ + public function viewFleetManagementDriverAttributeValueCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface + { + $view = new \Modules\Attribute\Theme\Backend\Components\AttributeValueView($this->app->l11nManager, $request, $response); + $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003506001, $request, $response); + + $view->type = DriverAttributeTypeMapper::get()->where('id', (int) $request->getData('type'))->execute(); + $view->attribute = new NullAttributeValue(); + + $view->path = 'contract'; + + return $view; + } } diff --git a/Theme/Backend/Lang/de.lang.php b/Theme/Backend/Lang/de.lang.php index 07622d2..efc41d0 100755 --- a/Theme/Backend/Lang/de.lang.php +++ b/Theme/Backend/Lang/de.lang.php @@ -33,6 +33,7 @@ return ['FleetManagement' => [ 'Files' => 'Dateien', 'History' => 'Historie', 'Inspections' => 'Inspektionen', + 'InspectionTypes' => 'Inspektionsarten', 'LeasingFee' => 'Leasingkosten', 'Make' => 'Marke', 'Milage' => 'Tacho', diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php index c06af54..a596d8a 100755 --- a/Theme/Backend/Lang/en.lang.php +++ b/Theme/Backend/Lang/en.lang.php @@ -33,6 +33,7 @@ return ['FleetManagement' => [ 'Reference' => 'Reference', 'History' => 'History', 'Inspections' => 'Inspections', + 'InspectionTypes' => 'Inspection Types', 'LeasingFee' => 'Leasing Fee', 'Make' => 'Make', 'Milage' => 'Milage', diff --git a/Theme/Backend/driver-view.tpl.php b/Theme/Backend/driver-view.tpl.php index d519200..3ec3452 100644 --- a/Theme/Backend/driver-view.tpl.php +++ b/Theme/Backend/driver-view.tpl.php @@ -35,7 +35,7 @@ echo $this->data['nav']->render();