private function save($productPublicId = false)
 {
     if ($productPublicId) {
         $product = Product::scope($productPublicId)->firstOrFail();
     } else {
         $product = Product::createNew();
     }
     $product->product_key = trim(Input::get('product_key'));
     $product->notes = trim(Input::get('notes'));
     $product->cost = trim(Input::get('cost'));
     $product->save();
     $message = $productPublicId ? trans('texts.updated_product') : trans('texts.created_product');
     Session::flash('message', $message);
     return Redirect::to('company/products');
 }
Example #2
0
 public function storage2()
 {
     //return "brian";
     //return $this->save();
     $productId = null;
     $product = Product::createNew();
     $product->setProductKey(null);
     $product->setNotes(null);
     $product->setCost(null);
     $product->setQty(null);
     $product->setCategory(null);
     $product->setPublicId(null);
     $product->setAccount(null);
     $product->setUser(null);
     $resultado = $product->guardar();
     print_r($product);
     echo "<br><br>";
     return $resultado;
     // $product ->	setProduct_key =	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 (null != Input::get('json')) {
     }
     return Response::json(array());
     $message = "Producto creado con éxito";
     Session::flash('message', $message);
     return Redirect::to('productos/' . $product->public_id);
 }
Example #3
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);
     }
 }
 private function save($publicId = null)
 {
     if ($publicId) {
         $product = Product::scope($publicId)->firstOrFail();
     } else {
         $product = Product::createNew();
     }
     $product->product_key = trim(Input::get('product_key'));
     $product->notes = trim(Input::get('notes'));
     $product->pack_types = trim(Input::get('pack_types'));
     $product->ice = trim(Input::get('ice'));
     $product->units = trim(Input::get('units'));
     $product->cc = trim(Input::get('cc'));
     $product->save();
     $data = json_decode(Input::get('data'));
     $pricesIds = [];
     $id = 1;
     foreach ($data->prices as $price) {
         if (isset($price->public_id) && $price->public_id) {
             $record = Price::scope($price->public_id)->firstOrFail();
         } else {
             $record = Price::createNew();
         }
         $record->price_type_id = $id;
         $record->cost = trim($price->cost);
         $product->prices()->save($record);
         $priceIds[] = $record->public_id;
         $id++;
     }
     foreach ($product->prices as $price) {
         if (!in_array($price->public_id, $priceIds)) {
             $price->delete();
         }
     }
     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);
 }
