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();
 }
Esempio n. 2
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $venda = Venda::findOrFail($id);
     $venda->vendedor_id = Vendedor::findOrFail($venda->vendedor_id);
     $venda->filial = Filial::findOrFail($venda->vendedor_id->filial_id);
     $venda->produtos_venda = DB::table('produtovenda')->join('produto', 'produto.id', '=', 'produtovenda.produto_id')->where('venda_id', '=', $venda->id)->get();
     return response()->json($venda);
 }
 public function create()
 {
     $usuarios = Usuario::lists('nome', 'id');
     $tiposEmpresas = TipoEmpresa::lists('tipo', 'id');
     $planos = Plano::lists('nome', 'id');
     $vendedores = Vendedor::all();
     $vendedoresSelect = array();
     //TODO: Refatorar isso depois
     foreach ($vendedores as $vendedor) {
         $vendedoresSelect[$vendedor->id] = Usuario::find($vendedor->idUsuario)->nome;
     }
     return view('Empresa.Create')->with('usuarios', $usuarios)->with('tiposEmpresas', $tiposEmpresas)->with('planos', $planos)->with('vendedores', $vendedoresSelect);
 }
 public function gravarMetaAdicionada(Request $request, $id)
 {
     if ($request['metas'] == "-1") {
         $request['metas'] = "";
     }
     $regras = array('metas' => 'required');
     $mensagens = array('required' => 'Selecione a meta.');
     $validator = Validator::make($request->all(), $regras, $mensagens);
     if ($validator->fails()) {
         return redirect('Vendedor/VincularMetas/Adicionar/' . $id)->withErrors($validator)->withInput();
     }
     $vendedor = Vendedor::where('idUsuario', '=', $id)->first();
     MetaVendedor::Create(['idMeta' => $request['metas'], 'idVendedor' => $vendedor->id]);
     Session::flash('flash_message', 'Meta vinculada com sucesso!');
     return redirect()->back();
 }
Esempio n. 5
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $vendedor = Vendedor::findOrFail($id);
     $vendedor->delete();
     return response()->json(array());
 }
Esempio n. 6
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $Vendedor = Vendedor::find($id);
     $Vendedor->estado = "Inactivo";
     $Vendedor->save();
     return JsonResponse::create(array('message' => "Eliminado Correctamente"), 200);
 }
Esempio n. 7
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $meta = Meta::findOrFail($id);
     $meta->vendedor_id = Vendedor::findOrFail($meta->vendedor_id);
     $meta->filial = Filial::findOrFail($meta->vendedor_id->filial_id);
     $meta->produtos_meta = DB::table('produtometa')->join('produto', 'produto.id', '=', 'produtometa.produto_id')->where('meta_id', '=', $meta->id)->get();
     return response()->json($meta);
 }
 public function editar()
 {
     $usuario = Auth::User();
     $empresa = Empresa::where('idUsuario', '=', $usuario->id)->first();
     $tiposEmpresas = ['-1' => 'Selecione o tipo do empreendimento'] + TipoEmpresa::orderBy('tipo', 'asc')->lists('tipo', 'id')->all();
     $categorias = ['-1' => 'Selecione a categoria'] + Categoria::orderBy('nome', 'asc')->lists('nome', 'id')->all();
     $cartoes = Cartao::orderBy('tipo', 'asc')->get();
     $vendedores = ['-1' => 'Selecione o usuário'] + Vendedor::with('Usuario')->get()->lists('Usuario.name', 'id')->all();
     $tiposCartoes = ['-1' => 'Selecione o tipo dos cartões'] + TipoCartao::orderBy('descricao', 'asc')->lists('descricao', 'id')->all();
     return view('Empresa.Edit')->with('empresa', $empresa)->with('tiposEmpresas', $tiposEmpresas)->with('cartoes', $cartoes)->with('categorias', $categorias)->with('vendedores', $vendedores)->with('tiposCartoes', $tiposCartoes);
 }
 public function store(Request $request)
 {
     \App\Vendedor::create(['IsCoordenador' => $request['isCoordenador'], 'IdUsuario' => $request['usuarios'], 'IdTipo' => $request['tipos'], 'IdMeta' => $request['metas'], 'IdVendedorPai' => $request['vendedorPai']]);
     return "Vendedor Registrado com sucesso!!";
 }
Esempio n. 10
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  Vendedor  $vendedor
  * @return \Illuminate\Http\Response
  */
 public function destroy(Vendedor $vendedor)
 {
     $vendedor->delete();
     return redirect()->action('VendedoresController@index');
 }