我有Symfony 2.3 +奏鳴曲管理員+奏鳴曲用戶包。symfony奏鳴曲管理員角色嵌入onetomany實體
我已經創建了一個實體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',
))
謝謝!
你到底想達到什麼目的?你想讓角色操作員添加/刪除聯繫人?你必須添加角色ROLE_SONATA_ADMIN_CONTACT_CREATE,ROLE_SONATA_ADMIN_CONTACT_DELETE – HypeR
英語不是我的語言,也許我拼錯了一些東西。 我分配了角色,當我在學生編輯頁面時,操作員用戶無法添加或刪除聯繫人(以嵌入的形式),沒關係,因爲按鈕添加/刪除消失,但他可以編輯/更改值有權訪問的用戶),因爲輸入已啓用,並且當我保存學生時,這些值將保持聯繫。我不想那樣。我有其他的用戶組。 我認爲問題是知道角色如何與相關/嵌入實體協同工作。 –