Cleanup code in MountController.php, again.

This commit is contained in:
Matthew Penner 2020-10-17 14:42:08 -06:00
parent 050075b835
commit 66b9169458
2 changed files with 17 additions and 31 deletions

View file

@ -105,20 +105,6 @@ class MountController extends Controller
$model = (new Mount())->fill($request->validated());
$model->forceFill(['uuid' => Uuid::uuid4()->toString()]);
foreach (Mount::$invalidSourcePaths as $path) {
if (Str::startsWith($model->source, $path)) {
$this->alert->danger('"' . $path . '" cannot be used as a source path.')->flash();
return redirect()->route('admin.mounts');
}
}
foreach (Mount::$invalidTargetPaths as $path) {
if (Str::startsWith($model->target, $path)) {
$this->alert->danger('"' . $path . '" cannot be used as a target path.')->flash();
return redirect()->route('admin.mounts');
}
}
$model->saveOrFail();
$mount = $model->fresh();
@ -142,23 +128,7 @@ class MountController extends Controller
return $this->delete($mount);
}
$mount->forceFill($request->validated());
foreach (Mount::$invalidSourcePaths as $path) {
if (Str::startsWith($mount->source, $path)) {
$this->alert->danger('"' . $path . '" cannot be used as a source path.')->flash();
return redirect()->route('admin.mounts.view', $mount->id);
}
}
foreach (Mount::$invalidTargetPaths as $path) {
if (Str::startsWith($mount->target, $path)) {
$this->alert->danger('"' . $path . '" cannot be used as a target path.')->flash();
return redirect()->route('admin.mounts.view', $mount->id);
}
}
$mount->save();
$mount->forceFill($request->validated())->save();
$this->alert->success('Mount was updated successfully.')->flash();

View file

@ -2,6 +2,8 @@
namespace Pterodactyl\Models;
use Illuminate\Validation\Rules\NotIn;
/**
* @property int $id
* @property string $uuid
@ -63,6 +65,20 @@ class Mount extends Model
'user_mountable' => 'sometimes|boolean',
];
/**
* Implement language verification by overriding Eloquence's gather
* rules function.
*/
public static function getRules()
{
$rules = parent::getRules();
$rules['source'][] = new NotIn(Mount::$invalidSourcePaths);
$rules['target'][] = new NotIn(Mount::$invalidSourcePaths);
return $rules;
}
/**
* Disable timestamps on this model.
*