From aeee54b1f36bc529b6be4cec63fc5197b16aea2f Mon Sep 17 00:00:00 2001
From: Yagami <976204163@qq.com>
Date: Fri, 8 Jan 2021 13:30:50 +0800
Subject: [PATCH] * Add upgrade repo logic.
---
module/product/model.php | 2 +-
module/repo/control.php | 6 +--
module/upgrade/control.php | 31 +++++++++++-
module/upgrade/css/mergerepo.css | 17 +++++++
module/upgrade/lang/zh-cn.php | 15 +++---
module/upgrade/model.php | 32 +++++++++++++
module/upgrade/view/mergerepo.html.php | 65 ++++++++++++++++++++++++++
7 files changed, 156 insertions(+), 12 deletions(-)
create mode 100644 module/upgrade/css/mergerepo.css
create mode 100644 module/upgrade/view/mergerepo.html.php
diff --git a/module/product/model.php b/module/product/model.php
index 3f118b81df..a5fbd58b9f 100644
--- a/module/product/model.php
+++ b/module/product/model.php
@@ -334,7 +334,7 @@ class productModel extends model
->beginIF($projectID)->andWhere('t1.project')->eq($projectID)->fi()
->beginIF(strpos($status, 'noclosed') !== false)->andWhere('status')->ne('closed')->fi()
->orderBy('t2.order desc')
- ->fetchAll('id');
+ ->printsql('id');
}
/**
diff --git a/module/repo/control.php b/module/repo/control.php
index c201f38263..f71c135bd7 100644
--- a/module/repo/control.php
+++ b/module/repo/control.php
@@ -73,7 +73,7 @@ class repo extends control
$this->view->repoID = $repoID;
$this->view->orderBy = $orderBy;
$this->view->pager = $pager;
- $this->view->products = $this->loadModel('product')->getProductPairsByProject($this->projectID);
+ $this->view->products = $this->projectID ? $this->loadModel('product')->getProductPairsByProject($this->projectID) : $this->loadModel('product')->getPairs();
$this->display();
}
@@ -101,7 +101,7 @@ class repo extends control
$this->view->groups = $this->loadModel('group')->getPairs();
$this->view->users = $this->loadModel('user')->getPairs('noletter|noempty|nodeleted');
- $this->view->products = $this->loadModel('product')->getProductPairsByProject($this->projectID);
+ $this->view->products = $this->projectID ? $this->loadModel('product')->getProductPairsByProject($this->projectID) : $this->loadModel('product')->getPairs();
$this->view->title = $this->lang->repo->common . $this->lang->colon . $this->lang->repo->create;
$this->view->position[] = $this->lang->repo->create;
@@ -140,7 +140,7 @@ class repo extends control
$this->view->repoID = $repoID;
$this->view->groups = $this->loadModel('group')->getPairs();
$this->view->users = $this->loadModel('user')->getPairs('noletter|noempty|nodeleted');
- $this->view->products = $this->loadModel('product')->getProductPairsByProject($this->projectID);
+ $this->view->products = $this->projectID ? $this->loadModel('product')->getProductPairsByProject($this->projectID) : $this->loadModel('product')->getPairs();
$this->view->title = $this->lang->repo->common . $this->lang->colon . $this->lang->repo->edit;
$this->view->position[] = html::a(inlink('maintain'), $this->lang->repo->common);
diff --git a/module/upgrade/control.php b/module/upgrade/control.php
index 9782c5d3fe..e66a2a5341 100644
--- a/module/upgrade/control.php
+++ b/module/upgrade/control.php
@@ -286,9 +286,8 @@ class upgrade extends control
{
$this->upgrade->initUserView();
$this->upgrade->setDefaultPriv();
- $this->loadModel('setting')->deleteItems('owner=system&module=common§ion=global&key=upgradeStep');
$this->dao->update(TABLE_CONFIG)->set('value')->eq('0_0')->where('`key`')->eq('productProject')->exec();
- die(js::locate($this->createLink('upgrade', 'afterExec', "fromVersion=&processed=no")));
+ die(js::locate($this->createLink('upgrade', 'mergeRepo')));
}
$this->view->noMergedProductCount = $noMergedProductCount;
@@ -435,6 +434,34 @@ class upgrade extends control
$this->display();
}
+ /**
+ * Merge Repos.
+ *
+ * @access public
+ * @return void
+ */
+ public function mergeRepo()
+ {
+ if($_POST)
+ {
+ $this->upgrade->mergeRepo();
+ die(js::locate($this->createLink('upgrade', 'mergeRepo'), 'parent'));
+ }
+
+ $repos = $this->dao->select('id, name')->from(TABLE_REPO)->where('deleted')->eq(0)->andWhere('product')->eq('')->fetchPairs();
+
+ if(empty($repos))
+ {
+ $this->loadModel('setting')->deleteItems('owner=system&module=common§ion=global&key=upgradeStep');
+ die(js::locate($this->createLink('upgrade', 'afterExec', "fromVersion=&processed=no")));
+ }
+
+ $this->view->repos = $repos;
+ $this->view->products = $this->dao->select('id, name')->from(TABLE_PRODUCT)->where('deleted')->eq(0)->fetchPairs();
+ $this->view->programs = $this->dao->select('id, name')->from(TABLE_PROGRAM)->where('deleted')->eq(0)->andWhere('type')->eq('program')->fetchPairs();
+ $this->display();
+ }
+
/**
* Get the project of the program it belongs to.
*
diff --git a/module/upgrade/css/mergerepo.css b/module/upgrade/css/mergerepo.css
new file mode 100644
index 0000000000..1ec7a57597
--- /dev/null
+++ b/module/upgrade/css/mergerepo.css
@@ -0,0 +1,17 @@
+.container {margin: 0 auto;}
+
+.modal-dialog{width:100%;}
+.checkbox-primary{overflow:hidden;}
+.pgmWidth{width:48% !important;}
+#whitelistBox .checkbox-inline {display: inline-block !important; padding-left: 0px !important;}
+#whitelistBox .checkbox-inline:first-child {margin-left: 10px !important;}
+#budget {border-right:0px;}
+.divider{background:#f1f1f1 !important; width:20px !important; padding:1px !important;}
+.gray{background:#f1f1f1 !important}
+
+.side-col{padding-right: 0px}
+div.divider{vertical-align: middle;}
+
+.main-row{margin-top: 20px; padding: 20px; background: #f1f1f1}
+.main-row .side-col .nav li.active a{background: #006af1;color: #fff; border-radius: 4px}
+#source .lineGroup-body{padding: 10px}
diff --git a/module/upgrade/lang/zh-cn.php b/module/upgrade/lang/zh-cn.php
index 4f77fe9489..5b38df0902 100644
--- a/module/upgrade/lang/zh-cn.php
+++ b/module/upgrade/lang/zh-cn.php
@@ -77,12 +77,14 @@ $lang->upgrade->mergeProgramDesc = <<