@@ -31,7 +31,7 @@ public function __construct(bool $debugMode = false)
3131 public function getConfigSchema (): Nette \Schema \Schema
3232 {
3333 return Expect::structure ([
34- 'debugger ' => Expect::bool (interface_exists (\ Tracy \IBarPanel::class) ),
34+ 'debugger ' => Expect::bool (),
3535 'users ' => Expect::arrayOf (
3636 Expect::anyOf (
3737 Expect::string (), // user => password
@@ -64,12 +64,6 @@ public function loadConfiguration()
6464 $ user = $ builder ->addDefinition ($ this ->prefix ('user ' ))
6565 ->setFactory (Nette \Security \User::class);
6666
67- if ($ this ->debugMode && $ config ->debugger ) {
68- $ user ->addSetup ('@Tracy\Bar::addPanel ' , [
69- new Nette \DI \Definitions \Statement (Nette \Bridges \SecurityTracy \UserPanel::class),
70- ]);
71- }
72-
7367 if ($ config ->users ) {
7468 $ usersList = $ usersRoles = $ usersData = [];
7569 foreach ($ config ->users as $ username => $ data ) {
@@ -110,4 +104,19 @@ public function loadConfiguration()
110104 $ builder ->addAlias ('nette.userStorage ' , $ this ->prefix ('userStorage ' ));
111105 }
112106 }
107+
108+
109+ public function beforeCompile ()
110+ {
111+ $ builder = $ this ->getContainerBuilder ();
112+
113+ if (
114+ $ this ->debugMode &&
115+ ($ this ->config ->debugger ?? $ builder ->getByType (\Tracy \Bar::class))
116+ ) {
117+ $ builder ->getDefinition ($ this ->prefix ('user ' ))->addSetup ('@Tracy\Bar::addPanel ' , [
118+ new Nette \DI \Definitions \Statement (Nette \Bridges \SecurityTracy \UserPanel::class),
119+ ]);
120+ }
121+ }
113122}
0 commit comments