More additions to server creation page.
Adds memory/disk/etc. fields as well as selecting the service type and option. Still need to add in the ability to set the variables once an option is selected.
This commit is contained in:
parent
e77cea6f99
commit
f47f0cd549
6 changed files with 189 additions and 21 deletions
|
@ -5,6 +5,7 @@ namespace Pterodactyl\Http\Controllers\Admin;
|
|||
use Debugbar;
|
||||
use Pterodactyl\Models\Allocation;
|
||||
use Pterodactyl\Models\Node;
|
||||
use Pterodactyl\Models\ServiceOptions;
|
||||
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
|
@ -24,6 +25,12 @@ class AjaxController extends Controller
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a JSON tree of all avaliable nodes in a given location.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Contracts\View\View
|
||||
*/
|
||||
public function postNewServerGetNodes(Request $request)
|
||||
{
|
||||
|
||||
|
@ -33,10 +40,16 @@ class AjaxController extends Controller
|
|||
], 500);
|
||||
}
|
||||
|
||||
return response(Node::select('id', 'name', 'public')->where('location', $request->input('location'))->get()->toJson());
|
||||
return response()->json(Node::select('id', 'name', 'public')->where('location', $request->input('location'))->get());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a JSON tree of all avaliable IPs and Ports on a given node.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Contracts\View\View
|
||||
*/
|
||||
public function postNewServerGetIps(Request $request)
|
||||
{
|
||||
|
||||
|
@ -60,4 +73,23 @@ class AjaxController extends Controller
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a JSON tree of all avaliable options for a given service.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Contracts\View\View
|
||||
*/
|
||||
public function postNewServerServiceOptions(Request $request)
|
||||
{
|
||||
|
||||
if(!$request->input('service')) {
|
||||
return response()->json([
|
||||
'error' => 'Missing service in request.'
|
||||
], 500);
|
||||
}
|
||||
|
||||
return response()->json(ServiceOptions::select('id', 'name')->where('parent_service', $request->input('service'))->orderBy('name', 'asc')->get());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,8 +4,8 @@ namespace Pterodactyl\Http\Controllers\Admin;
|
|||
|
||||
use Debugbar;
|
||||
use Pterodactyl\Models\Server;
|
||||
use Pterodactyl\Models\Node;
|
||||
use Pterodactyl\Models\Location;
|
||||
use Pterodactyl\Models\Service;
|
||||
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
|
@ -38,7 +38,8 @@ class ServersController extends Controller
|
|||
public function getNew(Request $request)
|
||||
{
|
||||
return view('admin.servers.new', [
|
||||
'locations' => Location::all()
|
||||
'locations' => Location::all(),
|
||||
'services' => Service::all()
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ class AdminRoutes {
|
|||
$router->group(['prefix' => 'ajax'], function ($server) use ($router) {
|
||||
$router->post('/new/server/get-nodes', [ 'uses' => 'Admin\AjaxController@postNewServerGetNodes' ]);
|
||||
$router->post('/new/server/get-ips', [ 'uses' => 'Admin\AjaxController@postNewServerGetIps' ]);
|
||||
$router->post('/new/server/service-options', [ 'uses' => 'Admin\AjaxController@postNewServerServiceOptions' ]);
|
||||
});
|
||||
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue