Merge branch 'cyy_25543' into 'master'

* Fix bug #25543.

See merge request easycorp/zentaopms!4621
This commit is contained in:
王怡栋
2022-07-21 03:04:05 +00:00
7 changed files with 39 additions and 33 deletions
+9 -9
View File
@@ -218,36 +218,36 @@ class mr extends control
/**
* Delete a MR.
*
* @param int $id
* @param int $MRID
* @access public
* @return void
*/
public function delete($id, $confirm = 'no')
public function delete($MRID, $confirm = 'no')
{
if($confirm != 'yes') return print(js::confirm($this->lang->mr->confirmDelete, inlink('delete', "id=$id&confirm=yes")));
if($confirm != 'yes') return print(js::confirm($this->lang->mr->confirmDelete, inlink('delete', "MRID=$MRID&confirm=yes")));
$MR = $this->mr->getByID($id);
$MR = $this->mr->getByID($MRID);
if($MR->synced)
{
$res = $this->mr->apiDeleteMR($MR->hostID, $MR->targetProject, $MR->mriid);
if(isset($res->message)) return print(js::alert($this->mr->convertApiError($res->message)));
}
$this->dao->delete()->from(TABLE_MR)->where('id')->eq($id)->exec();
$this->dao->delete()->from(TABLE_MR)->where('id')->eq($MRID)->exec();
echo js::reload('parent');
echo js::locate(inlink('browse'), 'parent');
}
/**
* View a MR.
*
* @param int $id
* @param int $MRID
* @access public
* @return void
*/
public function view($id)
public function view($MRID)
{
$MR = $this->mr->getByID($id);
$MR = $this->mr->getByID($MRID);
if(!$MR) return print(js::error($this->lang->notFound) . js::locate($this->createLink('mr', 'browse')));
if(isset($MR->hostID)) $rawMR = $this->mr->apiGetSingleMR($MR->hostID, $MR->targetProject, $MR->mriid);
if($MR->synced and (!isset($rawMR->id) or (isset($rawMR->message) and $rawMR->message == '404 Not found') or empty($rawMR))) return $this->display();
+8 -2
View File
@@ -890,8 +890,14 @@ class mrModel extends model
}
else
{
$url = sprintf($this->loadModel('gitea')->getApiRoot($hostID), "/repos/$projectID/pulls/$MRID");
return json_decode(commonModel::http($url, array('state' => 'closed'), array(), array(), 'json', 'PATCH'));
$rowMR = $this->apiGetSingleMR($hostID, $projectID, $MRID);
if($rowMR->state == 'opened')
{
$url = sprintf($this->loadModel('gitea')->getApiRoot($hostID), "/repos/$projectID/pulls/$MRID");
return json_decode(commonModel::http($url, array('state' => 'closed'), array(), array(), 'json', 'PATCH'));
}
return null;
}
}
+1 -1
View File
@@ -18,7 +18,7 @@
<div class='main-header'>
<span class='label label-id'><?php echo $MR->id; ?></span>
<h2>
<?php echo isonlybody() ? ("<span title='$MR->title'>" . $MR->title . ' - ' . zget($lang->mr->approvalResultList, $action) . '</span>') : html::a($this->createLink('mr', 'view', 'MR=' . $MR->id), $MR->title); ?>
<?php echo isonlybody() ? ("<span title='$MR->title'>" . $MR->title . ' - ' . zget($lang->mr->approvalResultList, $action) . '</span>') : html::a($this->createLink('mr', 'view', 'MRID=' . $MR->id), $MR->title); ?>
<?php if(!isonlybody()): ?>
<small><?php echo $lang->arrow . $lang->mr->approval; ?></small>
<?php endif; ?>
+5 -5
View File
@@ -98,11 +98,11 @@
{
$canEdit = (isset($projects[$MR->hostID][$MR->sourceProject]->allow_merge_commits) and $projects[$MR->hostID][$MR->sourceProject]->allow_merge_commits == true) ? '' : 'disabled';
}
common::printLink('mr', 'view', "mr={$MR->id}", '<i class="icon icon-eye"></i>', '', "title='{$lang->mr->view}' class='btn btn-info'");
common::printIcon('mr', 'edit', "mr={$MR->id}", $MR, 'list', '', '', '', false, "{$canEdit}");
common::printLink('mr', 'diff', "mr={$MR->id}", '<i class="icon icon-diff"></i>', '', "title='{$lang->mr->viewDiff}' class='btn btn-info'");
common::printLink('mr', 'link', "mr={$MR->id}", '<i class="icon icon-link"></i>', '', "title='{$lang->mr->link}' class='btn btn-info'" . ($MR->linkButton == false ? 'disabled' : ''));
common::printLink('mr', 'delete', "mr={$MR->id}", '<i class="icon icon-trash"></i>', 'hiddenwin', "title='{$lang->mr->delete}' class='btn btn-info {$canDelete}'");
common::printLink('mr', 'view', "MRID={$MR->id}", '<i class="icon icon-eye"></i>', '', "title='{$lang->mr->view}' class='btn btn-info'");
common::printIcon('mr', 'edit', "MRID={$MR->id}", $MR, 'list', '', '', '', false, "{$canEdit}");
common::printLink('mr', 'diff', "MRID={$MR->id}", '<i class="icon icon-diff"></i>', '', "title='{$lang->mr->viewDiff}' class='btn btn-info'");
common::printLink('mr', 'link', "MRID={$MR->id}", '<i class="icon icon-link"></i>', '', "title='{$lang->mr->link}' class='btn btn-info'" . ($MR->linkButton == false ? 'disabled' : ''));
common::printLink('mr', 'delete', "MRID={$MR->id}", '<i class="icon icon-trash"></i>', 'hiddenwin', "title='{$lang->mr->delete}' class='btn btn-info {$canDelete}'");
?>
</td>
</tr>
+4 -4
View File
@@ -24,11 +24,11 @@
<div id='mainContent' class='main-content'>
<div class='tabs' id='tabsNav'>
<ul class='nav nav-tabs'>
<li><?php echo html::a(inlink('view', "mr={$MR->id}"), $lang->mr->view);?></li>
<li><?php echo html::a(inlink('view', "MRID={$MR->id}"), $lang->mr->view);?></li>
<li class='active'><?php echo html::a('#', $lang->mr->viewDiff);?></li>
<li><?php echo html::a(inlink('link', "mr={$MR->id}&type=story"), html::icon($lang->icons['story'], 'text-primary') . ' ' . $lang->productplan->linkedStories);?></a></li>
<li><?php echo html::a(inlink('link', "mr={$MR->id}&type=bug"), html::icon($lang->icons['bug'], 'text-red') . ' ' . $lang->productplan->linkedBugs);?></a></li>
<li><?php echo html::a(inlink('link', "mr={$MR->id}&type=task"), html::icon('todo', 'text-info') . ' ' . $lang->mr->linkedTasks);?></a></li>
<li><?php echo html::a(inlink('link', "MRID={$MR->id}&type=story"), html::icon($lang->icons['story'], 'text-primary') . ' ' . $lang->productplan->linkedStories);?></a></li>
<li><?php echo html::a(inlink('link', "MRID={$MR->id}&type=bug"), html::icon($lang->icons['bug'], 'text-red') . ' ' . $lang->productplan->linkedBugs);?></a></li>
<li><?php echo html::a(inlink('link', "MRID={$MR->id}&type=task"), html::icon('todo', 'text-info') . ' ' . $lang->mr->linkedTasks);?></a></li>
</ul>
<div class='tab-content'>
<?php include '../../common/view/form.html.php';?>
+2 -2
View File
@@ -37,8 +37,8 @@
<div id='mainContent' class='main-content'>
<div class='tabs' id='tabsNav'>
<ul class='nav nav-tabs'>
<li><?php echo html::a(inlink('view', "mr={$MR->id}"), $lang->mr->view);?></li>
<li><?php echo html::a(inlink('diff', "mr={$MR->id}"), $lang->mr->viewDiff);?></li>
<li><?php echo html::a(inlink('view', "MRID={$MR->id}"), $lang->mr->view);?></li>
<li><?php echo html::a(inlink('diff', "MRID={$MR->id}"), $lang->mr->viewDiff);?></li>
<li class='<?php if($type == 'story') echo 'active'?>'><a href='#stories' data-toggle='tab'><?php echo html::icon($lang->icons['story'], 'text-primary') . ' ' . $lang->productplan->linkedStories;?></a></li>
<li class='<?php if($type == 'bug') echo 'active'?>'><a href='#bugs' data-toggle='tab'><?php echo html::icon($lang->icons['bug'], 'text-red') . ' ' . $lang->productplan->linkedBugs;?></a></li>
<li class='<?php if($type == 'task') echo 'active'?>'><a href='#tasks' data-toggle='tab'><?php echo html::icon('todo', 'text-info') . ' ' . $lang->mr->linkedTasks;?></a></li>
+10 -10
View File
@@ -41,10 +41,10 @@
<div class='tabs' id='tabsNav'>
<ul class='nav nav-tabs'>
<li class='active'><?php echo html::a('###', $lang->mr->view);?></li>
<li><?php echo html::a(inlink('diff', "mr={$MR->id}"), $lang->mr->viewDiff);?></li>
<li><?php echo html::a(inlink('link', "mr={$MR->id}&type=story"), html::icon($lang->icons['story'], 'text-primary') . ' ' . $lang->productplan->linkedStories);?></a></li>
<li><?php echo html::a(inlink('link', "mr={$MR->id}&type=bug"), html::icon($lang->icons['bug'], 'text-red') . ' ' . $lang->productplan->linkedBugs);?></a></li>
<li><?php echo html::a(inlink('link', "mr={$MR->id}&type=task"), html::icon('todo', 'text-info') . ' ' . $lang->mr->linkedTasks);?></a></li>
<li><?php echo html::a(inlink('diff', "MRID={$MR->id}"), $lang->mr->viewDiff);?></li>
<li><?php echo html::a(inlink('link', "MRID={$MR->id}&type=story"), html::icon($lang->icons['story'], 'text-primary') . ' ' . $lang->productplan->linkedStories);?></a></li>
<li><?php echo html::a(inlink('link', "MRID={$MR->id}&type=bug"), html::icon($lang->icons['bug'], 'text-red') . ' ' . $lang->productplan->linkedBugs);?></a></li>
<li><?php echo html::a(inlink('link', "MRID={$MR->id}&type=task"), html::icon('todo', 'text-info') . ' ' . $lang->mr->linkedTasks);?></a></li>
</ul>
<div class='tab-content main-row'>
<div class="main-col col-8">
@@ -112,16 +112,16 @@
<?php if($MR->synced and $rawMR->state == 'opened' and !$rawMR->has_conflicts) common::printIcon('mr', 'accept', "mr=$MR->id", $MR, 'button', 'flow', 'hiddenwin', 'mergeButton btn', false, $acceptDisabled, $lang->mr->acceptMR);?>
<?php if($MR->synced and $rawMR->state == 'opened'): ?>
<?php if($rawMR->has_conflicts or (!empty($compile->id) and $compile->status != 'success') or $MR->approvalStatus == 'approved'):?>
<?php common::printIcon('mr', 'approval', "mr=$MR->id&action=approve", $MR, 'button', 'ok', 'hiddenwin', 'mergeButton', true, 'disabled', $lang->mr->approve);?>
<?php common::printIcon('mr', 'approval', "MRID=$MR->id&action=approve", $MR, 'button', 'ok', 'hiddenwin', 'mergeButton', true, 'disabled', $lang->mr->approve);?>
<?php else:?>
<?php common::printIcon('mr', 'approval', "mr=$MR->id&action=approve", $MR, 'button', 'ok', 'hiddenwin', 'mergeButton btn iframe showinonlybody', true, '', $lang->mr->approve);?>
<?php common::printIcon('mr', 'approval', "MRID=$MR->id&action=approve", $MR, 'button', 'ok', 'hiddenwin', 'mergeButton btn iframe showinonlybody', true, '', $lang->mr->approve);?>
<?php endif;?>
<?php common::printIcon('mr', 'approval', "mr=$MR->id&action=reject", $MR, 'button', 'bug', 'hiddenwin', 'mergeButton btn iframe showinonlybody', true, ($MR->approvalStatus == 'rejected' ? 'disabled' : ''), $lang->mr->reject);?>
<?php common::printIcon('mr', 'close', "mr=$MR->id", $MR, 'button', 'off', 'hiddenwin', 'mergeButton');?>
<?php common::printIcon('mr', 'edit', "mr=$MR->id", $MR, 'button', 'edit');?>
<?php common::printIcon('mr', 'approval', "MRID=$MR->id&action=reject", $MR, 'button', 'bug', 'hiddenwin', 'mergeButton btn iframe showinonlybody', true, ($MR->approvalStatus == 'rejected' ? 'disabled' : ''), $lang->mr->reject);?>
<?php common::printIcon('mr', 'close', "MRID=$MR->id", $MR, 'button', 'off', 'hiddenwin', 'mergeButton');?>
<?php common::printIcon('mr', 'edit', "MRID=$MR->id", $MR, 'button', 'edit');?>
<?php endif;?>
<?php if($MR->synced and $rawMR->state == 'closed') common::printIcon('mr', 'reopen', "mr=$MR->id", $MR, 'button', 'restart', 'hiddenwin', 'mergeButton'); ?>
<?php if($projectOwner) common::printIcon('mr', 'delete', "mr=$MR->id", $MR, 'button', 'trash', 'hiddenwin');?>
<?php if($projectOwner) common::printIcon('mr', 'delete', "MRID=$MR->id", $MR, 'button', 'trash', 'hiddenwin');?>
</div>
</div>
</div>