Привет всем!
Я использую easyadmin для проекта, и я немного запутался. У меня есть пользовательский объект с ролями "ROLE_CUSTOMER" и "ROLE_REPAIRMAN". Я могу отображать и добавлять пользователей в зависимости от их ролей:
entity.yaml:
easy_admin:
entities:
Customer:
label: 'Customer'
class: App\Entity\User
list:
dql_filter: "entity.roles LIKE '%%ROLE_CUSTOMER%%'"
form:
title: "Add Customer"
fields: &userFormFields
- { property: 'email' }
- { property: 'civility' }
- { property: 'lastname' }
- { property: 'firstname' }
- { property: 'phone' }
- { property: 'mobile' }
Repairman:
label: 'Repairman'
class: App\Entity\User
controller: App\Controller\Admin\RepairmanController
list:
dql_filter: "entity.roles LIKE '%%ROLE_REPAIRMAN%%'"
fields:
- id
- company
- email
- civility
- firstname
- lastname
- { property: 'isAdminGroup' }
form:
title: "Add Repairman"
fields:
- { property: 'email' }
- { property: 'civility' }
- { property: 'lastname' }
- { property: 'firstname' }
- { property: 'phone' }
- { property: 'mobile' }
- { property: 'company' }
- { property: 'vitrage' }
- { property: 'kbis' }
- { property: 'siret' }
- { property: 'isAdminGroup' }
menu.yaml
easy_admin:
design:
menu:
- label: 'Clients'
icon: 'users'
entity: 'Customer'
children:
- { label: 'Show', entity: 'Customer', params: { action: 'list' } }
- { label: 'Add', entity: 'Customer', params: { action: 'new' } }
- label: 'Repairman'
icon: 'users'
entity: 'Repairman'
children:
- { label: 'Show', entity: 'Repairman', params: { action: 'list' } }
- { label: 'Add', entity: 'Repairman', params: { action: 'new' } }
Когда я нажимаю добавить клиента,Мне бы хотелось, чтобы его роль была ROLE_CUSTOMER, а когда я нажимал на кнопку добавить ремонтника, его роль была ROLE_REPAIRMAN
Я пытался расширить AdminController, RepairmanController, но не могу получить то, что хочу. Я также попытался установить значение по умолчанию, используя:
- { property: 'roles', type: 'hidden', type_options: { empty_data: "['ROLE_REPAIRMAN']" } }
Здесь у меня ошибка, потому что ему нужен массив, и он интерпретирует значение как строку.
Может кто-нибудь помочь мне понятьэто, пожалуйста? Или у вас есть лучшее решение?
Спасибо!