Získání Nette\Security\User v UserRepository

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
argosovo
Člen | 54
+
0
-

Ahoj, mám tu takový problém, nad kterým dumám už druhý den.
Mám třídu UserRepository, která obsahuje spoustu metod pro práci s uživatelem a mimo jiné ji využívá i Authenticator. V této třídě mám také metodu, která edituje/přidává nové uživatele.
Následně mám také třídu Log, která se v konstruktoru vytvoří s instancí třídy Nette\Security\User a ke každému záznamu do logu přidává i informaci, který uživatel danou změnu provedl. Rád bych logoval i vytváření/editaci uživatelů, nicméně Nette celkem logicky hlásí: „Circular reference detected“ (nezáleží zda v konstruktoru třídy zkusím poslat aktuálního uživatele, nebo třídu Log, která taky potřebuje aktuálního uživatele).

Přemýšlel jsem nad tím posílat si ID uživatele z venku, nicméně v metodě odeslaného formuláře se k aktuálnímu uživateli také nepřistupuje zrovna snadno.

Jak se tohle dá řešit? Děkuji

CZechBoY
Člen | 3608
+
0
-

Rozpojit čtení a zápis do dvou tříd? Jedna třída bude ověřovat uživatele. Druhá třída bude mít na starosti spravování uživatelů – přidání, editaci, odebrání, … nebo třeba výpis všech uživatelů do nějakýho gridu.