Example #5
0
 public function doImportProducts()
 {
     $data = Session::get('data');
     $category_id = Input::get('category_id');
     $map = Input::get('map');
     $first = true;
     foreach ($data as $row) {
         if ($first) {
             $first = false;
             continue;
         }
         foreach ($row as $index => $value) {
             $field = $map[$index];
             $value = trim($value);
             if ($field == Product::$fieldProductKey) {
                 $products = Product::scope()->get();
                 $flag = 0;
                 foreach ($products as $product) {
                     if ($product->product_key == $value) {
                         $flag = 1;
                     }
                 }
                 if ($flag == 1) {
                     $message = 'El Código ' . $value . ' ya existe en el Producto: ' . $product->notes;
                     Session::flash('message', $message);
                     return Redirect::to('importar/productos');
                 }
             }
         }
     }
     $data = Session::get('data');
     Session::forget('data');
     $map = Input::get('map');
     $count = 0;
     $first = true;
     foreach ($data as $row) {
         if ($first) {
             $first = false;
             continue;
         }
         $product = Product::createNew();
         $count++;
         foreach ($row as $index => $value) {
             $field = $map[$index];
             $value = trim($value);
             if ($field == Product::$fieldProductKey && !$product->product_key) {
                 $product->product_key = $value;
             } else {
                 if ($field == Product::$fieldNotes && !$product->notes) {
                     $product->notes = $value;
                 } else {
                     if ($field == Product::$fieldCost && !$product->cost) {
                         $product->cost = $value;
                     }
                 }
             }
         }
         $product->category_id = $category_id;
         $product->save();
         // Activity::createProduct($product, false);
     }
     $message = $count == 1 ? 'producto creado con éxito' : $count . 'productos creados con éxito';
     Session::flash('message', $message);
     return Redirect::to('productos');
 }
 public function fire()
 {
     $this->info(date('Y-m-d') . ' Running CreateRandomData...');
     $user = User::first();
     if (!$user) {
         $this->error("Error: please create user account by logging in");
         return;
     }
     $productNames = ['Arkansas', 'New York', 'Arizona', 'California', 'Colorado', 'Alabama', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'Alaska', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'];
     $clientNames = ['IBM', 'Nestle', 'Mitsubishi UFJ Financial', 'Vodafone', 'Eni', 'Procter & Gamble', 'Johnson & Johnson', 'American International Group', 'Banco Santander', 'BHP Billiton', 'Pfizer', 'Itaú Unibanco Holding', 'Ford Motor', 'BMW Group', 'Commonwealth Bank', 'EDF', 'Statoil', 'Google', 'Siemens', 'Novartis', 'Royal Bank of Canada', 'Sumitomo Mitsui Financial', 'Comcast', 'Sberbank', 'Goldman Sachs Group', 'Westpac Banking Group', 'Nippon Telegraph & Tel', 'Ping An Insurance Group', 'Banco Bradesco', 'Anheuser-Busch InBev', 'Bank of Communications', 'China Life Insurance', 'General Motors', 'Telefónica', 'MetLife', 'Honda Motor', 'Enel', 'BASF', 'Softbank', 'National Australia Bank', 'ANZ', 'ConocoPhillips', 'TD Bank Group', 'Intel', 'UBS', 'Hewlett-Packard', 'Coca-Cola', 'Cisco Systems', 'UnitedHealth Group', 'Boeing', 'Zurich Insurance Group', 'Hyundai Motor', 'Sanofi', 'Credit Agricole', 'United Technologies', 'Roche Holding', 'Munich Re', 'PepsiCo', 'Oracle', 'Bank of Nova Scotia'];
     foreach ($productNames as $i => $value) {
         $product = Product::createNew($user);
         $product->id = $i + 1;
         $product->product_key = $value;
         $product->save();
     }
     foreach ($clientNames as $i => $value) {
         $client = Client::createNew($user);
         $client->name = $value;
         $client->save();
         $contact = Contact::createNew($user);
         $contact->email = "*****@*****.**";
         $contact->is_primary = 1;
         $client->contacts()->save($contact);
         $numInvoices = rand(1, 25);
         if ($numInvoices == 4 || $numInvoices == 10 || $numInvoices == 25) {
             // leave these
         } else {
             if ($numInvoices % 3 == 0) {
                 $numInvoices = 1;
             } else {
                 if ($numInvoices > 10) {
                     $numInvoices = $numInvoices % 2;
                 }
             }
         }
         $paidUp = rand(0, 1) == 1;
         for ($j = 1; $j <= $numInvoices; $j++) {
             $price = rand(10, 1000);
             if ($price < 900) {
                 $price = rand(10, 150);
             }
             $invoice = Invoice::createNew($user);
             $invoice->invoice_number = $user->account->getNextInvoiceNumber();
             $invoice->amount = $invoice->balance = $price;
             $invoice->created_at = date('Y-m-d', strtotime(date("Y-m-d") . ' - ' . rand(1, 100) . ' days'));
             $client->invoices()->save($invoice);
             $productId = rand(0, 40);
             if ($productId > 20) {
                 $productId = $productId % 2 + rand(0, 2);
             }
             $invoiceItem = InvoiceItem::createNew($user);
             $invoiceItem->product_id = $productId + 1;
             $invoiceItem->product_key = $productNames[$invoiceItem->product_id];
             $invoiceItem->cost = $invoice->amount;
             $invoiceItem->qty = 1;
             $invoice->invoice_items()->save($invoiceItem);
             if ($paidUp || rand(0, 2) > 1) {
                 $payment = Payment::createNew($user);
                 $payment->invoice_id = $invoice->id;
                 $payment->amount = $invoice->amount;
                 $client->payments()->save($payment);
             }
         }
     }
 }