public function archive($publicId) { $product = Product::scope($publicId)->firstOrFail(); $product->delete(); Session::flash('message', trans('texts.archived_product')); return Redirect::to('company/products'); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($publicId) { $product = Product::scope($publicId)->firstOrFail(); $product->delete(); $message = "Producto eliminado con éxito"; Session::flash('message', $message); if ($product->is_product == 1) { return Redirect::to('productos'); } else { return Redirect::to('servicios'); } }
private static function getViewModel() { return ['account' => Auth::user()->account, 'branches' => Branch::where('account_id', '=', Auth::user()->account_id)->where('id', Auth::user()->branch_id)->orderBy('public_id')->get(), 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')), 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'clients' => Client::scope()->with('contacts', 'country')->orderBy('name')->get(), 'taxRates' => TaxRate::scope()->orderBy('name')->get(), 'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'sizes' => Size::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), 'paymentTerms' => PaymentTerm::remember(DEFAULT_QUERY_CACHE)->orderBy('num_days')->get(['name', 'num_days']), 'industries' => Industry::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'frequencies' => array(1 => 'Semanal', 2 => 'Cada 2 semanas', 3 => 'Cada 4 semanas', 4 => 'Mensual', 5 => 'Trimestral', 6 => 'Semestral', 7 => 'Anual')]; }
public static function findProductByKey($key) { return Product::scope()->where('product_key', '=', $key)->first(); }
private static function getViewModel() { return ['entityType' => ENTITY_QUOTE, 'account' => Auth::user()->account, 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')), 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'clients' => Client::scope()->with('contacts', 'country')->orderBy('name')->get(), 'taxRates' => TaxRate::scope()->orderBy('name')->get(), 'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'sizes' => Size::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), 'industries' => Industry::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'invoiceDesigns' => InvoiceDesign::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), 'invoiceLabels' => Auth::user()->account->getInvoiceLabels()]; }
private static function getViewModel() { $recurringHelp = ''; foreach (preg_split("/((\r?\n)|(\r\n?))/", trans('texts.recurring_help')) as $line) { $parts = explode("=>", $line); if (count($parts) > 1) { $line = $parts[0] . ' => ' . Utils::processVariables($parts[0]); $recurringHelp .= '<li>' . strip_tags($line) . '</li>'; } else { $recurringHelp .= $line; } } return ['account' => Auth::user()->account, 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')), 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'clients' => Client::scope()->with('contacts', 'country')->orderBy('name')->get(), 'taxRates' => TaxRate::scope()->orderBy('name')->get(), 'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'sizes' => Size::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), 'paymentTerms' => PaymentTerm::remember(DEFAULT_QUERY_CACHE)->orderBy('num_days')->get(['name', 'num_days']), 'industries' => Industry::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'invoiceDesigns' => InvoiceDesign::remember(DEFAULT_QUERY_CACHE, 'invoice_designs_cache_' . Auth::user()->maxInvoiceDesignId())->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(), 'frequencies' => array(1 => 'Weekly', 2 => 'Two weeks', 3 => 'Four weeks', 4 => 'Monthly', 5 => 'Three months', 6 => 'Six months', 7 => 'Annually'), 'recurringHelp' => $recurringHelp]; }
private static function getViewModel() { return ['account' => Auth::user()->account, 'branch' => Auth::user()->branch, 'products' => Product::scope()->with('prices')->orderBy('id')->get(), 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'taxRates' => TaxRate::scope()->orderBy('name')->get(), 'currencies' => Currency::orderBy('name')->get(), 'industries' => Industry::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), 'invoiceDesigns' => InvoiceDesign::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), 'invoiceLabels' => Auth::user()->account->getInvoiceLabels(), 'frequencies' => array(1 => 'Semanal', 2 => 'Cada 2 semanas', 3 => 'Cada 4 semanas', 4 => 'Mensual', 5 => 'Trimestral', 6 => 'Semestral', 7 => 'Anual')]; }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function bulk() { $public_id = Input::get('public_id'); $category = Category::scope($public_id)->first(); $getProductCount = Product::scope()->where('category_id', '=', $category->id)->count(); // return Response::json($getProductCount); if ($getProductCount > 0) { $field = $getProductCount == 1 ? ' ' : 's'; $field2 = $getProductCount == 1 ? ' pertenece' : ' pertenecen'; $message = $getProductCount . " Producto" . $field . $field2 . " a la categoría " . $category->name; Session::flash('error', $message); return Redirect::to('categorias'); } else { $category->delete(); $message = "Categoría eliminada con éxito"; Session::flash('message', $message); return Redirect::to('categorias'); } }
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'); }
private static function getViewModel() { return ['account' => Auth::user()->account, 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')), 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'clients' => Client::scope()->with('contacts', 'country')->orderBy('name')->get(), 'taxRates' => TaxRate::scope()->orderBy('name')->get(), 'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'sizes' => Size::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), 'paymentTerms' => PaymentTerm::remember(DEFAULT_QUERY_CACHE)->orderBy('num_days')->get(['name', 'num_days']), 'industries' => Industry::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(), 'invoiceDesigns' => InvoiceDesign::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(), 'invoiceLabels' => Auth::user()->account->getInvoiceLabels(), 'frequencies' => array(1 => 'Weekly', 2 => 'Two weeks', 3 => 'Four weeks', 4 => 'Monthly', 5 => 'Three months', 6 => 'Six months', 7 => 'Annually')]; }
private static function getViewModel() { return ['branches' => Branch::where('account_id', '=', Auth::user()->account_id)->get(), 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')), 'taxRates' => TaxRate::scope()->orderBy('name')->get(), 'frequencies' => array(1 => 'Semanal', 2 => 'Cada 2 semanas', 3 => 'Cada 4 semanas', 4 => 'Mensual', 5 => 'Trimestral', 6 => 'Semestral', 7 => 'Anual')]; }