public function save()
 {
     $attr = Attribute::findOrNew(Input::get('id'));
     $attr->attr = Input::get('attr');
     $attr->attr_type = Input::get('attr_type');
     $attr->is_filterable = Input::get('is_filterable');
     $attr->save();
     $attr->attributesets()->sync(Input::get('attr_set'));
     foreach (Input::get('option_name') as $key => $val) {
         $attrval = AttributeValue::findOrNew(Input::get('idd')[$key]);
         $attrval->option_name = Input::get('option_name')[$key];
         $attrval->option_value = Input::get('option_value')[$key];
         $attrval->is_active = Input::get('is_active')[$key];
         $attrval->sort_order = Input::get('sort_order')[$key];
         $attrval->attr_id = $attr->id;
         $attrval->save();
     }
     return redirect()->route('admin.attrs.view');
 }
Ejemplo n.º 2
0
 public function updateWithoutStock()
 {
     $prod = Product::find(Input::get("prod_id"));
     $prods = [];
     foreach (Input::get("id") as $key => $val) {
         foreach ($val as $i => $v) {
             array_push($prods, ["attr_id" => $key, "attr_val" => $v, "price" => Input::get("price")[$key][$i], "is_avail" => Input::get("is_avail")[$key][$i]]);
         }
     }
     foreach ($prods as $key => $prd) {
         $args = ['product' => $prod->product . ' - Variant - ' . AttributeValue::find($prd['attr_val'])->option_name, 'is_avail' => $prd['is_avail'], 'parent_prod_id' => $prod->id, 'is_individual' => 0, 'prod_type' => 1, 'attr_set' => $prod->attr_set, 'price' => $prd['price']];
         $newConfigProduct = Product::create($args);
         $newConfigProduct->attributes()->attach($prd['attr_id'], ["attr_val" => $prd['attr_val']]);
     }
     $view = !empty(Input::get('return_url')) ? redirect()->to(Input::get('return_url')) : redirect()->route("admin.products.upsell.related", ['id' => $prod->id]);
     return $view;
 }
Ejemplo n.º 3
0
 public function update4()
 {
     //dd(Input::all());
     $prod = Product::find(Input::get("prod_id"));
     $attributes = AttributeSet::find($prod->attributeset['id'])->attributes()->where("is_filterable", "=", "1")->get()->toArray();
     $prods = [];
     foreach ($attributes as $value) {
         foreach (Input::get($value["id"]) as $key => $val) {
             !isset($prods[$key]) ? $prods[$key] = [] : '';
             $prods[$key]["options"][$value["id"]] = $val;
         }
     }
     foreach (Input::get("price") as $key => $val) {
         !isset($prods[$key]) ? $prods[$key] = [] : '';
         $prods[$key]["price"] = $val;
     }
     foreach (Input::get("stock") as $key => $val) {
         !isset($prods[$key]) ? $prods[$key] = [] : '';
         $prods[$key]['stock'] = $val;
     }
     foreach (Input::get("is_avail") as $key => $val) {
         !isset($prods[$key]) ? $prods[$key] = [] : '';
         $prods[$key]['is_avail'] = $val;
     }
     //dd($prods);
     foreach ($prods as $key => $prd) {
         // dd($prod->product);
         $newConfigProduct = Product::create(['product' => $prod->product . ' - Variant - ' . ($key + 1), 'is_avail' => 1, 'parent_prod_id' => $prod->id, 'is_individual' => 0, 'prod_type' => 1, 'attr_set' => @$prod->attr_set, 'price' => @$prods[$key]['price'], 'stock' => @$prods[$key]['stock'], 'is_avail' => @$prods[$key]['is_avail']]);
         // dd($newConfigProduct);
         $attributes = AttributeSet::find($newConfigProduct->attributeset['id'])->attributes;
         // dd( $attributes);
         $newConfigProduct->attributes()->sync($attributes);
         // dd($newConfigProduct);
         $name = $prod->product . ' - Variant ( ';
         foreach ($prd["options"] as $op => $opt) {
             $opt = trim($opt);
             $optionName = AttributeValue::find($opt)->option_name;
             $name .= "{$optionName}, ";
             DB::update(DB::raw("update has_options set attr_val = '{$opt}' where attr_id = {$op} and prod_id = " . $newConfigProduct->id));
         }
         $name = rtrim($name, ", ");
         $name .= " )";
         $newConfigProduct->product = $name;
         $newConfigProduct->update();
     }
     //dd($newConfigProduct);
     // $view = !empty(Input::get('return_url')) ? redirect()->to(Input::get('return_url')) : redirect()->route("admin.products.updateUpsellRelatedProds", ['id' => $prod->id]);
     return redirect()->route("admin.products.updateUpsellRelatedProds", ['id' => $prod->id]);
 }