
Sergey
21.04.2018
08:57:48

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

Sergey
21.04.2018
08:59:52

Yuriy
21.04.2018
09:00:42

Google

Bohdan
21.04.2018
09:01:19

Andrey
21.04.2018
09:01:32

Kirill
21.04.2018
09:01:34

Andrey
21.04.2018
09:02:36

Yuriy
21.04.2018
09:02:44

Sergey
21.04.2018
09:03:03

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

Kirill
21.04.2018
09:03:53

Елнур
21.04.2018
09:04:06

Yuriy
21.04.2018
09:04:16

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 скорее всего совсем не то

Елнур
21.04.2018
09:07:21

Kirill
21.04.2018
09:07:23

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

Елнур
21.04.2018
09:08:06

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

Sergey
21.04.2018
09:11:12
с ними разберись и будешь богом прав
тебе больше по сути ничего не нужно

Kirill
21.04.2018
09:11:40

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

Елнур
21.04.2018
09:12:50

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

Kirill
21.04.2018
09:13:15

Елнур
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 своя же тема, он же должен сохраняться как бандл? И если да, то там же свой контроллер
а вы вроде говорите, что надо использовать один

Елнур
21.04.2018
09:23:06
Например:
AppBundle
Controller
Admin
DocumentController
ClientController
PaymentController
Client
DocumentController
PaymentController

Sergey
21.04.2018
09:24:57
а лучше просто src/Controller

Kirill
21.04.2018
09:26:56

Google

Елнур
21.04.2018
09:27:44
Например, 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
просто что бы сам контроллер ничего не знал как определяется можно ли челу с этим чем-то сделать такие-то действия или нет

Елнур
21.04.2018
09:30:06

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

Sergey
21.04.2018
09:30:37

Admin
ERROR: S client not available

Елнур
21.04.2018
09:31:19

Kirill
21.04.2018
09:31:19

Елнур
21.04.2018
09:31:30

Sergey
21.04.2018
09:31:48
ну и еще лучше что бы это небыло строкой

Kirill
21.04.2018
09:32:02

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

Google

Bohdan
21.04.2018
09:34:58

Sergey
21.04.2018
09:35:10

Елнур
21.04.2018
09:35:18

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

Bohdan
21.04.2018
09:35:35

Alan
21.04.2018
09:35:42
@Skornkir ?

Елнур
21.04.2018
09:35:48

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
или вообще по имени класса слать