/** * Create a new user instance after a valid registration. * * @param array $data * @return User */ protected function create(array $data) { $user = Usuario::create(['nome' => $data['nome'], 'sobrenome' => $data['sobrenome'], 'email' => $data['email'], 'password' => bcrypt($data['password'])]); $role = Defender::findRole('gestor'); $user->attachRole($role); return $user; }
/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { $data = Defender::findPermissionById($id); if ($data) { return view('forone::' . self::URI . "/edit", compact('data')); } else { return $this->redirectWithError('数据未找到'); } }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['nome' => 'required|min:3|max:255', 'sobrenome' => 'required|min:3|max:255', 'email' => 'required|email|unique:usuarios,email', 'iniciativa_id' => 'required|exists:iniciativas,idIniciativa']); $password = str_random(8); $request['password'] = bcrypt($password); $usuario = Usuario::create($request->all()); /*Role 2 => Usuario Gestor*/ $role = Defender::findRole('gestor'); $usuario->attachRole($role); Mail::send('emails.newUser', ['nome' => $request['nome'], 'email' => $request['email'], 'senha' => $password], function ($m) use($request) { $m->to($request['email'], $request['nome'])->subject('Bem vindo ao SisMid'); }); return $this->show($usuario->idUsuario); }
/** * 分配权限 */ public function assignPermission(Request $request) { $role = Defender::findRoleById($request->get('id')); $permissionNameParams = $request->except(['_token', 'id']); $permissionNames = array_keys($permissionNameParams); $permissions = []; foreach ($permissionNames as $permissionName) { $permissions[] = str_replace('_', '.', $permissionName); } // 删除 roles 所有权限 $role->revokePermissions(); $permissions = Permission::whereIn('name', $permissions)->get(); $permissions->each(function ($per) use($role) { $role->attachPermission($per); }); return redirect()->route('admin.roles.index'); }
public function storeGerenciaAdmin(Request $request) { $this->validate($request, ['nome' => 'required|max:255', 'sobrenome' => 'required|max:255', 'email' => 'required|email|max:255']); $password = str_random(8); $user = Usuario::create(['nome' => $request['nome'], 'sobrenome' => $request['sobrenome'], 'email' => $request['email'], 'password' => bcrypt($password)]); $role = Defender::findRole('admin'); $user->attachRole($role); Mail::send('emails.newUser', ['nome' => $request['nome'], 'email' => $request['email'], 'senha' => $password], function ($m) use($request) { $m->to($request['email'], $request['nome'])->subject('Bem vindo ao SisMid'); }); return redirect(route("admin.gerencia.index"))->with(['flash_type_message' => 'alert-success', 'flash_message' => 'Administrador cadastrado com sucesso']); }
/** * 分配角色 */ public function assignRole(Request $request) { $admin = Admin::findOrFail($request->get('id')); // detach roles $admin->roles()->detach(); $role = Defender::findRoleById($request->get('role_id')); $admin->attachRole($role); return redirect()->route('admin.admins.index'); }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { if (Defender::hasRole('gestor')) { $instituicao = Instituicao::findOrFail($id); if ($instituicao->usuario_id != Auth::user()->idUsuario) { abort(401, 'Unauthorized action.'); } } $uf = DB::table('uf')->orderBy('uf')->lists('uf', 'idUf'); $localidades = DB::table('localidades')->orderBy('localidade')->lists('localidade', 'idLocalidade'); $localizacoes = DB::table('localizacoes')->orderBy('localizacao')->lists('localizacao', 'idLocalizacao'); $naturezasJuridicas = DB::table('naturezasJuridicas')->orderBy('naturezaJuridica')->lists('naturezaJuridica', 'idNatureza'); $telefoneTipos = DB::table('telefoneTipos')->orderBy('tipo')->lists('tipo', 'idTipo'); return view('instituicoes.edit', compact('uf', 'localidades', 'localizacoes', 'naturezasJuridicas', 'telefoneTipos')); }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { if (Defender::hasRole('gestor')) { if (Auth::user()->iniciativa_id != $id) { abort(401, 'Unauthorized action.'); } } $uf = DB::table('uf')->orderBy('uf')->lists('uf', 'idUf'); $localidades = DB::table('localidades')->orderBy('localidade')->lists('localidade', 'idLocalidade'); $localizacoes = DB::table('localizacoes')->orderBy('localizacao')->lists('localizacao', 'idLocalizacao'); $naturezasJuridicas = DB::table('naturezasJuridicas')->orderBy('naturezaJuridica')->lists('naturezaJuridica', 'idNatureza'); $telefoneTipos = DB::table('telefoneTipos')->orderBy('tipo')->lists('tipo', 'idTipo'); $dimensoes = Dimensao::all()->lists('dimensao', 'idDimensao'); return view('iniciativas.edit', compact('uf', 'localidades', 'localizacoes', 'naturezasJuridicas', 'telefoneTipos', 'dimensoes')); }
private function getDadosAgrupadosByCidade($tipo, $cidade, $ativo, $usuarios, $agrupado) { $iniciativas = DB::table('iniciativas')->join('enderecos', 'iniciativas.endereco_id', '=', 'enderecos.idEndereco')->select('uf.uf', 'uf.idUf', DB::raw('COUNT( uf.uf ) as total'))->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->whereIn('iniciativas.tipo_id', $tipo)->where('cidades.idCidade', '=', $cidade); if (in_array(0, $tipo)) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->select('uf.uf', 'uf.idUf', DB::raw('COUNT( uf.uf ) as total'))->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->where('cidades.idCidade', '=', $cidade)->where('pids.ativo', '=', $ativo); if (Defender::is($usuarios)) { $pids->union($iniciativas); } if ($agrupado) { return $pids->groupby('uf.uf')->get(); } else { return $pids->get(); } } else { return $iniciativas->get(); } }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { if (Defender::hasRole('gestor')) { $pids = DB::table('pid_iniciativas')->select('pid_id')->where('iniciativa_id', '=', Auth::user()->iniciativa_id)->lists('pid_id'); if (!in_array($id, $pids)) { abort(401, 'Unauthorized action.'); } } $uf = DB::table('uf')->orderBy('uf')->lists('uf', 'idUf'); $localidades = DB::table('localidades')->orderBy('localidade')->lists('localidade', 'idLocalidade'); $localizacoes = DB::table('localizacoes')->orderBy('localizacao')->lists('localizacao', 'idLocalizacao'); $telefoneTipos = DB::table('telefoneTipos')->orderBy('tipo')->lists('tipo', 'idTipo'); $pidTipos = DB::table('pidTipos')->orderBy('tipo')->lists('tipo', 'idTipo'); $servicos = Servico::all()->lists('servico', 'idServico'); $emRevisao = DB::table('pid_revisao')->where('pid_id', $id)->where('valido', 1)->count(); return view('pids.edit', compact('uf', 'localidades', 'localizacoes', 'telefoneTipos', 'pidTipos', 'servicos', 'emRevisao')); }