From 185f540348c82a746c4e28f8f0d776ef5219dfb7 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Tue, 6 Dec 2016 11:30:59 +0800 Subject: [PATCH] * adjust for skip task when batch close. --- module/mail/model.php | 3 ++- module/task/control.php | 38 +++++++------------------------------- module/task/model.php | 2 +- 3 files changed, 10 insertions(+), 33 deletions(-) diff --git a/module/mail/model.php b/module/mail/model.php index be6f0292b0..f9936f8426 100644 --- a/module/mail/model.php +++ b/module/mail/model.php @@ -487,6 +487,7 @@ class mailModel extends model } $toList = join(',', $toList); $ccList = join(',', $ccList); + if(empty($toList) or empty($subject)) return true; $data = new stdclass(); $data->toList = $toList; @@ -495,7 +496,7 @@ class mailModel extends model $data->body = $body; $data->addedBy = $this->app->user->account; $data->addedDate = helper::now(); - $this->dao->insert(TABLE_MAILQUEUE)->data($data)->autocheck()->batchCheck('toList,subject', 'notempty')->exec(); + $this->dao->insert(TABLE_MAILQUEUE)->data($data)->autocheck()->exec(); } /** diff --git a/module/task/control.php b/module/task/control.php index c66bb37792..e55f2dcb09 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -857,11 +857,12 @@ class task extends control * @access public * @return void */ - public function batchClose() + public function batchClose($skipTaskIdList = '') { - if($this->post->taskIDList) + if($this->post->taskIDList or $skipTaskIdList) { $taskIDList = $this->post->taskIDList; + if($skipTaskIdList) $taskIDList = $skipTaskIdList; unset($_POST['taskIDList']); unset($_POST['assignedTo']); $this->loadModel('action'); @@ -869,7 +870,7 @@ class task extends control $tasks = $this->task->getByList($taskIDList); foreach($tasks as $taskID => $task) { - if($task->status == 'wait' or $task->status == 'doing') + if(empty($skipTaskIdList) and ($task->status == 'wait' or $task->status == 'doing')) { $skipTasks[$taskID] = $taskID; continue; @@ -878,7 +879,6 @@ class task extends control if($task->status == 'closed') continue; $changes = $this->task->close($taskID); - if($changes) { $actionID = $this->action->create('task', $taskID, 'Closed', ''); @@ -886,41 +886,17 @@ class task extends control $this->task->sendmail($taskID, $actionID); } } - if(isset($skipTasks)) + if(isset($skipTasks) and empty($skipTaskIdList)) { $skipTasks = join(',', $skipTasks); - $confirmURL = $this->createLink('task', 'closeSkipTasks', "skipTasks=$skipTasks"); + $confirmURL = $this->createLink('task', 'batchClose', "skipTaskIdList=$skipTasks"); $cancelURL = $this->server->HTTP_REFERER; - die(js::confirm(sprintf($this->lang->task->error->skipClose, $skipTasks), $confirmURL, $cancelURL, 'parent', 'parent')); + die(js::confirm(sprintf($this->lang->task->error->skipClose, $skipTasks), $confirmURL, $cancelURL, 'self', 'parent')); } } die(js::reload('parent')); } - /** - * Close skip tasks. - * - * @param string $skipTasks - * @access public - * @return void - */ - public function closeSkipTasks($skipTasks = '') - { - $this->loadModel('action'); - $skipTasks = explode(',', $skipTasks); - foreach($skipTasks as $taskID) - { - $changes = $this->task->close($taskID); - if($changes) - { - $actionID = $this->action->create('task', $taskID, 'Closed', ''); - $this->action->logHistory($actionID, $changes); - $this->sendmail($taskID, $actionID); - } - } - die(js::locate($this->session->taskList, 'parent')); - } - /** * Cancel a task. * diff --git a/module/task/model.php b/module/task/model.php index 292a9d9c9f..f2b7de368c 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -712,7 +712,7 @@ class taskModel extends model */ public function close($taskID) { - $oldTask = $this->getById($taskID); + $oldTask = $this->dao->select('*')->from(TABLE_TASK)->where('id')->eq($taskID)->fetch(); $now = helper::now(); $task = fixer::input('post') ->setDefault('status', 'closed')