No Description

PermissionController.php 4.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Permission;
  6. use App\Role;
  7. class PermissionController extends Controller
  8. {
  9. /**
  10. * @return \Illuminate\View\View
  11. */
  12. public function index(Request $request)
  13. { //接收点击页数
  14. $page = intval($request->input('page'))?intval($request->input('page')):1;
  15. //选项卡标识 type 1=>权限 2=>角色(global)
  16. $type = intval($request->input('type'))?intval($request->input('type')):'';
  17. //权限
  18. //查询项目条数
  19. $count1 = Permission::count();
  20. if ($count1 > 1) {
  21. // 总页数
  22. $pages1 = ceil($count1/config('page.paginate')['list_rows2']);
  23. }else{
  24. // 总页数
  25. $pages1 = 1;
  26. }
  27. //查询数据库信息
  28. $permissions = Permission::paginate(config('page.paginate')['list_rows2']);
  29. //角色
  30. //查询项目条数
  31. $count2 = Role::groupBy('name')->get();
  32. $count2 = count($count2);
  33. //echo '<pre>';
  34. //var_dump($count2);die;
  35. if ($count2 > 1) {
  36. // 总页数
  37. $pages2 = ceil($count2/config('page.paginate')['list_rows2']);
  38. }else{
  39. // 总页数
  40. $pages2 = 1;
  41. }
  42. //查询数据库信息
  43. $roles = Role::select('id','name','create_time','update_time')->groupBy('name')->paginate(config('page.paginate')['list_rows2']);
  44. return view('admin/permissionindex', ['permissions' => $permissions, 'roles' => $roles,'count1'=>$count1,'page'=>$page,'count2'=>$count2,'pages1'=>$pages1,'pages2'=>$pages2,'type'=>$type]);
  45. }
  46. /**
  47. * @return \Illuminate\View\View
  48. */
  49. public function create()
  50. {
  51. // //一级菜单id
  52. // $ids = Permission::where('parent_id',0)->lists('id');
  53. // $ids[]=0;
  54. // //二级菜单+一级菜单
  55. // $permission = Permission::whereIn('parent_id',$ids)->get();
  56. $permission = Permission::where('parent_id',0)->get();
  57. return view('admin/permissioncreate',['permission'=>$permission,'permission'=>$permission]);
  58. }
  59. /**
  60. * @param Request $request
  61. * @return \Illuminate\Http\RedirectResponse
  62. */
  63. public function store(Request $request)
  64. {
  65. $this->validate($request, [
  66. 'name' => 'unique:permission|required',
  67. 'description' => 'required',
  68. 'parent_id' => 'required',
  69. ], [
  70. 'name.required' => '权限名称不能为空',
  71. 'name.unique' => '权限名称已经存在',
  72. 'description.required' => '描述不能为空',
  73. 'parent_id.required' => '父级权限id不能为空',
  74. ]);
  75. $permission = new Permission();
  76. $permission->name = $request->input('name');
  77. $permission->description = $request->input('description');
  78. $permission->parent_id = $request->input('parent_id');
  79. $permission->create_time = time();
  80. if($permission->save()){
  81. return redirect('/admin/permission/index?type=1')->with('info', '添加权限成功');
  82. }else{
  83. return back()->with('info', '添加失败');
  84. }
  85. }
  86. /**
  87. * @param $id
  88. * @return \Illuminate\View\View
  89. */
  90. public function edit($id)
  91. {
  92. $permission = Permission::findOrFail($id);
  93. // //一级菜单id
  94. // $ids = Permission::where('parent_id',0)->lists('id');
  95. // $ids[]=0;
  96. // //二级菜单+一级菜单
  97. // $permissions = Permission::whereIn('parent_id',$ids)->get();
  98. $permissions = Permission::where('parent_id',0)->get();
  99. return view('admin/permissionedit',['permission'=>$permission,'permissions' => $permissions]);
  100. }
  101. /**
  102. * @param Request $request
  103. * @return \Illuminate\Http\RedirectResponse
  104. */
  105. public function update(Request $request)
  106. {
  107. error_reporting(0);
  108. $this->validate($request, [
  109. 'name' => 'required',
  110. 'description' => 'required',
  111. 'parent_id' => 'required',
  112. ], [
  113. 'name.required' => '权限名称不能为空',
  114. 'description.required' => '描述不能为空',
  115. 'parent_id.required' => '父级权限id不能为空',
  116. ]);
  117. $permission = Permission::findOrFail($request->id);
  118. $permission->name = $request->input('name');
  119. $permission->description = $request->input('description');
  120. $permission->parent_id = $request->input('parent_id');
  121. if ($permission->update()) {
  122. return redirect('/admin/permission/index?type=1')->with('info', '修改权限成功');
  123. } else {
  124. return back()->with('info', '修改失败');
  125. }
  126. }
  127. }