diff --git a/config/config.php b/config/config.php index 4b1b010146..ef085c28c3 100644 --- a/config/config.php +++ b/config/config.php @@ -32,6 +32,7 @@ $config->methodVar = 'f'; // 请求类型为GET:模块 $config->viewVar = 't'; // 请求类型为GET:视图变量名。 requestType=GET: the view var name. $config->sessionVar = 'zentaosid'; // 请求类型为GET:session变量名。 requestType=GET: the session var name. $config->views = ',html,json,mhtml,xhtml,'; // 支持的视图类型。 Supported view formats. +$config->visions = ',rnd,lite,'; // 支持的界面类型。 Supported vision formats. /* 支持的主题和语言。Supported thems and languages. */ $config->themes['default'] = 'default'; diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 63706b6a74..0d9ec42780 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -319,7 +319,7 @@ $lang->exportTypeList['all'] = '全部记录'; $lang->exportTypeList['selected'] = '选中记录'; $lang->visionList = array(); -$lang->visionList['rnd'] = '研发界面'; +$lang->visionList['rnd'] = '研发综合界面'; $lang->visionList['lite'] = '迅捷界面'; $lang->createObjects['todo'] = '待办'; diff --git a/module/user/config.php b/module/user/config.php index 3a5dc35dc1..46484e1b85 100644 --- a/module/user/config.php +++ b/module/user/config.php @@ -3,8 +3,8 @@ $config->user = new stdclass(); $config->user->create = new stdclass(); $config->user->edit = new stdclass(); -$config->user->create->requiredFields = 'account,realname,password,password1,password2'; -$config->user->edit->requiredFields = 'account,realname'; +$config->user->create->requiredFields = 'account,realname,visions,password,password1,password2'; +$config->user->edit->requiredFields = 'account,realname,visions'; $config->user->availableBatchCreateFields = 'dept,email,gender,commiter,join,skype,qq,dingding,weixin,mobile,slack,whatsapp,phone,address,zipcode'; $config->user->availableBatchEditFields = 'dept,email,commiter,skype,qq,dingding,weixin,mobile,slack,whatsapp,phone,address,zipcode'; diff --git a/module/user/css/batchcreate.css b/module/user/css/batchcreate.css index 48de8a61a1..e4bef475c9 100644 --- a/module/user/css/batchcreate.css +++ b/module/user/css/batchcreate.css @@ -2,6 +2,7 @@ th.required:after {position: relative; right: 10px;} td .passwordBox {border-left-width: 0px!important;} .c-id {width: 40px;} -.c-dept {width: 150px;} +.c-dept {width: 120px;} .c-realname {width: 130px;} +.c-visions {width: 130px;} .c-role, .c-group, .c-commiter, .c-join, .c-contact {width: 120px;} diff --git a/module/user/css/batchcreate.en.css b/module/user/css/batchcreate.en.css index d08d97d18c..da15ebca46 100644 --- a/module/user/css/batchcreate.en.css +++ b/module/user/css/batchcreate.en.css @@ -1,2 +1,2 @@ -.accountThWidth {width: 200px !important;} +.accountThWidth {width: 120px !important;} .genderThWidth {width: 140px !important;} diff --git a/module/user/css/batchcreate.zh-cn.css b/module/user/css/batchcreate.zh-cn.css index 49ee4fca9a..a32a93b894 100644 --- a/module/user/css/batchcreate.zh-cn.css +++ b/module/user/css/batchcreate.zh-cn.css @@ -1,2 +1,2 @@ -.accountThWidth {width: 180px !important;} +.accountThWidth {width: 120px !important;} .genderThWidth {width: 100px !important;} diff --git a/module/user/css/batchcreate.zh-tw.css b/module/user/css/batchcreate.zh-tw.css index 49ee4fca9a..a32a93b894 100644 --- a/module/user/css/batchcreate.zh-tw.css +++ b/module/user/css/batchcreate.zh-tw.css @@ -1,2 +1,2 @@ -.accountThWidth {width: 180px !important;} +.accountThWidth {width: 120px !important;} .genderThWidth {width: 100px !important;} diff --git a/module/user/css/create.css b/module/user/css/create.css new file mode 100644 index 0000000000..0ced803993 --- /dev/null +++ b/module/user/css/create.css @@ -0,0 +1 @@ +.checkbox-primary {display:inline-block; padding-right:10px;} diff --git a/module/user/lang/zh-cn.php b/module/user/lang/zh-cn.php index 56f679f6a9..3a05d41386 100644 --- a/module/user/lang/zh-cn.php +++ b/module/user/lang/zh-cn.php @@ -42,6 +42,7 @@ $lang->user->address = '通讯地址'; $lang->user->zipcode = '邮编'; $lang->user->join = '入职日期'; $lang->user->visits = '访问次数'; +$lang->user->visions = '版本类型'; $lang->user->ip = '最后IP'; $lang->user->last = '最后登录'; $lang->user->ranzhi = 'ZDOO帐号'; diff --git a/module/user/model.php b/module/user/model.php index 2a3397ca44..001265cb1f 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -295,9 +295,11 @@ class userModel extends model ->setDefault('join', '0000-00-00') ->setDefault('type', 'inside') ->setDefault('company', 0) + ->setDefault('visions', '') ->setIF($this->post->password1 != false, 'password', substr($this->post->password1, 0, 32)) ->setIF($this->post->password1 == false, 'password', '') ->setIF($this->post->email != false, 'email', trim($this->post->email)) + ->join('visions', ',') ->remove('new, group, password1, password2, verifyPassword, passwordStrength') ->get(); @@ -385,7 +387,8 @@ class userModel extends model if($users->email[$i] and !validater::checkEmail($users->email[$i])) die(js::error(sprintf($this->lang->user->error->mail, $i + 1))); $users->password[$i] = (isset($prev['password']) and $users->ditto[$i] == 'on' and !$this->post->password[$i]) ? $prev['password'] : $this->post->password[$i]; if(!validater::checkReg($users->password[$i], '|(.){6,}|')) die(js::error(sprintf($this->lang->user->error->password, $i + 1))); - $role = $users->role[$i] == 'ditto' ? (isset($prev['role']) ? $prev['role'] : '') : $users->role[$i]; + $role = $users->role[$i] == 'ditto' ? (isset($prev['role']) ? $prev['role'] : '') : $users->role[$i]; + $visions = in_array('ditto', $users->visions[$i]) ? (isset($prev['visions']) ? $prev['visions'] : array()) : $users->visions[$i]; /* Check weak and common weak password. */ if(isset($this->config->safe->mode) and $this->computePasswordStrength($users->password[$i]) < $this->config->safe->mode) die(js::error(sprintf($this->lang->user->error->weakPassword, $i + 1))); @@ -417,6 +420,7 @@ class userModel extends model $data[$i]->phone = $users->phone[$i]; $data[$i]->address = $users->address[$i]; $data[$i]->zipcode = $users->zipcode[$i]; + $data[$i]->visions = join(',', $visions); /* Check required fields. */ foreach(explode(',', $this->config->user->create->requiredFields) as $field) @@ -447,6 +451,7 @@ class userModel extends model $prev['dept'] = $data[$i]->dept; $prev['role'] = $data[$i]->role; $prev['group'] = $data[$i]->group; + $prev['visions'] = $users->visions[$i]; $prev['password'] = $users->password[$i]; } } @@ -502,8 +507,10 @@ class userModel extends model $user = fixer::input('post') ->setDefault('join', '0000-00-00') ->setDefault('company', 0) + ->setDefault('visions', '') ->setIF($this->post->password1 != false, 'password', substr($this->post->password1, 0, 32)) ->setIF($this->post->email != false, 'email', trim($this->post->email)) + ->join('visions', ',') ->remove('new, password1, password2, groups,verifyPassword, passwordStrength') ->get(); @@ -545,6 +552,7 @@ class userModel extends model ->checkIF($this->post->mobile != '', 'mobile', 'mobile') ->where('id')->eq((int)$userID) ->exec(); + if(dao::isError()) return false; /* If account changed, update the privilege. */ if($this->post->account != $oldUser->account) @@ -647,6 +655,7 @@ class userModel extends model $users[$id]['phone'] = $data->phone[$id]; $users[$id]['address'] = $data->address[$id]; $users[$id]['zipcode'] = $data->zipcode[$id]; + $users[$id]['visions'] = !empty($data->visions[$id]) ? join(',', $data->visions[$id]) : ''; $users[$id]['dept'] = $data->dept[$id] == 'ditto' ? (isset($prev['dept']) ? $prev['dept'] : 0) : $data->dept[$id]; $users[$id]['role'] = $data->role[$id] == 'ditto' ? (isset($prev['role']) ? $prev['role'] : 0) : $data->role[$id]; @@ -2649,4 +2658,21 @@ class userModel extends model } return $userDetails; } + + /** + * Get vision list. + * + * @access public + * @return array + */ + public function getVisionList() + { + $visionList = $this->lang->visionList; + foreach($visionList as $visionKey => $visionName) + { + if(strpos($this->config->visions, ",{$visionKey},") === false) unset($visionList[$visionKey]); + } + + return $visionList; + } } diff --git a/module/user/view/batchcreate.html.php b/module/user/view/batchcreate.html.php index 819190e55a..01e30f989c 100644 --- a/module/user/view/batchcreate.html.php +++ b/module/user/view/batchcreate.html.php @@ -49,6 +49,7 @@ '> user->dept;?> user->account;?> user->realname;?> + user->visions;?> '>user->role;?> user->group;?> '>user->email;?> @@ -71,13 +72,15 @@ $lang->user->ditto)?> user->roleList = $lang->user->roleList + array('ditto' => $lang->user->ditto)?> - $lang->user->ditto)?> + $lang->user->ditto);?> + user->getVisionList() + array('ditto' => $lang->user->ditto);?> user->batchCreate; $i++):?> - + ' style='overflow:visible'> 0 ? 'ditto' : $deptID, "class='form-control chosen'");?> + 0 ? 'ditto' : '', "class='form-control chosen' multiple");?> user->roleList, $i > 0 ? 'ditto' : '', "class='form-control' onchange='changeGroup(this.value, $i)'");?> 0 ? 'ditto' : '', "class='form-control chosen'");?> > diff --git a/module/user/view/batchedit.html.php b/module/user/view/batchedit.html.php index 8801063d62..9b1b63fdae 100644 --- a/module/user/view/batchedit.html.php +++ b/module/user/view/batchedit.html.php @@ -44,10 +44,11 @@ - + + @@ -71,8 +72,8 @@ dept)) ? 0 : (empty($user->dept) ? 'ditto' : $user->dept); - $role = ($first and empty($user->role)) ? 0 : (empty($user->role) ? 'ditto' : $user->role); + $dept = ($first and empty($user->dept)) ? 0 : (empty($user->dept) ? 'ditto' : $user->dept); + $role = ($first and empty($user->role)) ? 0 : (empty($user->role) ? 'ditto' : $user->role); $type = empty($user->type) ? 'inside' : $user->type; $first = false; ?> @@ -81,6 +82,8 @@ + user->getVisionList();?> + diff --git a/module/user/view/create.html.php b/module/user/view/create.html.php index 4ee12f6187..9052bb44a0 100644 --- a/module/user/view/create.html.php +++ b/module/user/view/create.html.php @@ -60,6 +60,11 @@ + + + user->getVisionList();?> + + diff --git a/module/user/view/edit.html.php b/module/user/view/edit.html.php index 53f5804648..b4e375f80e 100644 --- a/module/user/view/edit.html.php +++ b/module/user/view/edit.html.php @@ -81,6 +81,9 @@ + + user->getVisionList();?> +
idAB;?>idAB;?> '> user->dept;?> user->account;?> user->realname;?>user->visions;?> user->role;?> user->type;?> '>user->commiter;?> ' style='overflow:visible'>id]", $depts, $dept, "class='form-control chosen'");?> id]", $user->account, "class='form-control'");?> id]", $user->realname, "class='form-control'");?>id][]", $visionList, $user->visions, "class='form-control chosen' multiple");?> id]", $lang->user->roleList, $role, "class='form-control'");?> id]", $lang->user->typeList, $type, "class='form-control'");?> '>id]", $user->commiter, "class='form-control'");?>user->password2;?>
user->visions;?>
user->realname;?>
user->commiter;?> commiter, "class='form-control'");?>user->visions;?>visions, "class='form-control chosen' multiple");?>