diff --git a/app/Http/Controllers/Admin/ServersController.php b/app/Http/Controllers/Admin/ServersController.php index 9b239d8b8..07cba84fd 100644 --- a/app/Http/Controllers/Admin/ServersController.php +++ b/app/Http/Controllers/Admin/ServersController.php @@ -251,7 +251,7 @@ class ServersController extends Controller $repo = new ServerRepository; try { $repo->updateDetails($id, $request->intersect([ - 'owner_id', 'name', 'reset_token', + 'owner_id', 'name', 'description', 'reset_token', ])); Alert::success('Server details were successfully updated.')->flash(); diff --git a/app/Repositories/ServerRepository.php b/app/Repositories/ServerRepository.php index 1c6f01904..dc7e5515b 100644 --- a/app/Repositories/ServerRepository.php +++ b/app/Repositories/ServerRepository.php @@ -89,6 +89,7 @@ class ServerRepository $validator = Validator::make($data, [ 'user_id' => 'required|exists:users,id', 'name' => 'required|regex:/^([\w .-]{1,200})$/', + 'description' => 'sometimes|nullable|string', 'memory' => 'required|numeric|min:0', 'swap' => 'required|numeric|min:-1', 'io' => 'required|numeric|min:10|max:1000', @@ -363,6 +364,7 @@ class ServerRepository $validator = Validator::make($data, [ 'owner_id' => 'sometimes|required|integer|exists:users,id', 'name' => 'sometimes|required|regex:([\w .-]{1,200})', + 'description' => 'sometimes|required|string', 'reset_token' => 'sometimes|required|accepted', ]); @@ -384,24 +386,12 @@ class ServerRepository $resetDaemonKey = true; } - // Update Server Owner if it was passed. - if (isset($data['owner_id']) && (int) $data['owner_id'] !== $server->user->id) { - $server->owner_id = $data['owner_id']; - } - - // Update Server Name if it was passed. - if (isset($data['name'])) { - $server->name = $data['name']; - } - // Save our changes - $server->save(); + $server->fill($data)->save(); // Do we need to update? If not, return successful. if (! $resetDaemonKey) { - DB::commit(); - - return true; + return DB::commit(); } $res = $server->node->guzzleClient([ @@ -418,16 +408,13 @@ class ServerRepository ]); if ($res->getStatusCode() === 204) { - DB::commit(); - - return true; + return DB::commit(); } else { throw new DisplayException('Daemon returned a a non HTTP/204 error code. HTTP/' + $res->getStatusCode()); } } catch (\Exception $ex) { DB::rollBack(); - Log::error($ex); - throw new DisplayException('An error occured while attempting to update this server\'s information.'); + throw $ex; } } diff --git a/database/migrations/2017_03_31_221948_AddServerDescriptionColumn.php b/database/migrations/2017_03_31_221948_AddServerDescriptionColumn.php new file mode 100644 index 000000000..1e5ce0273 --- /dev/null +++ b/database/migrations/2017_03_31_221948_AddServerDescriptionColumn.php @@ -0,0 +1,32 @@ +text('description')->after('name'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('servers', function (Blueprint $table) { + $table->dropColumn('description'); + }); + } +} diff --git a/public/themes/pterodactyl/css/pterodactyl.css b/public/themes/pterodactyl/css/pterodactyl.css index aca92d909..e0c34798f 100644 --- a/public/themes/pterodactyl/css/pterodactyl.css +++ b/public/themes/pterodactyl/css/pterodactyl.css @@ -280,3 +280,12 @@ span[aria-labelledby="select2-pUserId-container"] { .strong { font-weight: bold !important; } + +.server-description > td { + padding-top: 0 !important; + border-top: 0 !important; +} + +tr:hover + tr.server-description { + background-color: #f5f5f5 !important; +} diff --git a/resources/themes/pterodactyl/admin/servers/new.blade.php b/resources/themes/pterodactyl/admin/servers/new.blade.php index 483831644..733798211 100644 --- a/resources/themes/pterodactyl/admin/servers/new.blade.php +++ b/resources/themes/pterodactyl/admin/servers/new.blade.php @@ -41,14 +41,21 @@
Character limits: a-z A-Z 0-9 _ - .
and [Space]
(max 200 characters).
Character limits: a-z A-Z 0-9 _ - .
and [Space]
(max 200 characters).
A brief description of this server.
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.
A brief description of this server.
+{{ $server->uuidShort }}
{{ $server->allocation->alias }}:{{ $server->allocation->port }}
{{ $server->uuidShort }}
{{ $server->allocation->alias }}:{{ $server->allocation->port }}
{{ str_limit($server->description, 400) }}