소스 검색

用户管理

wzh 5 년 전
부모
커밋
a5ee9f6d1b
1개의 변경된 파일39개의 추가작업 그리고 1개의 파일을 삭제
  1. 39 1
      api/application/controllers/User.php

+ 39 - 1
api/application/controllers/User.php

@@ -155,7 +155,7 @@ class User extends Base_Controller{
 		$data['password'] = $this->input->post('password',true);
 		$email = $this->input->post('email',true);
 		$data['company'] = $this->input->post('company',true);
-		
+
 		if (!empty($phone)) $data['phone'] = $phone;
 		if (!empty($telephone)) $data['telephone'] = $telephone;
 		if (!empty($email)) $data['email'] = $email;
@@ -211,6 +211,9 @@ class User extends Base_Controller{
 			}
 			$data['password'] = md5($data['password']);
 
+			$privilegeIds = $this->input->post('privilegeIds',true);
+			$data['privilege'] = $privilegeIds;
+
 			// 验证登录账号是否存在
 			if ($this->User_model->getDataCount(array('username'=>$data['username']))) {
 				exit(json_result('0706',$this->response['0706'],array()));
@@ -245,6 +248,9 @@ class User extends Base_Controller{
                 exit(json_result('0722',$this->response['0722'],array()));
             }
 
+            $privilegeIds = $this->input->post('privilegeIds',true);
+			if ($privilegeIds !== NULL && $privilegeIds !== '') $data['privilege'] = $privilegeIds;
+
 			$this->User_model->update_user($data,$where['id']);
 
 			$userid = $where['id'];
@@ -266,5 +272,37 @@ class User extends Base_Controller{
 		exit(json_result('0000',$this->response['0000']));
 	}
 
+	// 获取用户权限列表
+	public function privilege_list(){
+		$userid = $this->input->post('id',true);
+
+		if (empty($userid)) $userid = $this->get_user_info('id');
+
+		$version = $this->session->userdata('version');
+		$userData = $this->User_model->getOne($userid,'role');
+
+		$privilege_list = $this->Privilnode_model->get_all_privilnode(SYSTEM_ADMIN);
+		// 选中用户拥有的权限
+		if (!empty($userid)) {
+			$data = $this->User_model->getOne($userid,'privilege');
+			$privilegeArr = explode(',', $data['privilege']);
+
+			foreach ($privilege_list as &$v) {
+				if (!empty($version)) {
+					$v['name'] = $v['en_name'];
+				}
+				if ($userData['role'] == SYSTEM_ADMIN || in_array($v['id'], $privilegeArr)) {
+					$v['select'] = 1;
+				}else{
+					$v['select'] = 0;
+				}
+			}
+		}
+
+		// 权限分级
+		$res = list_to_tree($privilege_list, $pk='id', $pid = 'parentid', $child = 'sub_list', $root = 0);
+		exit(json_result('0000',$this->response['0000'],array('list'=>$res)));
+	}
+
 }
 ?>