126 lines
5.9 KiB
PHP
126 lines
5.9 KiB
PHP
{{-- Pterodactyl - Panel --}}
|
|
{{-- Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com> --}}
|
|
|
|
{{-- This software is licensed under the terms of the MIT license. --}}
|
|
{{-- https://opensource.org/licenses/MIT --}}
|
|
@extends('layouts.admin')
|
|
|
|
@section('title')
|
|
Server — {{ $server->name }}: Details
|
|
@endsection
|
|
|
|
@section('content-header')
|
|
<h1>{{ $server->name }}<small>Edit details for this server including owner and container.</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">Details</li>
|
|
</ol>
|
|
@endsection
|
|
|
|
@section('content')
|
|
@include('admin.servers.partials.navigation')
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
<div class="box box-primary">
|
|
<div class="box-header with-border">
|
|
<h3 class="box-title">Base Information</h3>
|
|
</div>
|
|
<form action="{{ route('admin.servers.view.details', $server->id) }}" method="POST">
|
|
<div class="box-body">
|
|
<div class="form-group">
|
|
<label for="name" class="control-label">Server Name <span class="field-required"></span></label>
|
|
<input type="text" name="name" value="{{ old('name', $server->name) }}" class="form-control" />
|
|
<p class="text-muted small">Character limits: <code>a-zA-Z0-9_-</code> and <code>[Space]</code>.</p>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="external_id" class="control-label">External Identifier</label>
|
|
<input type="text" name="external_id" value="{{ old('external_id', $server->external_id) }}" class="form-control" />
|
|
<p class="text-muted small">Leave empty to not assign an external identifier for this server. The external ID should be unique to this server and not be in use by any other servers.</p>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="pUserId" class="control-label">Server Owner <span class="field-required"></span></label>
|
|
<select name="owner_id" class="form-control" id="pUserId">
|
|
<option value="{{ $server->owner_id }}" selected>{{ $server->user->email }}</option>
|
|
</select>
|
|
<p class="text-muted small">You can change the owner of this server by changing this field to an email matching another use on this system. If you do this a new daemon security token will be generated automatically.</p>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="description" class="control-label">Server Description</label>
|
|
<textarea name="description" rows="3" class="form-control">{{ old('description', $server->description) }}</textarea>
|
|
<p class="text-muted small">A brief description of this server.</p>
|
|
</div>
|
|
</div>
|
|
<div class="box-footer">
|
|
{!! csrf_field() !!}
|
|
{!! method_field('PATCH') !!}
|
|
<input type="submit" class="btn btn-sm btn-primary" value="Update Details" />
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|
|
@section('footer-scripts')
|
|
@parent
|
|
<script>
|
|
function escapeHtml(str) {
|
|
var div = document.createElement('div');
|
|
div.appendChild(document.createTextNode(str));
|
|
return div.innerHTML;
|
|
}
|
|
|
|
$('#pUserId').select2({
|
|
ajax: {
|
|
url: '/admin/users/accounts.json',
|
|
dataType: 'json',
|
|
delay: 250,
|
|
data: function (params) {
|
|
return {
|
|
filter: { email: params.term },
|
|
page: params.page,
|
|
};
|
|
},
|
|
processResults: function (data, params) {
|
|
return { results: data };
|
|
},
|
|
cache: true,
|
|
},
|
|
escapeMarkup: function (markup) { return markup; },
|
|
minimumInputLength: 2,
|
|
templateResult: function (data) {
|
|
if (data.loading) return escapeHtml(data.text);
|
|
|
|
return '<div class="user-block"> \
|
|
<img class="img-circle img-bordered-xs" src="https://www.gravatar.com/avatar/' + escapeHtml(data.md5) + '?s=120" alt="User Image"> \
|
|
<span class="username"> \
|
|
<a href="#">' + escapeHtml(data.name_first) + ' ' + escapeHtml(data.name_last) +'</a> \
|
|
</span> \
|
|
<span class="description"><strong>' + escapeHtml(data.email) + '</strong> - ' + escapeHtml(data.username) + '</span> \
|
|
</div>';
|
|
},
|
|
templateSelection: function (data) {
|
|
if (typeof data.name_first === 'undefined') {
|
|
data = {
|
|
md5: '{{ md5(strtolower($server->user->email)) }}',
|
|
name_first: '{{ $server->user->name_first }}',
|
|
name_last: '{{ $server->user->name_last }}',
|
|
email: '{{ $server->user->email }}',
|
|
id: {{ $server->owner_id }}
|
|
};
|
|
}
|
|
|
|
return '<div> \
|
|
<span> \
|
|
<img class="img-rounded img-bordered-xs" src="https://www.gravatar.com/avatar/' + escapeHtml(data.md5) + '?s=120" style="height:28px;margin-top:-4px;" alt="User Image"> \
|
|
</span> \
|
|
<span style="padding-left:5px;"> \
|
|
' + escapeHtml(data.name_first) + ' ' + escapeHtml(data.name_last) + ' (<strong>' + escapeHtml(data.email) + '</strong>) \
|
|
</span> \
|
|
</div>';
|
|
}
|
|
});
|
|
</script>
|
|
@endsection
|