This commit is contained in:
@@ -55,8 +55,12 @@ class RoomCategoryBedTypeAdminController extends AbstractController
|
|||||||
public function createCategoryBedType(Request $request, RoomCategoryBedTypeRepository $repo, string $categoryId): Response
|
public function createCategoryBedType(Request $request, RoomCategoryBedTypeRepository $repo, string $categoryId): Response
|
||||||
{
|
{
|
||||||
$roomCatBedType = new RoomCategoryBedType();
|
$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);
|
$form->handleRequest($request);
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
if ($form->isSubmitted() && $form->isValid()) {
|
||||||
@@ -76,17 +80,17 @@ class RoomCategoryBedTypeAdminController extends AbstractController
|
|||||||
return $this->render('admin/adminEdit.html.twig', [
|
return $this->render('admin/adminEdit.html.twig', [
|
||||||
'form' => $form,
|
'form' => $form,
|
||||||
'ElementType' => "Room Categoy Bed Type",
|
'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')]
|
#[Route('/admin/roomCategoryBedType/{categoryId}/{bedTypeId}/edit', name: 'admin_roomCategoryBedType_category_update')]
|
||||||
public function updateCategoryBedType(Request $request, RoomCategoryBedTypeRepository $repo, string $categoryId, string $bedTypeId): Response
|
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.
|
//TODOME: Aquí deberíamos llevar a una página de error o algo.
|
||||||
|
|
||||||
$url = $this->adminUrlGenerator->setRoute('admin_roomCategoryBedType_category', [
|
$url = $this->adminUrlGenerator->setRoute('admin_roomCategoryBedType_category', [
|
||||||
@@ -95,12 +99,14 @@ class RoomCategoryBedTypeAdminController extends AbstractController
|
|||||||
return $this->redirect($url);
|
return $this->redirect($url);
|
||||||
}
|
}
|
||||||
|
|
||||||
$form = $this->createForm(RoomCategoryBedTypeFormType::class, $bedTypeItem);
|
$form = $this->createForm(RoomCategoryBedTypeFormType::class, $categoryBedTypeItem, [
|
||||||
|
'selectRoomCategory' => false,
|
||||||
|
]);
|
||||||
|
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
if ($form->isSubmitted() && $form->isValid()) {
|
||||||
// $form->getData() holds the submitted values
|
// $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();
|
$this->entityManager->flush();
|
||||||
|
|
||||||
@@ -114,7 +120,24 @@ class RoomCategoryBedTypeAdminController extends AbstractController
|
|||||||
return $this->render('admin/adminEdit.html.twig', [
|
return $this->render('admin/adminEdit.html.twig', [
|
||||||
'form' => $form,
|
'form' => $form,
|
||||||
'ElementType' => "Room Categoy Bed Type",
|
'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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ class RoomCategoryBedType
|
|||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\ManyToOne(inversedBy: 'roomCategoryBedTypes')]
|
#[ORM\ManyToOne(inversedBy: 'roomCategoryBedTypes')]
|
||||||
#[ORM\JoinColumn(nullable: false, onDelete: "CASCADE")]
|
#[ORM\JoinColumn(nullable: false, onDelete: "CASCADE")]
|
||||||
|
#[Ignore]
|
||||||
private ?RoomCategory $roomCategory = null;
|
private ?RoomCategory $roomCategory = null;
|
||||||
|
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
@@ -53,15 +54,25 @@ class RoomCategoryBedType
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Ignore]
|
||||||
public function getBedType(): ?BedType
|
public function getBedType(): ?BedType
|
||||||
{
|
{
|
||||||
return $this->bedType;
|
return $this->bedType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Ignore]
|
||||||
public function setBedType(?BedType $bedType): static
|
public function setBedType(?BedType $bedType): static
|
||||||
{
|
{
|
||||||
$this->bedType = $bedType;
|
$this->bedType = $bedType;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getBedTypeName(): string {
|
||||||
|
return $this->getBedType()->getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getBedTypeIcon(): string {
|
||||||
|
return $this->getBedType()->getIconUrl();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ class RoomCategoryPhoto
|
|||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\GeneratedValue]
|
#[ORM\GeneratedValue]
|
||||||
#[ORM\Column]
|
#[ORM\Column]
|
||||||
|
#[Ignore]
|
||||||
private ?int $id = null;
|
private ?int $id = null;
|
||||||
|
|
||||||
#[ORM\Column(length: 255, nullable: false)]
|
#[ORM\Column(length: 255, nullable: false)]
|
||||||
@@ -28,6 +29,7 @@ class RoomCategoryPhoto
|
|||||||
#[Ignore]
|
#[Ignore]
|
||||||
private ?RoomCategory $roomCategory = null;
|
private ?RoomCategory $roomCategory = null;
|
||||||
|
|
||||||
|
#[Ignore]
|
||||||
public function getId(): ?int
|
public function getId(): ?int
|
||||||
{
|
{
|
||||||
return $this->id;
|
return $this->id;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ use App\Entity\RoomCategoryBedType;
|
|||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
|
||||||
@@ -15,24 +16,30 @@ class RoomCategoryBedTypeFormType extends AbstractType
|
|||||||
{
|
{
|
||||||
public function buildForm(FormBuilderInterface $builder, array $options): void
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
{
|
{
|
||||||
$builder
|
$selectRoomCategory = $options['selectRoomCategory'];
|
||||||
->add('amount')
|
|
||||||
->add('roomCategory', EntityType::class, [
|
if($selectRoomCategory) {
|
||||||
|
$builder->add('roomCategory', EntityType::class, [
|
||||||
'class' => RoomCategory::class,
|
'class' => RoomCategory::class,
|
||||||
'choice_label' => 'name',
|
'choice_label' => 'name'
|
||||||
])
|
]);
|
||||||
->add('bedType', EntityType::class, [
|
}
|
||||||
|
|
||||||
|
$builder->add('bedType', EntityType::class, [
|
||||||
'class' => BedType::class,
|
'class' => BedType::class,
|
||||||
'choice_label' => 'name',
|
'choice_label' => 'name',
|
||||||
])
|
]);
|
||||||
->add('save', SubmitType::class)
|
$builder->add('amount', IntegerType::class);
|
||||||
;
|
$builder->add('save', SubmitType::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver): void
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
{
|
{
|
||||||
$resolver->setDefaults([
|
$resolver->setDefaults([
|
||||||
'data_class' => RoomCategoryBedType::class,
|
'data_class' => RoomCategoryBedType::class,
|
||||||
|
'selectRoomCategory' => true,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$resolver->setAllowedTypes('selectRoomCategory', 'bool');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,11 @@
|
|||||||
Edit
|
Edit
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="{{ ea_url().setRoute('admin_roomCategoryBedType_category_remove', { bedTypeId: bedType.bedType.id, categoryId: bedType.roomCategory.id }) }}">
|
||||||
|
Remove
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
Reference in New Issue
Block a user