@ -31,7 +31,7 @@ class TicketCrudController extends AbstractCrudController
|
|||||||
|
|
||||||
yield AssociationField::new('customer', 'Käufer')
|
yield AssociationField::new('customer', 'Käufer')
|
||||||
->setCrudController(CustomerCrudController::class)
|
->setCrudController(CustomerCrudController::class)
|
||||||
->formatValue(fn(Customer $customer) => $customer->getEmail())
|
->formatValue(fn(Customer $customer) => $customer->getFirstname(). ' ' . $customer->getLastname())
|
||||||
->hideOnForm();
|
->hideOnForm();
|
||||||
|
|
||||||
yield BooleanField::new('checkedIn', '')
|
yield BooleanField::new('checkedIn', '')
|
||||||
|
@ -21,7 +21,8 @@ class Ticket extends AbstractExtension
|
|||||||
return [
|
return [
|
||||||
new TwigFilter('food', $this->getFoodName(...)),
|
new TwigFilter('food', $this->getFoodName(...)),
|
||||||
new TwigFilter('ticket', $this->getTicket(...)),
|
new TwigFilter('ticket', $this->getTicket(...)),
|
||||||
new TwigFilter('qr', $this->generateUrl(...)),
|
new TwigFilter('qr', $this->generateQr(...)),
|
||||||
|
new TwigFilter('url', $this->url(...)),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,12 +36,17 @@ class Ticket extends AbstractExtension
|
|||||||
return TicketData::TICKET_DATA[$id] ?? ['name' => 'N/A', 'price' => 'N/A'];
|
return TicketData::TICKET_DATA[$id] ?? ['name' => 'N/A', 'price' => 'N/A'];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function generateUrl(\App\Entity\Ticket $ticket): string
|
public function generateQr(\App\Entity\Ticket $ticket): string
|
||||||
{
|
{
|
||||||
return (new QRCode)->render($this->urlGenerator->generate('admin', [
|
return (new QRCode)->render($this->url($ticket));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function url(\App\Entity\Ticket $ticket): string
|
||||||
|
{
|
||||||
|
return $this->urlGenerator->generate('admin', [
|
||||||
'crudAction' => 'detail',
|
'crudAction' => 'detail',
|
||||||
'crudControllerFqcn' => TicketCrudController::class,
|
'crudControllerFqcn' => TicketCrudController::class,
|
||||||
'entityId' => $ticket->getCustomer()?->getId()
|
'entityId' => $ticket->getCustomer()?->getId()
|
||||||
], UrlGeneratorInterface::ABSOLUTE_URL));
|
], UrlGeneratorInterface::ABSOLUTE_URL);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -16,7 +16,7 @@
|
|||||||
<td>{{ (ticket.type | ticket)['price'] }}€</td>
|
<td>{{ (ticket.type | ticket)['price'] }}€</td>
|
||||||
<td>{{ ticket.note }}</td>
|
<td>{{ ticket.note }}</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="{{ path('admin', { entity: 'App\Entity\Ticket', action: 'detail', id: ticket.id }) }}"
|
<a href="{{ ticket|url }}"
|
||||||
class="btn btn-info btn-sm">
|
class="btn btn-info btn-sm">
|
||||||
View
|
View
|
||||||
</a>
|
</a>
|
||||||
|
Reference in New Issue
Block a user