paginate(50); return view('maintenance.userWorkGroup.index',['userWorkGroups'=>$UserWorkGroups]); } public function create() { if(!Gate::allows('工作组-录入')){ return redirect(url('/')); } return view('maintenance.userWorkGroup.create'); } public function store(Request $request) { if(!Gate::allows('工作组-录入')){ return redirect(url('/')); } $id=false; $this->validatorUserWorkGroup($request,$id)->validate(); $UserWorkGroup=new UserWorkGroup($request->input()); $UserWorkGroup->save(); $this->storeAuthority($UserWorkGroup['name'],$UserWorkGroup->id); $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']); return redirect('maintenance/userWorkGroup')->with('successTip','新工作组“'.$request->input('name').'”添加成功'); } private function storeAuthority($name,$id){ Authority::create([ "name"=>$name, "alias_name"=>$name, "type"=>"工作组", "relevance"=>$id, ]); } public function edit($id) { if(!Gate::allows('工作组-编辑')){ return redirect(url('/')); } $userWorkGroup=UserWorkGroup::find($id); return view('maintenance.userWorkGroup.edit',['userWorkGroup'=>$userWorkGroup]); } public function update(Request $request, $id) { if(!Gate::allows('工作组-编辑')){ return redirect(url('/')); } $this->validatorUserWorkGroup($request,$id)->validate(); $data=$request->input(); $userWorkGroup=UserWorkGroup::find($id); if ($data['name']!=$userWorkGroup->name){ $authority=Authority::where("name",$userWorkGroup->name)->first(); if ($authority){ $authority->name=$data['name']; $authority->alias_name=$data['name']; $authority->update(); } if (!$authority){ $this->storeAuthority($data['name'],$id); } $userWorkGroup->fill($data); $userWorkGroup->save(); $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']); } return redirect('maintenance/userWorkGroup')->with('successTip','工作组“'.$request->input('name').'”修改成功'); } public function destroy($id) { if(!Gate::allows('工作组-删除')){ return redirect(url('/')); } $UserWorkGroup=UserWorkGroup::find($id); $this->log(__METHOD__,__FUNCTION__,json_encode($UserWorkGroup),Auth::user()['id']); $result=$UserWorkGroup->delete(); return ['success'=>$result]; } protected function validatorUserWorkGroup(Request $request,$id){ if ($id){$name=$id;} $validator=Validator::make($request->input(),[ 'name'=>['required','max:10',isset($name)?"unique:user_workgroups,name,$name":'unique:user_workgroups,name'], ],[ 'required'=>':attribute 为必填项', 'max'=>':attribute 过长', 'unique'=>':attribute 已存在', ],[ 'name'=>'工作组名称', ]); return $validator; } }