diff --git a/module/action/lang/en.php b/module/action/lang/en.php
index 113624a031..54156ad619 100644
--- a/module/action/lang/en.php
+++ b/module/action/lang/en.php
@@ -115,7 +115,6 @@ $lang->action->label->linked2plan = 'link to plan';
$lang->action->label->unlinkedfromplan = 'unlink from plan';
$lang->action->label->linked2project = 'link to project';
$lang->action->label->unlinkedfromproject = 'unlik from project';
-$lang->action->label->marked = 'edited';
$lang->action->label->started = 'started';
$lang->action->label->recorded = 'log hour';
$lang->action->label->canceled = 'canceled';
@@ -186,7 +185,6 @@ $lang->action->search->label['linked2plan'] = $lang->action->label->link
$lang->action->search->label['unlinkedfromplan'] = $lang->action->label->unlinkedfromplan;
$lang->action->search->label['linked2project'] = $lang->action->label->linked2project;
$lang->action->search->label['unlinkedfromproject'] = $lang->action->label->unlinkedfromproject;
-$lang->action->search->label['marked'] = $lang->action->label->marked;
$lang->action->search->label['started'] = $lang->action->label->started;
$lang->action->search->label['canceled'] = $lang->action->label->canceled;
$lang->action->search->label['finished'] = $lang->action->label->finished;
diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php
index c9aa49309b..a1d58ac7d8 100644
--- a/module/action/lang/zh-cn.php
+++ b/module/action/lang/zh-cn.php
@@ -118,7 +118,6 @@ $lang->action->label->linked2plan = '关联计划';
$lang->action->label->unlinkedfromplan = '移除计划';
$lang->action->label->linked2project = '关联项目';
$lang->action->label->unlinkedfromproject = '移除项目';
-$lang->action->label->marked = '编辑了';
$lang->action->label->started = '开始了';
$lang->action->label->recorded = '记录了工时';
$lang->action->label->canceled = '取消了';
@@ -189,7 +188,6 @@ $lang->action->search->label['linked2plan'] = $lang->action->label->link
$lang->action->search->label['unlinkedfromplan'] = $lang->action->label->unlinkedfromplan;
$lang->action->search->label['linked2project'] = $lang->action->label->linked2project;
$lang->action->search->label['unlinkedfromproject'] = $lang->action->label->unlinkedfromproject;
-$lang->action->search->label['marked'] = $lang->action->label->marked;
$lang->action->search->label['started'] = $lang->action->label->started;
$lang->action->search->label['canceled'] = $lang->action->label->canceled;
$lang->action->search->label['finished'] = $lang->action->label->finished;
diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php
index f030e43ed1..70fda3ca63 100644
--- a/module/group/lang/resource.php
+++ b/module/group/lang/resource.php
@@ -97,7 +97,7 @@ $lang->resource->todo->batchEdit = 'batchEdit';
$lang->resource->todo->view = 'view';
$lang->resource->todo->delete = 'delete';
$lang->resource->todo->export = 'export';
-$lang->resource->todo->mark = 'mark';
+$lang->resource->todo->finish = 'finish';
$lang->resource->todo->import2Today = 'import2Today';
$lang->todo->methodOrder[5] = 'create';
@@ -106,7 +106,7 @@ $lang->todo->methodOrder[15] = 'edit';
$lang->todo->methodOrder[20] = 'view';
$lang->todo->methodOrder[25] = 'delete';
$lang->todo->methodOrder[30] = 'export';
-$lang->todo->methodOrder[35] = 'mark';
+$lang->todo->methodOrder[35] = 'finish';
$lang->todo->methodOrder[40] = 'import2Today';
/* Product. */
diff --git a/module/my/css/todo.css b/module/my/css/todo.css
new file mode 100644
index 0000000000..55d67caa83
--- /dev/null
+++ b/module/my/css/todo.css
@@ -0,0 +1 @@
+.icon-green-todo-finish {padding:2px 8px; background:url(/theme/default/images/main/zt-icons.png) -80px -242px;}
diff --git a/module/my/view/todo.html.php b/module/my/view/todo.html.php
index c67279c16b..04dfe94f69 100644
--- a/module/my/view/todo.html.php
+++ b/module/my/view/todo.html.php
@@ -64,7 +64,7 @@
@@ -83,9 +83,9 @@
begin;?> |
end;?> |
todo->statusList[$todo->status];?> |
-
+ |
createLink('todo', 'mark', "id=$todo->id&status=$todo->status"), $lang->todo->{'mark'.ucfirst($todo->status)}, 'hiddenwin');
+ common::printIcon('todo', 'finish', "id=$todo->id", $todo, 'list', '', 'hiddenwin');
common::printIcon('todo', 'edit', "id=$todo->id", '', 'list');
common::printIcon('todo', 'delete', "id=$todo->id", '', 'list', '', 'hiddenwin');
?>
diff --git a/module/todo/control.php b/module/todo/control.php
index f9934e7e6d..98c5ab4d98 100644
--- a/module/todo/control.php
+++ b/module/todo/control.php
@@ -267,26 +267,22 @@ class todo extends control
}
/**
- * Mark status of a todo.
+ * Finish a todo.
*
* @param int $todoID
- * @param string $status wait|doing|done
* @access public
* @return void
*/
- public function mark($todoID, $status)
+ public function finish($todoID)
{
- $this->todo->mark($todoID, $status);
+ $this->todo->finish($todoID);
$todo = $this->todo->getById($todoID);
- if($todo->status == 'done')
+ if($todo->type == 'bug' or $todo->type == 'task')
{
- if($todo->type == 'bug' or $todo->type == 'task')
- {
- $confirmNote = 'confirm' . ucfirst($todo->type);
- $confirmURL = $this->createLink($todo->type, 'view', "id=$todo->idvalue");
- $cancelURL = $this->server->HTTP_REFERER;
- die(js::confirm(sprintf($this->lang->todo->$confirmNote, $todo->idvalue), $confirmURL, $cancelURL, 'parent', 'parent'));
- }
+ $confirmNote = 'confirm' . ucfirst($todo->type);
+ $confirmURL = $this->createLink($todo->type, 'view', "id=$todo->idvalue");
+ $cancelURL = $this->server->HTTP_REFERER;
+ die(js::confirm(sprintf($this->lang->todo->$confirmNote, $todo->idvalue), $confirmURL, $cancelURL, 'parent', 'parent'));
}
die(js::reload('parent'));
}
diff --git a/module/todo/lang/en.php b/module/todo/lang/en.php
index 537e7c1383..8a3ac885c4 100644
--- a/module/todo/lang/en.php
+++ b/module/todo/lang/en.php
@@ -17,10 +17,7 @@ $lang->todo->edit = "Edit";
$lang->todo->batchEdit = "Batch edit";
$lang->todo->view = "Info";
$lang->todo->viewAB = "Info";
-$lang->todo->markDone = "Undone";
-$lang->todo->markWait = "Done";
-$lang->todo->markDoing = "Done";
-$lang->todo->mark = "Change status";
+$lang->todo->finish = "Finish";
$lang->todo->export = "Export";
$lang->todo->delete = "Delete";
$lang->todo->browse = "Browse";
@@ -79,4 +76,4 @@ $lang->todo->thisyearTodos = 'This Year';
$lang->todo->thismonthTodos = 'This Month';
$lang->todo->action = new stdclass();
-$lang->todo->action->marked = array('main' => '$date, Change status to $extra by $actor。', 'extra' => $lang->todo->statusList);
+$lang->todo->action->finished = array('main' => '$date, Finished by $actor');
diff --git a/module/todo/lang/zh-cn.php b/module/todo/lang/zh-cn.php
index 1031a0f552..644f8a4f1c 100644
--- a/module/todo/lang/zh-cn.php
+++ b/module/todo/lang/zh-cn.php
@@ -17,10 +17,7 @@ $lang->todo->edit = "更新TODO";
$lang->todo->batchEdit = "批量编辑";
$lang->todo->view = "TODO详情";
$lang->todo->viewAB = "详情";
-$lang->todo->markDone = "未完成";
-$lang->todo->markWait = "已完成";
-$lang->todo->markDoing = "已完成";
-$lang->todo->mark = "更改状态";
+$lang->todo->finish = "完成";
$lang->todo->export = "导出";
$lang->todo->delete = "删除TODO";
$lang->todo->browse = "浏览TODO";
@@ -79,4 +76,4 @@ $lang->todo->thisyearTodos = '本年';
$lang->todo->thismonthTodos = '本月';
$lang->todo->action = new stdclass();
-$lang->todo->action->marked = array('main' => '$date, 由 $actor 标记为$extra。', 'extra' => $lang->todo->statusList);
+$lang->todo->action->finished = array('main' => '$date, 由 $actor完成');
diff --git a/module/todo/model.php b/module/todo/model.php
index f50f1b4ec7..eb58fabed4 100644
--- a/module/todo/model.php
+++ b/module/todo/model.php
@@ -192,11 +192,10 @@ class todoModel extends model
* @access public
* @return void
*/
- public function mark($todoID, $status)
+ public function finish($todoID)
{
- $status = ($status == 'done') ? 'wait' : 'done';
- $this->dao->update(TABLE_TODO)->set('status')->eq($status)->where('id')->eq((int)$todoID)->exec();
- $this->loadModel('action')->create('todo', $todoID, 'marked', '', $status);
+ $this->dao->update(TABLE_TODO)->set('status')->eq('done')->where('id')->eq((int)$todoID)->exec();
+ $this->loadModel('action')->create('todo', $todoID, 'finished', '', 'done');
return;
}
@@ -318,6 +317,23 @@ class todoModel extends model
}
return $todos;
}
+
+ /**
+ * Judge an action is clickable or not.
+ *
+ * @param object $todo
+ * @param string $action
+ * @access public
+ * @return bool
+ */
+ public function isClickable($todo, $action)
+ {
+ $action = strtolower($action);
+
+ if($action == 'finish') return $todo->status != 'done';
+
+ return true;
+ }
}
|