/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Fornecedor::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id]); $query->andFilterWhere(['like', 'nome', $this->nome])->andFilterWhere(['like', 'endereco', $this->endereco])->andFilterWhere(['like', 'telefone', $this->telefone])->andFilterWhere(['like', 'site', $this->site])->andFilterWhere(['like', 'email', $this->email]); return $dataProvider; }
public function create($id) { $compra = Compra::find($id); // Busca os ids na tabela de fornecedor_produtos de acordo com o fornecedor $produtoIds = Fornecedor::find($compra->fornecedor_id)->fornecedor_produtos()->get(['produto_id']); $ids = []; foreach ($produtoIds as $p) { $ids[] = $p->produto_id; } // Busca todos os produtos de acordo com o fornecedor $produtos = Produto::with('categoria')->whereIn('id', $ids)->get(); $itens = CompraItem::with('produto')->where('compra_id', $compra->id)->get(); return view('compra_itens.create', compact('produtos', 'compra', 'itens')); }
public function reenviaEmail($compra) { $compra = Compra::find($compra->id); $fornecedor = Fornecedor::find($compra->fornecedor_id); $text = 'Pedido de compra urgente'; if ($fornecedor->contatos[0]->email == '' || $fornecedor->contatos[0]->email == null) { flash()->error('Fornecedor não tem nenhum e-mail cadastrado, atualize o cadastro do fornecedor e tente novamente'); return back(); } $send = Mail::send('emails.fornecedor', ['compra' => $compra, 'text' => $text], function ($message) use($fornecedor) { #$message->to('*****@*****.**', 'Pedido de compra')->subject('Pedido de compra Miramar Brindes'); $message->to($fornecedor->contatos[0]->email, 'Pedido de compra')->subject('Pedido de compra Miramar Brindes'); }); if ($send) { return true; } }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(FornecedoresRequest $request, $id) { $fornecedor = Fornecedor::find($id); $fornecedor->update($request->all()); if ($request->contato) { $this->insertContatos($request->contato, $fornecedor); } if ($request->endereco) { $this->insertEnderecos($request->endereco, $fornecedor); } flash()->success('Fornecedor atualizado com sucesso'); return redirect('/fornecedores'); }