Implemented entities for new RoomCategory BedType system.

This commit is contained in:
2024-09-10 18:08:40 +02:00
parent 09f384fce0
commit 975d0495a8
12 changed files with 469 additions and 57 deletions
@@ -0,0 +1,22 @@
<?php
namespace App\Controller\Admin;
use App\Entity\BedType;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
use EasyCorp\Bundle\EasyAdminBundle\Field\UrlField;
class BedTypeCrudController extends AbstractCrudController
{
public static function getEntityFqcn(): string
{
return BedType::class;
}
public function configureFields(string $pageName): iterable
{
yield TextField::new('name');
yield UrlField::new('iconUrl');
}
}
@@ -20,7 +20,6 @@ use Symfony\Component\Security\Http\Attribute\IsGranted;
#[IsGranted("ROLE_ADMIN")]
class RoomAvailabilityAdminController extends AbstractController
{
private $adminUrlGenerator;
private EntityManagerInterface $entityManager;
@@ -129,19 +128,4 @@ class RoomAvailabilityAdminController extends AbstractController
'categoryId' => $categoryId,
]);
}
#[Route('/admin/roomAvailabilityTEST/', name: 'admin_roomAvailability_test')]
public function availabilityTest(EntityManagerInterface $entityManager): Response
{
$avl = new RoomAvailability();
$avl->setDay(new \DateTime("2024-04-24"));
$avl->setRoomCategory($entityManager->find(RoomCategory::class, 4));
$avl->setNumAvailable(2);
$entityManager->persist($avl);
$entityManager->flush();
return $this->json($avl);
}
}
@@ -2,8 +2,11 @@
namespace App\Controller\Admin;
use App\Entity\RoomCategoryBedType;
use App\Form\RoomCategoryBedTypeForm;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use EasyCorp\Bundle\EasyAdminBundle\Config\Page;
use EasyCorp\Bundle\EasyAdminBundle\Field\Field;
use EasyCorp\Bundle\EasyAdminBundle\Field\IdField;
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
@@ -27,13 +30,10 @@ class RoomCategoryCrudController extends AbstractCrudController
public function configureFields(string $pageName): iterable
{
return [
//IdField::new('id'),
TextField::new('name'),
TextField::new('description'),
TextField::new('bedType'),
IntegerField::new('maxGuestNum'),
CollectionField::new('roomCategoryPhotos')->useEntryCrudForm()
];
yield TextField::new('name');
yield TextField::new('description');
yield TextField::new('bedType');
yield IntegerField::new('maxGuestNum');
yield CollectionField::new('roomCategoryPhotos')->useEntryCrudForm();
}
}
@@ -2,6 +2,7 @@
namespace App\Controller\Admin;
use App\Entity\BedType;
use App\Entity\Booking;
use App\Entity\ConfigVariable;
use App\Entity\FareTable;
@@ -40,6 +41,9 @@ class SomniaDashboardController extends AbstractDashboardController
yield MenuItem::linkToRoute('Room Availability', 'fas fa-calendar-check', 'admin_roomAvailability');
yield MenuItem::linkToCrud('Fare Tables', 'fas fa-table', FareTable::class);
yield MenuItem::linkToCrud('Room Fares', 'fas fa-tag', RoomFare::class);
yield MenuItem::Section('Category Configuration');
yield MenuItem::linkToCrud('Bed Types', 'fas fa-bed', BedType::class);
yield MenuItem::Section('App Management');
yield MenuItem::linkToCrud('Config Vars', 'fas fa-gear', ConfigVariable::class);