示例#1
0
 /**
  * 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');
 }