_service) $this->_service = new AdminUser(); if (!$this->_role_service) $this->_role_service = new Role(); } /** * 列表 */ function index() { $request = Request::all(); $search['keyword'] = Request::input('keyword'); $orderby = array(); if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) { $orderby[$request['sort_field']] = $request['sort_field_by']; } $list = $this->_service->search($search, $orderby); $roles = pairList($this->_getRoles(), 'id', 'name'); return view('admin.base.user.index', compact('list', 'roles')); } /** * 列表 */ function resetPwd() { $request = Request::all(); $search['keyword'] = Request::input('keyword'); $search['resetPwd'] = true; $orderby = array(); if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) { $orderby[$request['sort_field']] = $request['sort_field_by']; } $list = $this->_service->search($search, $orderby); return view('admin.base.user.resetPwd', compact('list')); } function resetPwdPass() { $ok = $this->_service->resetPwdPass(Request::get('id')); if ($ok) { $this->showMessage('操作成功'); } else { $this->showWarning('操作失败'); } } function resetPwdReject() { $ok = $this->_service->resetPwdReject(Request::get('id')); if ($ok) { $this->showMessage('操作成功'); } else { $this->showWarning('操作失败'); } } /** * 新建 */ public function create() { if (Request::method() == 'POST') { $data = Request::input('info'); if (isset($data['admin_role_id'])) $data['admin_role_id'] = implode(',', $data['admin_role_id']); if ($this->_service->create($data)) { $this->showMessage('操作成功', urldecode(Request::input('_referer'))); } else { $this->showWarning('操作失败' . $this->_service->getMsg(), urldecode(Request::input('_referer'))); } } $data = $this->_service->find(Request::input('id')); if ($this->_user['is_root']) { $roles = $this->_getRoles(); } else { $roles = $this->_getCurrentRoles(); } return view('admin.base.user.edit', compact('data', 'roles')); } /** * 更新 */ public function update() { if (Request::method() == 'POST') { $data = Request::input('info'); if (isset($data['admin_role_id'])) $data['admin_role_id'] = implode(',', $data['admin_role_id']); if ($this->_service->update(Request::input('id'), $data)) { $this->showMessage('操作成功', urldecode(Request::input('_referer'))); } else { $this->showWarning('操作失败' . $this->_service->getMsg(), urldecode(Request::input('_referer'))); } } $data = $this->_service->find(Request::input('id')); if ($this->_user['is_root']) { $roles = $this->_getRoles(); } else { $roles = $this->_getCurrentRoles(); } return view('admin.base.user.edit', compact('data', 'roles')); } public function auth() { if (Request::method() == 'POST') { $info = Request::input('info'); if (!empty($info['admin_role_id'])) { $info['admin_role_id'] = implode(',', $info['admin_role_id']); } if (!$info['id']) { $this->showWarning('数据不全', urldecode(Request::input('_referer'))); } if ($this->_service->auth($info)) { $this->showMessage('操作成功', urldecode(Request::input('_referer'))); } else { $this->showWarning('操作失败' . $this->_service->getMsg(), urldecode(Request::input('_referer'))); } } if ($this->_user['is_root']) { $roles = $this->_getRoles(); } else { $roles = $this->_getCurrentRoles(); } return view('admin.base.user.auth', compact('roles')); } public function status() { $ok = $this->_service->updateStatus(Request::get('id'), Request::get('status')); if ($ok) { $this->showMessage('操作成功'); } else { $this->showWarning('操作失败' . $this->_service->getMsg()); } } /** * 得到当前角色所拥有的角色 */ private function _getCurrentRoles() { $_node = $this->_getRoleNode(); return $this->_role_service->getChildByLevel($_node['level'])->toArray(); } /** * 获取角色权限节点(level越小权限越大) */ private function _getRoleNode() { return $this->_role_service->getLevelNode($this->_user['admin_role_id'])->toArray(); } /** * 得到所有角色 */ private function _getRoles() { return $this->_role_service->get()->toArray(); } }