мне нужно написать имя зарегистрированного пользователя в некоторых областях моей модели (у меня родительский документ и некоторые встроенные документы)Sonata Admin - Инъекция SecurityContext в класс администратора
Я впрыскивается контекст безопасности в мой класс администратора
calls:
- [ setTranslationDomain, [QMAdminBundle]]
- [ setSecurityContext, [@security.context]]
тогда я написал мой setSecurityContext
public function setSecurityContext($securityContext) {
$this->securityContext = $securityContext;
}
public function getSecurityContext() {
return $this->securityContext;
}
public function prePersist($appunto) {
$user = $this->getSecurityContext()->getToken()->getUser();
$appunto->setOperatore($user->getUsername());
}
к сожалению, это не написать пользователю ... может быть, это происходит потому, что у меня родительский документ (где я не нужно написать пользователю) и некоторые встроенные документы (где я хочу написать пользователя), которые я покажу в родительской форме (см. изображение)?
Я использую fosuserbundle и комплект, который (easy-) расширяет пользователя сонаты: я должен использовать их, чтобы получить пользователя?
У вас есть предложения по решению этой проблемы?
Большое спасибо
Я сожалею, но я не понял ваш намек: вы предлагаете мне установить оператор в _contructor() в моем Оператора документ? Большое спасибо – satboy78
Да, в вашем конструкторе класса SonataAdmin. Вы можете сделать это прямо в своем конструкторе объектов, если хотите установить его глобальным способом каждый раз, когда вы создаете новый объект –
ok, я пробовал. К сожалению, это не работает, может быть, я чего-то не хватает. – satboy78