Support images and multipart requests

This commit is contained in:
Petri Asikainen 2021-06-29 12:26:24 +03:00
parent aa402bf896
commit e8a4059db9

View file

@ -21,6 +21,7 @@ use Auth;
use Carbon\Carbon; use Carbon\Carbon;
use DB; use DB;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Requests\ImageUploadRequest;
use Input; use Input;
use Paginator; use Paginator;
use Slack; use Slack;
@ -425,11 +426,11 @@ class AssetsController extends Controller
* Accepts a POST request to create a new asset * Accepts a POST request to create a new asset
* *
* @author [A. Gianotto] [<snipe@snipe.net>] * @author [A. Gianotto] [<snipe@snipe.net>]
* @param Request $request * @param \App\Http\Requests\ImageUploadRequest $request
* @since [v4.0] * @since [v4.0]
* @return JsonResponse * @return JsonResponse
*/ */
public function store(Request $request) public function store(ImageUploadRequest $request)
{ {
$this->authorize('create', Asset::class); $this->authorize('create', Asset::class);
@ -474,6 +475,8 @@ class AssetsController extends Controller
$asset->image = $saved_image_path; $asset->image = $saved_image_path;
} }
$asset = $request->handleImages($asset);
// Update custom fields in the database. // Update custom fields in the database.
// Validation for these fields is handled through the AssetRequest form request // Validation for these fields is handled through the AssetRequest form request
$model = AssetModel::find($request->get('model_id')); $model = AssetModel::find($request->get('model_id'));
@ -540,11 +543,11 @@ 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 Request $request * @param \App\Http\Requests\ImageUploadRequest $request
* @since [v4.0] * @since [v4.0]
* @return JsonResponse * @return JsonResponse
*/ */
public function update(Request $request, $id) public function update(ImageUploadRequest $request, $id)
{ {
$this->authorize('update', Asset::class); $this->authorize('update', Asset::class);
@ -584,6 +587,8 @@ class AssetsController extends Controller
} }
} }
$asset = $request->handleImages($asset);
// Update custom fields // Update custom fields
if (($model = AssetModel::find($asset->model_id)) && (isset($model->fieldset))) { if (($model = AssetModel::find($asset->model_id)) && (isset($model->fieldset))) {
foreach ($model->fieldset->fields as $field) { foreach ($model->fieldset->fields as $field) {