RoomCateryBedType - API and admin panel improvements.
CI / Docker Lint (push) Successful in 20s

This commit is contained in:
2024-09-12 18:08:33 +02:00
parent 06577df0ad
commit 7475be603c
5 changed files with 65 additions and 17 deletions
@@ -55,8 +55,12 @@ class RoomCategoryBedTypeAdminController extends AbstractController
public function createCategoryBedType(Request $request, RoomCategoryBedTypeRepository $repo, string $categoryId): Response
{
$roomCatBedType = new RoomCategoryBedType();
$roomCategoryItem = $this->entityManager->find(RoomCategory::class, $categoryId);
$roomCatBedType->setRoomCategory($roomCategoryItem);
$form = $this->createForm(RoomCategoryBedTypeFormType::class, $roomCatBedType);
$form = $this->createForm(RoomCategoryBedTypeFormType::class, $roomCatBedType, [
'selectRoomCategory' => false,
]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
@@ -76,17 +80,17 @@ class RoomCategoryBedTypeAdminController extends AbstractController
return $this->render('admin/adminEdit.html.twig', [
'form' => $form,
'ElementType' => "Room Categoy Bed Type",
'ElementName' => "Room Categoy - " . $categoryId
'ElementName' => "Room Categoy - " . $roomCategoryItem
]);
}
// Edit a RoomAvailability numAvailable.
// Edit a RoomCategory BedType.
#[Route('/admin/roomCategoryBedType/{categoryId}/{bedTypeId}/edit', name: 'admin_roomCategoryBedType_category_update')]
public function updateCategoryBedType(Request $request, RoomCategoryBedTypeRepository $repo, string $categoryId, string $bedTypeId): Response
{
$bedTypeItem = $repo->find(["bedType" => $bedTypeId, "roomCategory" => $categoryId]);
$categoryBedTypeItem = $repo->find(["bedType" => $bedTypeId, "roomCategory" => $categoryId]);
if ($bedTypeItem == null) {
if ($categoryBedTypeItem == null) {
//TODOME: Aquí deberíamos llevar a una página de error o algo.
$url = $this->adminUrlGenerator->setRoute('admin_roomCategoryBedType_category', [
@@ -95,12 +99,14 @@ class RoomCategoryBedTypeAdminController extends AbstractController
return $this->redirect($url);
}
$form = $this->createForm(RoomCategoryBedTypeFormType::class, $bedTypeItem);
$form = $this->createForm(RoomCategoryBedTypeFormType::class, $categoryBedTypeItem, [
'selectRoomCategory' => false,
]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// $form->getData() holds the submitted values
// but, the original `$bedTypeItem` variable has also been updated
// but, the original `$categoryBedTypeItem` variable has also been updated
$this->entityManager->flush();
@@ -114,7 +120,24 @@ class RoomCategoryBedTypeAdminController extends AbstractController
return $this->render('admin/adminEdit.html.twig', [
'form' => $form,
'ElementType' => "Room Categoy Bed Type",
'ElementName' => "Room Categoy - " . $categoryId
'ElementName' => "Room Categoy - " . $categoryBedTypeItem->getRoomCategory()
]);
}
// Remove a RoomCategoryBedType.
#[Route('/admin/roomCategoryBedType/{categoryId}/{bedTypeId}/remove', name: 'admin_roomCategoryBedType_category_remove')]
public function removeCategoryBedType(RoomCategoryBedTypeRepository $repo, string $categoryId, string $bedTypeId) : Response {
$categoryBedTypeItem = $repo->find(["bedType" => $bedTypeId, "roomCategory" => $categoryId]);
if(!$categoryBedTypeItem) {
throw $this->createNotFoundException('Element not found');
}
$this->entityManager->remove($categoryBedTypeItem);
$this->entityManager->flush();
$url = $this->adminUrlGenerator->setRoute('admin_roomCategoryBedType_category', [
'categoryId' => $categoryId,
])->generateUrl();
return $this->redirect($url);
}
}