From 8b5247e83cffb668570fa7e611071fd8fb82c4c3 Mon Sep 17 00:00:00 2001 From: "shiyangyangwork@yahoo.cn" Date: Fri, 18 Nov 2011 01:19:32 +0000 Subject: [PATCH] + finish the task #623. --- module/group/lang/resource.php | 25 +++++++++++++++---------- module/task/control.php | 28 ++++++++++++++++++++++++++++ module/task/js/view.js | 6 ++++++ module/task/lang/en.php | 1 + module/task/lang/zh-cn.php | 1 + module/task/view/view.html.php | 14 +++++++++++++- module/user/control.php | 17 +++++++++++++++++ module/user/lang/zh-cn.php | 1 + 8 files changed, 82 insertions(+), 11 deletions(-) create mode 100644 module/task/js/view.js diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index a1cf278a27..91e879a284 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -111,6 +111,7 @@ $lang->resource->project->ajaxGetProducts= 'ajaxGetProducts'; $lang->resource->task->create = 'create'; $lang->resource->task->batchCreate = 'batchCreate'; $lang->resource->task->edit = 'edit'; +$lang->resource->task->assignedTo = 'assign'; $lang->resource->task->start = 'start'; $lang->resource->task->finish = 'finish'; $lang->resource->task->cancel = 'cancel'; @@ -219,16 +220,17 @@ $lang->resource->group->managePriv = 'managePriv'; $lang->resource->group->manageMember = 'manageMember'; /* User. */ -$lang->resource->user->create = 'create'; -$lang->resource->user->view = 'view'; -$lang->resource->user->edit = 'edit'; -$lang->resource->user->delete = 'delete'; -$lang->resource->user->todo = 'todo'; -$lang->resource->user->task = 'task'; -$lang->resource->user->bug = 'bug'; -$lang->resource->user->project= 'project'; -$lang->resource->user->dynamic= 'dynamic'; -$lang->resource->user->profile= 'profile'; +$lang->resource->user->create = 'create'; +$lang->resource->user->view = 'view'; +$lang->resource->user->edit = 'edit'; +$lang->resource->user->delete = 'delete'; +$lang->resource->user->todo = 'todo'; +$lang->resource->user->task = 'task'; +$lang->resource->user->bug = 'bug'; +$lang->resource->user->project = 'project'; +$lang->resource->user->dynamic = 'dynamic'; +$lang->resource->user->profile = 'profile'; +$lang->resource->user->ajaxGetUser = 'ajaxGetUser'; /* Tree. */ $lang->resource->tree->browse = 'browse'; @@ -342,3 +344,6 @@ $lang->changelog['2.3'][] = 'bug-confirmBug'; $lang->changelog['2.3'][] = 'svn-diff'; $lang->changelog['2.3'][] = 'svn-cat'; $lang->changelog['2.3'][] = 'svn-apiSync'; + +$lang->changelog['2.4'][] = 'user-ajaxGetUser'; +$lang->changelog['2.4'][] = 'task-assignedTo'; diff --git a/module/task/control.php b/module/task/control.php index 65a6d38355..f4d681612b 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -193,6 +193,34 @@ class task extends control $this->display(); } + /** + * Update assignedTo of task + * + * @param int $requestID + * @access public + * @return void + */ + public function assignedTo($taskID, $assignedTo) + { + $now = helper::now(); + $this->dao->update(TABLE_TASK) + ->set('assignedTo')->eq($this->post->assignedTo) + ->set('lastEditedBy')->eq($this->app->user->account) + ->set('lastEditedDate')->eq($now) + ->where('id')->eq($taskID)->exec(); + + $actionID = $this->loadModel('action')->create('task', $taskID, 'Edited'); + $this->dao->insert(TABLE_HISTORY) + ->set('company')->eq(1) + ->set('action')->eq($actionID) + ->set('field')->eq('assignedTo') + ->set('old')->eq($assignedTo) + ->set('new')->eq($this->post->assignedTo) + ->exec(); + + die(js::locate($this->createLink('task', 'view', "taskID=$taskID"), 'parent')); + } + /** * View a task. * diff --git a/module/task/js/view.js b/module/task/js/view.js new file mode 100644 index 0000000000..15c892545f --- /dev/null +++ b/module/task/js/view.js @@ -0,0 +1,6 @@ + function assign(taskID, assignedTo) +{ + $('.assign').width(150); + $('.assign').height(40); + $('.assign').load(createLink('user', 'ajaxGetUser', 'taskID=' + taskID + '&assignedTo=' + assignedTo)); +} diff --git a/module/task/lang/en.php b/module/task/lang/en.php index 84e3447e8a..587491c4a9 100644 --- a/module/task/lang/en.php +++ b/module/task/lang/en.php @@ -48,6 +48,7 @@ $lang->task->deadlineAB = 'Deadline'; $lang->task->status = 'Status'; $lang->task->statusCustom = 'Status Order'; $lang->task->desc = 'Desc'; +$lang->task->assigne = 'Assign'; $lang->task->assignedTo = 'Assigned To'; $lang->task->assignedToAB = 'Assign'; $lang->task->assignedDate = 'Assigned Date'; diff --git a/module/task/lang/zh-cn.php b/module/task/lang/zh-cn.php index d5aec6f471..cea03d7ab5 100644 --- a/module/task/lang/zh-cn.php +++ b/module/task/lang/zh-cn.php @@ -48,6 +48,7 @@ $lang->task->deadlineAB = '截止'; $lang->task->status = '任务状态'; $lang->task->statusCustom = '状态排序'; $lang->task->desc = '任务描述'; +$lang->task->assign = '重新指派'; $lang->task->assignedTo = '指派给'; $lang->task->assignedToAB = '指派给'; $lang->task->assignedDate = '指派日期'; diff --git a/module/task/view/view.html.php b/module/task/view/view.html.php index 1d75170659..2a6efd9a12 100644 --- a/module/task/view/view.html.php +++ b/module/task/view/view.html.php @@ -86,8 +86,20 @@ task->assignedTo;?> - assignedToRealName . $lang->at . $task->assignedDate;?> + assignedToRealName . $lang->at . $task->assignedDate;?> + + + assignedTo) ? '' : $task->assignedTo; + if(common::hasPriv('task', 'assignedTo')) + { + echo html::a("javascript:assign($task->id, \"$assignedTo\")", $lang->task->assign, ''); + } + ?> + + + task->type;?> task->typeList[$task->type];?> diff --git a/module/user/control.php b/module/user/control.php index 4850db504c..cab08ddd3f 100644 --- a/module/user/control.php +++ b/module/user/control.php @@ -486,5 +486,22 @@ class user extends control $this->display(); } + /** + * Get user for ajax + * + * @param string $requestID + * @param string $assignedTo + * @access public + * @return void + */ + public function ajaxGetUser($taskID = '', $assignedTo = '') + { + $users = $this->user->getPairs('noletter, noclosed'); + $html = "
"; + $html .= html::select('assignedTo', $users, $assignedTo); + $html .= html::submitButton(); + $html .= '
'; + echo $html; + } } diff --git a/module/user/lang/zh-cn.php b/module/user/lang/zh-cn.php index 55fb6d7580..ba5fceb852 100644 --- a/module/user/lang/zh-cn.php +++ b/module/user/lang/zh-cn.php @@ -40,6 +40,7 @@ $lang->user->todo = '用户TODO'; $lang->user->story = '用户需求'; $lang->user->team = '用户团队'; $lang->user->dynamic = '用户动态'; +$lang->user->ajaxGetUser = '接口:获得用户'; $lang->user->editProfile = '修改信息'; $lang->user->errorDeny = "抱歉,您无权访问『%s』模块的『%s』功能。请联系管理员获取权限。点击后退返回上页。";