diff --git a/module/file/model.php b/module/file/model.php index 9fe5e57900..08523e554a 100755 --- a/module/file/model.php +++ b/module/file/model.php @@ -44,7 +44,7 @@ class fileModel extends model { $files = $this->dao->select('*')->from(TABLE_FILE) ->where('objectType')->eq($objectType) - ->andWhere('objectID')->eq((int)$objectID) + ->andWhere('objectID')->in($objectID) ->andWhere('extra')->ne('editor') ->beginIF($extra)->andWhere('extra')->eq($extra) ->andWhere('deleted')->eq('0') diff --git a/module/projectrelease/control.php b/module/projectrelease/control.php index 936f704b05..3c4b980d65 100644 --- a/module/projectrelease/control.php +++ b/module/projectrelease/control.php @@ -82,19 +82,20 @@ class projectrelease extends control $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); + $releases = $this->projectrelease->getList($projectID, $type, $orderBy, $pager); + $productIdList = array(); + foreach($releases as $release) $productIdList[$release->product] = $release->product; + $this->view->title = $objectName . $this->lang->colon . $this->lang->release->browse; - $this->view->position[] = $this->lang->release->browse; $this->view->execution = $execution; $this->view->project = $project; $this->view->products = $this->loadModel('product')->getProducts($projectID); - $this->view->releases = $this->projectrelease->getList($projectID, $type, $orderBy, $pager); + $this->view->releases = $releases; + $this->view->builds = $this->loadModel('build')->getBuildPairs($productIdList, 'all', 'notrunk,withbranch', $projectID, 'project'); $this->view->projectID = $projectID; $this->view->executionID = $executionID; $this->view->type = $type; $this->view->from = $this->app->tab; - $this->view->recTotal = $recTotal; - $this->view->recPerPage = $recPerPage; - $this->view->pageID = $pageID; $this->view->pager = $pager; $this->display(); } diff --git a/module/projectrelease/css/browse.css b/module/projectrelease/css/browse.css index fb0a3a0c39..8f2f032ebf 100644 --- a/module/projectrelease/css/browse.css +++ b/module/projectrelease/css/browse.css @@ -1,5 +1,7 @@ #releaseList {font-size: 13px;} +#releaseList tr:hover {background-color:unset;} td {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;} -.c-build {width: 100px;} +.c-build {width: 250px;} +td.c-build {padding-left:8px !important;} .c-product, .c-execution {width: 120px;} diff --git a/module/projectrelease/model.php b/module/projectrelease/model.php index 1493ef5f0b..29ef014a2e 100644 --- a/module/projectrelease/model.php +++ b/module/projectrelease/model.php @@ -23,10 +23,9 @@ class projectreleaseModel extends model */ public function getByID($releaseID, $setImgSize = false) { - $release = $this->dao->select('t1.*, t2.id as buildID, t2.filePath, t2.scmPath, t2.name as buildName, t2.execution, t3.name as productName, t3.type as productType') + $release = $this->dao->select('t1.*, t2.name as productName, t2.type as productType') ->from(TABLE_RELEASE)->alias('t1') - ->leftJoin(TABLE_BUILD)->alias('t2')->on('t1.build = t2.id') - ->leftJoin(TABLE_PRODUCT)->alias('t3')->on('t1.product = t3.id') + ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product = t2.id') ->where('t1.id')->eq((int)$releaseID) ->orderBy('t1.id DESC') ->fetch(); @@ -34,8 +33,9 @@ class projectreleaseModel extends model $this->loadModel('file'); $release = $this->file->replaceImgURL($release, 'desc'); - $release->files = $this->file->getByObject('release', $releaseID); - if(empty($release->files))$release->files = $this->file->getByObject('build', $release->buildID); + $release->files = $this->file->getByObject('release', $releaseID); + $release->buildInfos = $this->dao->select('id,project,product,name,scmPath,filePath')->from(TABLE_BUILD)->where('id')->in($release->build)->fetchAll('id'); + if(empty($release->files))$release->files = $this->file->getByObject('build', $release->build); if($setImgSize) $release->desc = $this->file->setImgSize($release->desc); return $release; } @@ -51,15 +51,12 @@ class projectreleaseModel extends model */ public function getList($projectID, $type = 'all', $orderBy = 't1.date_desc', $pager = null) { - return $this->dao->select('t1.*, t2.name as productName, t3.id as buildID, t3.name as buildName, t3.execution, t4.name as executionName') - ->from(TABLE_RELEASE)->alias('t1') + return $this->dao->select('t1.*, t2.name as productName')->from(TABLE_RELEASE)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product = t2.id') - ->leftJoin(TABLE_BUILD)->alias('t3')->on('t1.build = t3.id') - ->leftJoin(TABLE_EXECUTION)->alias('t4')->on('t3.execution = t4.id') - ->where('t1.project')->eq((int)$projectID) + ->where('t1.deleted')->eq(0) + ->andWhere("FIND_IN_SET($projectID, t1.project)") ->beginIF($type != 'all' && $type != 'review')->andWhere('t1.status')->eq($type)->fi() ->beginIF($type == 'review')->andWhere("FIND_IN_SET('{$this->app->user->account}', t1.reviewers)")->fi() - ->andWhere('t1.deleted')->eq(0) ->orderBy($orderBy) ->page($pager) ->fetchAll(); diff --git a/module/projectrelease/view/browse.html.php b/module/projectrelease/view/browse.html.php index 399a5f543a..9764482095 100644 --- a/module/projectrelease/view/browse.html.php +++ b/module/projectrelease/view/browse.html.php @@ -44,7 +44,7 @@
-| release->id;?> | @@ -52,7 +52,6 @@ hasProduct):?>release->product;?> | -executionCommon;?> | release->build;?> | release->status;?> | release->date;?> | @@ -65,28 +64,40 @@|||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id"), sprintf('%03d', $release->id));?> | -+ | >id"), sprintf('%03d', $release->id));?> | +>
marker ? " |
hasProduct):?>
- productName?> | +title='productName?>'>productName?> | -executionName?> | - hasProduct and !$project->multiple) ? 'data-app=project' : '';?> -execution) ? $release->buildName : html::a($this->createLink('build', 'view', "buildID=$release->buildID"), $release->buildName, '', "$dataApp");?> | +createLink('build', 'view', "buildID=$buildID"), $buildName, '', "data-app='project'");?> | processStatus('release', $release);?> -+ | class='c-status text-center' title=''> | -date;?> | - " . $this->loadModel('flow')->getFieldValue($extendField, $release) . "";?> -projectrelease->buildOperateMenu($release, 'browse');?> | +class='text-center'>date;?> | + " . $this->loadModel('flow')->getFieldValue($extendField, $release) . "";?> +class='c-actions'>projectrelease->buildOperateMenu($release, 'browse');?> |
| createLink('build', 'view', "buildID=$buildID"), $buildName, '', "data-app='project'");?> | +