This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ class RoomCategoryBedType
|
||||
#[ORM\Id]
|
||||
#[ORM\ManyToOne(inversedBy: 'roomCategoryBedTypes')]
|
||||
#[ORM\JoinColumn(nullable: false, onDelete: "CASCADE")]
|
||||
#[Ignore]
|
||||
private ?RoomCategory $roomCategory = null;
|
||||
|
||||
#[ORM\Id]
|
||||
@@ -53,15 +54,25 @@ class RoomCategoryBedType
|
||||
return $this;
|
||||
}
|
||||
|
||||
#[Ignore]
|
||||
public function getBedType(): ?BedType
|
||||
{
|
||||
return $this->bedType;
|
||||
}
|
||||
|
||||
#[Ignore]
|
||||
public function setBedType(?BedType $bedType): static
|
||||
{
|
||||
$this->bedType = $bedType;
|
||||
|
||||
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\GeneratedValue]
|
||||
#[ORM\Column]
|
||||
#[Ignore]
|
||||
private ?int $id = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: false)]
|
||||
@@ -28,6 +29,7 @@ class RoomCategoryPhoto
|
||||
#[Ignore]
|
||||
private ?RoomCategory $roomCategory = null;
|
||||
|
||||
#[Ignore]
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
|
||||
@@ -8,6 +8,7 @@ use App\Entity\RoomCategoryBedType;
|
||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
@@ -15,24 +16,30 @@ class RoomCategoryBedTypeFormType extends AbstractType
|
||||
{
|
||||
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||
{
|
||||
$builder
|
||||
->add('amount')
|
||||
->add('roomCategory', EntityType::class, [
|
||||
$selectRoomCategory = $options['selectRoomCategory'];
|
||||
|
||||
if($selectRoomCategory) {
|
||||
$builder->add('roomCategory', EntityType::class, [
|
||||
'class' => RoomCategory::class,
|
||||
'choice_label' => 'name',
|
||||
])
|
||||
->add('bedType', EntityType::class, [
|
||||
'choice_label' => 'name'
|
||||
]);
|
||||
}
|
||||
|
||||
$builder->add('bedType', EntityType::class, [
|
||||
'class' => BedType::class,
|
||||
'choice_label' => 'name',
|
||||
])
|
||||
->add('save', SubmitType::class)
|
||||
;
|
||||
]);
|
||||
$builder->add('amount', IntegerType::class);
|
||||
$builder->add('save', SubmitType::class);
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver): void
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => RoomCategoryBedType::class,
|
||||
'selectRoomCategory' => true,
|
||||
]);
|
||||
|
||||
$resolver->setAllowedTypes('selectRoomCategory', 'bool');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,11 @@
|
||||
Edit
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ ea_url().setRoute('admin_roomCategoryBedType_category_remove', { bedTypeId: bedType.bedType.id, categoryId: bedType.roomCategory.id }) }}">
|
||||
Remove
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user