@symfony_php

Страница 896 из 1418
Sergey
21.04.2018
08:57:48
Kirill
21.04.2018
08:59:18
и что он у тебя админит?)
Он для менеджеров, оповещает их о новых клиентах, документах, показывает список в обработке и т д Пока просто у меня админка и основная часть две разных части. Вот надо как то через права юзеров это разрулить

Yuriy
21.04.2018
09:00:42
а зачем ты вручную ему отдаешь собранный запрос? он сам может подставить параметры
после выполнения запроса в целевом ешкине в дебагере я не увидел 2,3 параметра, начал врукопашную с курлом експериментировать, и обнаружил то что при передаче запроса без кавычек из GET остается только первый параметр

Google
Andrey
21.04.2018
09:01:32
Kirill
21.04.2018
09:01:34
а все эти штуки типа документы, клиенты и т.д. они в админ бандле или в app bundle?
но кроме юзеров, всё в своих бандлов, т.е получается -AppBundle -User(сущность) -DocumentBundle -AdminBundle -PaymentsBundle

Yuriy
21.04.2018
09:02:44
во- первых про кавычки тебе в чате подсказали
да конечно, всем спасибо, но это только часть моей пробелмы и мне ее нужно решить полностью

Sergey
21.04.2018
09:03:03
но кроме юзеров, всё в своих бандлов, т.е получается -AppBundle -User(сущность) -DocumentBundle -AdminBundle -PaymentsBundle
тебе не нужны бандлы тут. Вообще. Они никак тебе не помогают и ничего не дают. Это просто папки.

Bohdan
21.04.2018
09:03:04
для бандла разбирайся сам, как делать

Kirill
21.04.2018
09:03:53
У тебя бандл админки за документы должен знать?
да, админы с ними работают, а клиенты видят что с ними: приняты или комментарии к ним

Елнур
21.04.2018
09:04:06
но кроме юзеров, всё в своих бандлов, т.е получается -AppBundle -User(сущность) -DocumentBundle -AdminBundle -PaymentsBundle
Раньше сам тоже писал такие бандлы... Бандлы нужны только тогда, когда она может быть использована в других приложениях. Но по сути все мы пишем монолиты, а разделять их в бандлы не дает никакого профита. все равно все будет взаимосвязано

Kirill
21.04.2018
09:05:28
тебе не нужны бандлы тут. Вообще. Они никак тебе не помогают и ничего не дают. Это просто папки.
А как без него? по факту получается - это отдельный объект, и пользователь и менеджер видит всё по разному. А данные одни что то запутался с ними)

Sergey
21.04.2018
09:06:30
А как без него? по факту получается - это отдельный объект, и пользователь и менеджер видит всё по разному. А данные одни что то запутался с ними)
создай папку. не делай бандлов для приложения. Бандлы только для тех вещей которые ты хочешь реюзать. Обычно это какие-то куски инфраструктуры

Google
Елнур
21.04.2018
09:06:44
Sergey
21.04.2018
09:07:08
но вообще модули Admin и Manager скорее всего совсем не то

Kirill
21.04.2018
09:07:23
Sergey
21.04.2018
09:07:41
ну то есть основное же у нас документы и клиенты, а все остальное - это что разные роли могут с ними делать

и нет смысла (но это не точно) выносить отдельно модуль для админов и отдельно для менеджеров

Елнур
21.04.2018
09:08:06
но вообще модули Admin и Manager скорее всего совсем не то
да, я привел не тот пример... вместо Manager - должно быть Client например

Kirill
21.04.2018
09:08:09
Т.е. в итоге разные контроллеры на одну сущность

Sergey
21.04.2018
09:08:21
можно почитать про "что такое cohesion" но это сложна по началу особенно

ну и опять же контроллеры и сущности - между ними было бы неплохо что-то типа service layer поместить

ну и еще - по поводу прав доступа - изучай security voters

и не делай проверок в контроллерах. Делигируй

Kirill
21.04.2018
09:10:01
Елнур
21.04.2018
09:10:04
Т.е. в итоге разные контроллеры на одну сущность
Можно обойтись одним контроллером

Sergey
21.04.2018
09:10:20
Kirill
21.04.2018
09:10:37
Можно обойтись одним контроллером
а не сложноват он будет? и в чем тогда разделение? там довольно сильный роутинг

с чем именно?
с разделением ролей и правами

Елнур
21.04.2018
09:10:48
Google
Kirill
21.04.2018
09:10:59
fos user - гавно =))
а что тогда лучше?)

Sergey
21.04.2018
09:11:12
а что тогда лучше?)
я тебе уже сказал - symfony/security - voters

с ними разберись и будешь богом прав

тебе больше по сути ничего не нужно

Kirill
21.04.2018
09:11:40
я тебе уже сказал - symfony/security - voters
ага, спасибо, ща буду юзать

Sergey
21.04.2018
09:11:53
это про то что бы ты логику в контроллеры не ложил, а не про то что бы контроллеры как-то разделять по роутам.

