forked from Somnia/SomniaRooms
Admin Panel Improvements:
- Updated custom admin controllers to EasyAdmin AdminRoutes. - Added Admin error page. - Various fixes and improvements.
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controller\Admin;
|
||||
|
||||
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
|
||||
use EasyCorp\Bundle\EasyAdminBundle\Field\{TextField};
|
||||
|
||||
use App\Entity\RoomCategory;
|
||||
use App\Service\AdminUtils;
|
||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
|
||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Actions;
|
||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
|
||||
|
||||
class RoomAvailabilityCrudController extends AbstractCrudController
|
||||
{
|
||||
public static function getEntityFqcn(): string
|
||||
{
|
||||
//Availability is configured by RoomCategory.
|
||||
return RoomCategory::class;
|
||||
}
|
||||
|
||||
public function configureCrud(Crud $crud): Crud
|
||||
{
|
||||
return $crud
|
||||
->setPageTitle(Crud::PAGE_INDEX, "Room Category Availability")
|
||||
->setHelp(Crud::PAGE_INDEX, "Edit Availability for a RoomCategory.")
|
||||
->showEntityActionsInlined();
|
||||
}
|
||||
|
||||
public function configureFields(string $pageName): iterable
|
||||
{
|
||||
//$catRepo = $this->entityManager->getRepository(SomeEntity::class);
|
||||
|
||||
yield TextField::new('name');
|
||||
yield TextField::new('description');
|
||||
}
|
||||
|
||||
public function configureActions(Actions $actions): Actions
|
||||
{
|
||||
$actions->disable(Action::NEW, Action::DETAIL, Action::EDIT, Action::DELETE);
|
||||
|
||||
$viewAvailabilityAction = Action::new('viewAvailability', 'View Availability')
|
||||
->linkToRoute(
|
||||
AdminUtils::GetAdminRoute(RoomAvailabilityAdminController::ROUTE_INDEX),
|
||||
function (RoomCategory $categoryItem): array {
|
||||
return ['categoryId' => $categoryItem->getId()];
|
||||
}
|
||||
);
|
||||
|
||||
$updatePeriodAction = Action::new("updatePeriod", "Update Period")
|
||||
->linkToRoute(
|
||||
AdminUtils::GetAdminRoute(RoomAvailabilityAdminController::ROUTE_BULKEDIT),
|
||||
function (RoomCategory $categoryItem): array {
|
||||
return ['categoryId' => $categoryItem->getId()];
|
||||
}
|
||||
);
|
||||
|
||||
return $actions
|
||||
->add(Crud::PAGE_INDEX, $viewAvailabilityAction)
|
||||
->add(Crud::PAGE_INDEX, $updatePeriodAction);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user