mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-26 06:04:08 -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
|
* Accepts a POST request to update an asset
|
||||||
*
|
*
|
||||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
|
||||||
* @since [v4.0]
|
* @since [v4.0]
|
||||||
* @return \Illuminate\Http\JsonResponse
|
* @return \Illuminate\Http\JsonResponse
|
||||||
*/
|
*/
|
||||||
public function update(UpdateAssetRequest $request, Asset $asset)
|
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')) ?
|
($request->filled('model_id')) ?
|
||||||
$asset->model()->associate(AssetModel::find($request->get('model_id'))) : null;
|
$asset->model()->associate(AssetModel::find($request->get('model_id'))) : null;
|
||||||
($request->filled('rtd_location_id')) ?
|
($request->filled('rtd_location_id')) ?
|
||||||
|
|
|
@ -48,6 +48,7 @@ class Kernel extends HttpKernel
|
||||||
|
|
||||||
'api' => [
|
'api' => [
|
||||||
'auth:api',
|
'auth:api',
|
||||||
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -19,27 +19,12 @@ class UpdateAssetRequest extends ImageUploadRequest
|
||||||
|
|
||||||
public function prepareForValidation()
|
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
|
// 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
|
// so supplying them here instead of doing funky array modification to the rules
|
||||||
if (!$this->has('asset_tag')) {
|
return $this->merge([
|
||||||
// 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_tag ?? $this->asset->asset_tag,
|
||||||
$asset_tag = $this->asset->asset_tag;
|
'model_id' => $this->model_id ?? $this->asset->model_id,
|
||||||
}
|
'status_id' => $this->status_id ?? $this->asset->status_id,
|
||||||
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,
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,6 +38,7 @@ class UpdateAssetRequest extends ImageUploadRequest
|
||||||
$rules = array_merge(
|
$rules = array_merge(
|
||||||
(new Asset())->getRules(),
|
(new Asset())->getRules(),
|
||||||
parent::rules(),
|
parent::rules(),
|
||||||
|
//['model_id' => 'required|integer|exists:models,id,deleted_at,NULL|not_array']
|
||||||
);
|
);
|
||||||
|
|
||||||
return $rules;
|
return $rules;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Http\Controllers\Api;
|
use App\Http\Controllers\Api;
|
||||||
// use Illuminate\Http\Request;
|
|
||||||
use Illuminate\Support\Facades\Route;
|
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',
|
Route::resource('hardware',
|
||||||
Api\AssetsController::class,
|
Api\AssetsController::class,
|
||||||
['names' => [
|
['names' => [
|
||||||
'index' => 'api.assets.index',
|
'index' => 'api.assets.index',
|
||||||
'show' => 'api.assets.show',
|
'show' => 'api.assets.show',
|
||||||
'update' => 'api.assets.update',
|
|
||||||
'store' => 'api.assets.store',
|
'store' => 'api.assets.store',
|
||||||
'destroy' => 'api.assets.destroy',
|
'destroy' => 'api.assets.destroy',
|
||||||
],
|
],
|
||||||
'except' => ['create', 'edit'],
|
'except' => ['create', 'edit', 'update'],
|
||||||
'parameters' => ['asset' => 'asset_id'],
|
'parameters' => ['asset' => 'asset_id'],
|
||||||
]
|
]
|
||||||
); // end assets API routes
|
); // end assets API routes
|
||||||
|
|
Loading…
Reference in a new issue