Цитата:
Сообщение от
mazzy
Стандартный функционал не разрешает пустой проект при выбранной Default company.
Но "для примера наш бизнес сценарий должен позволить".
Что делаем?
а) разбираемся с бизнес логикой и выясняем причину явно записанного в валидаторе условия
б) сообщаем постановщику нашей задачи "для примера" о том, что в стандартной бизнес-логике есть вот такое условие валидации, чтобы он скорректировал условия задачи "для примера"
в) явно изменяем стандарный валидатор, чтобы все сразу видели что происходит (возможно даже оставляя комментарии в коде)
г) добавляем хуки, которые обманывают валидатор, передавая "глобальный" параметр и жестко завязываясь на конкретную реализацию и окружение валидатора.
Пфффф! очевидно же - пункт г)
Больше! Больше треша!
================================
Ну ведь дохренища же систем с экстеншенами/плагинами/хуками!
И для этой дохренищи уже написаны бестпрактисы и рекомендации что можно делать, а что не надо.
ха-ха! спасибо за каменты!
реальность гораздо страшнее нашего воображения! данный бизнес-сценарий - это то, над чем я конкретно сейчас работаю у реального клиента, которому нужно более гибко и мощно управляться со своим проектным производством. теперь по пунктам, которые ты совершенно обоснованно и чётко выделил.
а и б сидели на трубе, но быстро оттуда слиняли после общения с клиентом;
в - главный камень преткновения, из-за которого собственно весь сыр-бор: работаем только в парадигме расширения (в том числе и сознания, привыкшего делать простые задачи просто, а также времени разработки и бюджета, гыыы)
с твоей оценкой пункта "г" (даже с буквой, которую ты ему присвоил) я полностью согласен, так как прекрасно помню
речь из "полицейской академии". но это реальное решение реальной задачи для реального бизнеса.
ты не представляешь, насколько мне это не нравится, но я ничего лучше придумать не смог. с интересом жду твоих идей.
кстати говоря, не понял я, что имел в виду под "передавая "глобальный" параметр и жестко завязываясь на конкретную реализацию и окружение валидатора". этот хук именно что должен быть привязан к одному конкретному случаю, когда он вызывается из формы создания нового запроса на покупку (эту проверку я удалил из кода для облегчения понимания подхода); параметр самый что ни на есть локальный - существует исключительно в args. но это детали, можно их и опустить, так как меня интересует вопрос в более общей постановке: how to f***** survive in extensions?
спасибо за обсуждение!