Merge branch 'master' of https://github.com/easysoft/zentaopms
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
.tree .closed, .tree .closed a{color:#003366; text-decoration:none;}
|
||||
.confirm0 {color:gray; font-size:9px}
|
||||
.confirm1 {color:green; font-size:9px}
|
||||
td.delayed{color:#fff; background: #e84e0f!important;}
|
||||
|
||||
.datatable-wrapper .table-datatable .datatable-row td {height:37px;}
|
||||
|
||||
|
||||
@@ -128,11 +128,12 @@ $lang->bug->assignToMeAB = 'Assigned To Me';
|
||||
$lang->bug->openedByMeAB = 'Created By Me';
|
||||
$lang->bug->resolvedByMeAB = 'Resolved By Me';
|
||||
|
||||
$lang->bug->ditto = 'Ditto';
|
||||
$lang->bug->dittoNotice = 'This bug is not linked to the same product as the last one!';
|
||||
$lang->bug->noAssigned = 'Assign';
|
||||
$lang->bug->noBug = 'No bugs. ';
|
||||
$lang->bug->noModule = '<div>You have no modules.</div><div>Manage now</div>';
|
||||
$lang->bug->ditto = 'Ditto';
|
||||
$lang->bug->dittoNotice = 'This bug is not linked to the same product as the last one!';
|
||||
$lang->bug->noAssigned = 'Assign';
|
||||
$lang->bug->noBug = 'No bugs. ';
|
||||
$lang->bug->noModule = '<div>You have no modules.</div><div>Manage now</div>';
|
||||
$lang->bug->delayWarning = " <strong class='text-danger'> Delay %s days </strong>";
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblAssignedTo = 'Assignee';
|
||||
|
||||
@@ -128,11 +128,12 @@ $lang->bug->assignToMeAB = '指派给我';
|
||||
$lang->bug->openedByMeAB = '由我创建';
|
||||
$lang->bug->resolvedByMeAB = '由我解决';
|
||||
|
||||
$lang->bug->ditto = '同上';
|
||||
$lang->bug->dittoNotice = '该bug与上一bug不属于同一产品!';
|
||||
$lang->bug->noAssigned = '未指派';
|
||||
$lang->bug->noBug = '暂时没有Bug。';
|
||||
$lang->bug->noModule = '<div>您现在还没有模块信息</div><div>请维护测试模块</div>';
|
||||
$lang->bug->ditto = '同上';
|
||||
$lang->bug->dittoNotice = '该bug与上一bug不属于同一产品!';
|
||||
$lang->bug->noAssigned = '未指派';
|
||||
$lang->bug->noBug = '暂时没有Bug。';
|
||||
$lang->bug->noModule = '<div>您现在还没有模块信息</div><div>请维护测试模块</div>';
|
||||
$lang->bug->delayWarning = " <strong class='text-danger'> 延期%s天 </strong>";
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblAssignedTo = '当前指派';
|
||||
|
||||
+31
-20
@@ -360,7 +360,7 @@ class bugModel extends model
|
||||
}
|
||||
|
||||
/**
|
||||
* Check delay bug.
|
||||
* Check delay bugs.
|
||||
*
|
||||
* @param array $bugs
|
||||
* @access public
|
||||
@@ -368,27 +368,38 @@ class bugModel extends model
|
||||
*/
|
||||
public function checkDelayBugs($bugs)
|
||||
{
|
||||
foreach ($bugs as $bug)
|
||||
{
|
||||
// Delayed or not?.
|
||||
if($bug->deadline != '0000-00-00')
|
||||
{
|
||||
if(substr($bug->resolvedDate, 0, 10) != '0000-00-00')
|
||||
{
|
||||
$delay = helper::diffDate(substr($bug->resolvedDate, 0, 10), $bug->deadline);
|
||||
}
|
||||
elseif($bug->status == 'active')
|
||||
{
|
||||
$delay = helper::diffDate(helper::today(), $bug->deadline);
|
||||
}
|
||||
|
||||
if(isset($delay) and $delay > 0) $bug->delay = $delay;
|
||||
}
|
||||
}
|
||||
foreach ($bugs as $bug) $bug = $this->checkDelayBug($bug);
|
||||
|
||||
return $bugs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check delay bug.
|
||||
*
|
||||
* @param array $bug
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function checkDelayBug($bug)
|
||||
{
|
||||
// Delayed or not?.
|
||||
if($bug->deadline != '0000-00-00')
|
||||
{
|
||||
if($bug->resolvedDate and substr($bug->resolvedDate, 0, 10) != '0000-00-00')
|
||||
{
|
||||
$delay = helper::diffDate(substr($bug->resolvedDate, 0, 10), $bug->deadline);
|
||||
}
|
||||
elseif($bug->status == 'active')
|
||||
{
|
||||
$delay = helper::diffDate(helper::today(), $bug->deadline);
|
||||
}
|
||||
|
||||
if(isset($delay) and $delay > 0) $bug->delay = $delay;
|
||||
}
|
||||
|
||||
return $bug;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get bugs of a module.
|
||||
*
|
||||
@@ -469,7 +480,7 @@ class bugModel extends model
|
||||
|
||||
$bug->files = $this->loadModel('file')->getByObject('bug', $bugID);
|
||||
|
||||
return $bug;
|
||||
return $this->checkDelayBug($bug);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2637,7 +2648,7 @@ class bugModel extends model
|
||||
$params = "bugID=$bug->id";
|
||||
common::printIcon('bug', 'confirmBug', $params, $bug, 'list', 'confirm', '', 'iframe', true);
|
||||
common::printIcon('bug', 'resolve', $params, $bug, 'list', 'checked', '', 'iframe', true);
|
||||
common::printIcon('bug', 'close', $params, $bug, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('bug', 'close', $params, $bug, 'list', 'close', '', 'iframe', true);
|
||||
common::printIcon('bug', 'edit', $params, $bug, 'list');
|
||||
common::printIcon('bug', 'create', "product=$bug->product&branch=$bug->branch&extra=$params", $bug, 'list', 'copy');
|
||||
break;
|
||||
|
||||
@@ -37,7 +37,7 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
if($moduleID)
|
||||
{
|
||||
$removeLink = $browseType == 'bymodule' ? inlink('browse', "productID=$productID&branch=$branch&browseType=$browseType¶m=0&orderBy=$orderBy&recTotal=0&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("bugModule")';
|
||||
echo html::a($removeLink, "<i class='icon icon-sm icon-close'></i>", '', "class='text-muted'");
|
||||
echo html::a($removeLink, "<i class='icon icon-sm icon-trashclose'></i>", '', "class='text-muted'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
common::printIcon('bug', 'confirmBug', $params, $bug, 'button', 'search', '', 'iframe', true);
|
||||
common::printIcon('bug', 'assignTo', $params, $bug, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('bug', 'resolve', $params, $bug, 'button', 'checked', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('bug', 'close', $params, $bug, 'button', '', '', 'text-danger iframe showinonlybody', true);
|
||||
common::printIcon('bug', 'close', $params, $bug, 'button', 'close', '', 'text-danger iframe showinonlybody', true);
|
||||
common::printIcon('bug', 'activate', $params, $bug, 'button', '', '', 'text-success iframe showinonlybody', true);
|
||||
|
||||
if($config->global->flow != 'onlyTest') common::printIcon('bug', 'toStory', "product=$bug->product&branch=$bug->branch&module=0&story=0&project=0&bugID=$bug->id", $bug, 'button', $lang->icons['story']);
|
||||
@@ -82,7 +82,7 @@
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('bug', 'edit', $params, $bug);
|
||||
common::printIcon('bug', 'create', $copyParams, $bug, 'button', 'copy');
|
||||
common::printIcon('bug', 'delete', $params, $bug, 'button', '', 'hiddenwin');
|
||||
common::printIcon('bug', 'delete', $params, $bug, 'button', 'trash', 'hiddenwin');
|
||||
?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
@@ -200,7 +200,12 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->deadline;?></th>
|
||||
<td><?php if($bug->deadline) echo $bug->deadline;?></td>
|
||||
<td>
|
||||
<?php
|
||||
if($bug->deadline) echo $bug->deadline;
|
||||
if(isset($bug->delay)) printf($lang->bug->delayWarning, $bug->delay);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->os;?></th>
|
||||
|
||||
@@ -45,7 +45,7 @@ tbody tr td:first-child input{display:none;}
|
||||
if(common::hasPriv('build', 'linkBug')) echo html::a(inlink('view', "buildID=$build->id&type=bug&link=true"), '<i class="icon-bug"></i> ' . $lang->build->linkBug, '', "class='btn btn-link'");
|
||||
}
|
||||
common::printIcon('build', 'edit', "buildID=$build->id", $build);
|
||||
common::printIcon('build', 'delete', "buildID=$build->id", $build, 'button', '', 'hiddenwin');
|
||||
common::printIcon('build', 'delete', "buildID=$build->id", $build, 'button', 'trash', 'hiddenwin');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -105,7 +105,7 @@ js::set('confirmDelete', $lang->user->confirmDelete);
|
||||
common::printIcon('user', 'edit', "userID=$user->id&from=company", '', 'list');
|
||||
|
||||
$deleteClass = (strpos($this->app->company->admins, ",{$user->account},") === false and common::hasPriv('user', 'delete')) ? 'btn iframe' : 'btn disabled';
|
||||
echo html::a($this->createLink('user', 'delete', "userID=$user->id"), '<i class="icon-close"></i>', '', "title='{$lang->user->delete}' class='{$deleteClass}'");
|
||||
echo html::a($this->createLink('user', 'delete', "userID=$user->id"), '<i class="icon-trash"></i>', '', "title='{$lang->user->delete}' class='{$deleteClass}'");
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -187,6 +187,10 @@ $lang->doclib->select = 'Select';
|
||||
$lang->doclib->project = $lang->projectCommon . ' Library';
|
||||
$lang->doclib->product = $lang->productCommon . ' Library';
|
||||
|
||||
$lang->doclib->create['product'] = 'Create ' . $lang->productCommon . ' Library';
|
||||
$lang->doclib->create['project'] = 'Create ' . $lang->projectCommon . ' Library';
|
||||
$lang->doclib->create['custom'] = 'Create Custom Library';
|
||||
|
||||
$lang->doclib->main['product'] = 'Main Library';
|
||||
$lang->doclib->main['project'] = 'Main Library';
|
||||
|
||||
|
||||
@@ -187,6 +187,10 @@ $lang->doclib->select = '选择文档库';
|
||||
$lang->doclib->project = $lang->projectCommon . '库';
|
||||
$lang->doclib->product = $lang->productCommon . '库';
|
||||
|
||||
$lang->doclib->create['product'] = '创建' . $lang->productCommon . '文档库';
|
||||
$lang->doclib->create['project'] = '创建' . $lang->projectCommon . '文档库';
|
||||
$lang->doclib->create['custom'] = '创建自定义文档库';
|
||||
|
||||
$lang->doclib->main['product'] = $lang->productCommon . '主库';
|
||||
$lang->doclib->main['project'] = $lang->projectCommon . '主库';
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ var browseType = '<?php echo $browseType;?>';
|
||||
<ul class='dropdown-menu'>
|
||||
<li><?php common::printLink('tree', 'browse', "libID=$libID&viewType=doc", "<i class='icon icon-cog'></i>" . $lang->doc->manageType);?></li>
|
||||
<li><?php common::printLink('doc', 'editLib', "libID=$libID", "<i class='icon icon-edit'></i>" . $lang->doc->editLib, '', "class='iframe'");?></li>
|
||||
<li><?php common::printLink('doc', 'deleteLib', "libID=$libID", "<i class='icon icon-close'></i>" . $lang->doc->deleteLib, 'hiddenwin');?></li>
|
||||
<li><?php common::printLink('doc', 'deleteLib', "libID=$libID", "<i class='icon icon-trash'></i>" . $lang->doc->deleteLib, 'hiddenwin');?></li>
|
||||
</ul>
|
||||
</div>
|
||||
<?php common::printLink('doc', 'create', "libID=$libID&moduleID=$moduleID", "<i class='icon icon-plus'></i> " . $this->lang->doc->create, '', "class='btn btn-primary'");?>
|
||||
@@ -161,7 +161,7 @@ var browseType = '<?php echo $browseType;?>';
|
||||
<a data-url="<?php echo $this->createLink('doc', 'collect', "objectID=$doc->id&objectType=doc");?>" title="<?php echo $collectTitle;?>" class='btn btn-link ajaxCollect'><i class='icon <?php echo $star;?>'></i></a>
|
||||
<?php endif;?>
|
||||
<?php common::printLink('doc', 'edit', "docID=$doc->id", "<i class='icon icon-edit'></i>", '', "title='{$lang->edit}' class='btn btn-link'")?>
|
||||
<?php common::printLink('doc', 'delete', "docID=$doc->id", "<i class='icon icon-close'></i>", 'hiddenwin', "title='{$lang->delete}' class='btn btn-link'")?>
|
||||
<?php common::printLink('doc', 'delete', "docID=$doc->id", "<i class='icon icon-trash'></i>", 'hiddenwin', "title='{$lang->delete}' class='btn btn-link'")?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
<button class="btn" type="button" data-toggle="dropdown"><i class='icon-cog'></i> <span class="caret"></span></button>
|
||||
<ul class='dropdown-menu'>
|
||||
<li><?php common::printLink('tree', 'browse', "libID=$libID&viewType=doc", "<i class='icon icon-cog'></i>" . $lang->doc->manageType);?></li>
|
||||
<li><?php common::printLink('doc', 'editLib', "libID=$libID", "<i class='icon icon-edit'></i>" . $lang->edit, '', "class='iframe'");?></li>
|
||||
<li><?php common::printLink('doc', 'deleteLib', "libID=$libID", "<i class='icon icon-close'></i>" . $lang->delete, 'hiddenwin');?></li>
|
||||
<li><?php common::printLink('doc', 'editLib', "libID=$libID", "<i class='icon icon-edit'></i>" . $lang->doc->editLib, '', "class='iframe'");?></li>
|
||||
<li><?php common::printLink('doc', 'deleteLib', "libID=$libID", "<i class='icon icon-trash'></i>" . $lang->doc->deleteLib, 'hiddenwin');?></li>
|
||||
</ul>
|
||||
</div>
|
||||
<?php common::printLink('doc', 'create', "libID=$libID&moduleID=$moduleID", "<i class='icon icon-plus'></i> " . $this->lang->doc->create, '', "class='btn btn-primary'");?>
|
||||
@@ -128,7 +128,7 @@
|
||||
<a data-url="<?php echo $this->createLink('doc', 'collect', "objectID={$doc->id}&objectType=doc");?>" title="<?php echo $collectTitle;?>" class='btn btn-link ajaxCollect'><i class='icon <?php echo $star;?>'></i></a>
|
||||
<?php endif;?>
|
||||
<?php common::printLink('doc', 'edit', "docID={$doc->id}", "<i class='icon icon-edit'></i>", '', "title='{$lang->edit}' class='btn btn-link'")?>
|
||||
<?php common::printLink('doc', 'delete', "docID={$doc->id}", "<i class='icon icon-close'></i>", '', "title='{$lang->delete}' class='btn btn-link'")?>
|
||||
<?php common::printLink('doc', 'delete', "docID={$doc->id}", "<i class='icon icon-trash'></i>", '', "title='{$lang->delete}' class='btn btn-link'")?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach;?>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<a data-url="<?php echo $this->createLink('doc', 'collect', "objectID=$libID&objectType=doclib");?>" title="<?php echo $collectTitle;?>" class='btn btn-link ajaxCollect'><i class='icon <?php echo $star;?>'></i></a>
|
||||
<?php endif;?>
|
||||
<?php common::printLink('doc', 'editLib', "libID=$libID", "<i class='icon icon-edit'></i>", '', "title='{$lang->edit}' class='btn btn-link iframe'")?>
|
||||
<?php if(empty($lib->main)) common::printLink('doc', 'deleteLib', "libID=$libID", "<i class='icon icon-close'></i>", 'hiddenwin', "title='{$lang->delete}' class='btn btn-link'")?>
|
||||
<?php if(empty($lib->main)) common::printLink('doc', 'deleteLib', "libID=$libID", "<i class='icon icon-trash'></i>", 'hiddenwin', "title='{$lang->delete}' class='btn btn-link'")?>
|
||||
<?php common::printLink('tree', 'browse', "rootID=$libID&type=doc", "<i class='icon icon-cog'></i>", '', "title='{$lang->doc->manageType}' class='btn btn-link'")?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<a data-url="<?php echo $this->createLink('doc', 'collect', "objectID=$libID&objectType=doclib");?>" title="<?php echo $collectTitle;?>" class='btn btn-link ajaxCollect'><i class='icon <?php echo $star;?>'></i></a>
|
||||
<?php endif;?>
|
||||
<?php common::printLink('doc', 'editLib', "libID=$libID", "<i class='icon icon-edit'></i>", '', "title='{$lang->edit}' class='btn btn-link iframe'")?>
|
||||
<?php if(empty($lib->main)) common::printLink('doc', 'deleteLib', "libID=$libID", "<i class='icon icon-close'></i>", 'hiddenwin', "title='{$lang->delete}' class='btn btn-link'")?>
|
||||
<?php if(empty($lib->main)) common::printLink('doc', 'deleteLib', "libID=$libID", "<i class='icon icon-trash'></i>", 'hiddenwin', "title='{$lang->delete}' class='btn btn-link'")?>
|
||||
<?php common::printLink('tree', 'browse', "rootID=$libID&type=doc", "<i class='icon icon-cog'></i>", '', "title='{$lang->doc->manageType}' class='btn btn-link'")?>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
</div>
|
||||
<div class='actions'>
|
||||
<?php if(common::hasPriv('file', 'delete')): ?>
|
||||
<a href='<?php echo $this->createLink('file', 'delete', "fileID=$file->id"); ?>' target='hiddenwin' title='<?php echo $lang->delete?>' class='delete btn btn-link'><i class='icon icon-close'></i></a>
|
||||
<a href='<?php echo $this->createLink('file', 'delete', "fileID=$file->id"); ?>' target='hiddenwin' title='<?php echo $lang->delete?>' class='delete btn btn-link'><i class='icon icon-trash'></i></a>
|
||||
<?php endif?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -32,6 +32,14 @@ if(empty($type)) $type = 'product';
|
||||
<div class="tab-pane <?php echo $activeClass;?>" id="<?php echo "$tabValue";?>">
|
||||
<ul data-name="docsTree" data-ride="tree" data-initial-state="preserve" class="tree no-margin">
|
||||
<?php if(isset($sideSubLibs[$tabValue])):?>
|
||||
<?php if(empty($sideLibs[$tabValue])):?>
|
||||
<li>
|
||||
<?php
|
||||
$text = zget($lang->doclib->create, $tabValue, '');
|
||||
if($text) echo html::a($this->createLink($tabValue, 'create'), $text, '', "class='text-ellipsis'");
|
||||
?>
|
||||
</li>
|
||||
<?php else:?>
|
||||
<?php foreach($sideLibs[$tabValue] as $tabMenu):?>
|
||||
<?php
|
||||
$customLibCount = 0;
|
||||
@@ -110,8 +118,17 @@ if(empty($type)) $type = 'product';
|
||||
<?php endif;?>
|
||||
</li>
|
||||
<?php endforeach;?>
|
||||
<?php endif;?>
|
||||
<?php else:?>
|
||||
|
||||
<?php if(empty($sideLibs[$tabValue])):?>
|
||||
<li>
|
||||
<?php
|
||||
$text = zget($lang->doclib->create, $tabValue, '');
|
||||
if($text) echo html::a($this->createLink('doc', 'createLib', "type={$tabValue}"), $text, '', "class='iframe'");
|
||||
?>
|
||||
</li>
|
||||
<?php else:?>
|
||||
<?php foreach($sideLibs[$tabValue] as $sideLibID => $sideLibName):?>
|
||||
<?php if($tabValue == 'book'):?>
|
||||
<?php include './bookside.html.php';?>
|
||||
@@ -138,6 +155,7 @@ if(empty($type)) $type = 'product';
|
||||
<?php endforeach;?>
|
||||
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endforeach;?>
|
||||
|
||||
@@ -117,7 +117,7 @@ js::set('sysurl', common::getSysUrl());
|
||||
<img onload="setImageSize(this, 0)" src="<?php echo $this->createLink('file', 'read', "fileID={$file->id}");?>" alt="<?php echo $file->title?>">
|
||||
</a>
|
||||
<span class='right-icon'>
|
||||
<?php if(common::hasPriv('file', 'delete')) echo html::a('###', "<i class='icon icon-close'></i>", '', "class='btn-icon' onclick='deleteFile($file->id)' title='$lang->delete'");?>
|
||||
<?php if(common::hasPriv('file', 'delete')) echo html::a('###', "<i class='icon icon-trash'></i>", '', "class='btn-icon' onclick='deleteFile($file->id)' title='$lang->delete'");?>
|
||||
</span>
|
||||
</div>
|
||||
<?php unset($doc->files[$file->id]);?>
|
||||
@@ -136,7 +136,7 @@ js::set('sysurl', common::getSysUrl());
|
||||
if(!$doc->deleted)
|
||||
{
|
||||
common::printIcon('doc', 'edit', "docID=$doc->id", $doc);
|
||||
common::printIcon('doc', 'delete', "docID=$doc->id", $doc, 'button', '', 'hiddenwin');
|
||||
common::printIcon('doc', 'delete', "docID=$doc->id", $doc, 'button', 'trash', 'hiddenwin');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
if(common::hasPriv('group', 'delete') and $group->role != 'limited')
|
||||
{
|
||||
$deleteURL = $this->createLink('group', 'delete', "groupID=$group->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\", \"groupList\", confirmDelete)", '<i class="icon icon-close"></i>', '', "title='{$lang->group->delete}' class='btn'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\", \"groupList\", confirmDelete)", '<i class="icon icon-trash"></i>', '', "title='{$lang->group->delete}' class='btn'");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+22
-16
@@ -22,23 +22,29 @@ class myModel extends model
|
||||
public function setMenu()
|
||||
{
|
||||
/* Adjust the menu order according to the user role. */
|
||||
$role = $this->app->user->role;
|
||||
if($role == 'qa')
|
||||
$flowModule = $this->config->global->flow . '_my';
|
||||
$customMenu = isset($this->config->customMenu->$flowModule) ? $this->config->customMenu->$flowModule : array();
|
||||
|
||||
if(empty($customMenu))
|
||||
{
|
||||
unset($this->lang->my->menuOrder[20]);
|
||||
$this->lang->my->menuOrder[32] = 'task';
|
||||
}
|
||||
elseif($role == 'po')
|
||||
{
|
||||
unset($this->lang->my->menuOrder[35]);
|
||||
unset($this->lang->my->menuOrder[20]);
|
||||
$this->lang->my->menuOrder[17] = 'story';
|
||||
$this->lang->my->menuOrder[42] = 'task';
|
||||
}
|
||||
elseif($role == 'pm')
|
||||
{
|
||||
unset($this->lang->my->menuOrder[40]);
|
||||
$this->lang->my->menuOrder[17] = 'myProject';
|
||||
$role = $this->app->user->role;
|
||||
if($role == 'qa')
|
||||
{
|
||||
unset($this->lang->my->menuOrder[15]);
|
||||
$this->lang->my->menuOrder[32] = 'task';
|
||||
$this->lang->my->dividerMenu = str_replace(',task,', ',' , $this->lang->my->menuOrder[20] . ',', $this->lang->my->dividerMenu);
|
||||
}
|
||||
elseif($role == 'po')
|
||||
{
|
||||
$this->lang->my->menuOrder[15] = 'story';
|
||||
$this->lang->my->menuOrder[30] = 'task';
|
||||
$this->lang->my->dividerMenu = str_replace(',task,', ',story,', $this->lang->my->dividerMenu);
|
||||
}
|
||||
elseif($role == 'pm')
|
||||
{
|
||||
unset($this->lang->my->menuOrder[35]);
|
||||
$this->lang->my->menuOrder[17] = 'myProject';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
$params = "bugID=$bug->id";
|
||||
common::printIcon('bug', 'confirmBug', $params, $bug, 'list', 'confirm', '', 'iframe', true);
|
||||
common::printIcon('bug', 'resolve', $params, $bug, 'list', 'checked', '', 'iframe', true);
|
||||
common::printIcon('bug', 'close', $params, $bug, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('bug', 'close', $params, $bug, 'list', 'close', '', 'iframe', true);
|
||||
common::printIcon('bug', 'edit', $params, $bug, 'list');
|
||||
common::printIcon('bug', 'create', "product=$bug->product&branch=$bug->branch&extra=$params", $bug, 'list', 'copy');
|
||||
?>
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
$vars = "story={$story->id}";
|
||||
common::printIcon('story', 'change', $vars, $story, 'list', 'fork');
|
||||
common::printIcon('story', 'review', $vars, $story, 'list', 'glasses');
|
||||
common::printIcon('story', 'close', $vars, $story, 'list', 'off', '', 'iframe', true);
|
||||
common::printIcon('story', 'close', $vars, $story, 'list', 'close', '', 'iframe', true);
|
||||
common::printIcon('story', 'edit', $vars, $story, 'list');
|
||||
if($config->global->flow != 'onlyStory') common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=¶m=0&$vars", $story, 'list', 'sitemap');
|
||||
?>
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
{
|
||||
if($task->status != 'pause') common::printIcon('task', 'start', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
if($task->status == 'pause') common::printIcon('task', 'restart', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'close', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'close', "taskID=$task->id", $task, 'list', 'close', '', 'iframe', true, '');
|
||||
common::printIcon('task', 'finish', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
|
||||
common::printIcon('task', 'recordEstimate', "taskID=$task->id", $task, 'list', 'time', '', 'iframe', true);
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
if(common::hasPriv('testtask', 'delete', $task))
|
||||
{
|
||||
$deleteURL = $this->createLink('testtask', 'delete', "taskID=$task->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"taskList\",confirmDelete)", '<i class="icon-common-delete icon-close"></i>', '', "title='{$lang->testtask->delete}' class='btn'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"taskList\",confirmDelete)", '<i class="icon-common-delete icon-trash"></i>', '', "title='{$lang->testtask->delete}' class='btn'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
if(common::hasPriv('todo', 'delete'))
|
||||
{
|
||||
$deleteURL = $this->createLink('todo', 'delete', "todoID=$todo->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"todoList\",confirmDelete)", '<i class="icon-close"></i>', '', "class='btn' title='{$lang->todo->delete}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"todoList\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn' title='{$lang->todo->delete}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -87,12 +87,12 @@
|
||||
echo "<div class='divider'></div>";
|
||||
if($product->status != 'closed')
|
||||
{
|
||||
common::printIcon('product', 'close', $params, $product, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('product', 'close', $params, $product, 'button', 'close', '', 'iframe', true);
|
||||
echo "<div class='divider'></div>";
|
||||
}
|
||||
|
||||
common::printIcon('product', 'edit', $params, $product);
|
||||
common::printIcon('product', 'delete', $params, $product, 'button', '', 'hiddenwin');
|
||||
common::printIcon('product', 'delete', $params, $product, 'button', 'trash', 'hiddenwin');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -121,14 +121,14 @@
|
||||
common::printIcon('productplan', 'edit', "planID=$plan->id", $plan, 'list');
|
||||
if(common::hasPriv('productplan', 'create'))
|
||||
{
|
||||
if($plan->parent > '0') echo "<button type='button' class='disabled btn'><i class='disabled icon-treemap-alt' title='{$this->lang->productplan->children}'></i></button>";
|
||||
if($plan->parent > '0') echo "<button type='button' class='disabled btn'><i class='disabled icon-treemap-alt' title='{$this->lang->productplan->children}'></i></button> ";
|
||||
if($plan->parent <= '0') echo html::a($this->createLink('productplan', 'create', "product=$productID&branch=$branch&parent={$plan->id}"), "<i class='icon-treemap-alt'></i>", '', "class='btn' title='{$this->lang->productplan->children}'");
|
||||
}
|
||||
|
||||
if(common::hasPriv('productplan', 'delete', $plan))
|
||||
{
|
||||
$deleteURL = $this->createLink('productplan', 'delete', "planID=$plan->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"productplanList\",confirmDelete)", '<i class="icon-close"></i>', '', "class='btn' title='{$lang->productplan->delete}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"productplanList\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn' title='{$lang->productplan->delete}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
}
|
||||
if(common::hasPriv('productplan', 'create') and $plan->parent <= '0') echo html::a($this->createLink('productplan', 'create', "product={$plan->product}&branch={$plan->branch}&parent={$plan->id}"), "<i class='icon-treemap-alt'></i>", '', "class='btn btn-link' title='{$this->lang->productplan->children}'");
|
||||
common::printIcon('productplan', 'edit', "planID=$plan->id", $plan);
|
||||
common::printIcon('productplan', 'delete', "planID=$plan->id", $plan, 'button', '', 'hiddenwin');
|
||||
common::printIcon('productplan', 'delete', "planID=$plan->id", $plan, 'button', 'trash', 'hiddenwin');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
$params = "bugID=$bug->id";
|
||||
common::printIcon('bug', 'confirmBug', $params, $bug, 'list', 'confirm', '', 'iframe', true);
|
||||
common::printIcon('bug', 'resolve', $params, $bug, 'list', 'checked', '', 'iframe', true);
|
||||
common::printIcon('bug', 'close', $params, $bug, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('bug', 'close', $params, $bug, 'list', 'close', '', 'iframe', true);
|
||||
common::printIcon('bug', 'create', "product=$bug->product&branch=$bug->branch&extra=$params", $bug, 'list', 'copy');
|
||||
common::printIcon('bug', 'edit', $params, $bug, 'list');
|
||||
?>
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
if(common::hasPriv('build', 'delete', $build))
|
||||
{
|
||||
$deleteURL = $this->createLink('build', 'delete', "buildID=$build->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"buildList\",confirmDelete)", '<i class="icon-close"></i>', '', "class='btn' title='{$lang->build->delete}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"buildList\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn' title='{$lang->build->delete}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
<td class="c-actions">
|
||||
<?php common::printIcon('task', 'assignTo', "projectID=$task->project&taskID=$task->id", $task, 'list', '', '', 'iframe', true);?>
|
||||
<?php common::printIcon('task', 'edit', "taskid=$task->id", '', 'list');?>
|
||||
<?php common::printIcon('task', 'delete', "projectID=$task->project&taskid=$task->id", '', 'list', '', 'hiddenwin');?>
|
||||
<?php common::printIcon('task', 'delete', "projectID=$task->project&taskid=$task->id", '', 'list', 'trash', 'hiddenwin');?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php $i++;?>
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
if (common::hasPriv('project', 'unlinkMember', $member))
|
||||
{
|
||||
$unlinkURL = $this->createLink('project', 'unlinkMember', "projectID=$project->id&account=$member->account&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"memberList\",confirmUnlinkMember)", '<i class="icon-green-project-unlinkMember icon-close"></i>', '', "class='btn' title='{$lang->project->unlinkMember}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"memberList\",confirmUnlinkMember)", '<i class="icon-green-project-unlinkMember icon-unlink"></i>', '', "class='btn' title='{$lang->project->unlinkMember}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
if(common::hasPriv('testtask', 'delete', $task))
|
||||
{
|
||||
$deleteURL = $this->createLink('testtask', 'delete', "taskID=$task->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"taskList\",confirmDelete)", '<i class="icon-close"></i>', '', "class='btn' title='{$lang->testtask->delete}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"taskList\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn' title='{$lang->testtask->delete}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
common::printIcon('story', 'change', $vars, $story, 'list', 'fork', '', 'btn btn-info btn-icon');
|
||||
common::printIcon('story', 'delete', $vars, $story, 'list', 'trash', 'hiddenwin', 'btn btn-info btn-icon');
|
||||
common::printIcon('story', 'review', $vars, $story, 'list', 'glasses', '', 'btn btn-info btn-icon');
|
||||
common::printIcon('story', 'close', $vars, $story, 'list', 'off', '', 'btn btn-info btn-icon iframe', true);
|
||||
common::printIcon('story', 'close', $vars, $story, 'list', 'close', '', 'btn btn-info btn-icon iframe', true);
|
||||
common::printIcon('story', 'edit', $vars, $story, 'list', '', '', 'btn btn-info btn-icon');
|
||||
if($config->global->flow != 'onlyStory') common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=¶m=0&$vars", $story, 'list', 'sitemap', '', 'btn btn-info btn-icon');
|
||||
?>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
if($task->status == 'wait') common::printIcon('task', 'finish', "taskID=$task->id", $task, 'list', '', '', 'btn btn-info btn-icon iframe', true);
|
||||
if($task->status == 'wait') common::printIcon('task', 'start', "taskID=$task->id", $task, 'list', '', '', 'btn btn-info btn-icon iframe', true);
|
||||
if($task->status == 'pause') common::printIcon('task', 'restart', "taskID=$task->id", $task, 'list', '', '', 'btn btn-info btn-icon iframe', true);
|
||||
if($task->status == 'done' or $task->status == 'cancel' or $task->status == 'closed') common::printIcon('task', 'close', "taskID=$task->id", $task, 'list', '', '', 'btn btn-info btn-icon iframe', true);
|
||||
if($task->status == 'done' or $task->status == 'cancel' or $task->status == 'closed') common::printIcon('task', 'close', "taskID=$task->id", $task, 'list', 'close', '', 'btn btn-info btn-icon iframe', true);
|
||||
if($task->status == 'doing') common::printIcon('task', 'finish', "taskID=$task->id", $task, 'list', '', '', 'btn btn-info btn-icon iframe', true);
|
||||
|
||||
common::printIcon('task', 'recordEstimate', "taskID=$task->id", $task, 'list', 'time', '', 'btn btn-info btn-icon iframe', true);
|
||||
|
||||
@@ -157,11 +157,11 @@
|
||||
common::printIcon('project', 'activate', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'putoff', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'suspend', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'close', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'close', "projectID=$project->id", $project, 'button', 'close', '', 'iframe', true);
|
||||
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('project', 'edit', $params, $project);
|
||||
common::printIcon('project', 'delete', $params, $project, 'button', '', 'hiddenwin');
|
||||
common::printIcon('project', 'delete', $params, $project, 'button', 'trash', 'hiddenwin');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
if(common::hasPriv('release', 'delete', $release))
|
||||
{
|
||||
$deleteURL = $this->createLink('release', 'delete', "releaseID=$release->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"releaseList\",confirmDelete)", '<i class="icon-close"></i>', '', "class='btn' title='{$lang->release->delete}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"releaseList\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn' title='{$lang->release->delete}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
echo html::a(inlink('changeStatus', "releaseID=$release->id&status=$changedStatus"), '<i class="icon-' . ($release->status == 'normal' ? 'pause' : 'play') . '"></i> ', 'hiddenwin', "class='btn btn-link' title='{$lang->release->changeStatusList[$changedStatus]}'");
|
||||
}
|
||||
common::printIcon('release', 'edit', "releaseID=$release->id", $release);
|
||||
common::printIcon('release', 'delete', "releaseID=$release->id", $release, 'button', '', 'hiddenwin');
|
||||
common::printIcon('release', 'delete', "releaseID=$release->id", $release, 'button', 'trash', 'hiddenwin');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -215,7 +215,7 @@ foreach($fieldParams as $fieldName => $param)
|
||||
echo html::commonButton($lang->search->reset, '', 'btn-reset-form btn');
|
||||
}
|
||||
echo html::commonButton('<i class="icon icon-chevron-double-down"></i>', '', 'btn-expand-form btn btn-info pull-right');
|
||||
echo html::hidden('formType', 'lite');
|
||||
echo html::hidden('formType', zget($formSession, 'formType', 'lite'));
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -287,8 +287,7 @@ $(function()
|
||||
}
|
||||
}
|
||||
|
||||
$searchForm.find('#formType').val(expand ? 'more' : '');
|
||||
$searchForm.toggleClass('showmore', expand);
|
||||
$searchForm.find('#formType').val(expand ? 'more' : 'lite');
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -441,6 +440,7 @@ $(function()
|
||||
|
||||
$searchForm.find('.btn-save-form').modalTrigger({width:650, type:'iframe', title: setQueryTitle});
|
||||
|
||||
if($('#formType').val() == 'more') expandForm(true);
|
||||
$searchForm.on('click', '.user-query .icon-close', function(e)
|
||||
{
|
||||
var $query = $(this).closest('.user-query');
|
||||
@@ -457,6 +457,6 @@ $(function()
|
||||
$searchForm.find('.table-condensed input.date').each(function()
|
||||
{
|
||||
setDateField($(this), $(this).attr('id').substr(5));
|
||||
})
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -485,6 +485,7 @@ class storyModel extends model
|
||||
->setDefault('status', $oldStory->status)
|
||||
->setDefault('product', $oldStory->product)
|
||||
->setDefault('branch', $oldStory->branch)
|
||||
->setIF(!$this->post->linkStories, 'linkStories', '')
|
||||
->setIF($this->post->assignedTo != $oldStory->assignedTo, 'assignedDate', $now)
|
||||
->setIF($this->post->closedBy != false and $oldStory->closedDate == '', 'closedDate', $now)
|
||||
->setIF($this->post->closedReason != false and $oldStory->closedDate == '', 'closedDate', $now)
|
||||
@@ -2457,7 +2458,7 @@ class storyModel extends model
|
||||
$vars = "story={$story->id}";
|
||||
common::printIcon('story', 'change', $vars, $story, 'list', 'fork');
|
||||
common::printIcon('story', 'review', $vars, $story, 'list', 'glasses');
|
||||
common::printIcon('story', 'close', $vars, $story, 'list', 'off', '', 'iframe', true);
|
||||
common::printIcon('story', 'close', $vars, $story, 'list', 'close', '', 'iframe', true);
|
||||
common::printIcon('story', 'edit', $vars, $story, 'list');
|
||||
if($this->config->global->flow != 'onlyStory') common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=¶m=0&$vars", $story, 'list', 'sitemap');
|
||||
break;
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
if(common::hasPriv('story', 'batchCreate')) echo html::a($link, "<i class='icon icon-sitemap'></i> " . $lang->story->subdivide, '', $misc);
|
||||
}
|
||||
|
||||
common::printIcon('story', 'close', "storyID=$story->id", $story, 'button', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('story', 'close', "storyID=$story->id", $story, 'button', 'close', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('story', 'activate', "storyID=$story->id", $story, 'button', '', '', 'iframe showinonlybody', true);
|
||||
|
||||
if($config->global->flow != 'onlyStory' and !isonlybody() and (common::hasPriv('testcase', 'create') or common::hasPriv('testcase', 'batchCreate')))
|
||||
@@ -105,7 +105,7 @@
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('story', 'edit', "storyID=$story->id", $story);
|
||||
common::printIcon('story', 'create', "productID=$story->product&branch=$story->branch&moduleID=$story->module&storyID=$story->id", $story, 'button', 'copy', '', 'iframe showinonlybody', true, "data-width='1050'");
|
||||
common::printIcon('story', 'delete', "storyID=$story->id", $story, 'button', '', 'hiddenwin');
|
||||
common::printIcon('story', 'delete', "storyID=$story->id", $story, 'button', 'trash', 'hiddenwin');
|
||||
?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
|
||||
@@ -2619,7 +2619,7 @@ class taskModel extends model
|
||||
|
||||
if($task->status != 'pause') common::printIcon('task', 'start', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
if($task->status == 'pause') common::printIcon('task', 'restart', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'close', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'close', "taskID=$task->id", $task, 'list', 'close', '', 'iframe', true);
|
||||
common::printIcon('task', 'finish', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
|
||||
common::printIcon('task', 'recordEstimate', "taskID=$task->id", $task, 'list', 'time', '', 'iframe', true);
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
common::printIcon('task', 'activate', "taskID=$child->id", $child, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'recordEstimate', "taskID=$child->id", $child, 'list', 'time', '', 'iframe', true);
|
||||
common::printIcon('task', 'finish', "taskID=$child->id", $child, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'close', "taskID=$child->id", $child, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'close', "taskID=$child->id", $child, 'list', 'close', '', 'iframe', true);
|
||||
common::printIcon('task', 'edit', "taskID=$child->id", $child, 'list');
|
||||
?>
|
||||
</td>
|
||||
@@ -159,14 +159,14 @@
|
||||
common::printIcon('task', 'pause', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('task', 'finish', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody text-success', true);
|
||||
common::printIcon('task', 'activate', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody text-success', true);
|
||||
common::printIcon('task', 'close', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('task', 'close', "taskID=$task->id", $task, 'button', 'close', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('task', 'cancel', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody', true);
|
||||
|
||||
if(!isonlybody()) echo "<div class='divider'></div>";
|
||||
if(empty($task->team) or empty($task->children)) common::printIcon('task', 'batchCreate', "project=$task->project&storyID=$task->story&moduleID=$task->module&taskID=$task->id", $task, 'button','plus','','','','',' ');
|
||||
common::printIcon('task', 'edit', "taskID=$task->id", $task);
|
||||
common::printIcon('task', 'create', "productID=0&storyID=0&moduleID=0&taskID=$task->id", $task, 'button', 'copy');
|
||||
common::printIcon('task', 'delete', "projectID=$task->project&taskID=$task->id", $task, 'button', '', 'hiddenwin');
|
||||
common::printIcon('task', 'delete', "projectID=$task->project&taskID=$task->id", $task, 'button', 'trash', 'hiddenwin');
|
||||
|
||||
if($task->parent > 0) echo html::a(helper::createLink('task', 'view', "taskID=$task->parent"), "<i class='icon icon-chevron-double-up'></i>", '', "class='btn btn-link' title='{$lang->task->parent}'");
|
||||
?>
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
common::printIcon('testcase', 'edit',"caseID=$case->id", $case);
|
||||
if(!$isLibCase) common::printIcon('testcase', 'create', "productID=$case->product&branch=$case->branch&moduleID=$case->module&from=testcase¶m=$case->id", $case, 'button', 'copy');
|
||||
if($isLibCase and common::hasPriv('testsuite', 'createCase')) echo html::a($this->createLink('testsuite', 'createCase', "libID=$case->lib&moduleID=$case->module¶m=$case->id", $case), "<i class='icon-copy'></i>", '', "class='btn' title='{$lang->testcase->copy}'");
|
||||
common::printIcon('testcase', 'delete', "caseID=$case->id", $case, 'button', '', 'hiddenwin');
|
||||
common::printIcon('testcase', 'delete', "caseID=$case->id", $case, 'button', 'trash', 'hiddenwin');
|
||||
?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
<?php
|
||||
if(common::hasPriv('testreport', 'create')) echo html::a(inLink('create', "objectID=$report->objectID&objectType=$report->objectType"), "<i class='icon-refresh'></i>", '', "class='btn' title='{$lang->testreport->recreate}'");
|
||||
common::printIcon('testreport', 'edit', "reportID=$report->id", '', 'button');
|
||||
common::printIcon('testreport', 'delete', "reportID=$report->id", '', 'button', '', 'hiddenwin');
|
||||
common::printIcon('testreport', 'delete', "reportID=$report->id", '', 'button', 'trash', 'hiddenwin');
|
||||
?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
if(common::hasPriv('testsuite', 'delete', $suite))
|
||||
{
|
||||
$deleteURL = $this->createLink('testsuite', 'delete', "suiteID=$suite->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"suiteList\",confirmDelete)", '<i class="icon icon-sm icon-close"></i>', '', "title='{$lang->testsuite->delete}' class='btn'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"suiteList\",confirmDelete)", '<i class="icon icon-trash"></i>', '', "title='{$lang->testsuite->delete}' class='btn'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -146,7 +146,7 @@ js::set('flow', $config->global->flow);
|
||||
if(common::hasPriv('testcase', 'delete'))
|
||||
{
|
||||
$deleteURL = $this->createLink('testcase', 'delete', "caseID=$case->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"caseList\",confirmDelete)", '<i class="icon icon-close"></i>', '', "title='{$lang->testcase->delete}' class='btn'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"caseList\",confirmDelete)", '<i class="icon icon-trash"></i>', '', "title='{$lang->testcase->delete}' class='btn'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
{
|
||||
common::printIcon('testsuite', 'linkCase', "suiteID=$suite->id", $suite, 'button', 'link');
|
||||
common::printIcon('testsuite', 'edit', "suiteID=$suite->id");
|
||||
common::printIcon('testsuite', 'delete', "suiteID=$suite->id", '', 'button', '', 'hiddenwin');
|
||||
common::printIcon('testsuite', 'delete', "suiteID=$suite->id", '', 'button', 'trash', 'hiddenwin');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -1338,15 +1338,15 @@ class testtaskModel extends model
|
||||
/* Set email title. */
|
||||
if($actionType == 'opened')
|
||||
{
|
||||
return sprintf($this->lang->testtask->mail->create->title, $this->app->user->realname, $testtask->id, $testtask->title);
|
||||
return sprintf($this->lang->testtask->mail->create->title, $this->app->user->realname, $testtask->id, $testtask->name);
|
||||
}
|
||||
elseif($actionType == 'closed')
|
||||
{
|
||||
return sprintf($this->lang->testtask->mail->close->title, $this->app->user->realname, $testtask->id, $testtask->title);
|
||||
return sprintf($this->lang->testtask->mail->close->title, $this->app->user->realname, $testtask->id, $testtask->name);
|
||||
}
|
||||
else
|
||||
{
|
||||
return sprintf($this->lang->testtask->mail->edit->title, $this->app->user->realname, $testtask->id, $testtask->title);
|
||||
return sprintf($this->lang->testtask->mail->edit->title, $this->app->user->realname, $testtask->id, $testtask->name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ $status = $this->session->testTaskVersionStatus;
|
||||
if(common::hasPriv('testtask', 'delete', $task))
|
||||
{
|
||||
$deleteURL = $this->createLink('testtask', 'delete', "taskID=$task->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"taskList\",confirmDelete)", '<i class="icon-common-delete icon-close"></i>', '', "title='{$lang->testtask->delete}' class='btn'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"taskList\",confirmDelete)", '<i class="icon-common-delete icon-trash"></i>', '', "title='{$lang->testtask->delete}' class='btn'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
<div class='divider'></div>
|
||||
<?php
|
||||
common::printIcon('testtask', 'start', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('testtask', 'close', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('testtask', 'close', "taskID=$task->id", $task, 'button', 'close', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('testtask', 'block', "taskID=$task->id", $task, 'button', 'pause', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('testtask', 'activate', "taskID=$task->id", $task, 'button', 'magic', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('testtask', 'cases', "taskID=$task->id", $task, 'button', 'sitemap');
|
||||
@@ -58,7 +58,7 @@
|
||||
<div class='divider'></div>
|
||||
<?php
|
||||
common::printIcon('testtask', 'edit', "taskID=$task->id", $task);
|
||||
common::printIcon('testtask', 'delete', "taskID=$task->id", $task, 'button', '', 'hiddenwin');
|
||||
common::printIcon('testtask', 'delete', "taskID=$task->id", $task, 'button', 'trash', 'hiddenwin');
|
||||
?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
if($todo->status == 'done' || $todo->status == 'closed') common::printLink('todo', 'activate', "todoID=$todo->id", "<i class='icon icon-magic'></i>", 'hiddenwin', "title='{$lang->todo->activate}' class='btn showinonlybody'");
|
||||
if($todo->status == 'done') common::printLink('todo', 'close', "todoID=$todo->id", "<i class='icon icon-off'></i>", 'hiddenwin', "title='{$lang->todo->close}' class='btn showinonlybody'");
|
||||
common::printLink('todo', 'edit', "todoID=$todo->id", "<i class='icon icon-edit'></i>", '', "title='{$lang->todo->edit}' class='btn showinonlybody'");
|
||||
common::printLink('todo', 'delete', "todoID=$todo->id", "<i class='icon icon-close'></i>", 'hiddenwin', "title='{$lang->todo->delete}' class='btn showinonlybody'");
|
||||
common::printLink('todo', 'delete', "todoID=$todo->id", "<i class='icon icon-trash'></i>", 'hiddenwin', "title='{$lang->todo->delete}' class='btn showinonlybody'");
|
||||
|
||||
if(common::hasPriv('action', 'comment', $todo)) echo html::a('#commentModal', '<i class="icon-chat-line"></i>', '', "title='{$lang->comment}' data-toggle='modal' class='btn'");
|
||||
|
||||
|
||||
@@ -102,6 +102,19 @@ class tutorial extends control
|
||||
define('TUTORIAL', true);
|
||||
define('WIZARD_MODULE', $module);
|
||||
define('WIZARD_METHOD', $method);
|
||||
|
||||
/* Check priv for tutorial. */
|
||||
$hasPriv = false;
|
||||
foreach($this->lang->tutorial->tasks as $taskName)
|
||||
{
|
||||
$taskModule = strtolower($taskName['nav']['module']);
|
||||
if($taskModule == strtolower($module)) $hasPriv = true;
|
||||
if(isset($this->lang->menugroup->$taskModule) and $this->lang->menugroup->$taskModule == strtolower($module)) $hasPriv = true;
|
||||
if($hasPriv) break;
|
||||
}
|
||||
if(!$hasPriv and $module == 'my' and $method == 'index') $hasPriv = true;
|
||||
if(!$hasPriv) die(js::locate('back'));
|
||||
|
||||
$params = helper::safe64Decode($params);
|
||||
if($_POST)
|
||||
{
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
td.delayed{color:#fff; background: #e84e0f!important;}
|
||||
@@ -39,7 +39,7 @@
|
||||
if(common::hasPriv('webhook', 'delete'))
|
||||
{
|
||||
$deleteURL = $this->createLink('webhook', 'delete', "webhookID=$id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"webhookList\",confirmDelete)", '<i class="icon-close"></i>', '', "title='{$lang->webhook->delete}' class='btn'");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"webhookList\",confirmDelete)", '<i class="icon-trash"></i>', '', "title='{$lang->webhook->delete}' class='btn'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user