diff --git a/module/block/model.php b/module/block/model.php index de9c3f02fc..b05b516e77 100644 --- a/module/block/model.php +++ b/module/block/model.php @@ -50,7 +50,7 @@ class blockModel extends model $data->params = helper::jsonEncode($data->params); $this->dao->replace(TABLE_BLOCK)->data($data)->exec(); - $this->loadModel('score')->create('block', 'set'); + if(!dao::isError()) $this->loadModel('score')->create('block', 'set'); } /** diff --git a/module/bug/model.php b/module/bug/model.php index 1104a388be..0e9fc9016c 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -201,7 +201,7 @@ class bugModel extends model $this->dao->insert(TABLE_BUG)->data($bug)->autoCheck()->batchCheck($this->config->bug->create->requiredFields, 'notempty')->exec(); $bugID = $this->dao->lastInsertID(); - $this->loadModel('score')->create('bug', 'create', $bugID); + if(!dao::isError()) $this->loadModel('score')->create('bug', 'create', $bugID); if(!empty($data->uploadImage[$i]) and !empty($file)) { $file['objectType'] = 'bug'; @@ -225,7 +225,7 @@ class bugModel extends model if(is_dir($realPath)) $classFile->removeDir($realPath); unset($_SESSION['bugImagesFile']); } - $this->loadModel('score')->create('ajax', 'batchCreate'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchCreate'); return $actions; } @@ -659,7 +659,7 @@ class bugModel extends model } } } - $this->loadModel('score')->create('ajax', 'batchEdit'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchEdit'); return $allChanges; } @@ -763,9 +763,12 @@ class bugModel extends model ->get(); $this->dao->update(TABLE_BUG)->data($bug)->where('id')->eq($bugID)->exec(); - $this->loadModel('score')->create('bug', 'confirmBug', $oldBug); - if(!dao::isError()) return common::createChanges($oldBug, $bug); + if(!dao::isError()) + { + $this->loadModel('score')->create('bug', 'confirmBug', $oldBug); + return common::createChanges($oldBug, $bug); + } } /** @@ -858,7 +861,7 @@ class bugModel extends model ->checkIF($bug->resolution == 'fixed', 'resolvedBuild','notempty') ->where('id')->eq((int)$bugID) ->exec(); - $this->loadModel('score')->create('bug', 'resolve', $oldBug); + if(!dao::isError()) $this->loadModel('score')->create('bug', 'resolve', $oldBug); /* Link bug to build and release. */ $this->linkBugToBuild($bugID, $bug->resolvedBuild); } @@ -1865,7 +1868,7 @@ class bugModel extends model $condition = "`type`='bug' and account='{$this->app->user->account}'"; $this->dao->insert(TABLE_USERTPL)->data($template)->batchCheck('title, content', 'notempty')->check('title', 'unique', $condition)->exec(); - $this->loadModel('score')->create('bug', 'saveTplModal', $this->dao->lastInsertID()); + if(!dao::isError()) $this->loadModel('score')->create('bug', 'saveTplModal', $this->dao->lastInsertID()); } /** diff --git a/module/project/control.php b/module/project/control.php index 18ee729953..ae1ff25aa7 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -1829,7 +1829,7 @@ class project extends control $this->project->unlinkStory($projectID, $storyID); } } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); die(js::locate($this->createLink('project', 'story', "projectID=$projectID"))); } diff --git a/module/project/model.php b/module/project/model.php index cf48b94c57..0397c554c2 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -291,7 +291,7 @@ class projectModel extends model $lib->main = '1'; $lib->acl = $project->acl == 'open' ? 'open' : 'private'; $this->dao->insert(TABLE_DOCLIB)->data($lib)->exec(); - $this->loadModel('score')->create('project', 'create', $projectID); + if(!dao::isError()) $this->loadModel('score')->create('project', 'create', $projectID); return $projectID; } } @@ -578,8 +578,11 @@ class projectModel extends model ->autoCheck() ->where('id')->eq((int)$projectID) ->exec(); - $this->loadModel('score')->create('project', 'close', $oldProject); - if(!dao::isError()) return common::createChanges($oldProject, $project); + if(!dao::isError()) + { + $this->loadModel('score')->create('project', 'close', $oldProject); + return common::createChanges($oldProject, $project); + } } /** diff --git a/module/search/model.php b/module/search/model.php index c494483005..971285173e 100644 --- a/module/search/model.php +++ b/module/search/model.php @@ -129,7 +129,7 @@ class searchModel extends model $formSessionName = $this->post->module . 'Form'; $this->session->set($querySessionName, $where); $this->session->set($formSessionName, $_POST); - if($scoreNum > 2) $this->loadModel('score')->create('search', 'saveQueryAdvanced'); + if($scoreNum > 2 && !dao::isError()) $this->loadModel('score')->create('search', 'saveQueryAdvanced'); } /** @@ -306,7 +306,7 @@ class searchModel extends model $featureBarConfig->value = json_encode($newConfig); $this->dao->replace(TABLE_CONFIG)->data($featureBarConfig)->exec(); } - $this->loadModel('score')->create('search', 'saveQuery', $queryID); + if(!dao::isError()) $this->loadModel('score')->create('search', 'saveQuery', $queryID); return $queryID; } return false; diff --git a/module/story/control.php b/module/story/control.php index 73146a8bd8..edc39c146c 100644 --- a/module/story/control.php +++ b/module/story/control.php @@ -726,7 +726,7 @@ class story extends control if(dao::isError()) die(js::error(dao::getError())); foreach($actions as $storyID => $actionID) $this->story->sendmail($storyID, $actionID); - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); die(js::locate($this->session->storyList, 'parent')); } @@ -795,7 +795,7 @@ class story extends control $this->story->sendmail($storyID, $actionID); } } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); die(js::locate($this->session->storyList, 'parent')); } @@ -875,7 +875,7 @@ class story extends control $this->action->logHistory($actionID, $changes); $this->story->sendmail($storyID, $actionID); } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); die(js::reload('parent')); } @@ -898,7 +898,7 @@ class story extends control $this->action->logHistory($actionID, $changes); $this->story->sendmail($storyID, $actionID); } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); die(js::reload('parent')); } @@ -921,7 +921,7 @@ class story extends control $this->action->logHistory($actionID, $changes); $this->story->sendmail($storyID, $actionID); } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); die(js::reload('parent')); } @@ -946,7 +946,7 @@ class story extends control $this->action->logHistory($actionID, $changes); $this->story->sendmail($storyID, $actionID); } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); die(js::locate($this->session->storyList, 'parent')); } @@ -969,7 +969,7 @@ class story extends control $this->story->sendmail($storyID, $actionID); } } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); die(js::locate($this->session->storyList)); } diff --git a/module/story/model.php b/module/story/model.php index ba2b8a0cd8..d2d49ff3c9 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -230,7 +230,7 @@ class storyModel extends model } } $this->setStage($storyID); - $this->loadModel('score')->create('story', 'create',$storyID); + if(!dao::isError()) $this->loadModel('score')->create('story', 'create',$storyID); return array('status' => 'created', 'id' => $storyID); } return false; @@ -345,7 +345,7 @@ class storyModel extends model $this->dao->insert(TABLE_STORYSPEC)->data($specData)->exec(); $actionID = $this->action->create('story', $storyID, 'Opened', ''); - $this->loadModel('score')->create('story', 'create',$storyID); + if(!dao::isError()) $this->loadModel('score')->create('story', 'create',$storyID); $mails[$i] = new stdclass(); $mails[$i]->storyID = $storyID; $mails[$i]->actionID = $actionID; @@ -361,7 +361,7 @@ class storyModel extends model if(is_dir($realPath)) $classFile->removeDir($realPath); unset($_SESSION['storyImagesFile']); } - $this->loadModel('score')->create('ajax', 'batchCreate'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchCreate'); return $mails; } @@ -619,7 +619,7 @@ class storyModel extends model } } } - $this->loadModel('score')->create('ajax', 'batchEdit'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchEdit'); return $allChanges; } @@ -872,7 +872,7 @@ class storyModel extends model { die(js::error('story#' . $storyID . dao::getError(true))); } - if($story->stage == 'released') $this->loadModel('score')->create('story', 'close', $storyID); + if(!dao::isError() && $story->stage == 'released') $this->loadModel('score')->create('story', 'close', $storyID); } return $allChanges; diff --git a/module/task/control.php b/module/task/control.php index 125549f2cd..6df0b6f1e4 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -473,7 +473,7 @@ class task extends control $this->action->logHistory($actionID, $changes); $this->task->sendmail($taskID, $actionID); } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); } die(js::reload('parent')); } @@ -503,7 +503,7 @@ class task extends control $this->action->logHistory($actionID, $changes); $this->task->sendmail($taskID, $actionID); } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); die(js::reload('parent')); } } @@ -972,7 +972,7 @@ class task extends control $cancelURL = $this->server->HTTP_REFERER; die(js::confirm(sprintf($this->lang->task->error->skipClose, $skipTasks), $confirmURL, $cancelURL, 'self', 'parent')); } - $this->loadModel('score')->create('ajax', 'batchOther'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchOther'); } die(js::reload('parent')); } diff --git a/module/task/model.php b/module/task/model.php index e339950407..2edf561174 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -130,7 +130,7 @@ class taskModel extends model } } - $this->loadModel('score')->create('task', 'create', $taskID); + if(!dao::isError()) $this->loadModel('score')->create('task', 'create', $taskID); $taskIdList[$assignedTo] = array('status' => 'created', 'id' => $taskID); } return $taskIdList; @@ -231,7 +231,7 @@ class taskModel extends model $taskID = $this->dao->lastInsertID(); if($story) $this->story->setStage($tasks->story[$i]); $actionID = $this->action->create('task', $taskID, 'Opened', ''); - $this->loadModel('score')->create('task', 'create', $taskID); + if(!dao::isError()) $this->loadModel('score')->create('task', 'create', $taskID); $mails[$i] = new stdclass(); $mails[$i]->taskID = $taskID; @@ -239,7 +239,7 @@ class taskModel extends model } $this->computeWorkingHours($tasks->parent[0]); - $this->loadModel('score')->create('ajax', 'batchCreate'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchCreate'); return $mails; } @@ -599,7 +599,7 @@ class taskModel extends model die(js::error('task#' . $taskID . dao::getError(true))); } } - $this->loadModel('score')->create('ajax', 'batchEdit'); + if(!dao::isError()) $this->loadModel('score')->create('ajax', 'batchEdit'); return $allChanges; } @@ -892,7 +892,7 @@ class taskModel extends model if($task->status == 'done') { $this->updateParentStatus($task->parent, 'done'); - $this->loadModel('score')->create('task', 'finish', $taskID); + if(!dao::isError()) $this->loadModel('score')->create('task', 'finish', $taskID); } $this->computeWorkingHours($task->parent); @@ -980,7 +980,7 @@ class taskModel extends model $this->computeWorkingHours($oldTask->parent); if($oldTask->story) $this->loadModel('story')->setStage($oldTask->story); - if($task->status == 'done') $this->loadModel('score')->create('task', 'finish', $taskID); + if($task->status == 'done' && !dao::isError()) $this->loadModel('score')->create('task', 'finish', $taskID); if(!dao::isError()) return common::createChanges($oldTask, $task); } @@ -1037,10 +1037,13 @@ class taskModel extends model $this->dao->update(TABLE_TASK)->set('status')->eq('closed')->where('parent')->eq($taskID)->exec(); - $this->loadModel('score')->create('task', 'close', $taskID); if($oldTask->story) $this->loadModel('story')->setStage($oldTask->story); - if(!dao::isError()) return common::createChanges($oldTask, $task); + if(!dao::isError()) + { + $this->loadModel('score')->create('task', 'close', $taskID); + return common::createChanges($oldTask, $task); + } } /** @@ -2228,6 +2231,7 @@ class taskModel extends model * * @param string $users * @param string $current + * * @access public * @return void */ @@ -2235,21 +2239,24 @@ class taskModel extends model { /* Process user */ if(!is_array($users)) $users = explode(',', trim($users, ',')); - if(!$current) return reset($users); - - $hit = false; - $next = ''; - foreach($users as $key => $account) + if(!$current || !in_array($current, $users) || array_search($current, $users) == max(array_keys($users))) { - if($hit) + return reset($users); + } + + $next = ''; + while(true) + { + if(current($users) == $current) { - $next = $account; + $next = next($users); break; } - - if($account == $current) $hit = true; + else + { + next($users); + } } - if($next == '') return reset($users); return $next; } @@ -2257,6 +2264,7 @@ class taskModel extends model * Get task's team member pairs. * * @param object $task + * * @access public * @return array */ diff --git a/module/task/view/view.html.php b/module/task/view/view.html.php index 0305027229..b063ee50e1 100644 --- a/module/task/view/view.html.php +++ b/module/task/view/view.html.php @@ -35,7 +35,7 @@ { ob_start(); echo "