|
|
@@ -27,25 +27,25 @@ class TicketFieldDefinition extends AbstractFieldDefinition |
|
|
|
public function configureIndex(): array |
|
|
|
{ |
|
|
|
return [ |
|
|
|
'id', |
|
|
|
'createdAt', |
|
|
|
'visitorFirstname', |
|
|
|
'visitorLastname', |
|
|
|
'visitorEmail', |
|
|
|
'subject', |
|
|
|
'updatedAt', |
|
|
|
'type', |
|
|
|
'status' |
|
|
|
'id', |
|
|
|
'createdAt', |
|
|
|
'updatedAt', |
|
|
|
'visitorFirstname', |
|
|
|
'visitorLastname', |
|
|
|
'visitorEmail', |
|
|
|
'subject', |
|
|
|
'type', |
|
|
|
'status' |
|
|
|
]; |
|
|
|
} |
|
|
|
|
|
|
|
public function configureForm(): array |
|
|
|
{ |
|
|
|
return [ |
|
|
|
'user', |
|
|
|
'type', |
|
|
|
'subject', |
|
|
|
'ticketMessages' |
|
|
|
'user', |
|
|
|
'type', |
|
|
|
'subject', |
|
|
|
'ticketMessages' |
|
|
|
]; |
|
|
|
} |
|
|
|
|
|
|
@@ -57,61 +57,61 @@ class TicketFieldDefinition extends AbstractFieldDefinition |
|
|
|
public function configureFields(): array |
|
|
|
{ |
|
|
|
return [ |
|
|
|
'id' => IdField::new('id') |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'createdAt' => DateTimeField::new('createdAt') |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'visitorFirstname' => TextField::new('visitorFirstname') |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/firstname.html.twig') |
|
|
|
->setCustomOption('filter_fqcn', TicketFirstnameFilter::class) |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'visitorLastname' => TextField::new('visitorLastname') |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/lastname.html.twig') |
|
|
|
->setCustomOption('filter_fqcn', TicketLastnameFilter::class) |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'visitorEmail' => TextField::new('visitorEmail') |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/email.html.twig') |
|
|
|
->setCustomOption('filter_fqcn', TicketEmailFilter::class) |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'user' => AssociationField::new('user') |
|
|
|
->hideOnIndex(), |
|
|
|
'subject' => TextField::new('subject') |
|
|
|
->setSortable(true), |
|
|
|
'updatedAt' => DateTimeField::new('updatedAt') |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/lastmessage.html.twig') |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'type' => ChoiceField::new('type') |
|
|
|
->autocomplete() |
|
|
|
->setSortable(true) |
|
|
|
->setChoices( |
|
|
|
$this->translatorAdmin->transChoices( |
|
|
|
TicketSolver::getTypeChoices(), |
|
|
|
'Ticket', |
|
|
|
'type' |
|
|
|
) |
|
|
|
), |
|
|
|
'status' => ChoiceField::new('status') |
|
|
|
->autocomplete() |
|
|
|
->setSortable(true) |
|
|
|
->setChoices( |
|
|
|
$this->translatorAdmin->transChoices( |
|
|
|
TicketSolver::getStatusChoices(), |
|
|
|
'Ticket', |
|
|
|
'status' |
|
|
|
) |
|
|
|
) |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/status.html.twig'), |
|
|
|
'id' => IdField::new('id') |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'createdAt' => DateTimeField::new('createdAt') |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'visitorFirstname' => TextField::new('visitorFirstname') |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/firstname.html.twig') |
|
|
|
->setCustomOption('filter_fqcn', TicketFirstnameFilter::class) |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'visitorLastname' => TextField::new('visitorLastname') |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/lastname.html.twig') |
|
|
|
->setCustomOption('filter_fqcn', TicketLastnameFilter::class) |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'visitorEmail' => TextField::new('visitorEmail') |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/email.html.twig') |
|
|
|
->setCustomOption('filter_fqcn', TicketEmailFilter::class) |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'user' => AssociationField::new('user') |
|
|
|
->hideOnIndex(), |
|
|
|
'subject' => TextField::new('subject') |
|
|
|
->setSortable(true), |
|
|
|
'updatedAt' => DateTimeField::new('updatedAt') |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/lastmessage.html.twig') |
|
|
|
->setSortable(true) |
|
|
|
->hideOnForm(), |
|
|
|
'type' => ChoiceField::new('type') |
|
|
|
->autocomplete() |
|
|
|
->setSortable(true) |
|
|
|
->setChoices( |
|
|
|
$this->translatorAdmin->transChoices( |
|
|
|
TicketSolver::getTypeChoices(), |
|
|
|
'Ticket', |
|
|
|
'type' |
|
|
|
) |
|
|
|
), |
|
|
|
'status' => ChoiceField::new('status') |
|
|
|
->autocomplete() |
|
|
|
->setSortable(true) |
|
|
|
->setChoices( |
|
|
|
$this->translatorAdmin->transChoices( |
|
|
|
TicketSolver::getStatusChoices(), |
|
|
|
'Ticket', |
|
|
|
'status' |
|
|
|
) |
|
|
|
) |
|
|
|
->setTemplatePath('@LcSov/admin/ticket/field/status.html.twig'), |
|
|
|
|
|
|
|
'ticketMessages' => CollectionField::new('ticketMessages') |
|
|
|
->setFormTypeOption('entry_type', TicketMessageAdminFormType::class) |
|
|
|
->setFormTypeOption('allow_add', false) |
|
|
|
->setFormTypeOption('allow_delete', false) |
|
|
|
'ticketMessages' => CollectionField::new('ticketMessages') |
|
|
|
->setFormTypeOption('entry_type', TicketMessageAdminFormType::class) |
|
|
|
->setFormTypeOption('allow_add', false) |
|
|
|
->setFormTypeOption('allow_delete', false) |
|
|
|
]; |
|
|
|
} |
|
|
|
|