trnt
Так есть просто Voter.
Кажется немного о разном говорим. Вышеозвученная ошибка вылезла, когда до создания своих ... как их перевести на русский? избирателей? ... было ещё далеко (в обучаещем видео имеется в виду)
Vadim
Ну вы говорили про вотеры.
trnt
Про класс Symfony\Component\Security\Core\Event\VoteEvent
Vadim
Да я про задачу. Что нужно сделать?
trnt
{% if is_granted('ROLE_USER') %} - всё было нормально до момента пока не дошли до ролей. и тут такая ошибка как на скриншоте выше. А у лектора все по прежнему пучком. Оказалось в его версии симфони (4.0) такого класса нет ВООБЩЕ. На тот момент у менябыла свежая 4.2
Игорёк
Как я понимаю мы все одним видосики смотрим))
Игорёк
он родимый))
trnt
он родимый))
странно, но английский этого чеха (или поляка или словака) мне очень понятен))
Игорёк
подача хорошая, хорошо поставлена речь
trnt
Игорь, а вам удалось избавиться от ошибки проверкой юзера, как выше советовали?
trnt
@vipos89 ^^
Игорёк
нет, я сделал маленький фикс с самой либе. Знаю что это неправильно, править что-то в вендоре, но для обучения пойдет))
Игорёк
/Users/admin/Sites/sy.loc/vendor/symfony/security-core/Authorization/Voter/TraceableVoter.php
Игорёк
39 строка
Игорёк
$this->eventDispatcher->dispatch('debug.security.authorization.vote', new VoteEvent($this->voter, $subject, $attributes, intval($result)));
Игорёк
последний параментр обернул в intval
Игорёк
хотя на дебаге $result выдавало 0
trnt
а вообще странно, гуглин, ничего ни у кого не нашёл про эту ошибку. Неужели никто не пишет на новых версиях. Хотя обновляются же.
Игорёк
я тоже
Игорёк
видно свежая версия security-core вышла, и маленький баг есть)
trnt
@franzkafkiansky , вы вроде пытались помочь
Vadim
@franzkafkiansky , вы вроде пытались помочь
У меня так и все работает: {% if is_granted('ROLE_USER') and app.user is defined %}
🤫
Привет ребята, может кому нужен джун на удаленку, готовый работать за еду)
Anonymous
Ого :)))
Anonymous
А что умеет этот джун?)
Евгений Семашко
Всем привет
Евгений Семашко
Можете подсказать, почему PHPStamp генерит документ с ненужными стилями?
Евгений Семашко
public function render(DocumentInterface $document, array $values) { // fill with values $xslt = new \XSLTProcessor(); $template = $this->getTemplate($document); $xslt->importStylesheet($template); $content = $xslt->transformToDoc( $this->createValuesDocument($values) ); Processor::undoEscapeXsl($content); return new Result($content, $document); }
Евгений Семашко
Есть вот такой метод
Евгений Семашко
Он импортит таблицу стилей из документа, а затем делает трансформ в док
Евгений Семашко
Но. При открытии ворд пишет, что есть внешние стили (соотвтетствуют стилям сайта)
Евгений Семашко
Не могу понять в чем причина
Anonymous
Anonymous
Там умники пишут про xslt
Anonymous
Попробуй библиотечку и будет тебе полегче вроде как
Andrew
Ребят, кто может подсказать, в чем проблема
Andrew
Есть роут на симфе. Стучусть к нему из браузера, его не находиит ни в какую
Andrew
сам дебаг роутов - роут отображает
Andrew
лолкально тоже всё работает. Перенес на вагрант, и ни в какую
Andrew
Andrew
Andrew
путь до /api/ прокидывает nginx
Andrew
rexex роутов в кеше
Anonymous
Anton scruwi будет жить. Поприветствуем!
Anton
Всем привет. Не могу победить EasyAdmin + VichUploader уже второй день, нид хелп. в editAction() выводится форма с полем для загрузки файла. Нужно рендерить её чуть иначе чем стандартно, но на конфиг form: fields: - importFile { template: 'sometemplate.html.twig' } не реагирует, рисует стандартное поле. Такое впечатление, что VichUploader умеет менять шаблон только у поля в 'list' или 'show'
artem
rexex роутов в кеше
Я так понимаю на сервере не работает?
Andrew
Спасибо конечно, за ответ
Andrew
Но я уже как бы бокс новый собрал
Andrew
ааахаххаха
Andrew
с другим стеком
Andrew
а вообще, на вагранте
artem
Я с варгантом не работал. Больше docker-compose
Dmitriy
ребят подскажите пожалуйста
Dmitriy
у меня есть сущность в бд
Dmitriy
она с айдишкой все как положено и есть сущность которая может быть создана из вне
Dmitriy
и все совпадет
Dmitriy
но айди будет налл, как указать доктрине что нужно обновить уже имеющуюся
Dmitriy
+
artem
+
Я конечно не уверен что пк мб нулл
Dmitriy
Ну когда null доктрина создаёт запись. Интересует как обновить текущую
artem
Обновить через провайдер? Суть вопроса все ещё не понял. Засетил, передал провайдеру
artem
Вопрос не по теме, но все же... А в каком месте воняет ларавел?
Alexander
Но тебе нужно сопоставлять с внешней айдишкой какой-либо, есть что-то такое?
Dmitriy
да есть
Dmitriy
есть внешняя айди
Dmitriy
она не меняется
Dmitriy
но могут поменятся поля другие
Dmitriy
я понимаю что надо вытянуть сравнить то что различается поменять и засейвить)
Dmitriy
пока не могу вкурить как это в разрезе доктрины)
Максим
Всем привет! Работаю с бандлами, создал простой бандл, скачал композером на проект. Мне нужно расширить функционал одного из контроллеров. Я посмотрел по документации, говорится, что нужно сделать декоратор, типо такого: # config/services.yaml services: App\Mailer: ~ App\DecoratingMailer: decorates: App\Mailer # pass the old service as an argument arguments: ['@App\DecoratingMailer.inner'] Я сделал так: Derenskiy\UserBundle\Controller\ProfileController: ~ App\Controller\ProfileController: decorates: Derenskiy\UserBundle\Controller\ProfileController arguments: ['@App\Controller\ProfileController.inner'] На это дело у меня выскакивает ошибка: Cannot autowire service "App\Controller\ProfileController": argument "$softDeleting" of method "__construct()" has no type-hint, you should configure its value explicitly. В бандле в services.yaml в ProfileController прокидывается аргумент $softDeleting. Следовательно, я должен его прокинуть как-то и в новый контроллер, но его взять надо из бандла. Подскажите, как решить проблему? PS: если написать так App\Controller\ProfileController: decorates: Derenskiy\UserBundle\Controller\ProfileController arguments: $softDeleting: '@App\Controller\ProfileController.inner' И задампить $softDeleting в контроллере, то выведется обьект с передаваемыми сервисами и параметрами
Сергій 🍉
ты свой ProfileController унаследовал от базового?
Alexander
пока не могу вкурить как это в разрезе доктрины)
Ты пару месяцев назад с похожей проблемой был, так и не решил? Все просто же. У тебя есть внешняя сущность, есть внутренняя. Тебе их нужно сопоставить. Например у сущности User будет поле externalId. Когда ты импортируешь пользователя, ты в это поле записываешь внешний айди. При импорте ты сначала смотришь, есть ли в репозитории юзер с таким внешним айди, если есть, то ты его достаешь оттуда, обновляешь поля если нужно и сохраняешь. Профит
Dmitriy
Решил). Просто решил костылем каким то. Хочется красиво как то сделать а не просто делать гет и сет. Гет с одной сущности сет в другую)