From 63ef3df46bccb2695349c22f6d16b8770b82942e Mon Sep 17 00:00:00 2001 From: "chencongzhi520@gmail.com" Date: Mon, 15 Apr 2013 01:32:52 +0000 Subject: [PATCH] * finish task#1323. --- module/company/css/browse.css | 3 ++- module/company/view/browse.html.php | 3 ++- module/group/lang/resource.php | 1 + module/user/control.php | 29 ++++++++++++++++---- module/user/lang/en.php | 2 +- module/user/lang/zh-cn.php | 4 +-- module/user/model.php | 34 ++++++++++++++--------- module/user/view/edit.html.php | 11 -------- module/user/view/editgroup.html.php | 42 +++++++++++++++++++++++++++++ 9 files changed, 96 insertions(+), 33 deletions(-) create mode 100644 module/user/view/editgroup.html.php diff --git a/module/company/css/browse.css b/module/company/css/browse.css index de23909608..a5db9a6d12 100644 --- a/module/company/css/browse.css +++ b/module/company/css/browse.css @@ -1 +1,2 @@ -.icon-green-user-unlock {padding:2px 8px; background:url(theme/default/images/main/zt-icons.png) -20px -460px;} +.icon-green-user-unlock {padding:2px 8px; background:url(theme/default/images/main/zt-icons.png) -20px -460px;} +.icon-green-user-editGroup{padding:2px 8px; background:url(theme/default/images/main/zt-icons.png) -60px -460px;} diff --git a/module/company/view/browse.html.php b/module/company/view/browse.html.php index b59f461ed5..3ad9fff4da 100644 --- a/module/company/view/browse.html.php +++ b/module/company/view/browse.html.php @@ -61,7 +61,8 @@ js::set('deptID', $deptID); visits;?> id&from=company", '', 'list'); + common::printIcon('user', 'edit', "userID=$user->id&from=company", '', 'list'); + common::printIcon('user', 'editGroup', "userID=$user->account", '', 'list'); if(strpos($this->app->company->admins, ",{$this->app->user->account},") === false or $this->app->user->account != $user->account) common::printIcon('user', 'delete', "userID=$user->id", '', 'list', '', "hiddenwin"); if((strtotime(date('Y-m-d H:i:s')) - strtotime($user->locked)) < $this->config->user->lockMinutes * 60) { diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index f39f4e9ea8..986c7ea138 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -524,6 +524,7 @@ $lang->resource->user->create = 'create'; $lang->resource->user->batchCreate = 'batchCreate'; $lang->resource->user->view = 'view'; $lang->resource->user->edit = 'edit'; +$lang->resource->user->editGroup = 'editGroup'; $lang->resource->user->unlock = 'unlock'; $lang->resource->user->delete = 'delete'; $lang->resource->user->todo = 'todo'; diff --git a/module/user/control.php b/module/user/control.php index ad2e823648..b0ae18d5c7 100644 --- a/module/user/control.php +++ b/module/user/control.php @@ -347,16 +347,12 @@ class user extends control die(js::locate($this->createLink('company', 'browse'), 'parent')); } - $user = $this->user->getById($userID); - $user->group = $this->dao->select('`group`')->from(TABLE_USERGROUP)->where('account')->eq($user->account)->fetchPairs(); - $title = $this->lang->company->common . $this->lang->colon . $this->lang->user->edit; $position[] = $this->lang->user->edit; $this->view->title = $title; $this->view->position = $position; - $this->view->user = $user; + $this->view->user = $this->user->getById($userID); $this->view->depts = $this->dept->getOptionMenu(); - $this->view->groups = $this->loadModel('group')->getPairs(); $this->display(); } @@ -414,6 +410,29 @@ class user extends control } } + /** + * Edit user's group. + * + * @param string $account + * @access public + * @return void + */ + public function editGroup($account) + { + if(!empty($_POST)) + { + $this->user->updateGroup($account); + if(dao::isError()) die(js::error(dao::getError())); + die(js::locate($this->createLink('company', 'browse'), 'parent')); + } + + $this->view->title = $this->lang->company->common . $this->lang->colon . $this->lang->user->editGroup; + $this->view->position[] = $this->lang->user->editGroup; + $this->view->userGroups = $this->dao->select('`group`')->from(TABLE_USERGROUP)->where('account')->eq($account)->fetchPairs(); + $this->view->groups = $this->loadModel('group')->getList($this->app->company->id); + $this->display(); + } + /** * Unlock a user. * diff --git a/module/user/lang/en.php b/module/user/lang/en.php index 89b39eb55d..be117f1a00 100644 --- a/module/user/lang/en.php +++ b/module/user/lang/en.php @@ -48,6 +48,7 @@ $lang->user->batchCreate = "Batch add user"; $lang->user->read = "Info"; $lang->user->edit = "Edit"; $lang->user->batchEdit = "Batch Edit"; +$lang->user->editGroup = "Edit Group"; $lang->user->unlock = "Unlock"; $lang->user->update = "Upgrade"; $lang->user->delete = "Delete"; @@ -78,7 +79,6 @@ $lang->user->story = 'Story'; $lang->user->team = 'Team'; $lang->user->dynamic = 'Dynamic'; $lang->user->ajaxGetUser = 'AJAX:get users'; -$lang->user->editProfile = 'Edit profile'; $lang->user->errorDeny = "Sorry, you can't access the %s module's %s feature"; $lang->user->loginFailed = "Login failed, please check your account and password."; diff --git a/module/user/lang/zh-cn.php b/module/user/lang/zh-cn.php index d64c1efe52..846f181330 100644 --- a/module/user/lang/zh-cn.php +++ b/module/user/lang/zh-cn.php @@ -48,13 +48,14 @@ $lang->user->batchCreate = "批量添加用户"; $lang->user->read = "查看用户"; $lang->user->edit = "编辑用户"; $lang->user->batchEdit = "批量编辑"; +$lang->user->editGroup = "编辑用户分组"; $lang->user->unlock = "解锁用户"; $lang->user->update = "编辑用户"; $lang->user->delete = "删除用户"; $lang->user->browse = "浏览用户"; $lang->user->login = "用户登录"; $lang->user->userView = "人员视图"; -$lang->user->editProfile = "修改个人信息"; +$lang->user->editProfile = "修改档案"; $lang->user->editPassword = "修改密码"; $lang->user->manageContacts = '维护联系人'; $lang->user->deleteContacts = '删除联系人'; @@ -78,7 +79,6 @@ $lang->user->story = '需求'; $lang->user->team = '团队'; $lang->user->dynamic = '动态'; $lang->user->ajaxGetUser = '接口:获得用户'; -$lang->user->editProfile = '修改信息'; $lang->user->errorDeny = "抱歉,您无权访问『%s』模块的『%s』功能。请联系管理员获取权限。点击后退返回上页。"; $lang->user->loginFailed = "登录失败,请检查您的用户名或密码是否填写正确。"; diff --git a/module/user/model.php b/module/user/model.php index eeb472af40..4ebfe7c744 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -317,7 +317,7 @@ class userModel extends model $user = fixer::input('post') ->setDefault('join', '0000-00-00') ->setIF($this->post->password1 != false, 'password', md5($this->post->password1)) - ->remove('password1, password2, groups') + ->remove('password1, password2') ->specialChars('msn,qq,yahoo,gtalk,wangwang,mobile,phone,address,zipcode') ->get(); @@ -341,17 +341,6 @@ class userModel extends model if(!dao::isError()) $this->app->user->account = $this->post->account; } } - - $this->dao->delete()->from(TABLE_USERGROUP)->where('account')->eq($this->post->account)->exec(); - if($this->post->groups) - { - foreach($this->post->groups as $groupID) - { - $data->account = $this->post->account; - $data->group = $groupID; - $this->dao->insert(TABLE_USERGROUP)->data($data)->exec(); - } - } } /** @@ -405,6 +394,27 @@ class userModel extends model } } + /** + * Update user's group. + * + * @param string $account + * @access public + * @return void + */ + public function updateGroup($account) + { + $this->dao->delete()->from(TABLE_USERGROUP)->where('account')->eq($account)->exec(); + if($this->post->groups) + { + foreach($this->post->groups as $groupID) + { + $data->account = $account; + $data->group = $groupID; + $this->dao->insert(TABLE_USERGROUP)->data($data)->exec(); + } + } + } + /** * Update password * diff --git a/module/user/view/edit.html.php b/module/user/view/edit.html.php index 08bd3dd668..a209fbf3d8 100644 --- a/module/user/view/edit.html.php +++ b/module/user/view/edit.html.php @@ -27,17 +27,6 @@ user->realname;?> realname, "class='text-3'");?> - - user->group;?> - - $groupName) - { - echo html::checkbox('groups', array($groupID => $groupName), in_array($groupID, $user->group) ? $groupID : ''); - } - ?> - - user->role;?> user->roleList, $user->role, "class='select-3'");?> diff --git a/module/user/view/editgroup.html.php b/module/user/view/editgroup.html.php new file mode 100644 index 0000000000..267ade714c --- /dev/null +++ b/module/user/view/editgroup.html.php @@ -0,0 +1,42 @@ + + * @package user + * @version $Id: edit.html.php 4644 2013-04-11 07:15:43Z chencongzhi520@gmail.com $ + * @link http://www.zentao.net + */ +?> + + +
+ + + + + + + + + + + + + + + + + + + + + +
+
user->editGroup;?>
+
+
group->id;?>group->name;?>group->desc;?>
id => $group->id), in_array($group->id, $userGroups) ? $group->id : '', "class='ml-10px'");?>name;?> desc;?>
+
+