Merge branch 'master' of https://github.com/easysoft/zentaopms
This commit is contained in:
@@ -247,11 +247,16 @@ function loadProductStories(productID)
|
||||
*/
|
||||
function loadProductProjects(productID)
|
||||
{
|
||||
required = $('#project_chosen').hasClass('required');
|
||||
branch = $('#branch').val();
|
||||
if(typeof(branch) == 'undefined') branch = 0;
|
||||
|
||||
link = createLink('product', 'ajaxGetProjects', 'productID=' + productID + '&projectID=' + oldProjectID + '&branch=' + branch);
|
||||
$('#projectIdBox').load(link, function(){$(this).find('select').chosen()});
|
||||
$('#projectIdBox').load(link, function()
|
||||
{
|
||||
$(this).find('select').chosen();
|
||||
if(required) $(this).addClass('required');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -28,16 +28,16 @@ tbody tr td:first-child input{display:none;}
|
||||
<?php common::printBack($browseLink, 'btn btn-secondary');?>
|
||||
<div class='divider'></div>
|
||||
<div class='page-title'>
|
||||
<span class='text' title='<?php echo $build->name;?>'>
|
||||
<span class='text' title='<?php echo $build->name;?>'>
|
||||
<?php echo html::a('javascript:void(0)', "<span class='label label-id'>{$build->id}</span> " . $build->name . " <span class='caret'></span>", '', "data-toggle='dropdown' class='btn btn-link btn-active-text'");?>
|
||||
<?php
|
||||
<?php
|
||||
echo "<ul class='dropdown-menu'>";
|
||||
foreach($buildPairs as $id => $name)
|
||||
{
|
||||
{
|
||||
echo '<li' . ($id == $build->id ? " class='active'" : '') . '>';
|
||||
echo html::a($this->createLink('build', 'view', "buildID=$id"), $name);
|
||||
echo '</li>';
|
||||
}
|
||||
}
|
||||
echo '</ul>';
|
||||
?>
|
||||
</span>
|
||||
@@ -246,7 +246,7 @@ tbody tr td:first-child input{display:none;}
|
||||
<?php echo html::submitButton($lang->build->batchUnlink, '', 'btn');?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div class='text'><?php echo sprintf($lang->build->resolvedBugs, $countBugs);?></div>
|
||||
<div class='table-statistic'><?php echo sprintf($lang->build->resolvedBugs, $countBugs);?></div>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$this->app->rawParams['type'] = 'bug';
|
||||
@@ -313,7 +313,7 @@ tbody tr td:first-child input{display:none;}
|
||||
</table>
|
||||
<div class='table-footer'>
|
||||
<?php if($countGeneratedBugs):?>
|
||||
<div class='text'><?php echo sprintf($lang->build->createdBugs, $countGeneratedBugs);?></div>
|
||||
<div class='table-statistic'><?php echo sprintf($lang->build->createdBugs, $countGeneratedBugs);?></div>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$this->app->rawParams['type'] = 'generatedBug';
|
||||
|
||||
@@ -207,6 +207,7 @@ js::set('flow', $config->global->flow);
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='table-statistic'></div>
|
||||
<?php $pager->show('right', 'pagerjs');?>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<?php include 'header.html.php';?>
|
||||
<?php js::set('confirmDelete', $lang->entry->confirmDelete);?>
|
||||
<div id='mainContent'>
|
||||
<form id='ajaxForm' class='main-table' method='post'>
|
||||
<form id='ajaxForm' class='main-table' method='post' data-ride='table'>
|
||||
<table id='entryList' class='table has-sort-head table-fix'>
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div id="mainContent" class='main-table'>
|
||||
<div id="mainContent" class='main-table' data-ride='table'>
|
||||
<?php if(empty($tasks)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p><span class="text-muted"><?php echo $lang->testtask->noTesttask;?></span></p>
|
||||
|
||||
@@ -616,7 +616,7 @@ class product extends control
|
||||
|
||||
if($number === '')
|
||||
{
|
||||
die(html::select('project', $projects, $projectID, 'class=form-control onchange=loadProjectRelated(this.value)'));
|
||||
die(html::select('project', $projects, $projectID, "class='form-control' onchange='loadProjectRelated(this.value)'"));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div class='text'><?php echo sprintf($lang->release->finishStories, $countStories);?></div>
|
||||
<div class='table-statistic'><?php echo sprintf($lang->release->finishStories, $countStories);?></div>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$this->app->rawParams['type'] = 'story';
|
||||
@@ -226,7 +226,7 @@
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php echo html::submitButton($lang->release->batchUnlink, '', 'btn');?>
|
||||
</div>
|
||||
<div class='text'><?php echo sprintf($lang->release->resolvedBugs, $countBugs);?></div>
|
||||
<div class='table-statistic'><?php echo sprintf($lang->release->resolvedBugs, $countBugs);?></div>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$this->app->rawParams['type'] = 'bug';
|
||||
@@ -317,7 +317,7 @@
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php echo html::submitButton($lang->release->batchUnlink, '', 'btn');?>
|
||||
</div>
|
||||
<div class='text'><?php echo sprintf($lang->release->createdBugs, $countLeftBugs);?></div>
|
||||
<div class='table-statistic'><?php echo sprintf($lang->release->createdBugs, $countLeftBugs);?></div>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$this->app->rawParams['type'] = 'leftBug';
|
||||
|
||||
@@ -43,7 +43,7 @@ class task extends control
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function create($projectID = 0, $storyID = '', $moduleID = 0, $taskID = 0, $todoID = 0)
|
||||
public function create($projectID = 0, $storyID = 0, $moduleID = 0, $taskID = 0, $todoID = 0)
|
||||
{
|
||||
$this->project->getLimitedProject();
|
||||
$limitedProjects = !empty($_SESSION['limitedProjects']) ? $_SESSION['limitedProjects'] : '';
|
||||
@@ -580,9 +580,9 @@ class task extends control
|
||||
|
||||
$muletipleTasks = $this->dao->select('root')->from(TABLE_TEAM)->where('type')->eq('task')->andWhere('root')->in($taskIDList)->fetchPairs();
|
||||
$tasks = $this->task->getByList($taskIDList);
|
||||
$this->loadModel('action');
|
||||
foreach($tasks as $taskID => $task)
|
||||
{
|
||||
$this->loadModel('action');
|
||||
if(in_array($taskID, $muletipleTasks) and $task->assignedTo != $this->app->user->account) continue;
|
||||
|
||||
$changes = $this->task->assign($taskID);
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
<span id='storyBox'><?php printf($lang->task->noticeLinkStory, html::a($this->createLink('project', 'linkStory', "projectID=$project->id"), $lang->project->linkStory, '_blank', 'class="text-primary"'), html::a("javascript:loadStories($project->id)", $lang->refresh, '', 'class="text-primary"'));?></span>
|
||||
<?php else:?>
|
||||
<div class='input-group'>
|
||||
<?php echo html::select('story', array($task->story => $stories[$task->story]), $task->story, "class='form-control chosen' onchange='setStoryRelated();'");?>
|
||||
<?php echo html::select('story', $stories, $task->story, "class='form-control chosen' onchange='setStoryRelated();'");?>
|
||||
<span class='input-group-btn' id='preview'><a href='#' class='btn iframe'><?php echo $lang->preview;?></a></span>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div id='mainContent' class='main-table'>
|
||||
<div id='mainContent' class='main-table' data-ride='table'>
|
||||
<?php if(empty($suites)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<?php common::printLink('testtask', 'importUnitResult', "product=$productID", "<i class='icon icon-import'></i> " . $lang->testtask->importUnitResult, '', "class='btn btn-primary'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div id='mainContent' class='main-table'>
|
||||
<div id='mainContent' class='main-table' data-ride='table'>
|
||||
<?php if(empty($tasks)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p>
|
||||
|
||||
@@ -1024,10 +1024,13 @@ class user extends control
|
||||
*/
|
||||
public function ajaxGetContactUsers($contactListID)
|
||||
{
|
||||
$list = $contactListID ? $this->user->getContactListByID($contactListID) : '';
|
||||
$list = $contactListID ? $this->user->getContactListByID($contactListID) : '';
|
||||
|
||||
$users = $this->user->getPairs('devfirst|nodeleted', $list ? $list->userList : '', $this->config->maxCount);
|
||||
if(isset($this->config->user->moreLink)) $this->config->moreLinks['mailto[]'] = $this->config->user->moreLink;
|
||||
|
||||
if(!$contactListID) return print(html::select('mailto[]', $users, '', "class='form-control chosen' multiple data-placeholder='{$this->lang->chooseUsersToMail}'"));
|
||||
|
||||
return print(html::select('mailto[]', $users, $list->userList, "class='form-control chosen' multiple data-placeholder='{$this->lang->chooseUsersToMail}'"));
|
||||
}
|
||||
|
||||
|
||||
@@ -66,6 +66,7 @@ class userModel extends model
|
||||
*
|
||||
* @param string $params noletter|noempty|nodeleted|noclosed|withguest|pofirst|devfirst|qafirst|pmfirst|realname, can be sets of theme
|
||||
* @param string $usersToAppended account1,account2
|
||||
* @param int $maxCount
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
@@ -96,6 +97,7 @@ class userModel extends model
|
||||
->orderBy($orderBy)
|
||||
->beginIF($maxCount)->limit($maxCount)->fi()
|
||||
->fetchAll('account');
|
||||
|
||||
if($maxCount and $maxCount == count($users))
|
||||
{
|
||||
if(is_array($usersToAppended)) $usersToAppended = join(',', $usersToAppended);
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<?php include 'header.html.php';?>
|
||||
<?php js::set('confirmDelete', $lang->webhook->confirmDelete);?>
|
||||
<div id='mainContent'>
|
||||
<form class='main-table' id='ajaxForm' method='post'>
|
||||
<form class='main-table' id='ajaxForm' method='post' data-ride='table'>
|
||||
<table id='webhookList' class='table has-sort-head table-fixed'>
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
+1
-1
@@ -141,7 +141,7 @@ function setMailto(mailto, contactListID)
|
||||
{
|
||||
$('#' + mailto).replaceWith(users);
|
||||
$('#' + mailto + '_chosen').remove();
|
||||
$('.picker').remove();
|
||||
$('.picker').remove();
|
||||
|
||||
if($("[data-pickertype='remote']").length == 0 && $('.picker-select').length == 0)
|
||||
{
|
||||
|
||||
+3
-3
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* ZUI: 选择器 - v1.9.2 - 2020-07-31
|
||||
* ZUI: 选择器 - v1.9.2 - 2020-08-06
|
||||
* http://openzui.com
|
||||
* GitHub: https://github.com/easysoft/zui.git
|
||||
* Copyright (c) 2020 cnezsoft.com; Licensed MIT
|
||||
|
||||
Vendored
+2
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user