PermissionController.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Models\Permission;
  4. use Illuminate\Http\Request;
  5. use App\Http\Requests;
  6. use App\Http\Controllers\Controller;
  7. use Illuminate\Support\Facades\Config;
  8. class PermissionController extends AdminController
  9. {
  10. /*权限验证规则*/
  11. protected $validateRules = [
  12. 'name' => 'required|max:128',
  13. 'model' => 'sometimes|max:128',
  14. 'description' => 'sometimes|max:255',
  15. ];
  16. /**
  17. * 权限列表显示
  18. */
  19. public function index(Request $request)
  20. {
  21. $word = $request->input("word",'');
  22. $permissions = Permission::where('name','like',"%$word%")->paginate(Config::get('tipask.admin.page_size'));
  23. return view('admin.permission.index')->with('permissions',$permissions)->with('word',$word);
  24. }
  25. /**
  26. * 显示权限创建页面
  27. */
  28. public function create()
  29. {
  30. return view('admin.permission.create');
  31. }
  32. /**
  33. * 保存权限创建表单数据
  34. */
  35. public function store(Request $request)
  36. {
  37. $request->flash();
  38. $this->validateRules['slug'] = 'required|max:128|unique:permissions';
  39. $this->validate($request,$this->validateRules);
  40. Permission::create($request->only(['name', 'slug', 'model', 'description']));
  41. return $this->success(route('admin.permission.index'),'权限添加成功');
  42. }
  43. /**
  44. * 显示权限编辑页面
  45. */
  46. public function edit($id)
  47. {
  48. $permission = Permission::find($id);
  49. if(!$permission){
  50. return $this->error(route('admin.permission.index'),'权限不存在,请核实');
  51. }
  52. return view('admin.permission.edit')->with('permission',$permission);
  53. }
  54. /**
  55. * 保存编辑表单数据
  56. */
  57. public function update(Request $request, $id)
  58. {
  59. $request->flash();
  60. $permission = Permission::find($id);
  61. if(!$permission){
  62. return $this->error(route('admin.permission.index'),'权限不存在,请核实');
  63. }
  64. $this->validateRules['slug'] = 'required|max:150|unique:permissions,slug,'.$permission->id;
  65. $this->validate($request,$this->validateRules);
  66. $permission->name = $request->input('name');
  67. $permission->slug = $request->input('slug');
  68. $permission->model = $request->input('model');
  69. $permission->description = $request->input('description');
  70. $permission->save();
  71. return $this->success(route('admin.permission.index'),'权限修改成功');
  72. }
  73. /**
  74. * 删除权限
  75. */
  76. public function destroy(Request $request)
  77. {
  78. Permission::destroy($request->input('id'));
  79. return $this->success(route('admin.permission.index'),'权限删除成功');
  80. }
  81. }