FareTables and RoomFares - Implementación inicial

Creación del modelo y pantallas base para administración.
This commit is contained in:
2024-04-29 23:14:28 +02:00
parent 8e7bad7771
commit 7ec989a76a
9 changed files with 427 additions and 1 deletions
@@ -0,0 +1,30 @@
<?php
namespace App\Controller\Admin;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
use EasyCorp\Bundle\EasyAdminBundle\Field\{AssociationField, TextField, DateField};
use App\Entity\FareTable;
use App\Entity\RoomCategory;
use App\Controller\Admin\RoomCategoryCrudController;
class FareTableCrudController extends AbstractCrudController
{
public static function getEntityFqcn(): string
{
return FareTable::class;
}
public function configureFields(string $pageName): iterable
{
//$catRepo = $this->entityManager->getRepository(SomeEntity::class);
yield AssociationField::new('roomCategory');
yield DateField::new('startDate');
yield DateField::new('endDate');
yield TextField::new('comment');
}
}
@@ -0,0 +1,33 @@
<?php
namespace App\Controller\Admin;
use App\Entity\RoomFare;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
use EasyCorp\Bundle\EasyAdminBundle\Field\MoneyField;
use EasyCorp\Bundle\EasyAdminBundle\Field\NumberField;
class RoomFareCrudController extends AbstractCrudController
{
public static function getEntityFqcn(): string
{
return RoomFare::class;
}
public function configureFields(string $pageName): iterable
{
$fieldFareTable = AssociationField::new ('fareTable')->setRequired(true);
if ($pageName == Crud::PAGE_EDIT) {
$fieldFareTable->setDisabled(true);
}
yield $fieldFareTable;
yield NumberField::new ('guestNumber');
yield MoneyField::new ('fareAmount')->setCurrency('EUR');
}
}
@@ -10,6 +10,8 @@ use Symfony\Component\Routing\Annotation\Route;
use App\Entity\RoomCategory;
use App\Entity\RoomAvailability;
use App\Entity\FareTable;
use App\Entity\RoomFare;
use App\Entity\User;
use App\Entity\ConfigVariable;
@@ -35,6 +37,8 @@ class SomniaDashboardController extends AbstractDashboardController
yield MenuItem::Section('Room Management');
yield MenuItem::linkToCrud('Category', 'fas fa-door-open', RoomCategory::class);
yield MenuItem::linkToRoute('Room Availability', 'fas fa-calendar-check', 'admin_roomAvailability');
yield MenuItem::linkToCrud('Fare Tables', 'fas fa-door-open', FareTable::class);
yield MenuItem::linkToCrud('Room Fares', 'fas fa-door-open', RoomFare::class);
yield MenuItem::Section('App Management');
yield MenuItem::linkToCrud('Config Vars', 'fas fa-gear', ConfigVariable::class);