public function store(Request $request) { $regras = array('email' => 'required|string', 'nome' => 'required', 'perfis' => 'required|min:1'); $mensagens = array('required' => 'O campo :attribute deve ser preenchido.', 'perfis.min' => 'O campo perfil deve ser selecionado.'); $validator = Validator::make($request->all(), $regras, $mensagens); if ($validator->fails()) { return redirect('Usuario/cadastrar')->withErrors($validator)->withInput(); } $perfil = PerfilUsuario::where('id', '=', $request['perfis'])->first(); $usuarioLogado = Auth::User()->load('Vendedor'); if (Gate::allows('AcessoVendedor') && $perfil->tipo == 'Vendedor') { DB::beginTransaction(); try { $senha = rand(100000, 999999); $usuario = User::create(['name' => $request['nome'], 'email' => $request['email'], 'password' => Hash::make($request['password']), 'idPerfilUsuario' => $request['perfis']]); Mail::send('Usuario.EmailTemplate', ['email' => $usuario->email, 'password' => $senha], function ($message) use($usuario) { $message->to($usuario->email, $usuario->name)->subject('BrasilSpot Login'); }); if ($perfil->tipo == 'Vendedor') { $regras = array('tiposVendedores' => 'required|min:1', 'metas' => 'required|min:1'); $mensagens = array('tiposVendedores.required' => 'O campo Tipos De Vendedores deve ser selecionado.', 'tiposVendedores.min' => 'O campo Tipos De Vendedores deve ser selecionado.', 'metas.required' => 'O campo Metas deve ser selecionado.', 'metas.min' => 'O campo Metas deve ser selecionado.'); $validator = Validator::make($request->all(), $regras, $mensagens); if ($validator->fails()) { return redirect('Usuario/cadastrar')->withErrors($validator)->withInput(); } $vendedor = Vendedor::create(['idUsuario' => $usuario->id, 'idTipo' => $request['tiposVendedores'], 'idMeta' => $request['metas'], 'idVendedorPai' => $usuarioLogado->id]); } } catch (Exception $exception) { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroException', 'Não foi possivel cadastrar o usuario.'); return redirect()->back(); } DB::commit(); Session::flash('flash_message', 'Usuário adicionada com sucesso!'); return redirect()->back(); } else { if (Gate::allows('AcessoVendedor') && $perfil->tipo == 'Comerciante') { DB::beginTransaction(); try { $senha = rand(100000, 999999); $usuario = User::create(['name' => $request['nome'], 'email' => $request['email'], 'password' => Hash::make($senha), 'idPerfilUsuario' => $request['perfis']]); Comerciante::create(['idVendedor' => $usuarioLogado->Vendedor->id, 'idUsuario' => $usuario->id]); Mail::send('Usuario.EmailTemplate', ['email' => $usuario->email, 'password' => $senha], function ($message) use($usuario) { $message->to($usuario->email, $usuario->name)->subject('BrasilSpot Login'); }); } catch (Exception $exception) { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroException', 'Não foi possivel cadastrar o usuario.'); return redirect()->back(); } DB::commit(); Session::flash('flash_message', 'Usuário adicionada com sucesso!'); return redirect()->back(); } } return redirect()->back(); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['funcionario' => 'unique:vendedores,funcionario_id', 'password' => 'required']); $vendedor = Vendedor::create(['password' => md5($request->password)]); $vendedor->funcionario()->associate(Funcionario::find($request->funcionario)); $vendedor->cargo()->associate(Cargo::find($request->cargo)); $vendedor->save(); echo 'Vendedor cadastrado'; }
public function store(Request $request) { Vendedor::create(['IsCoordenador' => $request['isCoordenador'], 'IdUsuario' => $request['usuarios'], 'IdTipo' => $request['tipos'], 'IdMeta' => $request['metas'], 'IdVendedorPai' => $request['vendedorPai']]); return "Vendedor Registrado com sucesso!!"; }