This commit is contained in:
daitingting
2018-05-16 10:39:41 +08:00
13 changed files with 368 additions and 359 deletions
+6 -10
View File
@@ -52,7 +52,7 @@
<th class='w-60px'> <?php echo $lang->productplan->hour;?></th>
<th class='w-60px'> <?php echo $lang->productplan->project;?></th>
<th> <?php echo $lang->productplan->desc;?></th>
<th class='c-actions-3'><?php echo $lang->actions;?></th>
<th class='c-actions-4'><?php echo $lang->actions;?></th>
</tr>
</thead>
<tbody>
@@ -79,20 +79,16 @@
<td class='text-center'><?php if(!empty($plan->projectID)) echo html::a(helper::createLink('project', 'task', 'projectID=' . $plan->projectID), '<i class="icon-search"></i>');?></td>
<td class='text-left content'><div class='article-content'><?php echo $plan->desc;?></div></td>
<td class='c-actions'>
<div class='more'>
<?php
if(common::hasPriv('productplan', 'delete', $plan))
{
$deleteURL = $this->createLink('productplan', 'delete', "planID=$plan->id&confirm=yes");
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"productplan\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn btn-icon' title='{$lang->productplan->delete}'");
}
?>
</div>
<?php
if(common::hasPriv('project', 'create')) echo html::a(helper::createLink('project', 'create', "projectID=&copyProjectID=&planID=$plan->id"), '<i class="icon-play"></i>', '', "class='btn' title='{$lang->project->create}'");
if(common::hasPriv('productplan', 'linkStory')) echo html::a(inlink('view', "planID=$plan->id&type=story&orderBy=id_desc&link=true"), '<i class="icon-link"></i>', '', "class='btn' title='{$lang->productplan->linkStory}'");
if(common::hasPriv('productplan', 'linkBug') and $config->global->flow != 'onlyStory') echo html::a(inlink('view', "planID=$plan->id&type=bug&orderBy=id_desc&link=true"), '<i class="icon-bug"></i>', '', "class='btn' title='{$lang->productplan->linkBug}'");
common::printIcon('productplan', 'edit', "planID=$plan->id", $plan, 'list');
if(common::hasPriv('productplan', 'delete', $plan))
{
$deleteURL = $this->createLink('productplan', 'delete', "planID=$plan->id&confirm=yes");
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"productplan\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn btn-icon' title='{$lang->productplan->delete}'");
}
?>
</td>
</tr>
+119 -113
View File
@@ -12,122 +12,128 @@
?>
<?php include '../../common/view/header.html.php';?>
<?php js::set('dittoNotice', $this->lang->testcase->dittoNotice);?>
<div id='titlebar'>
<div class='heading'>
<span class='prefix'><?php echo html::icon($lang->icons['testcase']);?></span>
<strong><small class='text-muted'><?php echo html::icon($lang->icons['batchEdit']);?></small> <?php echo $lang->testcase->common . $lang->colon . $lang->testcase->batchEdit;?></strong>
<div class='actions'>
<button type="button" class="btn btn-default" data-toggle="customModal"><i class='icon icon-cog'></i> </button>
<div id="mainContent" class="main-content">
<div class="main-header">
<h2><?php echo $lang->testcase->common . $lang->colon . $lang->testcase->batchEdit;?></h2>
<div class="pull-right btn-toolbar">
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustomFields', 'module=testcase&section=custom&key=batchEditFields')?>
<?php include '../../common/view/customfield.html.php';?>
</div>
</div>
</div>
<?php if(isset($suhosinInfo)):?>
<div class='alert alert-info'><?php echo $suhosinInfo;?></div>
<?php else:?>
<?php
$visibleFields = array();
$requiredFields = array();
foreach(explode(',', $showFields) as $field)
{
if($field)$visibleFields[$field] = '';
}
foreach(explode(',', $this->config->testcase->edit->requiredFields) as $field)
{
if($field)
{
$requiredFields[$field] = '';
if(strpos(",{$config->testcase->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = '';
}
}
?>
<form class='form-condensed' method='post' target='hiddenwin' action="<?php echo inLink('batchEdit');?>">
<table class='table table-form table-fixed'>
<thead>
<tr>
<th class='w-50px'><?php echo $lang->idAB;?></th>
<th class='w-70px<?php echo zget($visibleFields, 'pri', ' hidden')?>'>
<?php echo $lang->priAB;?>
<?php if(isset($requiredFields['pri'])) echo " <span class='required'></span>";?>
</th>
<th class='w-100px<?php echo zget($visibleFields, 'status', ' hidden')?>'>
<?php echo $lang->statusAB;?>
<?php if(isset($requiredFields['status'])) echo " <span class='required'></span>";?>
</th>
<?php if($branchProduct):?>
<th class='w-150px<?php echo zget($visibleFields, 'branch', ' hidden')?>'><?php echo $lang->testcase->branch;?></th>
<?php endif;?>
<th class='w-150px<?php echo zget($visibleFields, 'module', ' hidden')?>'><?php echo $lang->testcase->module;?></th>
<th class='w-150px<?php echo zget($visibleFields, 'story', ' hidden')?>'>
<?php echo $lang->testcase->story;?>
<?php if(isset($requiredFields['story'])) echo " <span class='required'></span>";?>
</th>
<th><?php echo $lang->testcase->title;?> <span class='required'></span></th>
<th class='w-120px'><?php echo $lang->testcase->type;?> <span class='required'></span></th>
<th class='<?php echo zget($visibleFields, 'precondition', 'hidden')?>'>
<?php echo $lang->testcase->precondition;?>
<?php if(isset($requiredFields['precondition'])) echo " <span class='required'></span>";?>
</th>
<th class='w-100px<?php echo zget($visibleFields, 'keywords', ' hidden')?>'>
<?php echo $lang->testcase->keywords;?>
<?php if(isset($requiredFields['keywords'])) echo " <span class='required'></span>";?>
</th>
<th class='w-300px<?php echo zget($visibleFields, 'stage', ' hidden')?>'>
<?php echo $lang->testcase->stage;?>
<?php if(isset($requiredFields['stage'])) echo " <span class='required'></span>";?>
</th>
</tr>
</thead>
<tbody>
<?php foreach($caseIDList as $caseID):?>
<?php
if(!isset($cases[$caseID])) continue;
if(!$productID and $branchProduct)
<?php if(isset($suhosinInfo)):?>
<div class='alert alert-info'><?php echo $suhosinInfo;?></div>
<?php else:?>
<?php
$visibleFields = array();
$requiredFields = array();
foreach(explode(',', $showFields) as $field)
{
if($field)$visibleFields[$field] = '';
}
foreach(explode(',', $this->config->testcase->edit->requiredFields) as $field)
{
if($field)
{
$product = $this->product->getByID($cases[$caseID]->product);
$branches = $product->type == 'normal' ? array('' => '') : $this->loadModel('branch')->getPairs($product->id);
if($product->type != 'normal')
{
foreach($branches as $branchID => $branchName) $branches[$branchID] = '/' . $product->name . '/' . $branchName;
$branches = array('ditto' => $this->lang->story->ditto) + $branches;
}
$modules = $this->tree->getOptionMenu($cases[$caseID]->product, $viewType = 'case', 0, $cases[$caseID]->branch);
$modules = array('ditto' => $this->lang->story->ditto) + $modules;
$requiredFields[$field] = '';
if(strpos(",{$config->testcase->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = '';
}
?>
<tr class='text-center'>
<td><?php echo $caseID . html::hidden("caseIDList[$caseID]", $caseID);?></td>
<td class='<?php echo zget($visibleFields, 'pri', 'hidden')?>'> <?php echo html::select("pris[$caseID]", $priList, $cases[$caseID]->pri, 'class=form-control');?></td>
<td class='<?php echo zget($visibleFields, 'status', 'hidden')?>'><?php echo html::select("statuses[$caseID]", (array)$lang->testcase->statusList, $cases[$caseID]->status, 'class=form-control');?></td>
<?php if($branchProduct):?>
<td class='text-left<?php echo zget($visibleFields, 'branch', ' hidden')?>' style='overflow:visible'>
<?php $branchProductID = $productID ? $productID : $product->id;?>
<?php $disabled = (isset($product) and $product->type == 'normal') ? "disabled='disabled'" : '';?>
<?php echo html::select("branches[$caseID]", $branches, $cases[$caseID]->branch, "class='form-control chosen' onchange='loadBranches($branchProductID, this.value, $caseID)', $disabled");?>
</td>
<?php endif;?>
<td class='text-left<?php echo zget($visibleFields, 'module', ' hidden')?>' style='overflow:visible'><?php echo html::select("modules[$caseID]", $modules, $cases[$caseID]->module, "class='form-control chosen'");?></td>
<td class='text-left<?php echo zget($visibleFields, 'story', ' hidden')?>' style='overflow:visible'><?php echo html::select("stories[$caseID]", $stories, $cases[$caseID]->story, "class='form-control chosen'");?></td>
<td style='overflow:visible' title='<?php echo $cases[$caseID]->title?>'>
<div class='input-group'>
<?php echo html::hidden("colors[$caseID]", $cases[$caseID]->color, "data-provide='colorpicker' data-wrapper='input-group-btn fix-border-right' data-pull-menu-right='false' data-btn-tip='{$lang->testcase->colorTag}' data-update-text='#titles\\[{$caseID}\\]'");?>
<?php echo html::input("titles[$caseID]", $cases[$caseID]->title, "class='form-control' autocomplete='off'"); echo "<span class='star'>*</span>";?>
</div>
</td>
<td><?php echo html::select("types[$caseID]", $typeList, $cases[$caseID]->type, 'class=form-control');?></td>
<td class='<?php echo zget($visibleFields, 'precondition', 'hidden')?>'><?php echo html::textarea("precondition[$caseID]", $cases[$caseID]->precondition, "rows='1' class='form-control autosize'")?></td>
<td class='<?php echo zget($visibleFields, 'keywords', 'hidden')?>'> <?php echo html::input("keywords[$caseID]", $cases[$caseID]->keywords, "class='form-control' autocomplete='off'");?></td>
<td class='text-left<?php echo zget($visibleFields, 'stage', ' hidden')?>' style='overflow:visible'><?php echo html::select("stages[$caseID][]", $lang->testcase->stageList, $cases[$caseID]->stage, "class='form-control chosen' multiple data-placeholder='{$lang->testcase->stage}'");?></td>
</tr>
<?php endforeach;?>
</tbody>
<tfoot>
<tr><td colspan='<?php echo $branchProduct ? (count($visibleFields) + 3) : (count($visibleFields) + 2);?>' class='text-center'><?php echo html::submitButton();?></td></tr>
</tfoot>
</table>
</form>
}
?>
<form method='post' target='hiddenwin' action="<?php echo inLink('batchEdit');?>">
<table class='table table-form table-fixed'>
<thead>
<tr>
<th class='w-50px'><?php echo $lang->idAB;?></th>
<th class='w-70px<?php echo zget($visibleFields, 'pri', ' hidden')?>'>
<?php echo $lang->priAB;?>
<?php if(isset($requiredFields['pri'])) echo " <span class='required'></span>";?>
</th>
<th class='w-100px<?php echo zget($visibleFields, 'status', ' hidden')?>'>
<?php echo $lang->statusAB;?>
<?php if(isset($requiredFields['status'])) echo " <span class='required'></span>";?>
</th>
<?php if($branchProduct):?>
<th class='w-150px<?php echo zget($visibleFields, 'branch', ' hidden')?>'><?php echo $lang->testcase->branch;?></th>
<?php endif;?>
<th class='w-150px<?php echo zget($visibleFields, 'module', ' hidden')?>'><?php echo $lang->testcase->module;?></th>
<th class='w-150px<?php echo zget($visibleFields, 'story', ' hidden')?>'>
<?php echo $lang->testcase->story;?>
<?php if(isset($requiredFields['story'])) echo " <span class='required'></span>";?>
</th>
<th><?php echo $lang->testcase->title;?> <span class='required'></span></th>
<th class='w-120px'><?php echo $lang->testcase->type;?> <span class='required'></span></th>
<th class='<?php echo zget($visibleFields, 'precondition', 'hidden')?>'>
<?php echo $lang->testcase->precondition;?>
<?php if(isset($requiredFields['precondition'])) echo " <span class='required'></span>";?>
</th>
<th class='w-100px<?php echo zget($visibleFields, 'keywords', ' hidden')?>'>
<?php echo $lang->testcase->keywords;?>
<?php if(isset($requiredFields['keywords'])) echo " <span class='required'></span>";?>
</th>
<th class='w-300px<?php echo zget($visibleFields, 'stage', ' hidden')?>'>
<?php echo $lang->testcase->stage;?>
<?php if(isset($requiredFields['stage'])) echo " <span class='required'></span>";?>
</th>
</tr>
</thead>
<tbody>
<?php foreach($caseIDList as $caseID):?>
<?php
if(!isset($cases[$caseID])) continue;
if(!$productID and $branchProduct)
{
$product = $this->product->getByID($cases[$caseID]->product);
$branches = $product->type == 'normal' ? array('' => '') : $this->loadModel('branch')->getPairs($product->id);
if($product->type != 'normal')
{
foreach($branches as $branchID => $branchName) $branches[$branchID] = '/' . $product->name . '/' . $branchName;
$branches = array('ditto' => $this->lang->story->ditto) + $branches;
}
$modules = $this->tree->getOptionMenu($cases[$caseID]->product, $viewType = 'case', 0, $cases[$caseID]->branch);
$modules = array('ditto' => $this->lang->story->ditto) + $modules;
}
?>
<tr class='text-center'>
<td><?php echo $caseID . html::hidden("caseIDList[$caseID]", $caseID);?></td>
<td class='<?php echo zget($visibleFields, 'pri', 'hidden')?>'> <?php echo html::select("pris[$caseID]", $priList, $cases[$caseID]->pri, 'class=form-control');?></td>
<td class='<?php echo zget($visibleFields, 'status', 'hidden')?>'><?php echo html::select("statuses[$caseID]", (array)$lang->testcase->statusList, $cases[$caseID]->status, 'class=form-control');?></td>
<?php if($branchProduct):?>
<td class='text-left<?php echo zget($visibleFields, 'branch', ' hidden')?>' style='overflow:visible'>
<?php $branchProductID = $productID ? $productID : $product->id;?>
<?php $disabled = (isset($product) and $product->type == 'normal') ? "disabled='disabled'" : '';?>
<?php echo html::select("branches[$caseID]", $branches, $cases[$caseID]->branch, "class='form-control chosen' onchange='loadBranches($branchProductID, this.value, $caseID)', $disabled");?>
</td>
<?php endif;?>
<td class='text-left<?php echo zget($visibleFields, 'module', ' hidden')?>' style='overflow:visible'><?php echo html::select("modules[$caseID]", $modules, $cases[$caseID]->module, "class='form-control chosen'");?></td>
<td class='text-left<?php echo zget($visibleFields, 'story', ' hidden')?>' style='overflow:visible'><?php echo html::select("stories[$caseID]", $stories, $cases[$caseID]->story, "class='form-control chosen'");?></td>
<td style='overflow:visible' title='<?php echo $cases[$caseID]->title?>'>
<div class='input-group'>
<div class="input-control has-icon-right">
<?php echo html::input("title[$caseID]", $cases[$caseID]->title, "class='form-control' autocomplete='off'");?>
<div class="colorpicker">
<button type="button" class="btn btn-link dropdown-toggle" data-toggle="dropdown"><span class="cp-title"></span><span class="color-bar"></span><i class="ic"></i></button>
<ul class="dropdown-menu clearfix">
<li class="heading"><?php echo $lang->testcase->colorTag;?><i class="icon icon-close"></i></li>
</ul>
<?php echo html::hidden("color[$caseID]", $cases[$caseID]->color, "data-provide='colorpicker' data-icon='color' data-wrapper='input-control-icon-right' data-update-color='#title\\[$caseID\\]'");?>
</div>
</div>
</div>
</td>
<td><?php echo html::select("types[$caseID]", $typeList, $cases[$caseID]->type, 'class=form-control');?></td>
<td class='<?php echo zget($visibleFields, 'precondition', 'hidden')?>'><?php echo html::textarea("precondition[$caseID]", $cases[$caseID]->precondition, "rows='1' class='form-control autosize'")?></td>
<td class='<?php echo zget($visibleFields, 'keywords', 'hidden')?>'> <?php echo html::input("keywords[$caseID]", $cases[$caseID]->keywords, "class='form-control' autocomplete='off'");?></td>
<td class='text-left<?php echo zget($visibleFields, 'stage', ' hidden')?>' style='overflow:visible'><?php echo html::select("stages[$caseID][]", $lang->testcase->stageList, $cases[$caseID]->stage, "class='form-control chosen' multiple data-placeholder='{$lang->testcase->stage}'");?></td>
</tr>
<?php endforeach;?>
</tbody>
<tfoot>
<tr><td colspan='<?php echo $branchProduct ? (count($visibleFields) + 3) : (count($visibleFields) + 2);?>' class='text-center'><?php echo html::submitButton('', '', 'btn btn-primary btn-wide');?></td></tr>
</tfoot>
</table>
</form>
<?php endif;?>
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustomFields', 'module=testcase&section=custom&key=batchEditFields')?>
<?php include '../../common/view/customfield.html.php';?>
</div>
<?php include '../../common/view/footer.html.php';?>
+24 -25
View File
@@ -19,31 +19,30 @@ function closeWindow()
}
}
</script>
<div id='titlebar'>
<div class='heading'>
<span class='prefix'><?php echo html::icon($lang->icons['export']);?></span>
<strong><?php echo $lang->testcase->exportTemplet;?></strong>
<div class='main-content'>
<div class='main-header'>
<h2><?php echo $lang->testcase->exportTemplet;?></h2>
</div>
</div>
<form class='form-condensed' method='post' target='hiddenwin' onsubmit='setDownloading();' style='padding: 40px 5%'>
<table class='w-p100'>
<tr>
<td>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->testcase->num;?></span>
<?php
echo html::input('num', '10', "class='form-control' autocomplete='off'");
?>
</div>
</td>
<td class='w-100px'>
<?php echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', "class='form-control'");?>
</td>
<td>
<?php echo html::submitButton();?>
</td>
</tr>
</table>
</form>
<form method='post' target='hiddenwin' onsubmit='setDownloading();' style='padding: 40px 5%'>
<table class='w-p100'>
<tr>
<td>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->testcase->num;?></span>
<?php
echo html::input('num', '10', "class='form-control' autocomplete='off'");
?>
</div>
</td>
<td class='w-100px'>
<?php echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', "class='form-control'");?>
</td>
<td>
<?php echo html::submitButton('', '', 'btn btn-primary btn-wide');?>
</td>
</tr>
</table>
</form>
</div>
<?php include '../../common/view/footer.lite.html.php';?>
+7 -4
View File
@@ -1,7 +1,10 @@
<?php include '../../common/view/header.lite.html.php';?>
<div class='container mw-600px'>
<form class='form-condensed' method='post' enctype='multipart/form-data' target='hiddenwin' style="padding:30px">
<table class='table table-form'>
<div class='main-content'>
<div class='main-header'>
<h2><?php echo $lang->testcase->importFile;?></h2>
</div>
<form method='post' enctype='multipart/form-data' target='hiddenwin' style="padding:30px">
<table class='table table-form w-p100'>
<tr>
<td align='center'>
<input type='file' name='file' class='form-control'/>
@@ -10,7 +13,7 @@
<?php echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', "class='form-control'");?>
</td>
<td>
<?php echo html::submitButton();?>
<?php echo html::submitButton('', '', 'btn btn-primary btn-wide');?>
</td>
</tr>
</table>
+100 -98
View File
@@ -5,104 +5,106 @@
<?php if(isset($suhosinInfo)):?>
<div class='alert alert-info'><?php echo $suhosinInfo?></div>
<?php else:?>
<form target='hiddenwin' method='post' class='form-condensed'>
<table class='table table-fixed active-disabled table-custom' id='showData'>
<thead>
<tr>
<th class='w-50px'><?php echo $lang->lineNumber?></th>
<th class='w-70px'><?php echo $lang->testcase->id?></th>
<th><?php echo $lang->testcase->title?></th>
<?php if(!empty($branches)):?>
<th class='w-100px'><?php echo $lang->testcase->branch?></th>
<?php endif;?>
<th class='w-100px'><?php echo $lang->testcase->module?></th>
<th class='w-120px'><?php echo $lang->testcase->story?></th>
<th class='w-70px'><?php echo $lang->testcase->pri?></th>
<th class='w-100px'><?php echo $lang->testcase->type?></th>
<th><?php echo $lang->testcase->stage?></th>
<th class='w-80px'><?php echo $lang->testcase->keywords?></th>
<th><?php echo $lang->testcase->precondition?></th>
<th class='w-300px'>
<table class='w-p100 table-borderless'>
<tr>
<th><?php echo $lang->testcase->stepDesc?></th>
<th><?php echo $lang->testcase->stepExpect?></th>
</tr>
</table>
</th>
</tr>
</thead>
<tbody>
<?php
$insert = true;
$addID = 1;
?>
<?php foreach($caseData as $key => $case):?>
<?php if(empty($case->title)) continue;?>
<tr valign='top' align='center'>
<td><?php echo $key;?></td>
<td>
<?php
if(!empty($case->id))
{
echo $case->id . html::hidden("id[$key]", $case->id);
$insert = false;
}
else
{
echo "<sub class='gray' style='vertical-align:sub;'>{$lang->testcase->new}</sub>";
}
echo html::hidden("product[$key]", $productID);
?>
</td>
<td><?php echo html::input("title[$key]", htmlspecialchars($case->title, ENT_QUOTES), "class='form-control'")?></td>
<?php if(!empty($branches)):?>
<td class='text-left' style='overflow:visible'><?php echo html::select("branch[$key]", $branches, (isset($case->branch) and $case->branch !== '') ? $case->branch : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->branch : $branch), "class='form-control chosen'")?></td>
<?php endif;?>
<td class='text-left' style='overflow:visible'><?php echo html::select("module[$key]", $modules, isset($case->module) ? $case->module : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->module : ''), "class='form-control chosen'")?></td>
<td class='text-left' style='overflow:visible'><?php echo html::select("story[$key]", $stories, isset($case->story) ? $case->story : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->story : ''), "class='form-control chosen'")?></td>
<td><?php echo html::select("pri[$key]", $lang->testcase->priList, isset($case->pri) ? $case->pri : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->pri : ''), "class='form-control'")?></td>
<td><?php echo html::select("type[$key]", $lang->testcase->typeList, $case->type, "class='form-control'")?></td>
<td class='text-left' style='overflow:visible'><?php echo html::select("stage[$key][]", $lang->testcase->stageList, !empty($case->stage) ? $case->stage : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->stage : ''), "multiple='multiple' class='form-control chosen'")?></td>
<td><?php echo html::input("keywords[$key]", isset($case->keywords) ? $case->keywords : "", "class='form-control' autocomplete='off'")?></td>
<td><?php echo html::textarea("precondition[$key]", isset($case->precondition) ? htmlspecialchars($case->precondition) : "", "class='form-control'")?></td>
<td>
<?php if(isset($stepData[$key]['desc'])):?>
<table class='w-p100 bd-0'>
<?php foreach($stepData[$key]['desc'] as $id => $desc):?>
<?php if(empty($desc['content'])) continue;?>
<tr class='step'>
<td><?php echo $id . html::hidden("stepType[$key][$id]", $desc['type'])?></td>
<td><?php echo html::textarea("desc[$key][$id]", htmlspecialchars($desc['content']), "class='form-control'")?></td>
<td><?php if($desc['type'] != 'group') echo html::textarea("expect[$key][$id]", isset($stepData[$key]['expect'][$id]['content']) ? htmlspecialchars($stepData[$key]['expect'][$id]['content']) : '', "class='form-control'")?></td>
</tr>
<?php endforeach;?>
</table>
<div id="mainContent" class="main-content">
<form target='hiddenwin' method='post'>
<table class='table table-fixed active-disabled table-custom' id='showData'>
<thead>
<tr>
<th class='w-50px'><?php echo $lang->lineNumber?></th>
<th class='w-70px'><?php echo $lang->testcase->id?></th>
<th><?php echo $lang->testcase->title?></th>
<?php if(!empty($branches)):?>
<th class='w-100px'><?php echo $lang->testcase->branch?></th>
<?php endif;?>
</td>
</tr>
<?php endforeach;?>
</tbody>
<tfoot>
<tr>
<td colspan='<?php echo !empty($branches) ? 12 : 11;?>' class='text-center'>
<?php
if(!$insert)
{
include '../../common/view/noticeimport.html.php';
echo "<button type='button' data-toggle='myModal' class='btn btn-primary'>{$lang->save}</button>";
}
else
{
echo html::submitButton();
}
echo ' &nbsp; ' . html::backButton()
?>
</td>
</tr>
</tfoot>
</table>
</form>
<th class='w-100px'><?php echo $lang->testcase->module?></th>
<th class='w-120px'><?php echo $lang->testcase->story?></th>
<th class='w-70px'><?php echo $lang->testcase->pri?></th>
<th class='w-100px'><?php echo $lang->testcase->type?></th>
<th><?php echo $lang->testcase->stage?></th>
<th class='w-80px'><?php echo $lang->testcase->keywords?></th>
<th><?php echo $lang->testcase->precondition?></th>
<th class='w-300px'>
<table class='w-p100 table-borderless'>
<tr>
<th><?php echo $lang->testcase->stepDesc?></th>
<th><?php echo $lang->testcase->stepExpect?></th>
</tr>
</table>
</th>
</tr>
</thead>
<tbody>
<?php
$insert = true;
$addID = 1;
?>
<?php foreach($caseData as $key => $case):?>
<?php if(empty($case->title)) continue;?>
<tr valign='top' align='center'>
<td><?php echo $key;?></td>
<td>
<?php
if(!empty($case->id))
{
echo $case->id . html::hidden("id[$key]", $case->id);
$insert = false;
}
else
{
echo "<sub class='gray' style='vertical-align:sub;'>{$lang->testcase->new}</sub>";
}
echo html::hidden("product[$key]", $productID);
?>
</td>
<td><?php echo html::input("title[$key]", htmlspecialchars($case->title, ENT_QUOTES), "class='form-control'")?></td>
<?php if(!empty($branches)):?>
<td class='text-left' style='overflow:visible'><?php echo html::select("branch[$key]", $branches, (isset($case->branch) and $case->branch !== '') ? $case->branch : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->branch : $branch), "class='form-control chosen'")?></td>
<?php endif;?>
<td class='text-left' style='overflow:visible'><?php echo html::select("module[$key]", $modules, isset($case->module) ? $case->module : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->module : ''), "class='form-control chosen'")?></td>
<td class='text-left' style='overflow:visible'><?php echo html::select("story[$key]", $stories, isset($case->story) ? $case->story : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->story : ''), "class='form-control chosen'")?></td>
<td><?php echo html::select("pri[$key]", $lang->testcase->priList, isset($case->pri) ? $case->pri : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->pri : ''), "class='form-control'")?></td>
<td><?php echo html::select("type[$key]", $lang->testcase->typeList, $case->type, "class='form-control'")?></td>
<td class='text-left' style='overflow:visible'><?php echo html::select("stage[$key][]", $lang->testcase->stageList, !empty($case->stage) ? $case->stage : ((!empty($case->id) and isset($cases[$case->id])) ? $cases[$case->id]->stage : ''), "multiple='multiple' class='form-control chosen'")?></td>
<td><?php echo html::input("keywords[$key]", isset($case->keywords) ? $case->keywords : "", "class='form-control' autocomplete='off'")?></td>
<td><?php echo html::textarea("precondition[$key]", isset($case->precondition) ? htmlspecialchars($case->precondition) : "", "class='form-control'")?></td>
<td>
<?php if(isset($stepData[$key]['desc'])):?>
<table class='w-p100 bd-0'>
<?php foreach($stepData[$key]['desc'] as $id => $desc):?>
<?php if(empty($desc['content'])) continue;?>
<tr class='step'>
<td><?php echo $id . html::hidden("stepType[$key][$id]", $desc['type'])?></td>
<td><?php echo html::textarea("desc[$key][$id]", htmlspecialchars($desc['content']), "class='form-control'")?></td>
<td><?php if($desc['type'] != 'group') echo html::textarea("expect[$key][$id]", isset($stepData[$key]['expect'][$id]['content']) ? htmlspecialchars($stepData[$key]['expect'][$id]['content']) : '', "class='form-control'")?></td>
</tr>
<?php endforeach;?>
</table>
<?php endif;?>
</td>
</tr>
<?php endforeach;?>
</tbody>
<tfoot>
<tr>
<td colspan='<?php echo !empty($branches) ? 12 : 11;?>' class='text-center'>
<?php
if(!$insert)
{
include '../../common/view/noticeimport.html.php';
echo "<button type='button' data-toggle='myModal' class='btn btn-primary btn-wide'>{$lang->save}</button>";
}
else
{
echo html::submitButton('', '', 'btn btn-primary btn-wide');
}
echo ' &nbsp; ' . html::backButton('', '', 'btn btn-wide')
?>
</td>
</tr>
</tfoot>
</table>
</form>
</div>
<?php endif;?>
<script>
$(function(){affix('#showData thead')})
@@ -120,7 +122,7 @@ function affix(obj)
$('.active-disabled ' + obj + ' th').each(function(i){$('#headerClone ' + obj + ' th').eq(i).width($(this).width())});
first = false;
}
else if(scroH<fixH)
else if(scroH<fixH)
{
$("#headerClone").remove();
first = true;
+23 -25
View File
@@ -19,31 +19,29 @@ function closeWindow()
}
}
</script>
<div id='titlebar'>
<div class='heading'>
<span class='prefix'><?php echo html::icon($lang->icons['export']);?></span>
<strong><?php echo $lang->testcase->exportTemplet;?></strong>
<div class='main-content'>
<div class='main-header'>
<h2><?php echo $lang->testcase->exportTemplet;?></h2>
</div>
</div>
<form class='form-condensed' method='post' target='hiddenwin' onsubmit='setDownloading();' style='padding: 40px 5%'>
<table class='w-p100'>
<tr>
<td>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->testcase->num;?></span>
<?php
<form method='post' target='hiddenwin' onsubmit='setDownloading();' style='padding: 40px 5%'>
<table class='w-p100'>
<tr>
<td>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->testcase->num;?></span>
<?php
echo html::input('num', '10', "class='form-control' autocomplete='off'");
?>
</div>
</td>
<td class='w-100px'>
<?php echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', "class='form-control'");?>
</td>
<td>
<?php echo html::submitButton();?>
</td>
</tr>
</table>
</form>
?>
</div>
</td>
<td class='w-100px'>
<?php echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', "class='form-control'");?>
</td>
<td>
<?php echo html::submitButton('', '', 'btn btn-primary btn-wide');?>
</td>
</tr>
</table>
</form>
</div>
<?php include '../../common/view/footer.lite.html.php';?>
+6 -3
View File
@@ -1,6 +1,9 @@
<?php include '../../common/view/header.lite.html.php';?>
<div class='container mw-600px'>
<form class='form-condensed' method='post' enctype='multipart/form-data' target='hiddenwin' style="padding:30px">
<div class='main-content'>
<div class='main-header'>
<h2><?php echo $lang->testcase->importFile;?></h2>
</div>
<form method='post' enctype='multipart/form-data' target='hiddenwin' style="padding:30px">
<table class='table table-form'>
<tr>
<td align='center'>
@@ -10,7 +13,7 @@
<?php echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', "class='form-control'");?>
</td>
<td>
<?php echo html::submitButton();?>
<?php echo html::submitButton('', '', 'btn btn-primary btn-wide');?>
</td>
</tr>
</table>
+80 -78
View File
@@ -5,92 +5,94 @@
<?php if(isset($suhosinInfo)):?>
<div class='alert alert-info'><?php echo $suhosinInfo?></div>
<?php else:?>
<form target='hiddenwin' method='post' class='form-condensed'>
<table class='table table-fixed active-disabled table-custom'>
<thead>
<tr>
<th class='w-70px'><?php echo $lang->testcase->id?></th>
<th><?php echo $lang->testcase->title?></th>
<th class='w-100px'><?php echo $lang->testcase->module?></th>
<th class='w-70px'><?php echo $lang->testcase->pri?></th>
<th class='w-100px'><?php echo $lang->testcase->type?></th>
<th><?php echo $lang->testcase->stage?></th>
<th class='w-80px'><?php echo $lang->testcase->keywords?></th>
<th><?php echo $lang->testcase->precondition?></th>
<th class='w-300px'>
<table class='w-p100 table-borderless'>
<tr>
<th><?php echo $lang->testcase->stepDesc?></th>
<th><?php echo $lang->testcase->stepExpect?></th>
</tr>
</table>
</th>
</tr>
</thead>
<tbody>
<?php $insert = true;?>
<?php foreach($caseData as $key => $case):?>
<?php if(empty($case->title)) continue;?>
<?php if(!empty($case->id) and !isset($cases[$case->id])) $case->id = 0;?>
<tr valign='top' align='center'>
<td>
<?php
if(!empty($case->id))
{
echo $case->id . html::hidden("id[$key]", $case->id);
$insert = false;
}
else
{
echo $key . " <sub class='gray' style='vertical-align:sub;'>{$lang->testcase->new}</sub>";
}
echo html::hidden("lib[$key]", $libID);
?>
</td>
<td><?php echo html::input("title[$key]", $case->title, "class='form-control' style='margin-top:2px' autocomplete='off'")?></td>
<td class='text-left' style='overflow:visible'><?php echo html::select("module[$key]", $modules, isset($case->module) ? $case->module : (!empty($case->id) ? $cases[$case->id]->module : ''), "class='form-control chosen'")?></td>
<td><?php echo html::select("pri[$key]", $lang->testcase->priList, isset($case->pri) ? $case->pri : (!empty($case->id) ? $cases[$case->id]->pri : ''), "class='form-control'")?></td>
<td><?php echo html::select("type[$key]", $lang->testcase->typeList, isset($case->type) ? $case->type : (!empty($case->id) ? $cases[$case->id]->type : ''), "class='form-control'")?></td>
<td class='text-left' style='overflow:visible'><?php echo html::select("stage[$key][]", $lang->testcase->stageList, !empty($case->stage) ? $case->stage : (!empty($case->id) ? $cases[$case->id]->stage : ''), "multiple='multiple' class='form-control chosen'")?></td>
<td><?php echo html::input("keywords[$key]", isset($case->keywords) ? $case->keywords : "", "class='form-control' autocomplete='off'")?></td>
<td><?php echo html::textarea("precondition[$key]", isset($case->precondition) ? htmlspecialchars($case->precondition) : "", "class='form-control'")?></td>
<td>
<?php if(isset($stepData[$key]['desc'])):?>
<table class='w-p100 bd-0'>
<?php foreach($stepData[$key]['desc'] as $id => $desc):?>
<?php if(empty($desc['content'])) continue;?>
<tr class='step'>
<td><?php echo $id . html::hidden("stepType[$key][$id]", $desc['type'])?></td>
<td><?php echo html::textarea("desc[$key][$id]", htmlspecialchars($desc['content']), "class='form-control'")?></td>
<td><?php if($desc['type'] != 'group') echo html::textarea("expect[$key][$id]", isset($stepData[$key]['expect'][$id]['content']) ? htmlspecialchars($stepData[$key]['expect'][$id]['content']) : '', "class='form-control'")?></td>
</tr>
<?php endforeach;?>
</table>
<?php endif;?>
</td>
</tr>
<?php endforeach;?>
</tbody>
<tfoot>
<tr>
<td colspan='9' class='text-center'>
<div id="mainContent" class="main-content">
<form target='hiddenwin' method='post'>
<table class='table table-fixed active-disabled table-custom'>
<thead>
<tr>
<th class='w-70px'><?php echo $lang->testcase->id?></th>
<th><?php echo $lang->testcase->title?></th>
<th class='w-100px'><?php echo $lang->testcase->module?></th>
<th class='w-70px'><?php echo $lang->testcase->pri?></th>
<th class='w-100px'><?php echo $lang->testcase->type?></th>
<th><?php echo $lang->testcase->stage?></th>
<th class='w-80px'><?php echo $lang->testcase->keywords?></th>
<th><?php echo $lang->testcase->precondition?></th>
<th class='w-300px'>
<table class='w-p100 table-borderless'>
<tr>
<th><?php echo $lang->testcase->stepDesc?></th>
<th><?php echo $lang->testcase->stepExpect?></th>
</tr>
</table>
</th>
</tr>
</thead>
<tbody>
<?php $insert = true;?>
<?php foreach($caseData as $key => $case):?>
<?php if(empty($case->title)) continue;?>
<?php if(!empty($case->id) and !isset($cases[$case->id])) $case->id = 0;?>
<tr valign='top' align='center'>
<td>
<?php
if(!$insert)
if(!empty($case->id))
{
include '../../common/view/noticeimport.html.php';
echo "<button type='button' data-toggle='myModal' class='btn btn-primary'>{$lang->save}</button>";
echo $case->id . html::hidden("id[$key]", $case->id);
$insert = false;
}
else
{
echo html::submitButton();
echo $key . " <sub class='gray' style='vertical-align:sub;'>{$lang->testcase->new}</sub>";
}
echo ' &nbsp; ' . html::backButton()
echo html::hidden("lib[$key]", $libID);
?>
</td>
<td><?php echo html::input("title[$key]", $case->title, "class='form-control' style='margin-top:2px' autocomplete='off'")?></td>
<td class='text-left' style='overflow:visible'><?php echo html::select("module[$key]", $modules, isset($case->module) ? $case->module : (!empty($case->id) ? $cases[$case->id]->module : ''), "class='form-control chosen'")?></td>
<td><?php echo html::select("pri[$key]", $lang->testcase->priList, isset($case->pri) ? $case->pri : (!empty($case->id) ? $cases[$case->id]->pri : ''), "class='form-control'")?></td>
<td><?php echo html::select("type[$key]", $lang->testcase->typeList, isset($case->type) ? $case->type : (!empty($case->id) ? $cases[$case->id]->type : ''), "class='form-control'")?></td>
<td class='text-left' style='overflow:visible'><?php echo html::select("stage[$key][]", $lang->testcase->stageList, !empty($case->stage) ? $case->stage : (!empty($case->id) ? $cases[$case->id]->stage : ''), "multiple='multiple' class='form-control chosen'")?></td>
<td><?php echo html::input("keywords[$key]", isset($case->keywords) ? $case->keywords : "", "class='form-control' autocomplete='off'")?></td>
<td><?php echo html::textarea("precondition[$key]", isset($case->precondition) ? htmlspecialchars($case->precondition) : "", "class='form-control'")?></td>
<td>
<?php if(isset($stepData[$key]['desc'])):?>
<table class='w-p100 bd-0'>
<?php foreach($stepData[$key]['desc'] as $id => $desc):?>
<?php if(empty($desc['content'])) continue;?>
<tr class='step'>
<td><?php echo $id . html::hidden("stepType[$key][$id]", $desc['type'])?></td>
<td><?php echo html::textarea("desc[$key][$id]", htmlspecialchars($desc['content']), "class='form-control'")?></td>
<td><?php if($desc['type'] != 'group') echo html::textarea("expect[$key][$id]", isset($stepData[$key]['expect'][$id]['content']) ? htmlspecialchars($stepData[$key]['expect'][$id]['content']) : '', "class='form-control'")?></td>
</tr>
<?php endforeach;?>
</table>
<?php endif;?>
</td>
</tr>
</tfoot>
</table>
</form>
<?php endforeach;?>
</tbody>
<tfoot>
<tr>
<td colspan='9' class='text-center'>
<?php
if(!$insert)
{
include '../../common/view/noticeimport.html.php';
echo "<button type='button' data-toggle='myModal' class='btn btn-primary btn-wide'>{$lang->save}</button>";
}
else
{
echo html::submitButton('', '', 'btn btn-primary btn-wide');
}
echo ' &nbsp; ' . html::backButton('', '', 'btn btn-wide')
?>
</td>
</tr>
</tfoot>
</table>
</form>
</div>
<?php endif;?>
<script>
$(function(){affix('thead')})
@@ -108,7 +110,7 @@ function affix(obj)
$('.active-disabled ' + obj + ' th').each(function(i){$('#headerClone ' + obj + ' th').eq(i).width($(this).width())});
first = false;
}
else if(scroH<fixH)
else if(scroH<fixH)
{
$("#headerClone").remove();
first = true;
File diff suppressed because one or more lines are too long
Binary file not shown.
+1 -1
View File
@@ -78,7 +78,7 @@
<glyph unicode="&#xe93c;" glyph-name="color" d="M512-227.536c-282.759 0-511.98 229.221-511.98 511.98s229.221 511.98 511.98 511.98c282.759 0 508.252-204.169 511.98-447.983 1.318-86.219-30.006-212.303-192.409-275.415-69.232-26.904-186.27-1.378-234.428-25.237-64.809-32.11-47.245-111.882-22.099-133.338 43.832-37.4 17.103-141.988-63.044-141.988zM749.952 342.969c0-53.017 42.979-95.996 95.996-95.996s95.996 42.979 95.996 95.996c0 53.017-42.979 95.996-95.996 95.996s-95.996-42.979-95.996-95.996zM246.317 300.233c23.242 47.652 3.452 105.122-44.198 128.363s-105.122 3.452-128.363-44.198c-23.242-47.652-3.452-105.122 44.198-128.363s105.122-3.452 128.363 44.198zM380.748 471.568c51.658 11.927 83.868 63.472 71.941 115.13s-63.472 83.868-115.13 71.941c-51.658-11.927-83.868-63.472-71.941-115.13s63.472-83.868 115.13-71.941zM611.036 497.827c41.203-33.365 101.651-27.011 135.015 14.19s27.011 101.651-14.19 135.015c-41.203 33.365-101.651 27.011-135.015-14.19s-27.011-101.651 14.19-135.015z" />
<glyph unicode="&#xe93d;" glyph-name="paper-clip" d="M760.87 367.594l-387.198-387.198c-78.785-78.785-200.132-85.171-271.040-14.266s-64.518 192.255 14.266 271.040l387.198 387.198 256.774-256.774zM577.46 551.004l-387.198-387.198c-33.766-33.766-36.501-85.771-6.114-116.161s82.395-27.651 116.161 6.114l387.198 387.198zM169.883 143.425l407.576 407.576c67.53 67.53 171.543 73.004 232.318 12.227s55.302-164.79-12.227-232.318l-407.576-407.576zM463.339-150.031l407.576 407.576c112.55 112.55 121.674 285.905 20.378 387.198s-274.649 92.17-387.198-20.378l-407.576-407.576 73.364-73.364zM472.51-159.201c-25.323-25.323-66.382-25.323-91.705 0s-25.323 66.382 0 91.705c25.323 25.323 66.382 25.323 91.705 0s25.323-66.382 0-91.705zM770.041 358.424c-25.323-25.323-66.382-25.323-91.705 0s-25.323 66.382 0 91.705c25.323 25.323 66.382 25.323 91.705 0s25.323-66.382 0-91.705z" />
<glyph unicode="&#xe93e;" glyph-name="arrow-right" d="M849.601 267.375c4.266 8.534 4.266 21.332 0 34.134-4.266 4.266-4.266 8.534-8.534 12.798l-298.667 298.667c-17.069 17.069-42.666 17.069-59.732 0s-17.069-42.666 0-59.732l226.133-226.133h-494.934c-25.602 0-42.666-17.069-42.666-42.666s17.069-42.666 42.666-42.666h494.934l-226.133-226.133c-17.069-17.069-17.069-42.666 0-59.732 8.534-8.534 21.332-12.798 29.867-12.798s21.332 4.266 29.867 12.798l298.667 298.667c4.266 4.266 8.534 8.534 8.534 12.798z" />
<glyph unicode="&#xe93f;" glyph-name="back" d="M160.311 501.081h470.224c185.496 0 335.875-150.376 335.875-335.875v0c0-185.496-150.376-335.875-335.875-335.875h-470.224v671.751zM160.311 366.732v-403.049h470.224c111.3 0 201.527 90.226 201.527 201.527s-90.226 201.527-201.527 201.527v0h-470.224zM227.487-103.491c0-37.097-30.073-67.176-67.176-67.176s-67.176 30.073-67.176 67.176c0 37.097 30.073 67.176 67.176 67.176s67.176-30.073 67.176-67.176zM81.047 484.906l293.273 251.415c5.634 4.828 14.116 4.179 18.944-1.456 2.785-3.249 3.857-7.628 2.884-11.799l-67.463-289.161 67.463-289.161c1.688-7.224-2.808-14.451-10.030-16.136-4.168-0.97-8.549 0.099-11.799 2.884l-293.273 251.415c-28.168 24.147-31.426 66.552-7.279 94.721 2.235 2.61 4.671 5.043 7.279 7.279z" />
<glyph unicode="&#xe93f;" glyph-name="back" d="M160.311-170.157c-0.23-0.002-0.461-0.003-0.692-0.003-37.104 0-67.175 30.073-67.175 67.177 0 37.097 30.073 67.175 67.175 67.175 2.813 0 5.585-0.173 8.307-0.508h462.609c111.3 0 201.527 90.226 201.527 201.527s-90.226 201.527-201.527 201.527h-470.224v134.343h469.777c185.319 0 335.556-150.433 335.556-336 0-185.564-150.234-336-335.556-336h-469.777v0.763zM82.125 484.904l293.273 251.415c5.634 4.828 14.116 4.18 18.944-1.456 2.786-3.25 3.858-7.628 2.884-11.799l-67.463-289.161 67.463-289.161c1.689-7.225-2.807-14.452-10.030-16.137-4.169-0.971-8.549 0.1-11.799 2.884l-293.273 251.415c-28.169 24.148-31.426 66.553-7.278 94.722 2.235 2.61 4.67 5.044 7.278 7.278h0.002z" />
<glyph unicode="&#xe940;" glyph-name="chat-line" d="M875.173 88.887h-419.049l-111.746-67.050v67.050h-195.557v502.858h726.35v-502.858zM65.016 563.81v-446.984c0-61.717 50.029-111.746 111.746-111.746h89.396v-111.746l189.968 111.746h391.112c61.717 0 111.746 50.029 111.746 111.746v446.984c0 61.717-50.029 111.746-111.746 111.746h-670.476c-61.717 0-111.746-50.029-111.746-111.746zM288.508 368.255h446.984v83.811h-446.984zM288.508 200.633h446.984v83.811h-446.984z" />
<glyph unicode="&#xe941;" glyph-name="person" d="M780.194 361.041l-0.032-0.014c10.366 29.5 16.283 61.056 16.283 94.084 0 157.097-127.333 284.444-284.444 284.444s-284.444-127.348-284.444-284.444c0-33.028 5.916-64.583 16.277-94.084v0.014c-110.834-56.375-186.944-171.209-186.944-304.084v-170.652c0-31.472 25.5-56.972 56.972-56.972h796.277c31.472 0 56.972 25.5 56.972 56.972v170.652c0 132.875-76.084 247.708-186.917 304.084zM512 625.777c94.112 0 170.667-76.555 170.667-170.667s-76.555-170.667-170.667-170.667c-94.112 0-170.667 76.555-170.667 170.667s76.555 170.667 170.667 170.667zM853.333-56.889h-682.667v113.847c0 91.264 54.167 169.945 131.89 206.153 52-56.695 126.444-92.444 209.444-92.444 83.001 0 157.444 35.749 209.444 92.444 77.723-36.208 131.89-114.889 131.89-206.153v-113.847z" />
<glyph unicode="&#xe942;" glyph-name="folder-account" d="M870.4 28.445h-409.6v51.199c0 68.095 136.705 102.4 204.8 102.4s204.8-34.305 204.8-102.4zM665.598 438.042c56.32 0 102.4-46.080 102.4-102.4s-46.080-102.4-102.4-102.4c-56.32 0-102.4 46.080-102.4 102.4 0 56.831 46.080 102.4 102.4 102.4zM921.6 591.645h-409.6l-102.4 102.4h-307.201c-56.831 0-102.4-45.568-102.4-102.4v-614.398c0-56.32 46.080-102.4 102.4-102.4h819.199c56.32 0 102.4 46.080 102.4 102.4v511.999c0 56.831-46.080 102.4-102.4 102.4z" />

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.
Binary file not shown.