+ finish the task #623.
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
function assign(taskID, assignedTo)
|
||||
{
|
||||
$('.assign').width(150);
|
||||
$('.assign').height(40);
|
||||
$('.assign').load(createLink('user', 'ajaxGetUser', 'taskID=' + taskID + '&assignedTo=' + assignedTo));
|
||||
}
|
||||
@@ -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';
|
||||
|
||||
@@ -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 = '指派日期';
|
||||
|
||||
@@ -86,8 +86,20 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->task->assignedTo;?></th>
|
||||
<td><?php echo $task->assignedToRealName . $lang->at . $task->assignedDate;?>
|
||||
<td><?php echo $task->assignedToRealName . $lang->at . $task->assignedDate;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<?php
|
||||
$assignedTo = empty($task->assignedTo) ? '' : $task->assignedTo;
|
||||
if(common::hasPriv('task', 'assignedTo'))
|
||||
{
|
||||
echo html::a("javascript:assign($task->id, \"$assignedTo\")", $lang->task->assign, '');
|
||||
}
|
||||
?>
|
||||
</th>
|
||||
<td class='assign'></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->task->type;?></th>
|
||||
<td><?php echo $lang->task->typeList[$task->type];?></td>
|
||||
|
||||
@@ -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 = "<form method='post' target='hiddenwin' action='" . $this->createLink('task', 'assignedTo', "taskID=$taskID&assignedTo=$assignedTo") . "'>";
|
||||
$html .= html::select('assignedTo', $users, $assignedTo);
|
||||
$html .= html::submitButton();
|
||||
$html .= '</form>';
|
||||
echo $html;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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 = "抱歉,您无权访问『<b>%s</b>』模块的『<b>%s</b>』功能。请联系管理员获取权限。点击后退返回上页。";
|
||||
|
||||
Reference in New Issue
Block a user