mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-25 13:44:06 -08:00
some good progress, lots of testing needs to be done on the new inclusion of SubstituteBindings
This commit is contained in:
parent
eac01868ca
commit
b239b3a4db
|
@ -618,15 +618,14 @@ class AssetsController extends Controller
|
|||
* Accepts a POST request to update an asset
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
* @since [v4.0]
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function update(UpdateAssetRequest $request, Asset $asset)
|
||||
{
|
||||
$asset->update($request->validated());
|
||||
$asset->fill($request->validated());
|
||||
|
||||
// TODO: how much of this should go to validator?
|
||||
// TODO: how much of this can go in the validator?
|
||||
($request->filled('model_id')) ?
|
||||
$asset->model()->associate(AssetModel::find($request->get('model_id'))) : null;
|
||||
($request->filled('rtd_location_id')) ?
|
||||
|
|
|
@ -48,6 +48,7 @@ class Kernel extends HttpKernel
|
|||
|
||||
'api' => [
|
||||
'auth:api',
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
],
|
||||
];
|
||||
|
||||
|
|
|
@ -19,27 +19,12 @@ class UpdateAssetRequest extends ImageUploadRequest
|
|||
|
||||
public function prepareForValidation()
|
||||
{
|
||||
dump($this->asset);
|
||||
$asset = $this->route('asset');
|
||||
dump($asset);
|
||||
dump($this->route()->getName());
|
||||
// the following are 'required' attributes that may or may not be present on an patch request
|
||||
// so supplying them here instead of doing funky array modification to the rules
|
||||
if (!$this->has('asset_tag')) {
|
||||
// TODO: not sure if i'll be able to use the route model binding here because of not-found return stuff, need to test
|
||||
$asset_tag = $this->asset->asset_tag;
|
||||
}
|
||||
if (!$this->has('model_id')) {
|
||||
$model_id = $this->asset->model_id;
|
||||
}
|
||||
if (!$this->has('status_id')) {
|
||||
$status_id = $this->asset->status_id;
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'asset_tag' => $asset_tag,
|
||||
'model_id' => $model_id,
|
||||
'status_id' => $status_id,
|
||||
return $this->merge([
|
||||
'asset_tag' => $this->asset_tag ?? $this->asset->asset_tag,
|
||||
'model_id' => $this->model_id ?? $this->asset->model_id,
|
||||
'status_id' => $this->status_id ?? $this->asset->status_id,
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -53,6 +38,7 @@ class UpdateAssetRequest extends ImageUploadRequest
|
|||
$rules = array_merge(
|
||||
(new Asset())->getRules(),
|
||||
parent::rules(),
|
||||
//['model_id' => 'required|integer|exists:models,id,deleted_at,NULL|not_array']
|
||||
);
|
||||
|
||||
return $rules;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?php
|
||||
|
||||
use App\Http\Controllers\Api;
|
||||
// use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
|
||||
|
@ -533,20 +532,18 @@ Route::group(['prefix' => 'v1', 'middleware' => ['api', 'throttle:api']], functi
|
|||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
// pulling this out of resource route group to begin normalizing
|
||||
Route::patch('/hardware/{asset}', [Api\AssetsController::class, 'update'])->name('api.assets.update');
|
||||
|
||||
Route::resource('hardware',
|
||||
Api\AssetsController::class,
|
||||
['names' => [
|
||||
'index' => 'api.assets.index',
|
||||
'show' => 'api.assets.show',
|
||||
'update' => 'api.assets.update',
|
||||
'store' => 'api.assets.store',
|
||||
'destroy' => 'api.assets.destroy',
|
||||
],
|
||||
'except' => ['create', 'edit'],
|
||||
'except' => ['create', 'edit', 'update'],
|
||||
'parameters' => ['asset' => 'asset_id'],
|
||||
]
|
||||
); // end assets API routes
|
||||
|
|
Loading…
Reference in a new issue