Skip to content

Commit

Permalink
用户管理页面,增加为用户分配用户组的功能,简化新员工入职时,权限分配的工作量
Browse files Browse the repository at this point in the history
  • Loading branch information
mylxsw committed Mar 22, 2019
1 parent 4b1f7ea commit 2fb367d
Show file tree
Hide file tree
Showing 5 changed files with 225 additions and 119 deletions.
6 changes: 5 additions & 1 deletion app/Http/Controllers/GroupController.php
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,11 @@ public function removeUser(Request $request, $id, $user_id)

$this->alertSuccess(__('common.operation_success'));

return redirect(wzRoute('admin:groups:view', ['id' => $id, 'tab' => 'member']));
$origin = $request->input('origin', 'admin:groups:view');
$originTab = $request->input('origin_tab', 'member');
$originId = $request->input('origin_id', null);

return redirect(wzRoute($origin, ['id' => $originId ?? $id, 'tab' => $originTab]));
}

/**
Expand Down
52 changes: 47 additions & 5 deletions app/Http/Controllers/UserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

use App\Exceptions\ValidationException;
use App\Http\Controllers\Auth\UserActivateChannel;
use App\Repositories\Group;
use App\Repositories\User;
use Illuminate\Http\Request;

Expand All @@ -36,15 +37,25 @@ public function users(Request $request)
/**
* 用户信息查看
*
* @param int $id
* @param Request $request
* @param $id
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function user($id)
public function user(Request $request, $id)
{
/** @var User $user */
$user = User::where('id', $id)->firstOrFail();
$subQuery = function ($query) use ($user) {
$query->where('user_id', $user->id);
};
$groupForSelect = Group::whereDoesntHave('users', $subQuery)->get();

return view('user.user', [
'user' => User::where('id', $id)->firstOrFail(),
'op' => 'users',
'user' => $user,
'op' => 'users',
'group_for_select' => $groupForSelect,
'tab' => $request->input('tab'),
]);
}

Expand All @@ -57,9 +68,10 @@ public function user($id)
*/
public function basic(Request $request)
{
$user = \Auth::user();
return view('user.basic', [
'op' => 'basic',
'user' => \Auth::user(),
'user' => $user,
]);
}

Expand Down Expand Up @@ -245,4 +257,34 @@ public function sendActivateEmail(Request $request)

return redirect()->back();
}

/**
* 用户批量加入用户组
*
* @param Request $request
* @param $id
*
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function joinGroup(Request $request, $id)
{
$this->validate(
$request,
[
'groups' => 'required|array',
],
[
'groups.required' => '您没有选择要加入的用户组',
]
);

$groups = $request->input('groups');

$user = User::where('id', $id)->firstOrFail();
$user->groups()->attach($groups);

$this->alertSuccess(__('common.operation_success'));

return redirect(wzRoute('admin:user', ['id' => $id, 'tab' => 'user-group']));
}
}
2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ Wizard是基于Laravel开发框架开发的一款开源项目(API)文档管
* [x] 用户分组管理
* [x] 管理员管理分组
* [x] 分组基础数据结构支持
* [ ] **用户管理页面,增加为用户分配用户组的功能,简化新员工入职时,权限分配的工作量**
* [x] 用户管理页面,增加为用户分配用户组的功能,简化新员工入职时,权限分配的工作量
* [ ] **LDAP支持**
* [ ] 统计信息查看
* [x] 用户数量统计
Expand Down
Loading

0 comments on commit 2fb367d

Please sign in to comment.