diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 8edafef735..f3262ff000 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -756,6 +756,9 @@ class upgradeModel extends model case 'max3_3': $this->addReviewIssusApprovalData(); break; + case 'max4_0_beta1': + $this->initReviewEfforts(); + break; } } @@ -7969,4 +7972,31 @@ class upgradeModel extends model } return true; } + + /** + * Init review efforts. + * + * @access public + * @return void + */ + public function initReviewEfforts() + { + $nodes = $this->dao->select('t1.id,t3.id as reviewID,t3.title,t2.id as approvalID,t1.extra as consumed')->from(TABLE_APPROVALNODE)->alias('t1') + ->leftJoin(TABLE_APPROVAL)->alias('t2')->on("t1.approval=t2.id") + ->leftJoin(TABLE_REVIEW)->alias('t3')->on("t2.objectID=t3.id") + ->where('t3.deleted')->eq('0') + ->andWhere('t2.deleted')->eq('0') + ->andWhere('t2.objectType')->eq('review') + ->andWhere('t1.extra')->ne('') + ->andWhere('t1.extra')->ne(0) + ->orderBy('t1.approval,t1.id') + ->fetchAll('id'); + $this->loadModel('effort'); + foreach($nodes as $node) + { + $this->dao->delete()->from(TABLE_EFFORT)->where('objectType')->eq('review')->andWhere('objectID')->eq($node->reviewID)->exec(); + $this->effort->create('review', $node->reviewID, (int)$node->consumed, $node->title, $node->approvalID); + } + return true; + } }