@@ -49,51 +49,35 @@ public function __construct()
4949
5050 public function getIndex (Request $ request , $ uuid )
5151 {
52- $ server = Models \Server::byUuid ($ uuid );
52+ $ server = Models \Server::byUuid ($ uuid )-> load ( ' subusers.user ' ) ;
5353 $ this ->authorize ('list-subusers ' , $ server );
5454
5555 $ server ->js ();
5656
5757 return view ('server.users.index ' , [
5858 'server ' => $ server ,
5959 'node ' => $ server ->node ,
60- 'subusers ' => Models \Subuser::select ('subusers.* ' , 'users.email ' , 'users.username ' , 'users.use_totp ' )
61- ->join ('users ' , 'users.id ' , '= ' , 'subusers.user_id ' )
62- ->where ('server_id ' , $ server ->id )
63- ->get (),
60+ 'subusers ' => $ server ->subusers ,
6461 ]);
6562 }
6663
6764 public function getView (Request $ request , $ uuid , $ id )
6865 {
69- $ server = Models \Server::byUuid ($ uuid );
66+ $ server = Models \Server::byUuid ($ uuid )-> load ( ' node ' ) ;
7067 $ this ->authorize ('view-subuser ' , $ server );
7168
72- $ subuser = Models \Subuser::select ('subusers.* ' , 'users.email as a_userEmail ' )
73- ->join ('users ' , 'users.id ' , '= ' , 'subusers.user_id ' )
74- ->where (DB ::raw ('md5(subusers.id) ' ), $ id )->where ('subusers.server_id ' , $ server ->id )
75- ->first ();
76-
77- if (! $ subuser ) {
78- abort (404 );
79- }
80-
81- $ permissions = [];
82- $ modelPermissions = Models \Permission::select ('permission ' )
83- ->where ('user_id ' , $ subuser ->user_id )->where ('server_id ' , $ server ->id )
84- ->get ();
85-
86- foreach ($ modelPermissions as &$ perm ) {
87- $ permissions [$ perm ->permission ] = true ;
88- }
69+ $ subuser = Models \Subuser::with ('permissions ' , 'user ' )
70+ ->where ('server_id ' , $ server ->id )->findOrFail ($ id );
8971
9072 $ server ->js ();
9173
9274 return view ('server.users.view ' , [
9375 'server ' => $ server ,
9476 'node ' => $ server ->node ,
9577 'subuser ' => $ subuser ,
96- 'permissions ' => $ permissions ,
78+ 'permissions ' => $ subuser ->permissions ->mapWithKeys (function ($ item , $ key ) {
79+ return [$ item ->permission => true ];
80+ }),
9781 ]);
9882 }
9983
@@ -102,12 +86,10 @@ public function postView(Request $request, $uuid, $id)
10286 $ server = Models \Server::byUuid ($ uuid );
10387 $ this ->authorize ('edit-subuser ' , $ server );
10488
105- $ subuser = Models \Subuser::where (DB :: raw ( ' md5(id) ' ), $ id )-> where ( ' server_id ' , $ server ->id )->first ( );
89+ $ subuser = Models \Subuser::where (' server_id ' , $ server ->id )->findOrFail ( $ id );
10690
10791 try {
108- if (! $ subuser ) {
109- throw new DisplayException ('Unable to locate a subuser by that ID. ' );
110- } elseif ($ subuser ->user_id === Auth::user ()->id ) {
92+ if ($ subuser ->user_id === Auth::user ()->id ) {
11193 throw new DisplayException ('You are not authorized to edit you own account. ' );
11294 }
11395
@@ -163,7 +145,7 @@ public function postNew(Request $request, $uuid)
163145
164146 return redirect ()->route ('server.subusers.view ' , [
165147 'uuid ' => $ uuid ,
166- 'id ' => md5 ( $ subuser ->id ) ,
148+ 'id ' => $ subuser ->id ,
167149 ]);
168150 } catch (DisplayValidationException $ ex ) {
169151 return redirect ()->route ('server.subusers.new ' , $ uuid )->withErrors (json_decode ($ ex ->getMessage ()))->withInput ();
@@ -183,10 +165,7 @@ public function deleteSubuser(Request $request, $uuid, $id)
183165 $ this ->authorize ('delete-subuser ' , $ server );
184166
185167 try {
186- $ subuser = Models \Subuser::select ('id ' )->where (DB ::raw ('md5(id) ' ), $ id )->where ('server_id ' , $ server ->id )->first ();
187- if (! $ subuser ) {
188- throw new DisplayException ('No subuser by that ID was found on the system. ' );
189- }
168+ $ subuser = Models \Subuser::where ('server_id ' , $ server ->id )->findOrFail ($ id );
190169
191170 $ repo = new SubuserRepository ;
192171 $ repo ->delete ($ subuser ->id );
0 commit comments