@@ -58,8 +58,11 @@ public function __construct()
5858 public function getIndex (Request $ request )
5959 {
6060 $ server = Models \Server::getByUUID ($ request ->route ()->server );
61+ $ node = Models \Node::find ($ server ->node );
6162
6263 Javascript::put ([
64+ 'server ' => collect ($ server ->makeVisible ('daemonSecret ' ))->only (['uuid ' , 'daemonSecret ' , 'username ' ]),
65+ 'node ' => collect ($ node )->only ('fqdn ' , 'scheme ' , 'daemonListen ' ),
6366 'meta ' => [
6467 'saveFile ' => route ('server.files.save ' , $ server ->uuidShort ),
6568 'csrfToken ' => csrf_token (),
@@ -68,8 +71,7 @@ public function getIndex(Request $request)
6871
6972 return view ('server.index ' , [
7073 'server ' => $ server ,
71- 'allocations ' => Models \Allocation::where ('assigned_to ' , $ server ->id )->orderBy ('ip ' , 'asc ' )->orderBy ('port ' , 'asc ' )->get (),
72- 'node ' => Models \Node::find ($ server ->node ),
74+ 'node ' => $ node ,
7375 ]);
7476 }
7577
@@ -120,10 +122,16 @@ public function getAddFile(Request $request, $uuid)
120122 {
121123 $ server = Models \Server::getByUUID ($ uuid );
122124 $ this ->authorize ('add-files ' , $ server );
125+ $ node = Models \Node::find ($ server ->node );
126+
127+ Javascript::put ([
128+ 'server ' => collect ($ server ->makeVisible ('daemonSecret ' ))->only (['uuid ' , 'uuidShort ' , 'daemonSecret ' , 'username ' ]),
129+ 'node ' => collect ($ node )->only ('fqdn ' , 'scheme ' , 'daemonListen ' ),
130+ ]);
123131
124132 return view ('server.files.add ' , [
125133 'server ' => $ server ,
126- 'node ' => Models \Node:: find ( $ server -> node ) ,
134+ 'node ' => $ node ,
127135 'directory ' => (in_array ($ request ->get ('dir ' ), [null , '/ ' , '' ])) ? '' : trim ($ request ->get ('dir ' ), '/ ' ) . '/ ' ,
128136 ]);
129137 }
@@ -140,6 +148,7 @@ public function getEditFile(Request $request, $uuid, $file)
140148 {
141149 $ server = Models \Server::getByUUID ($ uuid );
142150 $ this ->authorize ('edit-files ' , $ server );
151+ $ node = Models \Node::find ($ server ->node );
143152
144153 $ fileInfo = (object ) pathinfo ($ file );
145154 $ controller = new FileRepository ($ uuid );
@@ -157,9 +166,15 @@ public function getEditFile(Request $request, $uuid, $file)
157166 return redirect ()->route ('server.files.index ' , $ uuid );
158167 }
159168
169+ Javascript::put ([
170+ 'server ' => collect ($ server ->makeVisible ('daemonSecret ' ))->only (['uuid ' , 'uuidShort ' , 'daemonSecret ' , 'username ' ]),
171+ 'node ' => collect ($ node )->only ('fqdn ' , 'scheme ' , 'daemonListen ' ),
172+ 'stat ' => $ fileContent ['stat ' ],
173+ ]);
174+
160175 return view ('server.files.edit ' , [
161176 'server ' => $ server ,
162- 'node ' => Models \Node:: find ( $ server -> node ) ,
177+ 'node ' => $ node ,
163178 'file ' => $ file ,
164179 'stat ' => $ fileContent ['stat ' ],
165180 'contents ' => $ fileContent ['file ' ]->content ,
@@ -193,17 +208,36 @@ public function getDownloadFile(Request $request, $uuid, $file)
193208 return redirect ($ node ->scheme . ':// ' . $ node ->fqdn . ': ' . $ node ->daemonListen . '/server/file/download/ ' . $ download ->token );
194209 }
195210
196- /**
197- * Renders server settings page.
198- *
199- * @param \Illuminate\Http\Request $request
200- * @return \Illuminate\Contracts\View\View
201- */
202- public function getSettings (Request $ request , $ uuid )
211+ public function getAllocation (Request $ request , $ uuid )
212+ {
213+ $ server = Models \Server::getByUUID ($ uuid );
214+ $ this ->authorize ('view-allocation ' , $ server );
215+ $ node = Models \Node::find ($ server ->node );
216+
217+ Javascript::put ([
218+ 'server ' => collect ($ server ->makeVisible ('daemonSecret ' ))->only (['uuid ' , 'uuidShort ' , 'daemonSecret ' , 'username ' ]),
219+ 'node ' => collect ($ node )->only ('fqdn ' , 'scheme ' , 'daemonListen ' ),
220+ ]);
221+
222+ return view ('server.settings.allocation ' , [
223+ 'server ' => $ server ,
224+ 'allocations ' => Models \Allocation::where ('assigned_to ' , $ server ->id )->orderBy ('ip ' , 'asc ' )->orderBy ('port ' , 'asc ' )->get (),
225+ 'node ' => $ node ,
226+ ]);
227+ }
228+
229+ public function getStartup (Request $ request , $ uuid )
203230 {
204231 $ server = Models \Server::getByUUID ($ uuid );
232+ $ this ->authorize ('view-startup ' , $ server );
233+ $ node = Models \Node::find ($ server ->node );
205234 $ allocation = Models \Allocation::findOrFail ($ server ->allocation );
206235
236+ Javascript::put ([
237+ 'server ' => collect ($ server ->makeVisible ('daemonSecret ' ))->only (['uuid ' , 'uuidShort ' , 'daemonSecret ' , 'username ' ]),
238+ 'node ' => collect ($ node )->only ('fqdn ' , 'scheme ' , 'daemonListen ' ),
239+ ]);
240+
207241 $ variables = Models \ServiceVariables::select (
208242 'service_variables.* ' ,
209243 DB ::raw ('COALESCE(server_variables.variable_value, service_variables.default_value) as a_serverValue ' )
@@ -231,19 +265,53 @@ public function getSettings(Request $request, $uuid)
231265 $ processed = str_replace ('{{ ' . $ variable ->env_variable . '}} ' , $ replace , $ processed );
232266 }
233267
234- return view ('server.settings ' , [
268+ return view ('server.settings.startup ' , [
235269 'server ' => $ server ,
236- 'databases ' => Models \Database::select ('databases.* ' , 'database_servers.host as a_host ' , 'database_servers.port as a_port ' )
237- ->where ('server_id ' , $ server ->id )
238- ->join ('database_servers ' , 'database_servers.id ' , '= ' , 'databases.db_server ' )
239- ->get (),
240270 'node ' => Models \Node::find ($ server ->node ),
241271 'variables ' => $ variables ->where ('user_viewable ' , 1 ),
242272 'service ' => $ service ,
243273 'processedStartup ' => $ processed ,
244274 ]);
245275 }
246276
277+ public function getDatabases (Request $ request , $ uuid )
278+ {
279+ $ server = Models \Server::getByUUID ($ uuid );
280+ $ this ->authorize ('view-databases ' , $ server );
281+ $ node = Models \Node::find ($ server ->node );
282+
283+ Javascript::put ([
284+ 'server ' => collect ($ server ->makeVisible ('daemonSecret ' ))->only (['uuid ' , 'uuidShort ' , 'daemonSecret ' , 'username ' ]),
285+ 'node ' => collect ($ node )->only ('fqdn ' , 'scheme ' , 'daemonListen ' ),
286+ ]);
287+
288+ return view ('server.settings.databases ' , [
289+ 'server ' => $ server ,
290+ 'node ' => $ node ,
291+ 'databases ' => Models \Database::select ('databases.* ' , 'database_servers.host as a_host ' , 'database_servers.port as a_port ' )
292+ ->where ('server_id ' , $ server ->id )
293+ ->join ('database_servers ' , 'database_servers.id ' , '= ' , 'databases.db_server ' )
294+ ->get (),
295+ ]);
296+ }
297+
298+ public function getSFTP (Request $ request , $ uuid )
299+ {
300+ $ server = Models \Server::getByUUID ($ uuid );
301+ $ this ->authorize ('view-sftp ' , $ server );
302+ $ node = Models \Node::find ($ server ->node );
303+
304+ Javascript::put ([
305+ 'server ' => collect ($ server ->makeVisible ('daemonSecret ' ))->only (['uuid ' , 'daemonSecret ' , 'username ' ]),
306+ 'node ' => collect ($ node )->only ('fqdn ' , 'scheme ' , 'daemonListen ' ),
307+ ]);
308+
309+ return view ('server.settings.sftp ' , [
310+ 'server ' => $ server ,
311+ 'node ' => $ node ,
312+ ]);
313+ }
314+
247315 public function postSettingsSFTP (Request $ request , $ uuid )
248316 {
249317 $ server = Models \Server::getByUUID ($ uuid );
@@ -254,15 +322,15 @@ public function postSettingsSFTP(Request $request, $uuid)
254322 $ repo ->updateSFTPPassword ($ server ->id , $ request ->input ('sftp_pass ' ));
255323 Alert::success ('Successfully updated this servers SFTP password. ' )->flash ();
256324 } catch (DisplayValidationException $ ex ) {
257- return redirect ()->route ('server.settings ' , $ uuid )->withErrors (json_decode ($ ex ->getMessage ()));
325+ return redirect ()->route ('server.settings.sftp ' , $ uuid )->withErrors (json_decode ($ ex ->getMessage ()));
258326 } catch (DisplayException $ ex ) {
259327 Alert::danger ($ ex ->getMessage ())->flash ();
260328 } catch (\Exception $ ex ) {
261329 Log::error ($ ex );
262330 Alert::danger ('An unknown error occured while attempting to update this server \'s SFTP settings. ' )->flash ();
263331 }
264332
265- return redirect ()->route ('server.settings ' , $ uuid );
333+ return redirect ()->route ('server.settings.sftp ' , $ uuid );
266334 }
267335
268336 public function postSettingsStartup (Request $ request , $ uuid )
0 commit comments