přístup do jiného presenteru
- jrwm
- Člen | 14
Ahoj, nemůžu nikde najít, kde se to řešilo, tak se ptám tady.
V Admin presenteru spravuju uživatele a chci je schvalovat podle toho toho,
jestli mají vyplněné všechny required údaje na profilu.
Údaje na profilu se nastavují se v 8 formulářích (= 8 createComponent)
v settings presenteru.
Moje kontrola spočívá v tom, že si načtu postupně ty formuláře, a prvek po prvku je procházím a když je pole required a nemá hodnotu, kontrola selhala.
Jenže tuhle kontrolu můžu dělat jenom v settings presenteru a už ne jako admin v admin presenteru. Prosím poraďte mi, jak získat přístup z admin presenteru do settings presenteru, abych mohl provést kontrolu uživatelů. Jsem zoufalý, prosím o radu.
- mkoubik
- Člen | 728
Nevím co myslíš tím „získat přístup z admin presenteru do settings presenter“, ale pokud potřebuješ ke komponentě přistupovat z více presenterů, tak její továrničku přesuň do společného předka.
BTW tohle by se mělo řešit úplně jinak (v doménové vrstvě).
Editoval mkoubik (22. 8. 2013 16:01)
- jrwm
- Člen | 14
mkoubik: jo jenže se pak z BasePresenteru stává skladiště, kam házím všechno, k čemu mám mít přístup z více presenterů. A hodit tam 8 formulářů ze settings presenteru a další tři metody se mi jako řešení nelíbí.
získat přístup z admin presenteru do settings presenteru znamená volat metody settings presenteru z admin presenteru. Které ovšem nemůžou být statické, protože createComponent nejsou statické
- frosty22
- Člen | 373
Tak tohle je hloupost, vezmi to z pohledu objektů Presenter je prostě nějaký objekt, který má nějaké stavy, metody. Sice z tohoto pohledu bys mohl mít závislost na jiném presenteru, ale tu ty ani nechceš, ty potřebuješ oddělit vytváření formuláře od presenteru, kde ho nyní vytváříš.
Případně i dalších věcí – nevím co chceš vše volat na těch metodách SettingPresenter, ale tu funkčnost těch metod si přenes do jiného objektu / jiných objektů – tak jak je to logické. A potom tyto objekty si zaregistruj jako službu do konfigu a odtud je presenterem, který je potřebuje vytáhni tj. oběma.
V podstatě veškerou logiku bys měl tahat, pokud možnost, z presenteru do vlastních tříd ven a presenter by měl jen komunikovat mezi view (= potřebou dat daných šablon) a danými službami, která tyto data budou poskytovat.