Remove old Theme::js calls in blade layouts. Persist checkboxes, Server Owner, Node, Default Allocation, and Additional Allocations on servers/new.blade.php

This commit is contained in:
Matthew Penner 2020-04-11 13:56:03 -06:00
parent fb96d9468e
commit b5e50719ac
9 changed files with 209 additions and 73 deletions

View file

@ -22,4 +22,12 @@ interface UserRepositoryInterface extends RepositoryInterface, SearchableInterfa
* @return \Illuminate\Support\Collection
*/
public function filterUsersByQuery(?string $query): Collection;
/**
* Returns a user with the given id in a format that can be used for dropdowns.
*
* @param int $id
* @return \Pterodactyl\Models\Model
*/
public function filterById(int $id): \Pterodactyl\Models\Model;
}

View file

@ -6,6 +6,7 @@ use Exception;
use Carbon\Carbon;
use Cron\CronExpression;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\ViewErrorBag;
class Utilities
{
@ -50,4 +51,15 @@ class Utilities
sprintf('%s %s %s * %s', $minute, $hour, $dayOfMonth, $dayOfWeek)
)->getNextRunDate());
}
public static function checked($name, $default)
{
$errors = session('errors');
if (isset($errors) && $errors instanceof ViewErrorBag && $errors->any()) {
return old($name) ? 'checked' : '';
}
return ($default) ? 'checked' : '';
}
}

View file

@ -177,10 +177,15 @@ class UserController extends Controller
* Get a JSON response of users on the system.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Support\Collection
* @return \Illuminate\Support\Collection|\Pterodactyl\Models\Model
*/
public function json(Request $request)
{
// Handle single user requests.
if ($request->query('user_id')) {
return $this->repository->filterById($request->input('user_id'));
}
return $this->repository->filterUsersByQuery($request->input('q'));
}
}

View file

@ -54,4 +54,22 @@ class UserRepository extends EloquentRepository implements UserRepositoryInterfa
return $item;
});
}
/**
* Returns a user with the given id in a format that can be used for dropdowns.
*
* @param int $id
* @return \Pterodactyl\Models\Model
*/
public function filterById(int $id): \Pterodactyl\Models\Model
{
$this->setColumns([
'id', 'email', 'username', 'name_first', 'name_last',
]);
$model = $this->getBuilder()->findOrFail($id, $this->getColumns())->getModel();
$model->md5 = md5(strtolower($model->email));
return $model;
}
}