/** * Show the form for editing the specified pedido. * * @param int $id * @return Response */ public function edit($id) { if ($id) { $pedido = Pedido::find($id); if ($pedido) { $pedido->cliente = Cliente::find($pedido->cliente_id); if (!$pedido->cliente) { $alert[] = ['class' => 'alert-warning', 'message' => '<i class="fa fa-3x fa-warning pull-left"></i> O Cliente deste pedido foi excluído!<br/>Por favor corrija e salve novamente.']; Session::flash('alerts', $alert); $pedido->cliente = NULL; } // $pedido->fornecedor = Fornecedor::find($pedido->fornecedor_id); if (!$pedido->fornecedor) { $alert[] = ['class' => 'alert-warning', 'message' => '<i class="fa fa-4x fa-warning pull-left"></i>Atençao! Há um problema com o <strong>pedido nº' . $pedido->id . '</strong><br/>O Fornecedor deste pedido foi excluído ou alterado!<br/>Por favor informe outro e salve novamente.']; Session::flash('alerts', $alert); $pedido->fornecedor = 0; } $pedido->vendedor = Vendedor::find($pedido->vendedor_id); if (!$pedido->vendedor) { $pedido->vendedor = 0; } $fornecedores = Fornecedor::orderBy('nome')->get(); $vendedores = Vendedor::all(); $produtos = Produto::all(); $categories = Category::where('owner_type', 'Produto')->get(); // Decode JSON $pedido->itens = json_decode($pedido->itens, true); $itens = $pedido->itens; $pedido_itens = array(); for ($i = 0; $i < count(end($itens)); $i++) { // Loop no primeiro item pra pegar a quantidade de linhas $pedido_itens[$i] = array('qtd' => $itens['qtd'][$i], 'unidade' => $itens['unidade'][$i], 'produto' => Produto::find($itens['produto_id'][$i]), 'acabamento' => Category::find(@$itens['produto_category_id'][$i]), 'preco' => $itens['preco'][$i], 'subtotal' => $itens['subtotal'][$i]); } $pedido->itens = $pedido_itens; return View::make('pedidos.edit', compact('pedido', 'produtos', 'fornecedores', 'vendedores', 'categories')); } else { $alert[] = ['class' => 'alert-warning', 'message' => 'Não foi possível encontrar o pedido solicitado.']; Session::flash('alerts', $alert); return Redirect::to(URL::previous()); } } else { $alert[] = ['class' => 'alert-warning', 'message' => 'Não foi possível encontrar o pedido solicitado.']; Session::flash('alerts', $alert); return Redirect::to('pedidos'); } return View::make('pedidos.edit', compact('pedido')); }