Exemplo n.º 1
0
 /**
  * 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'));
 }