public function postSave(Request $request) { $post_fields_arr = $request->all(); $validator = \Validator::make($post_fields_arr, ['name' => 'required|max:100', 'description' => 'max:1000']); if ($validator->fails()) { return 'Невалидные данные'; } $post_fields_arr['user_id'] = $this->user->id; if (isset($post_fields_arr['id'])) { $widget_model = \App\Models\PricingGridModel::find($post_fields_arr['id']); if (!$widget_model) { return 'Ошибка: нет виджета с таким ID - ' . $post_fields_arr['id']; } $widget_model->name = $post_fields_arr['name']; $widget_model->description = $post_fields_arr['description']; $widget_model->save(); } else { \App\Models\SupplierModel::create($post_fields_arr); } return redirect('/seller/suppliers'); }
@extends('seller.layout') @section('content') <div class="container"> <div class="row"> <div class="col-md-12"> <div class="panel panel-default"> <div class="panel-heading">Управление ценами</div> <?php $user_pricing_grids = \App\Models\PricingGridModel::where('user_id', '=', \Auth::user()->id)->get(); ?> <div class="panel-body"> <div class="btn-group btn-group-sm" style="margin-right: 30px"> <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> Каталог товаров <span style="margin-left: 10px" class="glyphicon glyphicon-th-list"></span> </button> <ul class="dropdown-menu" role="menu"> <li><a href="#">Парфюмерия</a></li> <li><a href="#">Another action</a></li> <li><a href="#">Something else here</a></li> </ul> </div> <div class="btn-group btn-group-sm" id="pricing-grid-selector"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <span class="text">Ценовая сетка</span> <span style="margin-left: 5px" class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> @foreach ($user_pricing_grids as $pricing_grid) <li><a href="#" data-id="{{ $pricing_grid['id'] }}" data-name="{{ $pricing_grid['name'] }}">{{ $pricing_grid['name'] }}</a></li> @endforeach </ul>
/** * Создание или сохранение продукта * @param Request $request * @return string */ public function postSave(Request $request) { $post_fields_arr = $request->all(); $validator = \Validator::make($post_fields_arr, ['name' => 'required|max:255', 'description' => 'max:5000']); if ($validator->fails()) { return 'Невалидные данные'; } $post_fields_arr['user_id'] = $this->user->id; $post_fields_arr['supplier_id'] = \Input::get('supplier_id'); $product_id = 0; if (isset($post_fields_arr['id']) and intval($post_fields_arr['id']) > 0) { $product_id = intval($post_fields_arr['id']); } if ($product_id) { $product = \App\Models\ProductModel::find($post_fields_arr['id']); if (!$product) { return 'Ошибка: нет виджета с таким ID - ' . $post_fields_arr['id']; } $product->name = $post_fields_arr['name']; $product->description = $post_fields_arr['description']; $product->save(); } else { $product = \App\Models\ProductModel::create($post_fields_arr); } if (isset($post_fields_arr['categories_ids']) and !empty($post_fields_arr['categories_ids'])) { $product->categories()->attach($post_fields_arr['categories_ids']); } if (isset($post_fields_arr['attributes']) and !empty($post_fields_arr['attributes'])) { foreach ($post_fields_arr['attributes'] as $attribute_code => $attribute_value) { $attribute_id = intval(substr($attribute_code, 5)); echo substr($attribute_code, 5); $attribute = \App\Models\AttributeValueModel::where('product_id', '=', $product->id)->where('attribute_id', '=', $attribute_id)->first(); if ($attribute) { $attribute->value = $attribute_value; $attribute->save(); } else { \App\Models\AttributeValueModel::create(['product_id' => $product->id, 'attribute_id' => $attribute_id, 'value' => $attribute_value]); } } } if (isset($post_fields_arr['prices']) and !empty($post_fields_arr['prices'])) { foreach ($post_fields_arr['prices'] as $price_code => $price_value) { \App\Models\PricingGridModel::setPriceByPriceCode($price_code, $price_value, $product->id); } } }
</div> @if($supplier_model) <input type="hidden" name="supplier_id" value="{{ $supplier_model->id }}"> @else <div class="form-group"> <label>Поставщик*</label> <select class="form-control" name="supplier_id"> <option></option> @foreach ($user->suppliers as $supplier_model) <option value="{{ $supplier_model->id }}">{{ $supplier_model->name }}</option> @endforeach </select> </div> @endif <?php $pricing_grids = \App\Models\PricingGridModel::getPricingGridsForCurrentUser(); ?> <div class="form-group"> <label>Ценовая сетка</label> <select class="form-control" name="pricing_grid_id"> <option></option> @foreach ($pricing_grids as $pricing_grid) <option value="{{ $pricing_grid->id }}">{{ $pricing_grid->name }}</option> @endforeach </select> </div> <div class="form-group"> <label>Колонка ценовой сетки</label> <input class="form-control" name="pricing_grid_column" value="1"> </div> <div class="form-group">