Merge branch 'master' of github.com:easysoft/zentaopms
This commit is contained in:
@@ -4,3 +4,8 @@
|
||||
.confirm0 {color:gray; font-size:9px}
|
||||
.confirm1 {color:green; font-size:9px}
|
||||
.red{color:red;}
|
||||
|
||||
.assign-menu {min-width: 150px; overflow: hidden; max-height: 305px}
|
||||
.assign-menu.with-search {padding-bottom: 34px;}
|
||||
.assign-menu > .assign-search {padding: 0; position: absolute; z-index: 0; bottom: 0; left: 0; right: 0}
|
||||
.assign-menu > .assign-search .input-group-addon {position: absolute; right: 10px; top: 0; z-index: 10; background: none; border: none; color: #666}
|
||||
|
||||
@@ -3,4 +3,18 @@ $(document).ready(function()
|
||||
$('#' + browseType + 'Tab').addClass('active');
|
||||
$('#module' + moduleID).addClass('active');
|
||||
if(browseType == 'bysearch') ajaxGetSearchForm();
|
||||
|
||||
$('.assign-search').click(function(e)
|
||||
{
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}).on('keyup change paste', 'input', function()
|
||||
{
|
||||
var val = $(this).val().toLowerCase();
|
||||
$('.assign-menu > .option').each(function()
|
||||
{
|
||||
var $option = $(this);
|
||||
$option.toggleClass('hide', $option.text().toLowerCase().indexOf(val) < 0 && $option.data('key').toLowerCase().indexOf(val) < 0);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -226,24 +226,27 @@ js::set('moduleID', $moduleID);
|
||||
}
|
||||
}
|
||||
echo '</ul></li>';
|
||||
$canBatchAssignTo = common::hasPriv('bug', 'batchAssignTo');
|
||||
if($canBatchAssignTo && count($bugs))
|
||||
{
|
||||
$withSearch = count($memberPairs) > 10;
|
||||
$actionLink = $this->createLink('bug', 'batchAssignTo', "productID={$productID}&type=product");
|
||||
echo html::select('assignedTo', $memberPairs, '', 'class="hidden"');
|
||||
echo "<li class='dropdown-submenu'>";
|
||||
echo html::a('javascript::', $lang->bug->assignedTo, 'id="assignItem"');
|
||||
echo "<ul class='dropdown-menu assign-menu" . ($withSearch ? ' with-search':'') . "'>";
|
||||
foreach ($memberPairs as $key => $value)
|
||||
{
|
||||
if(empty($key)) continue;
|
||||
echo "<li class='option' data-key='$key'>" . html::a("javascript:$(\"#assignedTo\").val(\"$key\");setFormAction(\"$actionLink\")", $value, '', '') . '</li>';
|
||||
}
|
||||
if($withSearch) echo "<li class='assign-search'><div class='input-group input-group-sm'><input type='text' class='form-control' placeholder=''><span class='input-group-addon'><i class='icon-search'></i></span></div></li>";
|
||||
echo "</ul>";
|
||||
echo "</li>";
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php
|
||||
$canBatchAssignTo = common::hasPriv('bug', 'batchAssignTo');
|
||||
if(count($bugs))
|
||||
{
|
||||
if($canBatchAssignTo)
|
||||
{
|
||||
$actionLink = $this->createLink('bug', 'batchAssignTo', "productID={$productID}&type=product");
|
||||
echo "<div class='input-group w-150px'>";
|
||||
echo html::select('assignedTo', $memberPairs, '', 'class="form-control chosen"');
|
||||
echo "<span class='input-group-addon'>";
|
||||
echo html::a("javascript:setFormAction(\"$actionLink\")", $lang->bug->assignTo);
|
||||
echo '</span></div>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php endif?>
|
||||
<div class='text-right'><?php $pager->show();?></div>
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->status;?></th>
|
||||
<td><strong><?php echo $lang->bug->statusList[$bug->status];?></strong></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><strong><?php echo $lang->bug->statusList[$bug->status];?></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->activatedCount;?></th>
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
<tr class='text-center'>
|
||||
<td class='w-id text-left' id='bug'><input type='checkbox' name='bugs[]' value="<?php echo $bug->id;?>" <?php if($bug->status == 'resolved' or $bug->status == 'closed') echo "checked";?>> <?php echo sprintf('%03d', $bug->id);?></td>
|
||||
<td class='text-left nobr'><?php echo html::a($bugLink, $bug->title, '', "class='preview iframe'");?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'>><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td><?php echo ($bug->status == 'resolved' or $bug->status == 'closed') ? substr($users[$bug->resolvedBy], 2) : html::select('resolvedBy[]', $users, $this->app->user->account, "class='w-70px'");?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
<tr class='text-center'>
|
||||
<td class='w-id text-left' id='bug'><input type='checkbox' name='bugs[]' value="<?php echo $bug->id;?>" <?php if(strpos(',' . $build->bugs . ',', ',' . $bug->id . ',') !== false) echo 'checked';?>> <?php echo sprintf('%03d', $bug->id);?></td>
|
||||
<td class='text-left nobr'><?php echo html::a($bugLink, $bug->title, '', "class='preview iframe'");?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td><?php echo ($bug->status == 'resolved' or $bug->status == 'closed') ? substr($users[$bug->resolvedBy], 2) : html::select('resolvedBy[]', $users, $this->app->user->account, "class='w-70px'");?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<tr class='text-center'>
|
||||
<td><?php echo sprintf('%03d', $bug->id);?></td>
|
||||
<td class='text-left nobr'><?php echo html::a($bugLink, $bug->title, '', "class='preview'");?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo substr($bug->openedDate, 5, 11)?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
|
||||
@@ -15,6 +15,11 @@ $(function()
|
||||
return $(this).each(function()
|
||||
{
|
||||
var $this = $(this);
|
||||
if($this.offset().top + 200 > $(document.body).height())
|
||||
{
|
||||
$this.attr('data-picker-position', 'top-right');
|
||||
}
|
||||
|
||||
if($this.val() == '0000-00-00')
|
||||
{
|
||||
$this.focus(function(){if($this.val() == '0000-00-00') $this.val('')}).blur(function(){if($this.val() == '') $this.val('0000-00-00')});
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<tr class='text-center'>
|
||||
<td class='text-left'><?php echo html::a($this->createLink('project', 'task', 'project=' . $project->id), $project->name, '', "title=$project->name");?></td>
|
||||
<td><?php echo $project->end;?></td>
|
||||
<td><?php echo $lang->project->statusList[$project->status];?></td>
|
||||
<td class='project-<?php echo $project->status?>'><?php echo $lang->project->statusList[$project->status];?></td>
|
||||
<td><?php echo $project->hours->totalEstimate;?></td>
|
||||
<td><?php echo $project->hours->totalConsumed;?></td>
|
||||
<td><?php echo $project->hours->totalLeft;?></td>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<td class='nobr'><?php $task->build == 'trunk' ? print('Trunk') : print(html::a($this->createLink('build', 'view', "buildID=$task->build"), $task->buildName));?></td>
|
||||
<td><?php echo $task->begin?></td>
|
||||
<td><?php echo $task->end?></td>
|
||||
<td><?php echo $lang->testtask->statusList[$task->status];?></td>
|
||||
<td class='status-<?php echo $task->status?>'><?php echo $lang->testtask->statusList[$task->status];?></td>
|
||||
<td class='text-right'>
|
||||
<?php
|
||||
common::printIcon('testtask', 'cases', "taskID=$task->id", 'play', 'list', 'smile');
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->product->status;?></th>
|
||||
<td><?php echo $lang->product->statusList[$product->status];?></td>
|
||||
<td class='product-<?php echo $product->status?>'><?php echo $lang->product->statusList[$product->status];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->product->acl;?></th>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<td class='text-left nobr'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo $users[$bug->assignedTo];?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
@@ -93,7 +93,7 @@
|
||||
<td class='text-left nobr'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo $users[$bug->assignedTo];?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='text-center'>
|
||||
<?php
|
||||
if(common::hasPriv('productplan', 'unlinkBug'))
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
<td><?php echo $users[$story->assignedTo];?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td class='story-<?php echo $story->status?>'><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
@@ -98,7 +98,7 @@
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
<td><?php echo $users[$story->assignedTo];?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td class='story-<?php echo $story->status?>'><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
<td class='text-center'>
|
||||
<?php
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
<td><?php echo $users[$story->assignedTo];?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td class='story-<?php echo $story->status?>'><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
<td>
|
||||
<?php
|
||||
@@ -159,7 +159,7 @@
|
||||
<td class='text-left nobr'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo $users[$bug->assignedTo];?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<?php
|
||||
if(common::hasPriv('productplan', 'unlinkBug'))
|
||||
|
||||
@@ -49,7 +49,7 @@ var browseType = '<?php echo $browseType;?>';
|
||||
<td><span class='<?php echo 'severity' . zget($lang->bug->severityList, $bug->severity, $bug->severity)?>'><?php echo zget($lang->bug->severityList, $bug->severity, $bug->severity)?></span></td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->bug->priList, $bug->pri, $bug->pri)?>'><?php echo zget($lang->bug->priList, $bug->pri, $bug->pri)?></span></td>
|
||||
<td class='text-left nobr'><?php common::printLink('bug', 'view', "bugID=$bug->id", $bug->title, '', "class='preview'", true, true);?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td><?php echo html::select("pri[$bug->id]", $lang->task->priList, 3, "class='input-sm form-control'");?></td>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("assignedTo[$bug->id]", $users, zget($users, $bug->assignedTo, '', $bug->assignedTo), "class='input-sm form-control chosen'");?></td>
|
||||
<td><?php echo html::input("estimate[$bug->id]", '', 'size=4 class="input-sm form-control"');?></td>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<input type='checkbox' name='stories[]' value="<?php echo $storyID;?>" <?php if($story->stage == 'developed' or $story->status == 'closed') echo 'checked';?>> <?php echo sprintf('%03d', $story->id);?>
|
||||
</td>
|
||||
<td id='preview<?php echo $story->id;?>' class='text-left nobr'><?php echo html::a($storyLink, $story->title, '', "class='preview'");?></td>
|
||||
<td class='<?php echo $story->status;?> w-50px'><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td class='story-<?php echo $story->status;?> w-50px'><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td class='w-80px'><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
@@ -43,7 +43,7 @@
|
||||
<input type='checkbox' name='bugs[]' value="<?php echo $bug->id;?>" <?php if($bug->status == 'closed' or $bug->status == 'resolved') echo "checked"; ?>> <?php echo sprintf('%03d', $bug->id);?>
|
||||
</td>
|
||||
<td class='text-left nobr'><?php echo html::a($bugLink, $bug->title, '', "class='preview'");?></td>
|
||||
<td class='w-80px'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='w-80px bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
<tr class='text-center'>
|
||||
<td><?php echo sprintf('%03d', $bug->id);?></td>
|
||||
<td class='text-left nobr'><?php echo html::a($bugLink, $bug->title, '', "class='preview'");?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo substr($bug->openedDate, 5, 11)?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<td><?php echo $task->id;?></td>
|
||||
<td class='text-left'><?php echo html::a($this->createLink('task', 'view', "taskID=$task->id"), $task->name, '_blank');?></td>
|
||||
<td><?php echo $users[$task->assignedTo];?></td>
|
||||
<td><?php echo $lang->task->statusList[$task->status];?></td>
|
||||
<td class='task-<?php echo $task->status?>'><?php echo $lang->task->statusList[$task->status];?></td>
|
||||
<td><?php echo $task->consumed;?></td>
|
||||
<td><?php echo $task->left;?></td>
|
||||
</tr>
|
||||
@@ -54,7 +54,7 @@
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $bug->id;?></td>
|
||||
<td class='text-left'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title, '_blank');?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
<td><?php echo $lang->bug->resolutionList[$bug->resolution];?></td>
|
||||
@@ -80,7 +80,7 @@
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $case->id;?></td>
|
||||
<td class='text-left'><?php echo html::a($this->createLink('testcase', 'view', "caseID=$case->id"), $case->title, '_blank');?></td>
|
||||
<td><?php echo $lang->testcase->statusList[$case->status];?></td>
|
||||
<td class='case-<?php echo $case->status?>'><?php echo $lang->testcase->statusList[$case->status];?></td>
|
||||
<td><?php echo $users[$case->openedBy];?></td>
|
||||
<td><?php echo $users[$case->lastEditedBy];?></td>
|
||||
</tr>
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->status;?></th>
|
||||
<td><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td class='story-<?php echo $story->status?>'><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->stage;?></th>
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
body {padding-bottom: 140px !important;}
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
</td>
|
||||
<td><?php echo $lang->testcase->typeList[$case->type];?></td>
|
||||
<td><?php echo $users[$case->openedBy];?></td>
|
||||
<td><?php echo $lang->testcase->statusList[$case->status];?></td>
|
||||
<td class='case-<?php echo $case->status?>'><?php echo $lang->testcase->statusList[$case->status];?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testtask->status;?></th>
|
||||
<td><?php echo $lang->testtask->statusList[$task->status];?></td>
|
||||
<td class='task-<?php echo $task->status?>'><?php echo $lang->testtask->statusList[$task->status];?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->todo->status;?></th>
|
||||
<td><?php echo $lang->todo->statusList[$todo->status];?></td>
|
||||
<td class='todo-<?php echo $todo->status?>'><?php echo $lang->todo->statusList[$todo->status];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->todo->type;?></th>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<td><?php echo html::a($projectLink, $project->name);?></td>
|
||||
<td><?php echo $project->begin;?></td>
|
||||
<td><?php echo $project->end;?></td>
|
||||
<td><?php echo $lang->project->statusList[$project->status];?></td>
|
||||
<td class='project-<?php echo $project->status?>'><?php echo $lang->project->statusList[$project->status];?></td>
|
||||
<td><?php echo $project->role;?></td>
|
||||
<td><?php echo $project->join;?></td>
|
||||
<td><?php echo $project->hours;?></td>
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<td class='nobr'><?php $task->build == 'trunk' ? print('Trunk') : print(html::a($this->createLink('build', 'view', "buildID=$task->build"), $task->buildName));?></td>
|
||||
<td><?php echo $task->begin?></td>
|
||||
<td><?php echo $task->end?></td>
|
||||
<td><?php echo $lang->testtask->statusList[$task->status];?></td>
|
||||
<td class='task-<?php echo $task->status?>'><?php echo $lang->testtask->statusList[$task->status];?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
|
||||
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* ZUI - v1.2.0 - 2014-11-18
|
||||
* ZUI - v1.2.0 - 2014-11-25
|
||||
* http://zui.sexy
|
||||
* GitHub: https://github.com/easysoft/zui.git
|
||||
* Copyright (c) 2014 cnezsoft.com; Licensed MIT
|
||||
|
||||
@@ -443,6 +443,14 @@ body {font-size: 13px; color:#141414;padding-bottom: 40px;}
|
||||
.outer > .alert {border: none; margin: 0}
|
||||
.outer > .alert + #featurebar {border-top: 1px solid #ddd;}
|
||||
|
||||
#featurebar .nav > li > .chosen-container-single {top: -2px;}
|
||||
#featurebar .nav > li .chosen-drop {font-size: 13px}
|
||||
#featurebar .nav > li .chosen-single {height: 30px; padding: 3px 10px;}
|
||||
#featurebar .nav > li .chosen-single abbr {top: 4px;}
|
||||
#featurebar .nav > li .chosen-single div {top: -2px;}
|
||||
#featurebar .nav > li.active .chosen-single {border-color: #009900}
|
||||
#featurebar .nav > li.active > .chosen-container-single.chosen-with-drop .chosen-single {border-color: #ddd}
|
||||
|
||||
/* sub featurebar */
|
||||
.sub-featurebar {border-bottom: 1px solid #ddd; padding: 5px 10px; margin: -20px -20px 20px;}
|
||||
.sub-featurebar > .nav > li {float: left;}
|
||||
|
||||
Reference in New Issue
Block a user