Fixes port deletion for node allocations as well as server notes on allocations.

closes #305
This commit is contained in:
Dane Everitt 2017-02-17 19:59:40 -05:00
parent 22da8d47c8
commit e9762b4277
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
4 changed files with 23 additions and 5 deletions

View file

@ -9,11 +9,15 @@ This project follows [Semantic Versioning](http://semver.org) guidelines.
* `[pre.2]` — Fixes inability to edit a server due to owner_id issues.
* `[pre.2]` — Fixes bug when trying to add new subusers.
* Emails sending with 'Pterodactyl Panel' as the from name. Now configurable by using `php artisan pterodactyl:mail` to update.
* `[pre.2]` — Fixes inability to delete accounts due to SQL changes.
* `[pre.2]` — Fixes bug with checking power-permissions that showed the wrong buttons. Also adds check back to sidebar to only show options a user can use.
* `[pre.2]` — Fixes allocation listing on node allocations tab as well as bug preventing deletion of port.
### Changed
* `[pre.2]` — File Manager now displays relevant information on all screen sizes, and includes better button clicking mechanics for dropdown menu.
* Reduced the number of database queries being executed when viewing a specific server. This is done by caching the query for up to 60 minutes in memcached.
* User creation emails include more information and are sent by the event listener rather than the repository.
* Account password reset emails now auto-fill the email when clicking the link.
### Added
* Notifications when a user is added or removed as a subuser for a server.

View file

@ -108,7 +108,7 @@ class NodesController extends Controller
'servers.user', 'servers.service',
'servers.allocations', 'location'
)->findOrFail($id);
$node->setRelation('allocations', $node->allocations()->paginate(40));
$node->setRelation('allocations', $node->allocations()->with('server')->paginate(40));
return view('admin.nodes.view', [
'node' => $node,
@ -151,7 +151,7 @@ class NodesController extends Controller
public function deallocateSingle(Request $request, $node, $allocation)
{
$query = Models\Allocation::where('node', $node)->whereNull('server_id')->where('id', $allocation)->delete();
$query = Models\Allocation::where('node_id', $node)->whereNull('server_id')->where('id', $allocation)->delete();
if ((int) $query === 0) {
return response()->json([
'error' => 'Unable to find an allocation matching those details to delete.',

View file

@ -74,4 +74,14 @@ class Allocation extends Model
{
return ! is_null($this->ip_alias);
}
/**
* Gets information for the server associated with this allocation.
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function server()
{
return $this->belongsTo(Server::class);
}
}

View file

@ -356,16 +356,20 @@
</thead>
<tbody>
@foreach($node->allocations as $allocation)
<tr>
<tr>
<td class="col-sm-3 align-middle">{{ $allocation->ip }}</td>
<td class="col-sm-3 align-middle">
<input class="form-control input-sm" type="text" value="{{ $allocation->ip_alias }}" data-action="set-alias" data-id="{{ $allocation->id }}" placeholder="none" />
<span class="input-loader"><i class="fa fa-refresh fa-spin fa-fw"></i></span>
</td>
<td class="col-sm-2 align-middle">{{ $allocation->port }}</td>
<td class="col-sm-3 align-middle">@if(!is_null($allocation->assigned_to))<a href="{{ route('admin.servers.view', $allocation->assigned_to) }}">{{ $allocation->assigned_to_name }}</a>@endif</td>
<td class="col-sm-3 align-middle">
@if(! is_null($allocation->server))
<a href="{{ route('admin.servers.view', $allocation->server_id) }}">{{ $allocation->server->name }}</a>
@endif
</td>
<td class="col-sm-1 align-middle">
@if(is_null($allocation->assigned_to))
@if(is_null($allocation->server_id))
<a href="#" data-action="deallocate" data-id="{{ $allocation->id }}"><span class="badge label-danger"><i class="fa fa-trash-o"></i></span></a>
@else
<span class="badge label-default"><i class="fa fa-trash-o"></i></span>