public function update($id_imposto, $id_informacao_extra, Request $request) { $informacao_extra = InformacaoExtra::where('id', '=', $id_informacao_extra)->first(); $request->merge(['id_imposto' => $id_imposto]); if ($informacao_extra->validate($request->all())) { $informacao_extra->update($request->all()); if ($request->get('tipo') == 'anexo') { foreach ($informacao_extra->extensoes as $extensao) { $extensao->delete(); } foreach ($request->get('extensao') as $extensao) { $ext = new \App\InformacaoExtraExtensao(); $ext->id_informacao_extra = $informacao_extra->id; $ext->extensao = $extensao; $ext->save(); } } return redirect(route('listar-informacao-extra', ['id_imposto' => $id_imposto])); } else { return redirect(route('editar-informacao-extra', ['id_imposto' => $id_imposto, 'id_informacao_extra' => $id_informacao_extra]))->withInput()->withErrors($informacao_extra->errors()); } }
public function store($id, Request $request) { $processo = Processo::join('pessoa', 'processo.id_pessoa', '=', 'pessoa.id')->where('pessoa.id_usuario', '=', Auth::user()->id)->where('processo.id', '=', $id)->select('processo.*')->first(); $erros = []; if ($request->get('informacao_adicional')) { foreach ($request->get('informacao_adicional') as $k => $informacao_adicional) { if (!$informacao_adicional) { $erros[] = 'É necessário preencher o campo ' . \App\InformacaoExtra::where('id', '=', $k)->first()->nome; } } } if ($request->file('anexo')) { foreach ($request->file('anexo') as $k => $anexo) { $informacao_extra = \App\InformacaoExtra::where('id', '=', $k)->first(); $nome_bonito = ['informacao' => $informacao_extra->nome]; $extensoes = ''; foreach ($informacao_extra->extensoes as $x => $extensao) { if ($x > 0) { $extensoes .= ','; } $extensoes .= $extensao->extensao; } $rules = ['informacao' => 'required|max:' . $informacao_extra->tamanho_maximo . '|mimes:' . $extensoes]; // make a new validator object $v = Validator::make(['informacao' => $anexo], $rules); $v->setAttributeNames($nome_bonito); if ($v->fails()) { $erros = array_merge($erros, $v->errors()->all()); } } } if (count($erros)) { return redirect(route('responder-processo-usuario', [$id]))->withErrors($erros); } if ($request->get('informacao_adicional')) { foreach ($request->get('informacao_adicional') as $k => $informacao_adicional) { $informacao_extra = new \App\ProcessoInformacaoExtra(); $informacao_extra->create(['informacao' => $informacao_adicional, 'id_processo' => $processo->id, 'id_informacao_extra' => $k]); } } if ($request->file('anexo')) { foreach ($request->file('anexo') as $k => $anexo) { $informacao_extra = new \App\ProcessoInformacaoExtra(); $anexo_nome = 'processo_anexo' . str_shuffle(date('dmyhis')) . '.' . $anexo->guessClientExtension(); $anexo->move(getcwd() . '/uploads/processos/', $anexo_nome); $informacao_extra->create(['informacao' => $anexo_nome, 'id_processo' => $processo->id, 'id_informacao_extra' => $k]); } } return redirect(route('responder-processo-usuario', [$id])); }