2012-03-30 8 views
5

Kod oficjalnego przykład ACL działa: http://symfony.com/doc/current/cookbook/security/acl.htmlSymfony2: rozbudowa gałązka is_granted ('EDIT', komentarz) nie działa w pętli foreach

Jeśli to zrobić, nie ma problemu ...

{% if is_granted('EDIT', comment) %} 
    Edit 
{% endif %} 

... ale jeśli chcę mieć "Udzielony dostęp" do powiązanego obiektu, to nie działa.

{% for comment in news.comments %} 
    comment.content 
    {% if is_granted('EDIT', comment) %} 
     Edit 
    {% endif %} 
{% endfor %} 

Myślę, że rozszerzenie gałązka nie może wiedzieć, że "komentarz" jest "Komentarz".

Zapytanie wyszukuje "Jbl \ NewsBundle \ Entity \ komentarz" "Proxy \ JblNewsBundleEntityCommentProxy" zamiast:

SELECT a.ancestor_id FROM acl_object_identities o INNER JOIN acl_classes c ON c.id = o.class_id INNER JOIN acl_object_identity_ancestors a ON a.object_identity_id = o.id WHERE ((o.object_identifier = '38' AND c.class_type = 'Proxies\\JblNewsBundleEntityCommentProxy')) 

Ale nie wiem jak to naprawić.

Masz rozwiązanie, proszę?

Odpowiedz

Powiązane problemy