diff --git a/test/class/execution.class.php b/test/class/execution.class.php index 53e16204e6..835f679a7f 100644 --- a/test/class/execution.class.php +++ b/test/class/execution.class.php @@ -721,4 +721,26 @@ class executionTest } } + public function unlinkStoryTest($executionID, $count) + { + global $tester; + $tester->dbh->query("delete from zt_projectstory where project = $executionID"); + + $this->objectModel->unlinkStory($executionID); + if(dao::isError()) + { + $error = dao::getError(); + return $error; + } + elseif($count == "1") + { + $object = $tester->dbh->query("select * from zt_projectstory where project = $executionID")->fetchAll(); + return count($object); + } + else + { + $object = $tester->dbh->query("select * from zt_projectstory where project = $executionID")->fetchAll(); + return $object; + } + } } diff --git a/test/data/kanban.yaml b/test/data/kanban.yaml new file mode 100644 index 0000000000..278b4744ef --- /dev/null +++ b/test/data/kanban.yaml @@ -0,0 +1,54 @@ +title: table zt_kanban +desc: "看板表" +author: automated export +version: "1.0" +fields: + - field: space + range: 1-50{2} + - field: name + fields: + - field: name1 + range: 通用看板 + - field: name2 + range: 1-10000 + - field: owner + range: admin + - field: team + range: "" + - field: desc + range: "看板详情" + - field: acl + range: extend,open + - field: whitelist + range: "" + - field: archived + range: "1" + - field: performable + range: "0" + - field: status + range: "active" + - field: order + range: 5-10000:5 + - field: displayCards + range: "0" + - field: fluidBoard + range: "0" + - field: object + range: "" + - field: createdBy + range: "admin" + - field: createdDate + range: "(-1M)-(+M):1D" + type: timestamp + format: "YYYY-MM-DD" + prefix: "\t" + - field: lastEditedBy + range: "" + - field: lastEditedDate + range: "" + - field: closedBy + range: "" + - field: closedDate + range: "" + - field: deleted + range: "0" diff --git a/test/data/kanbancard.yaml b/test/data/kanbancard.yaml new file mode 100644 index 0000000000..3e6be51320 --- /dev/null +++ b/test/data/kanbancard.yaml @@ -0,0 +1,72 @@ +title: table zt_kanbancard +desc: "" +author: automated export +version: "1.0" +fields: + - field: kanban + range: 1-100{8} + - field: region + range: 1-100{8} + - field: group + range: 1-100{8} + - field: fromID + range: "0" + - field: fromType + range: "" + - field: name + range: 1-1000000 + prefix: "卡片" + - field: status + range: "doing" + - field: pri + range: "3" + - field: assignedTo + range: "admin" + - field: desc + range: "" + - field: begin + range: "(-2M)-(+M):1D" + type: timestamp + format: "YY/MM/DD" + postfix: "\t" + - field: end + range: "(+1w)-(+2M):1D" + type: timestamp + format: "YY/MM/DD" + postfix: "\t" + - field: estimate + range: "0" + - field: color + range: "#fff" + - field: acl + range: "open" + - field: whitelist + range: "" + - field: order + range: 1-2 + - field: archived + range: "0" + - field: createdBy + range: "admin" + - field: createdDate + range: "(-2M)-(+M):1D" + type: timestamp + format: "YY/MM/DD" + postfix: "\t" + - field: lastEditedBy + range: "" + - field: lastEditedDate + range: "" + - field: archivedBy + range: "" + - field: archivedDate + range: "" + - field: assignedBy + range: "" + - field: assignedDate + range: "(-2M)-(+M):1D" + type: timestamp + format: "YY/MM/DD" + postfix: "\t" + - field: deleted + range: "0" diff --git a/test/data/kanbancell.yaml b/test/data/kanbancell.yaml new file mode 100644 index 0000000000..fb53137baa --- /dev/null +++ b/test/data/kanbancell.yaml @@ -0,0 +1,22 @@ +title: table zt_kanbancell +desc: "" +author: automated export +version: "1.0" +fields: + - field: kanban + range: 1-100{4} + - field: lane + range: 1-100{4} + - field: column + range: 1-400 + - field: type + range: "common" + - field: cards + fields: + - field: card1 + prefix: "," + postfix: "," + range: 1-800:2 + - field: card2 + postfix: "," + range: 2-800:2 diff --git a/test/data/kanbancellproject.yaml b/test/data/kanbancellproject.yaml new file mode 100644 index 0000000000..78265efcd9 --- /dev/null +++ b/test/data/kanbancellproject.yaml @@ -0,0 +1,17 @@ +title: table zt_kanbancell +desc: "" +author: automated export +version: "1.0" +fields: + - field: id + range: 401-10000 + - field: kanban + range: 161-190{27},251-180{27},341-370{27},431-460{27},521-550{27},611-640{27} + - field: lane + range: 1-100{4} + - field: column + range: 401-5260 + - field: type + range: story{11},bug{9},task{7} + - field: cards + range: "" diff --git a/test/data/kanbancolumn.yaml b/test/data/kanbancolumn.yaml new file mode 100644 index 0000000000..973e894b3e --- /dev/null +++ b/test/data/kanbancolumn.yaml @@ -0,0 +1,30 @@ +title: table zt_kanbancolumn +desc: "" +author: automated export +version: "1.0" +fields: + - field: lane + range: "0" + - field: parent + range: "0" + - field: type + range: 1-400 + prefix: "column" + - field: region + range: 1-100{4} + - field: group + range: 1-100{4} + - field: name + range: 未开始,进行中,已完成,已关闭 + - field: color + range: "#333" + - field: limit + range: "" + - field: order + range: 1-4 + - field: cards + range: "" + - field: archived + range: "0" + - field: deleted + range: "0" diff --git a/test/data/kanbancolumnproject.yaml b/test/data/kanbancolumnproject.yaml new file mode 100644 index 0000000000..f380021651 --- /dev/null +++ b/test/data/kanbancolumnproject.yaml @@ -0,0 +1,31 @@ +title: table zt_kanbancolumn +desc: "" +author: automated export +version: "1.0" +fields: + - field: id + range: 401-100000 + - field: lane + range: "0" + - field: parent + range: "0" + - field: type + range: [backlog,ready,develop,developing,developed,test,testing,tested,verified,released,closed,unconfirmed,confirmed,resolving,fixing,fixed,test,testing,tested,closed,wait,develop,developing,developed,pause,canceled,closed] + - field: region + range: 101-280{27} + - field: group + range: "0" + - field: name + range: Backlog,准备好,开发,进行中,完成,测试,进行中,完成,已验收,已发布,已关闭,待确认,已确认,解决中,进行中,完成,测试,测试中,测试完毕,已关闭,未开始,开发,研发中,研发完毕,已暂停,已取消,已关闭 + - field: color + range: "#333" + - field: limit + range: "" + - field: order + range: "0" + - field: cards + range: "" + - field: archived + range: "0" + - field: deleted + range: "0" diff --git a/test/data/kanbangroup.yaml b/test/data/kanbangroup.yaml new file mode 100644 index 0000000000..cfdc8fb0aa --- /dev/null +++ b/test/data/kanbangroup.yaml @@ -0,0 +1,11 @@ +title: table zt_kanbangroup +desc: "" +author: automated export +version: "1.0" +fields: + - field: kanban + range: 1-100 + - field: region + range: 1-100 + - field: order + range: 5-100000:5 diff --git a/test/data/kanbangroupproject.yaml b/test/data/kanbangroupproject.yaml new file mode 100644 index 0000000000..76b36b4d45 --- /dev/null +++ b/test/data/kanbangroupproject.yaml @@ -0,0 +1,13 @@ +title: table zt_kanbangroup +desc: "" +author: automated export +version: "1.0" +fields: + - field: id + range: 101-10000 + - field: kanban + range: 161-190,251-180,341-370,431-460,521-550,611-640 + - field: region + range: 101-10000{3} + - field: order + range: 1-3 diff --git a/test/data/kanbanlane.yaml b/test/data/kanbanlane.yaml new file mode 100644 index 0000000000..52e329671b --- /dev/null +++ b/test/data/kanbanlane.yaml @@ -0,0 +1,27 @@ +title: table zt_kanbanlane +desc: "看板泳道" +author: automated export +version: "1.0" +fields: + - field: execution + range: "0" + - field: type + range: "common" + - field: region + range: 1-100 + - field: group + range: 1-100 + - field: groupby + range: "" + - field: extra + range: "" + - field: name + range: "默认泳道" + - field: color + range: "#7ec5ff" + - field: order + range: 5-10000:5 + - field: lastEditedTime + range: "" + - field: deleted + range: "0" diff --git a/test/data/kanbanlaneproject.yaml b/test/data/kanbanlaneproject.yaml new file mode 100644 index 0000000000..14fb861c10 --- /dev/null +++ b/test/data/kanbanlaneproject.yaml @@ -0,0 +1,27 @@ +title: table zt_kanbanlane +desc: "看板泳道" +author: automated export +version: "1.0" +fields: + - field: execution + range: 161-190{3},251-180{3},341-370{3},431-460{3},521-550{3},611-640{3} + - field: type + range: story,bug,task + - field: region + range: 101-280{3} + - field: group + range: 101-640 + - field: groupby + range: "" + - field: extra + range: "" + - field: name + range: 研发需求,Bug,任务 + - field: color + range: [#7ec5ff,#333,#2b529c] + - field: order + range: 5-15:5 + - field: lastEditedTime + range: "" + - field: deleted + range: "0" diff --git a/test/data/kanbanregion.yaml b/test/data/kanbanregion.yaml new file mode 100644 index 0000000000..47c980e689 --- /dev/null +++ b/test/data/kanbanregion.yaml @@ -0,0 +1,25 @@ +title: table zt_kanbanregion +desc: "" +author: automated export +version: "1.0" +fields: + - field: space + range: 1-50{2} + - field: kanban + range: 1-100 + - field: name + range: "默认区域" + - field: order + range: 5-10000:5 + - field: createdDate + range: "(-1M)-(+M):1D" + type: timestamp + format: "YYYY-MM-DD" + - field: createdBy + range: "admin" + - field: lastEditedBy + range: "" + - field: lastEditedDate + range: "" + - field: deleted + range: "0" diff --git a/test/data/kanbanregionproject.yaml b/test/data/kanbanregionproject.yaml new file mode 100644 index 0000000000..7786857225 --- /dev/null +++ b/test/data/kanbanregionproject.yaml @@ -0,0 +1,27 @@ +title: table zt_kanbanregion +desc: "" +author: automated export +version: "1.0" +fields: + - field: id + range: 101-10000 + - field: space + range: 0 + - field: kanban + range: 161-190,251-180,341-370,431-460,521-550,611-640 + - field: name + range: "默认区域" + - field: order + range: 1 + - field: createdDate + range: "(-1M)-(+M):1D" + type: timestamp + format: "YYYY-MM-DD" + - field: createdBy + range: "admin" + - field: lastEditedBy + range: "" + - field: lastEditedDate + range: "" + - field: deleted + range: "0" diff --git a/test/data/kanbanspace.yaml b/test/data/kanbanspace.yaml new file mode 100644 index 0000000000..56881803f0 --- /dev/null +++ b/test/data/kanbanspace.yaml @@ -0,0 +1,67 @@ +title: table zt_kanbanspace +desc: "看板空间" +author: automated export +version: "1.0" +fields: + - field: id + note: "ID" + fields: + range: 1-10000 + prefix: "" + postfix: "" + format: "" + - field: type + note: "类型" + range: cooperation,private,public + prefix: "" + postfix: "" + format: "" + - field: team + note: "团队" + range: admin + prefix: "," + postfix: "" + format: "" + - field: owner + note: "所属者" + fields: + - field: account1 + range: admin{10},user{10},test{10},pm{10},po{10} + - field: account2 + range: [],3-100,1-100,1-100,1-100 + prefix: "" + postfix: "" + - field: acl + note: "权限" + range: open,private + prefix: "" + postfix: "" + - field: createdBy + note: "创建者" + range: admin + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: createdDate + note: "创建日期" + range: "(-1M)-(+M):1D" + prefix: "\t" + type: timestamp + format: "YYYY-MM-DD" + - field: lastEditedDate + note: "最后编辑日期" + range: "" + prefix: "" + postfix: "" + tampoop: 0 + - field: closedDate + note: "关闭时间" + range: "" + prefix: "" + postfix: "" + - field: deleted + note: "" + range: 0 + prefix: "" + postfix: "" diff --git a/test/data/planstory.yaml b/test/data/planstory.yaml new file mode 100644 index 0000000000..bfcbff837b --- /dev/null +++ b/test/data/planstory.yaml @@ -0,0 +1,12 @@ +title: table zt_planstory +desc: "需求计划关联表" +author: sgm +version: "1.0" +fields: + - field: plan + range: 1-360:3{4} + - field: story + range: 1-400 + - field: order + note: "排序" + range: 5-100000:5 diff --git a/test/data/productplan.yaml b/test/data/productplan.yaml index c1cd6108da..c06e154f1e 100644 --- a/test/data/productplan.yaml +++ b/test/data/productplan.yaml @@ -1,24 +1,24 @@ title: table zt_productplan desc: "产品计划" -author: sgm +author: sgm version: "1.0" fields: - field: id note: "ID" range: 1-10000 - - field: product + - field: product note: "所属产品" - range: 1-120{3} - - field: branch + range: 1-10{3} + - field: branch note: "所属分支" range: 0 - - field: parent + - field: parent note: "父计划" range: 0 - - field: title + - field: title note: "名称" range: [1.0,1.1,长名称好长好长好长好长好长好长好长好长好长好长好长好好长好长好长好长好长好好长好长好长好长好长好好长好长好长好长好长好的名字啊!@ase!!@#%@^&#!] - - field: desc + - field: desc note: "描述" range:

asdxxxfa阿萨德开机as家世界发卡机发设计费啥登记卡设计费卡加斯加附件阿峰

@@ -27,19 +27,19 @@ fields:

IUIG是DAU发加速度快哦哦阿萨德几年内发,,,奥斯丁,,,切,,,请问加十多年你

IU风格就叫阿萨德奥斯丁哦IG是DAU,,,奥斯丁,,,切,,,请问加十多年你

- - field: begin + - field: begin note: "开始日期" range: "(-10M)-(-7M):7D" type: timestamp format: "YYYY-MM-DD" - - field: end + - field: end note: "结束日期" range: "(-6M)-(+6M):7D" type: timestamp format: "YYYY-MM-DD" - - field: order + - field: order note: "排序" value: "$id * 5" - - field: deleted + - field: deleted note: "是否删除" - range: 0{359},1 + range: 0{359},1 diff --git a/test/data/project.yaml b/test/data/project.yaml index 6a2dc77588..f96d69954f 100644 --- a/test/data/project.yaml +++ b/test/data/project.yaml @@ -3,7 +3,7 @@ author: Zhu Jinyong version: "1.0" fields: - field: project - range: 0 + range: 1-10 - field: model range: scrum{30},waterfall{30},kanban{30} - field: name diff --git a/test/data/projectproduct.yaml b/test/data/projectproduct.yaml index c2cdc5717d..9d047617a5 100644 --- a/test/data/projectproduct.yaml +++ b/test/data/projectproduct.yaml @@ -9,4 +9,4 @@ fields: - field: branch range: 0 - field: plan - range: 0 + range: 1-360:3 diff --git a/test/data/zentao/config.php b/test/data/zentao/config.php index 498dec5383..e5da143fbd 100644 --- a/test/data/zentao/config.php +++ b/test/data/zentao/config.php @@ -12,6 +12,7 @@ $builder->sprint = array('rows' => 600, 'extends' => array('project', 'ex $builder->story = array('rows' => 400, 'extends' => array('story')); $builder->storymodule = array('rows' => 800, 'extends' => array('module','storymodule')); +$builder->storyplan = array('rows' => 400, 'extends' => array('planstory')); $builder->task = array('rows' => 600, 'extends' => array('task','task')); $builder->taskmore = array('rows' => 300, 'extends' => array('task','moretask')); $builder->taskspec = array('rows' => 600, 'extends' => array('taskspec')); @@ -23,10 +24,26 @@ $builder->bug = array('rows' => 300, 'extends' => array('bug')); $builder->product = array('rows' => 100, 'extends' => array('product')); $builder->productline = array('rows' => 20, 'extends' => array('module', 'productline')); -$builder->productplan = array('rows' => 360, 'extends' => array('productplan')); +$builder->productplan = array('rows' => 30, 'extends' => array('productplan')); $builder->branch = array('rows' => 240, 'extends' => array('branch')); $builder->projectproduct = array('rows' => 200, 'extends' => array('projectproduct')); +$builder->kanbanspace = array('rows' => 50, 'extends' => array('kanbanspace')); +$builder->kanban = array('rows' => 100, 'extends' => array('kanban')); +$builder->kanbanregion = array('rows' => 100, 'extends' => array('kanbanregion','kanbanregion')); +$builder->kanbangroup = array('rows' => 100, 'extends' => array('kanbangroup','kanbangroup')); +$builder->kanbanlane = array('rows' => 100, 'extends' => array('kanbanlane','kanbanlane')); +$builder->kanbancolumn = array('rows' => 400, 'extends' => array('kanbancolumn','kanbancolumn')); +$builder->kanbancard = array('rows' => 800, 'extends' => array('kanbancard','kanbancard')); +$builder->kanbancell = array('rows' => 400, 'extends' => array('kanbancell','kanbancell')); + +$builder->kanbanregionproject = array('rows' => 180, 'extends' => array('kanbanregion','kanbanregionproject')); +$builder->kanbangroupproject = array('rows' => 540, 'extends' => array('kanbangroup','kanbangroupproject')); +$builder->kanbanlaneproject = array('rows' => 540, 'extends' => array('kanbanlane','kanbanlaneproject')); +$builder->kanbancolumnproject = array('rows' => 4860, 'extends' => array('kanbancolumn','kanbancolumnproject')); +$builder->kanbancellproject = array('rows' => 4860, 'extends' => array('kanbancell','kanbancellproject')); + + $builder->team = array('rows' => 400, 'extends' => array('team')); $builder->stakeholder = array('rows' => 1, 'extends' => array('stakeholder')); $builder->stageson = array('rows' => 30, 'extends' => array('project', 'executionson')); diff --git a/test/data/zentao/processor.php b/test/data/zentao/processor.php index 66d3117c32..58d0ae0740 100644 --- a/test/data/zentao/processor.php +++ b/test/data/zentao/processor.php @@ -44,6 +44,7 @@ class Processor $this->initRelease(); $this->initStakeholder(); $this->initUserquery(); + $this->initUpdateKanban(); $this->dao->commit(); } @@ -229,4 +230,66 @@ class Processor $this->dao->query("INSERT INTO `zt_userquery` (`id`, `account`, `module`, `title`, `form`, `sql`, `shortcut`) VALUES (1, 'admin', 'task', '任务查询测试条件', 'a:60:{s:9:\"fieldname\";s:0:\"\";s:11:\"fieldstatus\";s:0:\"\";s:9:\"fielddesc\";s:0:\"\";s:15:\"fieldassignedTo\";s:0:\"\";s:8:\"fieldpri\";s:1:\"0\";s:14:\"fieldexecution\";s:0:\"\";s:11:\"fieldmodule\";s:4:\"ZERO\";s:13:\"fieldestimate\";s:0:\"\";s:9:\"fieldleft\";s:0:\"\";s:13:\"fieldconsumed\";s:0:\"\";s:9:\"fieldtype\";s:0:\"\";s:12:\"fieldfromBug\";s:0:\"\";s:17:\"fieldclosedReason\";s:0:\"\";s:13:\"fieldopenedBy\";s:0:\"\";s:15:\"fieldfinishedBy\";s:0:\"\";s:13:\"fieldclosedBy\";s:0:\"\";s:13:\"fieldcancelBy\";s:1:\"0\";s:17:\"fieldlastEditedBy\";s:0:\"\";s:11:\"fieldmailto\";s:0:\"\";s:17:\"fieldfinishedList\";s:0:\"\";s:15:\"fieldopenedDate\";s:0:\"\";s:13:\"fielddeadline\";s:0:\"\";s:15:\"fieldestStarted\";s:0:\"\";s:16:\"fieldrealStarted\";s:0:\"\";s:17:\"fieldassignedDate\";s:0:\"\";s:17:\"fieldfinishedDate\";s:0:\"\";s:15:\"fieldclosedDate\";s:0:\"\";s:17:\"fieldcanceledDate\";s:0:\"\";s:19:\"fieldlastEditedDate\";s:0:\"\";s:7:\"fieldid\";s:0:\"\";s:15:\"fieldcanceledBy\";s:0:\"\";s:6:\"andOr1\";s:3:\"AND\";s:6:\"field1\";s:4:\"name\";s:9:\"operator1\";s:7:\"include\";s:6:\"value1\";s:2:\"aa\";s:6:\"andOr2\";s:3:\"and\";s:6:\"field2\";s:2:\"id\";s:9:\"operator2\";s:1:\"=\";s:6:\"value2\";s:0:\"\";s:6:\"andOr3\";s:3:\"and\";s:6:\"field3\";s:6:\"status\";s:9:\"operator3\";s:1:\"=\";s:6:\"value3\";s:0:\"\";s:10:\"groupAndOr\";s:3:\"and\";s:6:\"andOr4\";s:3:\"AND\";s:6:\"field4\";s:4:\"desc\";s:9:\"operator4\";s:7:\"include\";s:6:\"value4\";s:0:\"\";s:6:\"andOr5\";s:3:\"and\";s:6:\"field5\";s:10:\"assignedTo\";s:9:\"operator5\";s:1:\"=\";s:6:\"value5\";s:0:\"\";s:6:\"andOr6\";s:3:\"and\";s:6:\"field6\";s:3:\"pri\";s:9:\"operator6\";s:1:\"=\";s:6:\"value6\";s:1:\"0\";s:6:\"module\";s:4:\"task\";s:9:\"actionURL\";s:77:\"/index.php?m=execution&f=task&executionID=101&status=bySearch¶m=myQueryID\";s:10:\"groupItems\";s:1:\"3\";s:8:\"formType\";s:4:\"lite\";}', '(( 1 AND `name` LIKE \'%11%\' ) AND ( 1 )) AND deleted = \'0\'', '0');"); $this->dao->query("INSERT INTO `zt_userquery` (`id`, `account`, `module`, `title`, `form`, `sql`, `shortcut`) VALUES (2, 'admin', 'executionStory', '需求查找条件', 'a:56:{s:10:\"fieldtitle\";s:0:\"\";s:13:\"fieldkeywords\";s:0:\"\";s:11:\"fieldstatus\";s:0:\"\";s:10:\"fieldstage\";s:0:\"\";s:8:\"fieldpri\";s:1:\"0\";s:12:\"fieldproduct\";s:1:\"0\";s:11:\"fieldbranch\";s:0:\"\";s:11:\"fieldmodule\";s:4:\"ZERO\";s:9:\"fieldplan\";s:0:\"\";s:13:\"fieldestimate\";s:0:\"\";s:11:\"fieldsource\";s:0:\"\";s:15:\"fieldsourceNote\";s:0:\"\";s:12:\"fieldfromBug\";s:0:\"\";s:13:\"fieldopenedBy\";s:0:\"\";s:15:\"fieldreviewedBy\";s:0:\"\";s:15:\"fieldassignedTo\";s:0:\"\";s:13:\"fieldclosedBy\";s:0:\"\";s:17:\"fieldlastEditedBy\";s:0:\"\";s:11:\"fieldmailto\";s:0:\"\";s:17:\"fieldclosedReason\";s:0:\"\";s:12:\"fieldversion\";s:0:\"\";s:15:\"fieldopenedDate\";s:0:\"\";s:17:\"fieldreviewedDate\";s:0:\"\";s:17:\"fieldassignedDate\";s:0:\"\";s:15:\"fieldclosedDate\";s:0:\"\";s:19:\"fieldlastEditedDate\";s:0:\"\";s:7:\"fieldid\";s:0:\"\";s:6:\"andOr1\";s:3:\"AND\";s:6:\"field1\";s:5:\"title\";s:9:\"operator1\";s:7:\"include\";s:6:\"value1\";s:3:\"362\";s:6:\"andOr2\";s:3:\"and\";s:6:\"field2\";s:2:\"id\";s:9:\"operator2\";s:1:\"=\";s:6:\"value2\";s:0:\"\";s:6:\"andOr3\";s:3:\"and\";s:6:\"field3\";s:8:\"keywords\";s:9:\"operator3\";s:7:\"include\";s:6:\"value3\";s:0:\"\";s:10:\"groupAndOr\";s:3:\"and\";s:6:\"andOr4\";s:3:\"AND\";s:6:\"field4\";s:5:\"stage\";s:9:\"operator4\";s:1:\"=\";s:6:\"value4\";s:0:\"\";s:6:\"andOr5\";s:3:\"and\";s:6:\"field5\";s:6:\"status\";s:9:\"operator5\";s:1:\"=\";s:6:\"value5\";s:0:\"\";s:6:\"andOr6\";s:3:\"and\";s:6:\"field6\";s:3:\"pri\";s:9:\"operator6\";s:1:\"=\";s:6:\"value6\";s:1:\"0\";s:6:\"module\";s:14:\"executionStory\";s:9:\"actionURL\";s:95:\"/index.php?m=execution&f=story&executionID=101&orderBy=pri_desc&type=bySearch&queryID=myQueryID\";s:10:\"groupItems\";s:1:\"3\";s:8:\"formType\";s:4:\"lite\";}', '(( 1 AND `title` LIKE \'%362%\' ) AND ( 1 ))', '0');"); } + + /** + * Init initUpdateKanban. + * + * @access public + * @return void + */ + private function initUpdateKanban() + { + $this->dao->query("update zt_kanbancolumn set `limit` = '-1' where id >= 1 and id <= 400"); + + $kanban = $this->dao->select('id,type,region,name,color,`limit`,`order`')->from(TABLE_KANBANCOLUMN)->where('id')->gt('400')->fetchAll(); + $group = 101; + foreach($kanban as $key => $value) + { + $id = $value->id; + + $value->limit = '-1'; + if(!isset($value->parent)) $value->parent = 0; + + if(in_array($value->type, ['develop', 'test', 'resolving'])) + { + $value->parent = '-1'; + $kanban[$key+1]->parent = $value->id; + $kanban[$key+2]->parent = $value->id; + } + + $value->group = $group; + if($value->type == 'closed') + { + $group++; + } + unset($value->id); + $this->dao->update(TABLE_KANBANCOLUMN)->data($value)->where('id')->eq($id)->exec(); + } + + $kanbancell = $this->dao->select('id,type')->from(TABLE_KANBANCELL)->where('id')->gt('400')->fetchAll(); + $kanbanlane = 101; + foreach($kanbancell as $key => $value) + { + $id = $value->id; + + $value->lane = $kanbanlane; + + if($value->type == 'story' && isset($kanbancell[$key+1]) && $kanbancell[$key+1]->type == 'bug') + { + $kanbanlane++; + } + + if($value->type == 'bug' && isset($kanbancell[$key+1]) && $kanbancell[$key+1]->type == 'task') + { + $kanbanlane++; + } + if($value->type == 'task' && isset($kanbancell[$key+1]) && $kanbancell[$key+1]->type == 'story') + { + $kanbanlane++; + } + unset($value->id); + $this->dao->update(TABLE_KANBANCELL)->data($value)->where('id')->eq($id)->exec(); + } + $this->dao->query("update zt_kanbancell set `cards` = '' where id > 400"); + } }