PermissionController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Requests\PermissionCreateRequest;
  4. use App\Http\Requests\PermissionUpdateRequest;
  5. use Illuminate\Http\Request;
  6. use App\Http\Controllers\Controller;
  7. use App\Models\Permission;
  8. class PermissionController extends Controller
  9. {
  10. /**
  11. * Display a listing of the resource.
  12. *
  13. * @return \Illuminate\Http\Response
  14. */
  15. public function index()
  16. {
  17. return view('admin.permission.index');
  18. }
  19. /**
  20. * Show the form for creating a new resource.
  21. *
  22. * @return \Illuminate\Http\Response
  23. */
  24. public function create()
  25. {
  26. $permissions = $this->tree();
  27. return view('admin.permission.create',compact('permissions'));
  28. }
  29. /**
  30. * Store a newly created resource in storage.
  31. *
  32. * @param \Illuminate\Http\Request $request
  33. * @return \Illuminate\Http\Response
  34. */
  35. public function store(PermissionCreateRequest $request)
  36. {
  37. $data = $request->all();
  38. if (Permission::create($data)){
  39. return redirect()->to(route('admin.permission'))->with(['status'=>'添加成功']);
  40. }
  41. return redirect()->to(route('admin.permission'))->withErrors('系统错误');
  42. }
  43. /**
  44. * Display the specified resource.
  45. *
  46. * @param int $id
  47. * @return \Illuminate\Http\Response
  48. */
  49. public function show($id)
  50. {
  51. //
  52. }
  53. /**
  54. * Show the form for editing the specified resource.
  55. *
  56. * @param int $id
  57. * @return \Illuminate\Http\Response
  58. */
  59. public function edit($id)
  60. {
  61. $permission = Permission::findOrFail($id);
  62. $permissions = $this->tree();
  63. return view('admin.permission.edit',compact('permission','permissions'));
  64. }
  65. /**
  66. * Update the specified resource in storage.
  67. *
  68. * @param \Illuminate\Http\Request $request
  69. * @param int $id
  70. * @return \Illuminate\Http\Response
  71. */
  72. public function update(PermissionUpdateRequest $request, $id)
  73. {
  74. $permission = Permission::findOrFail($id);
  75. $data = $request->all();
  76. if ($permission->update($data)){
  77. return redirect()->to(route('admin.permission'))->with(['status'=>'更新权限成功']);
  78. }
  79. return redirect()->to(route('admin.permission'))->withErrors('系统错误');
  80. }
  81. /**
  82. * Remove the specified resource from storage.
  83. *
  84. * @param int $id
  85. * @return \Illuminate\Http\Response
  86. */
  87. public function destroy(Request $request)
  88. {
  89. $ids = $request->get('ids');
  90. if (empty($ids)){
  91. return response()->json(['code'=>1,'msg'=>'请选择删除项']);
  92. }
  93. $permission = Permission::find($ids[0]);
  94. if (!$permission){
  95. return response()->json(['code'=>-1,'msg'=>'权限不存在']);
  96. }
  97. //如果有子权限,则禁止删除
  98. if (Permission::where('parent_id',$ids[0])->first()){
  99. return response()->json(['code'=>2,'msg'=>'存在子权限禁止删除']);
  100. }
  101. if ($permission->delete()){
  102. return response()->json(['code'=>0,'msg'=>'删除成功']);
  103. }
  104. return response()->json(['code'=>1,'msg'=>'删除失败']);
  105. }
  106. }