海南旅游SAAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.1 KiB

  1. <?php
  2. use Dcat\Admin\Admin;
  3. use Dcat\Admin\Grid;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid\Filter;
  6. use Dcat\Admin\Show;
  7. /**
  8. * Dcat-admin - admin builder based on Laravel.
  9. * @author jqh <https://github.com/jqhph>
  10. *
  11. * Bootstraper for Admin.
  12. *
  13. * Here you can remove builtin form field:
  14. *
  15. * extend custom field:
  16. * Dcat\Admin\Form::extend('php', PHPEditor::class);
  17. * Dcat\Admin\Grid\Column::extend('php', PHPEditor::class);
  18. * Dcat\Admin\Grid\Filter::extend('php', PHPEditor::class);
  19. *
  20. * Or require js and css assets:
  21. * Admin::css('/packages/prettydocs/css/styles.css');
  22. * Admin::js('/packages/prettydocs/js/main.js');
  23. *
  24. */
  25. app('view')->prependNamespace('admin', resource_path('views/admin'));
  26. /**
  27. * 列表初始化
  28. */
  29. Grid::resolving(function (Grid $grid) {
  30. //只查询自己的数据
  31. $grid->model()->where('supplier_id', Admin::user()->id);
  32. });
  33. /**
  34. * 过滤器初始化
  35. */
  36. Filter::resolving(function (Filter $filter) {
  37. $filter->panel();
  38. $filter->model()->where('supplier_id', Admin::user()->id);
  39. });
  40. /**
  41. * 详情初始化
  42. */
  43. Show::resolving(function (Show $show) {
  44. //不允许查看非自己的数据
  45. if ($show->model()->supplier_id != Admin::user()->id) {
  46. Admin::exit('数据不存在');
  47. }
  48. });
  49. /**
  50. * 表单初始化
  51. */
  52. Form::resolving(function (Form $form) {
  53. //不允许查看非自己的数据
  54. $form->editing(function (Form $form) {
  55. if ($form->model()->supplier_id != Admin::user()->id) {
  56. Admin::exit('数据不存在');
  57. }
  58. });
  59. //不允许提交非自己数据
  60. $form->submitted(function (Form $form) {
  61. if ($form->isEditing() && $form->model()->supplier_id != Admin::user()->id) {
  62. return $form->response()->error('数据不存在');
  63. }
  64. });
  65. //不允许编辑非自己数据
  66. $form->saving(function (Form $form) {
  67. if ($form->isEditing() && $form->model()->supplier_id != Admin::user()->id) {
  68. return $form->response()->error('数据不存在');
  69. }
  70. });
  71. //不允许删除非自己数据
  72. $form->deleting(function (Form $form) {
  73. if (array_filter($form->model()->toArray(), fn($v) => $v['supplier_id'] != Admin::user()->id)) {
  74. return $form->response()->error('数据不存在');
  75. }
  76. });
  77. });