У меня есть Symfony 2.3 + Sonata Admin + Sonata User Bundle.
Я создал объект Student
и еще один объект Contact
. Student
имеет отношения "один ко многим" с Contact
. Я добавил Contact
к Student
с sonata_type_collection
в моем классе StudentAdmin
. Я также создал группу пользователей Operator
и назначил все разрешения Student
, но только list
и view
пользователю Contact
.
Моя проблема в том, что любой пользователь Operator
не может добавлять или удалять Contact
(со страницы редактирования учащегося), но может редактировать (и значения сохраняются).
Любые предложения или примеры?
Некоторый код:
Назначенные роли:
ROLE_SONATA_ADMIN_STUDENT_EDIT
ROLE_SONATA_ADMIN_STUDENT_LIST
ROLE_SONATA_ADMIN_STUDENT_CREATE
ROLE_SONATA_ADMIN_STUDENT_VIEW
ROLE_SONATA_ADMIN_STUDENT_DELETE
ROLE_SONATA_ADMIN_CONTACT_LIST
ROLE_SONATA_ADMIN_CONTACT_VIEW
ROLE_ADMIN: ROLE_USER, ROLE_SONATA_ADMIN
/**
* @ORM\OneToMany(targetEntity="MyBundle\Entity\Contact",
mappedBy="student",
cascade={"persist", "remove"})
**/
private $contact;
->add('contact', 'sonata_type_collection',
array(
'label' => 'Contact',
'by_reference' => false,
),
array(
'edit' => 'inline',
'inline' => 'table',
))
Спасибо!