Example #1
0
 private function save($publicId = null)
 {
     $productId = $publicId ? Product::getPrivateId($publicId) : null;
     $rules = ['product_key' => 'unique:products,product_key,' . $productId . ',id,account_id,' . Auth::user()->account_id];
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         $url = $publicId ? 'products/' . $publicId . '/edit' : 'products/create';
         return Redirect::to($url)->withErrors($validator)->withInput();
     } else {
         if ($publicId) {
             $product = Product::scope($publicId)->firstOrFail();
         } else {
             $product = Product::createNew();
         }
         $product->product_key = strtoupper(trim(Input::get('product_key')));
         $product->notes = trim(Input::get('notes'));
         $product->cost = trim(Input::get('cost'));
         $product->category_id = trim(Input::get('category_id'));
         $product->save();
         if ($publicId) {
             Session::flash('message', trans('texts.updated_product'));
         } else {
             // Activity::createProduct($product);
             Session::flash('message', trans('texts.created_product'));
         }
         return Redirect::to('products/' . $product->public_id);
     }
 }