Показать сообщение отдельно
Старый 04.10.2017, 15:41   #10  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от mazzy Посмотреть сообщение
Стандартный функционал не разрешает пустой проект при выбранной Default company.
Но "для примера наш бизнес сценарий должен позволить".

Что делаем?
а) разбираемся с бизнес логикой и выясняем причину явно записанного в валидаторе условия
б) сообщаем постановщику нашей задачи "для примера" о том, что в стандартной бизнес-логике есть вот такое условие валидации, чтобы он скорректировал условия задачи "для примера"
в) явно изменяем стандарный валидатор, чтобы все сразу видели что происходит (возможно даже оставляя комментарии в коде)
г) добавляем хуки, которые обманывают валидатор, передавая "глобальный" параметр и жестко завязываясь на конкретную реализацию и окружение валидатора.

Пфффф! очевидно же - пункт г)

Больше! Больше треша!

================================
Ну ведь дохренища же систем с экстеншенами/плагинами/хуками!
И для этой дохренищи уже написаны бестпрактисы и рекомендации что можно делать, а что не надо.
ха-ха! спасибо за каменты!

реальность гораздо страшнее нашего воображения! данный бизнес-сценарий - это то, над чем я конкретно сейчас работаю у реального клиента, которому нужно более гибко и мощно управляться со своим проектным производством. теперь по пунктам, которые ты совершенно обоснованно и чётко выделил.

а и б сидели на трубе, но быстро оттуда слиняли после общения с клиентом;
в - главный камень преткновения, из-за которого собственно весь сыр-бор: работаем только в парадигме расширения (в том числе и сознания, привыкшего делать простые задачи просто, а также времени разработки и бюджета, гыыы)

с твоей оценкой пункта "г" (даже с буквой, которую ты ему присвоил) я полностью согласен, так как прекрасно помню речь из "полицейской академии". но это реальное решение реальной задачи для реального бизнеса.

ты не представляешь, насколько мне это не нравится, но я ничего лучше придумать не смог. с интересом жду твоих идей.

кстати говоря, не понял я, что имел в виду под "передавая "глобальный" параметр и жестко завязываясь на конкретную реализацию и окружение валидатора". этот хук именно что должен быть привязан к одному конкретному случаю, когда он вызывается из формы создания нового запроса на покупку (эту проверку я удалил из кода для облегчения понимания подхода); параметр самый что ни на есть локальный - существует исключительно в args. но это детали, можно их и опустить, так как меня интересует вопрос в более общей постановке: how to f***** survive in extensions?

спасибо за обсуждение!
__________________
Felix nihil admirari