0

大家好 !

我正在为一个项目使用easyadmin,我有点困惑。我有一个角色为“ROLE_CUSTOMER”和“ROLE_REPAIRMAN”的用户实体。我可以根据他们的角色显示和添加用户:

实体.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' }

菜单.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']" } }

在这里我有一个错误,因为他需要一个数组并且他将值解释为一个字符串。

有人可以帮我弄清楚吗?或者你有更好的解决方案吗?

谢谢 !

4

0 回答 0