From 89951d540073cbc30e3a6efe540f404d831e0125 Mon Sep 17 00:00:00 2001 From: "chencongzhi520@gmail.com" Date: Mon, 21 Jan 2013 02:43:08 +0000 Subject: [PATCH] * finish task#1072. --- module/action/lang/en.php | 2 -- module/action/lang/zh-cn.php | 2 -- module/group/lang/resource.php | 4 ++-- module/my/css/todo.css | 1 + module/my/view/todo.html.php | 6 +++--- module/todo/control.php | 20 ++++++++------------ module/todo/lang/en.php | 7 ++----- module/todo/lang/zh-cn.php | 7 ++----- module/todo/model.php | 24 ++++++++++++++++++++---- 9 files changed, 38 insertions(+), 35 deletions(-) create mode 100644 module/my/css/todo.css 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 @@ todo->beginAB);?> todo->endAB);?> todo->status);?> - actions;?> + actions;?> @@ -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; + } }