123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <?php
- namespace App\Http\Controllers\Admin;
- use App\Http\Controllers\Controller;
- use Illuminate\Http\Request;
- use App\Permission;
- use App\Role;
- class PermissionController extends Controller
- {
- /**
- * @return \Illuminate\View\View
- */
- public function index(Request $request)
- { //接收点击页数
- $page = intval($request->input('page'))?intval($request->input('page')):1;
- //选项卡标识 type 1=>权限 2=>角色(global)
- $type = intval($request->input('type'))?intval($request->input('type')):'';
- //权限
- //查询项目条数
- $count1 = Permission::count();
- if ($count1 > 1) {
- // 总页数
- $pages1 = ceil($count1/config('page.paginate')['list_rows2']);
- }else{
- // 总页数
- $pages1 = 1;
- }
- //查询数据库信息
- $permissions = Permission::paginate(config('page.paginate')['list_rows2']);
- //角色
- //查询项目条数
- $count2 = Role::groupBy('name')->get();
- $count2 = count($count2);
- //echo '<pre>';
- //var_dump($count2);die;
- if ($count2 > 1) {
- // 总页数
- $pages2 = ceil($count2/config('page.paginate')['list_rows2']);
- }else{
- // 总页数
- $pages2 = 1;
- }
- //查询数据库信息
- $roles = Role::select('id','name','create_time','update_time')->groupBy('name')->paginate(config('page.paginate')['list_rows2']);
- return view('admin/permissionindex', ['permissions' => $permissions, 'roles' => $roles,'count1'=>$count1,'page'=>$page,'count2'=>$count2,'pages1'=>$pages1,'pages2'=>$pages2,'type'=>$type]);
- }
- /**
- * @return \Illuminate\View\View
- */
- public function create()
- {
- // //一级菜单id
- // $ids = Permission::where('parent_id',0)->lists('id');
- // $ids[]=0;
- // //二级菜单+一级菜单
- // $permission = Permission::whereIn('parent_id',$ids)->get();
- $permission = Permission::where('parent_id',0)->get();
- return view('admin/permissioncreate',['permission'=>$permission,'permission'=>$permission]);
- }
- /**
- * @param Request $request
- * @return \Illuminate\Http\RedirectResponse
- */
- public function store(Request $request)
- {
- $this->validate($request, [
- 'name' => 'unique:permission|required',
- 'description' => 'required',
- 'parent_id' => 'required',
- ], [
- 'name.required' => '权限名称不能为空',
- 'name.unique' => '权限名称已经存在',
- 'description.required' => '描述不能为空',
- 'parent_id.required' => '父级权限id不能为空',
- ]);
- $permission = new Permission();
- $permission->name = $request->input('name');
- $permission->description = $request->input('description');
- $permission->parent_id = $request->input('parent_id');
- $permission->create_time = time();
- if($permission->save()){
- return redirect('/admin/permission/index?type=1')->with('info', '添加权限成功');
- }else{
- return back()->with('info', '添加失败');
- }
- }
- /**
- * @param $id
- * @return \Illuminate\View\View
- */
- public function edit($id)
- {
- $permission = Permission::findOrFail($id);
- // //一级菜单id
- // $ids = Permission::where('parent_id',0)->lists('id');
- // $ids[]=0;
- // //二级菜单+一级菜单
- // $permissions = Permission::whereIn('parent_id',$ids)->get();
- $permissions = Permission::where('parent_id',0)->get();
- return view('admin/permissionedit',['permission'=>$permission,'permissions' => $permissions]);
- }
- /**
- * @param Request $request
- * @return \Illuminate\Http\RedirectResponse
- */
- public function update(Request $request)
- {
- error_reporting(0);
- $this->validate($request, [
- 'name' => 'required',
- 'description' => 'required',
- 'parent_id' => 'required',
- ], [
- 'name.required' => '权限名称不能为空',
- 'description.required' => '描述不能为空',
- 'parent_id.required' => '父级权限id不能为空',
- ]);
- $permission = Permission::findOrFail($request->id);
- $permission->name = $request->input('name');
- $permission->description = $request->input('description');
- $permission->parent_id = $request->input('parent_id');
- if ($permission->update()) {
- return redirect('/admin/permission/index?type=1')->with('info', '修改权限成功');
- } else {
- return back()->with('info', '修改失败');
- }
- }
- }
|