2017-03-05 00:03:49 +00:00
@ extends ( 'layouts.admin' )
@ section ( 'title' )
Server — {{ $server -> name }} : Manage
@ endsection
@ section ( 'content-header' )
< h1 > {{ $server -> name }} < small > Additional actions to control this server .</ small ></ h1 >
< ol class = " breadcrumb " >
< li >< a href = " { { route('admin.index') }} " > Admin </ a ></ li >
< li >< a href = " { { route('admin.servers') }} " > Servers </ a ></ li >
< li >< a href = " { { route('admin.servers.view', $server->id ) }} " > {{ $server -> name }} </ a ></ li >
< li class = " active " > Manage </ li >
</ ol >
@ endsection
@ section ( 'content' )
2020-04-04 03:45:37 +00:00
@ include ( 'admin.servers.partials.navigation' )
< div class = " row " >
2017-03-05 00:03:49 +00:00
< div class = " col-sm-4 " >
2020-04-04 20:10:18 +00:00
< div class = " box box-danger " >
2017-03-05 00:03:49 +00:00
< div class = " box-header with-border " >
2020-04-04 03:45:37 +00:00
< h3 class = " box-title " > Reinstall Server </ h3 >
2017-03-05 00:03:49 +00:00
</ div >
< div class = " box-body " >
2020-09-13 18:13:37 +00:00
< p > This will reinstall the server with the assigned service scripts . < strong > Danger !</ strong > This could overwrite server data .</ p >
2017-03-05 00:03:49 +00:00
</ div >
< div class = " box-footer " >
2021-01-17 23:51:56 +00:00
@ if ( $server -> isInstalled ())
2020-04-04 03:45:37 +00:00
< form action = " { { route('admin.servers.view.manage.reinstall', $server->id ) }} " method = " POST " >
{ !! csrf_field () !! }
< button type = " submit " class = " btn btn-danger " > Reinstall Server </ button >
</ form >
@ else
< button class = " btn btn-danger disabled " > Server Must Install Properly to Reinstall </ button >
@ endif
2017-03-05 00:03:49 +00:00
</ div >
</ div >
</ div >
< div class = " col-sm-4 " >
2020-04-04 03:45:37 +00:00
< div class = " box box-primary " >
2017-03-05 00:03:49 +00:00
< div class = " box-header with-border " >
2020-04-04 03:45:37 +00:00
< h3 class = " box-title " > Install Status </ h3 >
2017-03-05 00:03:49 +00:00
</ div >
< div class = " box-body " >
2020-04-04 03:45:37 +00:00
< p > If you need to change the install status from uninstalled to installed , or vice versa , you may do so with the button below .</ p >
2017-03-05 00:03:49 +00:00
</ div >
< div class = " box-footer " >
2020-04-04 03:45:37 +00:00
< form action = " { { route('admin.servers.view.manage.toggle', $server->id ) }} " method = " POST " >
2017-03-05 00:03:49 +00:00
{ !! csrf_field () !! }
2020-04-04 03:45:37 +00:00
< button type = " submit " class = " btn btn-primary " > Toggle Install Status </ button >
2017-03-05 00:03:49 +00:00
</ form >
</ div >
</ div >
</ div >
2020-12-16 16:34:47 +00:00
2021-01-17 23:51:56 +00:00
@ if ( ! $server -> isSuspended ())
2020-04-04 03:45:37 +00:00
< div class = " col-sm-4 " >
< div class = " box box-warning " >
< div class = " box-header with-border " >
< h3 class = " box-title " > Suspend Server </ h3 >
</ div >
< div class = " box-body " >
< p > This will suspend the server , stop any running processes , and immediately block the user from being able to access their files or otherwise manage the server through the panel or API .</ p >
</ div >
< div class = " box-footer " >
< form action = " { { route('admin.servers.view.manage.suspension', $server->id ) }} " method = " POST " >
{ !! csrf_field () !! }
< input type = " hidden " name = " action " value = " suspend " />
2020-12-17 17:34:26 +00:00
< button type = " submit " class = " btn btn-warning @if(! is_null( $server->transfer )) disabled @endif " > Suspend Server </ button >
2020-04-04 03:45:37 +00:00
</ form >
</ div >
</ div >
</ div >
@ else
< div class = " col-sm-4 " >
< div class = " box box-success " >
< div class = " box-header with-border " >
< h3 class = " box-title " > Unsuspend Server </ h3 >
</ div >
< div class = " box-body " >
< p > This will unsuspend the server and restore normal user access .</ p >
</ div >
< div class = " box-footer " >
< form action = " { { route('admin.servers.view.manage.suspension', $server->id ) }} " method = " POST " >
{ !! csrf_field () !! }
< input type = " hidden " name = " action " value = " unsuspend " />
< button type = " submit " class = " btn btn-success " > Unsuspend Server </ button >
</ form >
</ div >
</ div >
</ div >
@ endif
2020-12-17 17:34:26 +00:00
@ if ( is_null ( $server -> transfer ))
2020-12-16 16:34:47 +00:00
< div class = " col-sm-4 " >
< div class = " box box-success " >
< div class = " box-header with-border " >
< h3 class = " box-title " > Transfer Server </ h3 >
</ div >
< div class = " box-body " >
< p >
Transfer this server to another node connected to this panel .
< strong > Warning !</ strong > This feature has not been fully tested and may have bugs .
</ p >
</ div >
< div class = " box-footer " >
@ if ( $canTransfer )
< button class = " btn btn-success " data - toggle = " modal " data - target = " #transferServerModal " > Transfer Server </ button >
@ else
< button class = " btn btn-success disabled " > Transfer Server </ button >
2022-11-06 17:15:15 +00:00
< p style = " padding-top: 1rem; font-style: italic; " > You currently can 't transfer any servers because you don' t have at least a second node that ' s configured in your panel .</ p >
2020-12-16 16:34:47 +00:00
@ endif
</ div >
2020-10-30 17:02:29 +00:00
</ div >
2020-12-16 16:34:47 +00:00
</ div >
@ else
< div class = " col-sm-4 " >
< div class = " box box-success " >
< div class = " box-header with-border " >
< h3 class = " box-title " > Transfer Server </ h3 >
</ div >
< div class = " box-body " >
< p >
This server is currently being transferred to another node .
Transfer was initiated at < strong > {{ $server -> transfer -> created_at }} </ strong >
</ p >
</ div >
2020-10-30 17:02:29 +00:00
2020-12-16 16:34:47 +00:00
< div class = " box-footer " >
2022-11-06 17:15:06 +00:00
< button class = " btn btn-success " data - toggle = " modal " data - target = " #cancelTransferModal " > Cancel Transfer </ button >
< p style = " padding-top: 1rem; font-style: italic; " >
< span style = " font-weight: bold; " > Warning </ span > , only use this in cases of last resort such as a connection failure .
This may allow you to successfully transfer your server again .
</ p >
2020-12-16 16:34:47 +00:00
</ div >
2020-04-04 03:45:37 +00:00
</ div >
</ div >
2020-12-16 16:34:47 +00:00
@ endif
2020-04-04 03:45:37 +00:00
</ div >
< div class = " modal fade " id = " transferServerModal " tabindex = " -1 " role = " dialog " >
< div class = " modal-dialog " role = " document " >
< div class = " modal-content " >
< form action = " { { route('admin.servers.view.manage.transfer', $server->id ) }} " method = " POST " >
< div class = " modal-header " >
< button type = " button " class = " close " data - dismiss = " modal " aria - label = " Close " >< span aria - hidden = " true " >& times ; </ span ></ button >
< h4 class = " modal-title " > Transfer Server </ h4 >
</ div >
< div class = " modal-body " >
< div class = " row " >
< div class = " form-group col-md-12 " >
< label for = " pNodeId " > Node </ label >
< select name = " node_id " id = " pNodeId " class = " form-control " >
@ foreach ( $locations as $location )
< optgroup label = " { { $location->long }} ( { { $location->short }}) " >
@ foreach ( $location -> nodes as $node )
@ if ( $node -> id != $server -> node_id )
< option value = " { { $node->id }} "
@ if ( $location -> id === old ( 'location_id' )) selected @ endif
> {{ $node -> name }} </ option >
@ endif
@ endforeach
</ optgroup >
@ endforeach
</ select >
< p class = " small text-muted no-margin " > The node which this server will be transferred to .</ p >
</ div >
< div class = " form-group col-md-12 " >
< label for = " pAllocation " > Default Allocation </ label >
< select name = " allocation_id " id = " pAllocation " class = " form-control " ></ select >
< p class = " small text-muted no-margin " > The main allocation that will be assigned to this server .</ p >
</ div >
< div class = " form-group col-md-12 " >
< label for = " pAllocationAdditional " > Additional Allocation ( s ) </ label >
< select name = " allocation_additional[] " id = " pAllocationAdditional " class = " form-control " multiple ></ select >
< p class = " small text-muted no-margin " > Additional allocations to assign to this server on creation .</ p >
</ div >
</ div >
</ div >
< div class = " modal-footer " >
{ !! csrf_field () !! }
< button type = " button " class = " btn btn-default btn-sm pull-left " data - dismiss = " modal " > Cancel </ button >
< button type = " submit " class = " btn btn-success btn-sm " > Confirm </ button >
</ div >
</ form >
</ div >
</ div >
</ div >
2022-11-06 17:15:06 +00:00
< div class = " modal fade " id = " cancelTransferModal " tabindex = " -1 " role = " dialog " >
< div class = " modal-dialog " role = " document " >
< div class = " modal-content " >
< form action = " { { route('admin.servers.view.manage.transfer.cancel', $server->id ) }} " method = " POST " >
< div class = " modal-header " >
< button type = " button " class = " close " data - dismiss = " modal " aria - label = " Close " >< span aria - hidden = " true " >& times ; </ span ></ button >
< h4 class = " modal-title " > Cancel Transfer </ h4 >
</ div >
< div class = " modal-body " >
< div class = " row " >
< div class = " form-group col-md-12 " >
This action will force the transfer to a successful state .
However , please try to allow some time for your transfer to finish normally .
This is a last resort action that can allow you to try to start the transfer again .
You will most likely need to manually reset the allocations for these servers .
</ div >
</ div >
</ div >
< div class = " modal-footer " >
{ !! csrf_field () !! }
< button type = " button " class = " btn btn-default btn-sm pull-left " data - dismiss = " modal " > Cancel </ button >
< button type = " submit " class = " btn btn-danger btn-sm " > Confirm </ button >
</ div >
</ form >
</ div >
</ div >
</ div >
2020-04-04 03:45:37 +00:00
@ endsection
@ section ( 'footer-scripts' )
@ parent
{ !! Theme :: js ( 'vendor/lodash/lodash.js' ) !! }
@ if ( $canTransfer )
{ !! Theme :: js ( 'js/admin/server/transfer.js' ) !! }
2017-03-05 00:03:49 +00:00
@ endif
@ endsection