/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     // validate request
     $validateProductCategory = Validator::make($request->get('ProductCategory'), ProductCategory::$rules);
     $validationMessages = [];
     foreach ($request->get('ProductCategoryTranslation') as $key => $value) {
         $validateProductCategoryTranslation = Validator::make($value, ProductCategoryTranslation::$rules);
         if ($validateProductCategoryTranslation->fails()) {
             $validationMessages = array_merge_recursive($validationMessages, $validateProductCategoryTranslation->messages()->toArray());
         }
     }
     if ($validateProductCategory->fails() or count($validationMessages) > 0) {
         $validationMessages = array_merge_recursive($validateProductCategory->messages()->toArray(), $validationMessages);
         return redirect()->back()->withErrors($validationMessages)->withInput();
     }
     // get all languages
     $languages = Language::all();
     // find language default
     $languageDefault = $languages->where('is_key_language', 1)->first();
     if (is_null($languageDefault)) {
         $languageDefault = $languages->first();
     }
     // sure execute success, if not success rollback
     DB::transaction(function () use($request, $languageDefault) {
         $user = $request->user();
         // insert ProductCategory
         $productCategory = new ProductCategory();
         $productCategory->key = Common::createKeyURL($request->input('ProductCategoryTranslation.' . $languageDefault->code . '.name'));
         $productCategory->parent_id = $request->input('ProductCategory.parent_id');
         $productCategory->priority = $request->input('ProductCategory.priority');
         $productCategory->is_publish = $request->input('ProductCategory.is_publish');
         $productCategory->created_by = $user->name;
         $productCategory->updated_by = $user->name;
         $productCategory->save();
         // save attachments
         if ($request->input('ProductCategory.attachments') != "") {
             $requestAttachments = explode(',', $request->input('ProductCategory.attachments'));
             $attachments = [];
             foreach ($requestAttachments as $key => $value) {
                 array_push($attachments, new Attachment(['entry_id' => $productCategory->id, 'table_name' => 'product_categories', 'path' => $value, 'priority' => 0, 'is_publish' => 1]));
             }
             if (count($attachments) > 0) {
                 $productCategory->attachments()->saveMany($attachments);
             }
         }
         // save data languages
         foreach ($request->get('ProductCategoryTranslation') as $locale => $value) {
             $productCategory->translateOrNew($locale)->name = $request->input('ProductCategoryTranslation.' . $locale . '.name');
             $productCategory->translateOrNew($locale)->summary = $request->input('ProductCategoryTranslation.' . $locale . '.summary');
             $productCategory->translateOrNew($locale)->meta_description = $request->input('ProductCategoryTranslation.' . $locale . '.meta_description');
             $productCategory->translateOrNew($locale)->meta_keywords = $request->input('ProductCategoryTranslation.' . $locale . '.meta_keywords');
         }
         $productCategory->save();
     });
     return redirect()->route('admin.productcategories.index');
 }
Пример #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $product_category = new ProductCategory();
     $input = Input::all();
     $rules = array('name' => 'required');
     $validator = Validator::make($input, $rules);
     if ($validator->passes()) {
         $product_category->name = Input::get('name');
         $product_category->save();
     }
     return Redirect::action('ProductCategoryController@index');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $object = new Model();
     $params = $request->only('active', 'order', 'img', 'desc_img', 'brand_id', 'url', 'ru_title', 'ru_description', 'ru_tech_description', 'ru_seo_title', 'ru_seo_keywords', 'ru_seo_description', 'en_title', 'en_description', 'en_tech_description', 'en_seo_title', 'en_seo_keywords', 'en_seo_description', 'ua_title', 'ua_description', 'ua_tech_description', 'ua_seo_title', 'ua_seo_keywords', 'ua_seo_description');
     $params['active'] = $params['active'] ? true : false;
     $filter = $object->validator($params);
     if ($filter->fails()) {
         $error = $filter->errors()->toArray();
         $brands = Brand::all();
         return view('admin.product-category.create', ['input' => $params, 'brands' => $brands, 'error' => $error]);
     }
     if ($request->hasFile('img')) {
         $params['img'] = $this->upload('img');
     }
     if ($request->hasFile('desc_img')) {
         $params['desc_img'] = $this->upload('desc_img');
     }
     $params['alias'] = $this->makeAlias($params['ru_title']);
     $object->fill($params);
     $object->save();
     return redirect('admin/product-category/' . $object->id . '/edit');
     //        return redirect('admin/product-category/'.$object->id);
 }