Елнур
21.04.2018
09:12:50
а не сложноват он будет? и в чем тогда разделение? там довольно сильный роутинг
у вас могут появляться разные роли... и для каждой роли в дальнейшем будете создавать новый контроллер, новую форму, новый шаблон?

Sergey
21.04.2018
09:12:51
опять же что бы все было проще тебе придется ознакомиться с базовыми концепциями "хороших модулей" - cohesion и coupling

Елнур
21.04.2018
09:14:36
настройте всю логику по правам в security voters. потом в шаблоне будете показывать/скрывать разные блоки уже по правам

Kirill
21.04.2018
09:15:26
Спасибо парни, внесли ясноть, хотя местами ещё больше запутался Но вроде понял что менять и что учить

Елнур
21.04.2018
09:16:18
где именно запутались?

Kirill
21.04.2018
09:20:39
где именно запутались?
В разделение, думаю теперь что надо бандл Документы убрать, перенести сущность в AppBundle Но в AdminBundle своя же тема, он же должен сохраняться как бандл? И если да, то там же свой контроллер а вы вроде говорите, что надо использовать один

Kirill
21.04.2018
09:26:56
Например: AppBundle Controller Admin DocumentController ClientController PaymentController Client DocumentController PaymentController
А вот так намного больше прояснилсь) пошёл приводить в порядок код Огромнейшее спасибо ?

Google
Елнур
21.04.2018
09:27:44
Например: AppBundle Controller Admin DocumentController ClientController PaymentController Client DocumentController PaymentController
Так же и с формами: AppBundle Form Admin Document DocumentEditForm Payment PaymentEditForm Client Document DocumentCreateForm Payment PaymentCreateForm Security LoginForm RegisterForm

Так же и с формами: AppBundle Form Admin Document DocumentEditForm Payment PaymentEditForm Client Document DocumentCreateForm Payment PaymentCreateForm Security LoginForm RegisterForm
отдельная папка для каждой сущности, если в дальнейшем потребуется создать другие формы для одной и той же сущности

Например, DocumentSearchForm или DocumentFilterForm

Bohdan
21.04.2018
09:29:03
Sergey
21.04.2018
09:29:35
а где корректно дергать?
не, я о том что бы проверка происходила не в контроллере, дергать ее ты можешь в контроллерах.

Bohdan
21.04.2018
09:29:58
а, ну так да, воутеры наше все

Sergey
21.04.2018
09:29:59
просто что бы сам контроллер ничего не знал как определяется можно ли челу с этим чем-то сделать такие-то действия или нет

Dmitriy
21.04.2018
09:30:15
Формы не обязательно кидать в папку форм. Форма для админки конкретного контролера может находиться в его же неймспейсе.

Admin
ERROR: S client not available

Kirill
21.04.2018
09:31:19
is_granted('ROLE_DOCUMENT_EDIT', $document)
а где проверку делать?

Елнур
21.04.2018
09:31:30
Sergey
21.04.2018
09:31:48
is_granted('ROLE_DOCUMENT_EDIT', $document)
а зачем ROLE_? просто EDIT

ну и еще лучше что бы это небыло строкой

Елнур
21.04.2018
09:32:31
а зачем ROLE_? просто EDIT
да, можно оставить и так, если роли простые. Но в моих документооборотах разделение ролей было чуть посложнее. Например есть Сотрудник, Департамент, Должность, и их связь. Роли даются для должностей. Например, CONTRACT_EDIT, PAYMENT_CREATE

Google
Bohdan
21.04.2018
09:34:58
константой
осталось решить, где их держать)

Елнур
21.04.2018
09:35:18
осталось решить, где их держать)
например в классе AppConst

Sergey
21.04.2018
09:35:29
is_granted(DocumentPermission::EDIT, $document)

Bohdan
21.04.2018
09:35:35
например в классе AppConst
слегка пованивает, не находишь?)

Alan
21.04.2018
09:35:42
@Skornkir ?

Bohdan
21.04.2018
09:36:26
пока у меня мысль только про хранение действий в сущности

Kirill
21.04.2018
09:36:27
Bohdan
21.04.2018
09:36:40
типа сущность знает, какие действия могут над ней совершаться

Sergey
21.04.2018
09:37:00
пока у меня мысль только про хранение действий в сущности
можно и так, но я хз почему мне это не нравится. Обосновать не могу потому не буду говорить что это чет не то

Bohdan
21.04.2018
09:37:11
это слегка нарушение srp

так как сущности по сути не нужно это знать и её стейт и поведение не зависят от этих констант

при нормальном разделении на "модули" можно держать по классу с константами на модуль но это только если модуль реально маленький

Елнур
21.04.2018
09:39:09
так же и с названиями event-ов

updated, created, edited, removed и т.д.

Sergey
21.04.2018
09:40:20
ProductHasBeenDelivered

DocumentWasSigned

Bohdan
21.04.2018
09:40:45
так же и с названиями event-ов
и можно класть в класс ивента)

или вообще по имени класса слать

Страница 896 из 1418