Merge branch 'master' of github.com:easysoft/zentaopms

This commit is contained in:
xia0ta0
2013-09-29 13:36:29 +08:00
16 changed files with 241 additions and 68 deletions

View File

@@ -291,13 +291,14 @@ class bug extends control
{
$bug = $this->bug->getById($bugID);
extract((array)$bug);
$projectID = $bug->project;
$moduleID = $bug->module;
$taskID = $bug->task;
$storyID = $bug->story;
$buildID = $bug->openedBuild;
$severity = $bug->severity;
$type = $bug->type;
$projectID = $bug->project;
$moduleID = $bug->module;
$taskID = $bug->task;
$storyID = $bug->story;
$buildID = $bug->openedBuild;
$severity = $bug->severity;
$type = $bug->type;
$assignedTo = $bug->assignedTo;
}
/* If projectID is setted, get builds and stories of this project. */

View File

@@ -5,13 +5,15 @@ $(function()
if(typeof page == 'undefined') page = '';
if(page == 'create')
{
productID = $('#product').val();
productID = $('#product').val();
moduleID = $('#module').val();
assignedto = $('#assignedTo').val();
changeProductConfirmed = true;
oldStoryID = 0;
oldProjectID = 0;
oldOpenedBuild = '';
oldTaskID = 0;
setAssignedTo(0,productID);
if(!assignedto)setAssignedTo(moduleID, productID);
notice();
}
@@ -202,7 +204,7 @@ function setStories(moduleID, productID)
link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&moduleID=' + moduleID);
$.get(link, function(stories)
{
if(!stories) stories = '<select id="story" name="story"></select>';
if(!stories) stories = '<select id="story" name="story" class="select-3"></select>';
$('#story').replaceWith(stories);
$('#story_chzn').remove();
$("#story").chosen({no_results_text: ''});

View File

@@ -135,10 +135,10 @@ class buildModel extends model
$build->bugs = '';
$build = fixer::input('post')->stripTags('name')
->setDefault('product', 0)
->join('stories', ',')
->join('bugs', ',')
->remove('allchecker')
->add('project', (int)$projectID)->remove('resolvedBy')->get();
->add('project', (int)$projectID)->remove('resolvedBy,allchecker')->get();
$this->dao->insert(TABLE_BUILD)->data($build)->autoCheck()->batchCheck($this->config->build->create->requiredFields, 'notempty')->check('name', 'unique', "product = {$build->product}")->exec();
if(!dao::isError())
{

View File

@@ -146,6 +146,7 @@ class commonModel extends model
{
if($module == 'user' and strpos('login|logout|deny', $method) !== false) return true;
if($module == 'api' and $method == 'getsessionid') return true;
if($module == 'misc' and $method == 'ping') return true;
if($module == 'sso' and strpos('auth|depts|users', $method) !== false) return true;
if($this->loadModel('user')->isLogon())

View File

@@ -27,6 +27,10 @@ $clientTheme = $this->app->getClientTheme();
css::import($defaultTheme . 'yui.css', $config->version);
css::import($defaultTheme . 'style.css', $config->version);
echo '<!--[if lt IE 8]>';
css::import($defaultTheme . 'style.ie7.css', $config->version);
echo '<![endif]-->';
css::import($langTheme, $config->version);
if(strpos($clientTheme, 'default') === false) css::import($clientTheme . 'style.css', $config->version);
}

View File

@@ -54,7 +54,6 @@ function switchEncode(fileType)
echo html::select('fileType', $lang->exportFileTypeList, '', 'onchange=switchEncode(this.value)');
echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', key($lang->exportFileTypeList) == 'csv' ? "" : "class='hidden'");
echo html::select('exportType', $lang->exportTypeList, ($this->cookie->checkedItem) ? 'selected' : 'all');
echo "<br/><br/>";
echo html::submitButton();
?>
</td>

View File

@@ -1496,24 +1496,25 @@ class projectModel extends model
*/
public function getDateList($begin, $end, $type)
{
$begin = strtotime($begin);
$end = strtotime($end);
$dateList = array();
$date = $begin;
while($date <= $end)
{
$timestamp = strtotime($date);
/* Remove weekend when type is noweekend.*/
if($type == 'noweekend')
{
$weekDay = date('w', $timestamp);
$weekDay = date('w', $date);
if($weekDay == 6 or $weekDay == 0)
{
$date = date('Y-m-d', $timestamp + 24 * 3600);
$date += 24 * 3600;
continue;
}
}
$dateList[] = $date;
$date = date('Y-m-d', $timestamp + 24 * 3600);
$dateList[] = date('m/d/Y', $date);
$date += 24 * 3600;
}
return $dateList;

View File

@@ -13,21 +13,21 @@
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/tablesorter.html.php';?>
<?php js::set('confirmUnlinkStory', $lang->project->confirmUnlinkStory)?>
<div id='featurebar'>
<div class='f-left'><?php echo $lang->project->story;?></div>
<div class='f-right'>
<?php
common::printIcon('story', 'export', "productID=$productID&orderBy=id_desc");
$this->lang->story->create = $this->lang->project->createStory;
if($productID) common::printIcon('story', 'create', "productID=$productID&moduleID=0&story=0&project=$project->id");
common::printIcon('project', 'linkStory', "project=$project->id");
?>
</div>
</div>
<form method='post' id='projectStoryForm'>
<table class='table-1 fixed colored tablesorter datatable' id='storyList'>
<caption class='caption-tl pb-10px'>
<div class='f-left'><?php echo $lang->project->story;?></div>
<div class='f-right'>
<?php
common::printIcon('story', 'export', "productID=$productID&orderBy=id_desc");
$this->lang->story->create = $this->lang->project->createStory;
if($productID) common::printIcon('story', 'create', "productID=$productID&moduleID=0&story=0&project=$project->id");
common::printIcon('project', 'linkStory', "project=$project->id");
?>
</div>
</caption>
<thead>
<tr class='colhead'>
<?php $vars = "projectID={$project->id}&orderBy=%s"; ?>

View File

@@ -121,7 +121,7 @@ $(function ()
series: {lines:{show: true, lineWidth: 2}, points: {show: true},hoverable: true},
legend: {noColumns: 1},
grid: { hoverable: true, clickable: true },
xaxis: { ticks:ticks, tickFormatter: function(val) {tick = new Date(dateList[val]);;if(dateList[val] != undefined){return tick.getDate() + '/' + (tick.getMonth() + 1)}else{return ''}}},
xaxis: { ticks:ticks, tickFormatter: function(val) {tick = new Date(dateList[val]);if(dateList[val] != undefined){return tick.getDate() + '/' + (tick.getMonth() + 1)}else{return ''}}},
yaxis: {mode: null, min: 0, minTickSize: [1, "day"]}};
var placeholder = $("#placeholder");

View File

@@ -805,7 +805,7 @@ class story extends control
$moduleID = $this->tree->getAllChildID($moduleID);
}
$stories = $this->story->getProductStoryPairs($productID, $moduleID);
$select = html::select('story', $stories, $storyID, "class=''");
$select = html::select('story', $stories, $storyID, "class='select-3'");
/* If only need options, remove select wrap. */
if($onlyOption == 'true') die(substr($select, strpos($select, '>') + 1, -10));

View File

@@ -26,4 +26,4 @@ html,body{background-color: #036;}
.droppanel li a:hover{background-color: #e5e5e5;color: #333;}
.droppanel li a.active{background-color: #FAFFBD;}
#poweredby{float: none; color: #eee;text-align: center;margin-top: 30px;}
#poweredby a{color: #fff;}
#poweredby a{color: #fff;}

View File

@@ -79,7 +79,7 @@ include '../../common/view/header.lite.html.php';
<?php echo $lang->donate;?>
<?php if($config->checkVersion):?>
<br />
<iframe id='updater' class='hidden' frameborder='0' scrolling='no' allowtransparency='true' src="http://api.zentao.net/updater-isLatest-<?php echo $config->version;?>-<?php echo $s;?>.html?lang=<?php echo str_replace('-', '_', $this->app->getClientLang())?>"></iframe>
<iframe id='updater' class='hidden' frameborder='0' width='100%' scrolling='no' allowtransparency='true' src="http://api.zentao.net/updater-isLatest-<?php echo $config->version;?>-<?php echo $s;?>.html?lang=<?php echo str_replace('-', '_', $this->app->getClientLang())?>"></iframe>
<?php endif;?>
</div>
</div>

View File

@@ -411,7 +411,7 @@ function setOuterBox()
var navbarH = $('#modulemenu').height();
var footerH = $('#footer').height() + 15;
var outerH = winHeight - headerH - footerH - navbarH - 47;
var outerH = winHeight - headerH - footerH - navbarH - 50;
if ($.browser.msie && ($.browser.version == "6.0") && !$.support.style) outerH = winHeight - headerH - footerH - 98;
if ($.browser.msie && ($.browser.version == "6.0")) $('.outer').css('height', outerH);
$('.outer').css('min-height', outerH);
@@ -544,7 +544,7 @@ function setRepoLink()
/* Set the colorbox of export. */
function setExport()
{
if($('.export').size()) $(".export").colorbox({width:650, height:250, iframe:true, transition:'none', scrolling:true});
if($('.export').size()) $(".export").colorbox({width:650, height:240, iframe:true, transition:'none', scrolling:true});
}
/**
@@ -842,10 +842,14 @@ function setModal4List(colorboxClass, replaceID, callback)
$('#tmpDiv').replaceWith($('#tmpDiv').html());
setModal4List(colorboxClass, replaceID, callback);
$('.colored').colorize();
try{$('.colored').colorize();}catch(err){}
$('tfoot td').css('background', 'white').unbind('click').unbind('hover');
$(".date").datePicker({createButton:true, startDate:startDate})
.dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT)
try
{
$(".date").datePicker({createButton:true, startDate:startDate})
.dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT)
}
catch(err){}
if(typeof(callback) == 'function') callback();
$.cookie('selfClose', 0);
});

View File

@@ -1 +0,0 @@
#divider{margin-bottom:30px}

View File

@@ -45,6 +45,7 @@ i[class^="icon-"],i[class*=" icon-"],.link-icon i[class^="icon-"],.link-icon i[c
.icon-green-bug-activate:before,.icon-gray-bug-activate:before,
.icon-green-task-activate:before,.icon-gray-task-activate:before,
.icon-green-project-activate:before,.icon-gray-project-activate:before{content: "\f011";color:#058100;}
.icon-green-bug-customFields:before,.icon-gray-bug-customFields:before,
.icon-green-bug-icon-wrench:before,.icon-gray-bug-icon-wrench:before{content: "\f085";}
.icon-green-group-managepriv:before,.icon-gray-group-managepriv:before{content: "\f023";}
.icon-green-group-managemember:before,.icon-gray-group-managemember:before{content: "\f0c0";}
@@ -60,12 +61,15 @@ i[class^="icon-"],i[class*=" icon-"],.link-icon i[class^="icon-"],.link-icon i[c
.icon-green-bug-createBug:before,.icon-gray-bug-createBug:before{content: "\f188";}
.icon-green-productplan-linkStory:before,.icon-gray-productplan-linkStory:before,
.icon-green-testtask-linkCase:before,.icon-gray-testtask-linkCase:before,
.icon-green-project-linkStory:before,.icon-green-project-linkStory:before {content: "\f0c1";}
.icon-green-project-linkStory:before,.icon-gray-project-linkStory:before {content: "\f0c1";}
.icon-green-project-unlinkStory:before,.icon-gray-project-unlinkStory:before,
.icon-green-testtask-unlinkCase:before,.icon-gray-testtask-unlinkCase:before{content: "\f127";}
.icon-green-story-change:before,.icon-gray-story-change:before{content: "\f074";}
.icon-green-bug-confirmBug:before,.icon-gray-bug-confirmBug:before,
.icon-green-task-confirmStoryChange:before,.icon-gray-task-confirmStoryChange:before,
.icon-green-bug-confirmStoryChange:before,.icon-gray-testcase-confirmStoryChange:before,
.icon-green-testcase-confirmStoryChange:before,.icon-gray-testcase-confirmStoryChange:before,
.icon-green-bug-confirmStoryChange:before,.icon-gray-bug-confirmStoryChange:before,
.icon-green-story-review:before,.icon-gray-story-review:before{content: "\f002";}
.icon-green-task-close:before,.icon-gray-task-close:before,
.icon-green-story-close:before,.icon-gray-story-close:before,
@@ -79,6 +83,9 @@ i[class^="icon-"],i[class*=" icon-"],.link-icon i[class^="icon-"],.link-icon i[c
.icon-green-project-start:before,.icon-gray-project-start:before{content: "\f04b";}
.icon-green-task-assignTo:before,.icon-gray-task-assignTo:before,.icon-green-bug-assignTo:before,.icon-gray-bug-assignTo:before{content: "\f0a4";}
.icon-green-common-delete:before,.icon-gray-common-delete:before,
.icon-green-productplan-unlinkBug:before,.icon-gray-productplan-unlinkBug:before,
.icon-green-productplan-unlinkStory:before,.icon-gray-productplan-unlinkStory:before,
.icon-green-project-unlinkStory:before,.icon-gray-project-unlinkStory:before,
.icon-green-task-deleteEstimate:before,.icon-gray-task-deleteEstimate:before{content: "\f00d";}
.icon-green-common-edit:before,.icon-gray-common-edit:before,
.icon-green-task-editEstimate:before,.icon-gray-task-editEstimate:before{content: "\f040";}
@@ -107,11 +114,12 @@ i[class^="icon-"],i[class*=" icon-"],.link-icon i[class^="icon-"],.link-icon i[c
.icon-add:before,
.icon-green-build-create:before,.icon-gray-build-create:before{content: "\f067";}
.icon-green-effort-createForObject:before{content: "\f017"}
.icon-arrow:before{content: "\f105";}
i[class^="icon-"].disabled,i[class*=" icon-"].disabled,i[class^="icon-"].disabled:hover,i[class*=" icon-"].disabled:hover,i[class^="icon-"].disabled:before,i[class*=" icon-"].disabled:before{color: #ccc;}
.icon-green-testcase-createCase{width: 22px; height: 18px; background:url(images/main/zt-icons.png) -22px -582px;}
.icon-gray-testcase-createCase{width: 22px; height: 18px; background:url(images/main/zt-icons.png) -22px -604px;}
.icon-green-testcase-createCase,.icon-green-story-createCase{width: 22px; height: 18px; background:url(images/main/zt-icons.png) -22px -582px;}
.icon-gray-testcase-createCase,.icon-gray-story-createCase{width: 22px; height: 18px; background:url(images/main/zt-icons.png) -22px -604px;}
.change-show,.change-hide,.log-desc,.log-asc,.diff-all,.diff-sort{display: inline-block; font-family: FontAwesome;border: 1px solid #555;color: #555; font-size: 13px;font-weight: lighter; width: 14px;height: 13px;line-height: 13px;text-align: center;}
.change-show:hover,.change-hide:hover,.log-desc:hover,.log-asc:hover,.diff-all:hover,.diff-sort:hover{background-color: #333;color: #fff}
@@ -309,9 +317,10 @@ table.tablesorter thead tr div{padding:0; margin:0}
table.tablesorter thead tr .header{cursor:pointer;}
table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {color:red;}
table.tablesorter thead tr .headerSortDown a, table.tablesorter thead tr .headerSortUp a {color:red}
table.tablesorter thead tr .header a:after {font-family: FontAwesome; font-weight: normal;content: " \f0dc";font-size: 14px;}
table.tablesorter thead tr .headerSortUp a:after {font-family: FontAwesome; font-weight: normal;content: " \f0d8";font-size: 14px;color:red;}
table.tablesorter thead tr .headerSortDown a:after{font-family: FontAwesome; font-weight: normal;content: " \f0d7";font-size: 14px;color:red;}
table.tablesorter thead tr .header a,table.tablesorter thead tr .headerSortUp a,table.tablesorter thead tr .headerSortDown a{display: inline-block;}
table.tablesorter thead tr .header:after {font-family: FontAwesome; font-weight: normal;content: " \f0dc";font-size: 14px;}
table.tablesorter thead tr .headerSortUp:after {font-family: FontAwesome; font-weight: normal;content: " \f0d8";font-size: 14px;color:red;}
table.tablesorter thead tr .headerSortDown:after{font-family: FontAwesome; font-weight: normal;content: " \f0d7";font-size: 14px;color:red;}
/* data table. */
table.data-table{border: none;width: 100%;}
@@ -484,7 +493,8 @@ table.data-table td:last-child{padding-right: 20px;}
#projectID {background:#e5e5e5; border:1px solid #e5e5e5}
/* Feature bar. */
#featurebar,#wrap .outer>table.table-1>caption,#wrap .outer>form>table.table-1>caption{height:34px; line-height:34px;background-color: #f8fafe; padding:8px 10px; border-bottom: 1px solid #e7edf7;margin: -20px -20px 20px -20px;}
#featurebar,#wrap .outer>table.table-1>caption,#wrap .outer>form>table.table-1>caption{height:34px; line-height:34px;background-color: #f8fafe; padding:8px 10px;}
#featurebar,#wrap .outer>table.table-1>caption {border-bottom: 1px solid #e7edf7;margin: -20px -20px 20px -20px;}
#featurebar span {font-size:14px;}
#featurebar a,.outer>table.table-1>caption a{text-decoration:none; display: inline-block;padding: 0px 7px; line-height: 34px;height: 34px; font-size:14px;-webkit-transition: all .2s;-o-transition: all .2s;-moz-transition: all .2s;transition: all .2s;}
#featurebar a:hover,.outer>table.table-1>caption a:hover{color:#000;background-color: #e5e5e5;}
@@ -579,12 +589,13 @@ table.data-table td:last-child{padding-right: 20px;}
/* Footer. */
/*#divider {margin-bottom:49px;}*/
#footer {position: relative; width:100%;position:fixed; bottom:0; left:0; margin:0; border-top: 1px solid #e1e1e1; background:#eef4fe;height:40px; line-height:40px;-webkit-box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);}
#crumbs a i.icon-home{display: none;}
#crumbs {float: left;margin-left: 20px;}
#crumbs .icon-angle-right{margin-right: 6px;}
#poweredby {float: right;margin-right: 20px;}
/* Debug. */
.debugwin {display:block; width:50px; height:20px; bottom:50px; border-left:10px solid red; position:fixed;}
.debugwin {display:none; width:50px; height:20px; bottom:50px; position:fixed;}
/* Pager. */
.pager {margin-bottom:0}
@@ -611,8 +622,6 @@ table.data-table td:last-child{padding-right: 20px;}
.button-create{}
/*-----------------------ICONS --------------------*/
.icon-arrow {padding-left:10px; background:url(images/main/zt-icons.png) -102px -443px;}
/* Common icons. */
#featurebar .f-right .icon-goback {padding:0px 9px}
.pri1,.pri2,.pri3,.pri4,.pri5,.pri6{display:inline-block;width: 14px;height: 14px;font-size: 12px;line-height: 14px;font-weight: bold; text-align: center; color: #272d68; -moz-border-radius:50%; -webkit-border-radius:50%; border-radius:50%;border: 2px solid #272d68;}
@@ -622,13 +631,6 @@ table.data-table td:last-child{padding-right: 20px;}
.pri5{border-color: #6989c5;color: #6989c5}
.pri6{border-color: #9ebee5;color: #9ebee5}
/* Story icons. */
.icon-green-story-createCase {padding:2px 8px; background:url(images/main/zt-icons.png) -120px -201px;}
.icon-gray-story-createCase {padding:2px 8px; background:url(images/main/zt-icons.png) -120px -221px;}
.icon-green-project-unlinkStory {padding:2px 5px 2px 10px; background:url(images/main/zt-icons.png) -60px 0px;}
.icon-green-productplan-unlinkStory, .icon-green-productplan-unlinkBug{padding:2px 5px 2px 10px; background:url(images/main/zt-icons.png) -60px 0px;}
/* Bug icons. */
.severity1,.severity2,.severity3,.severity4,.severity5,.severity6{display:inline-block;width: 16px;height: 16px;line-height: 16px;font-weight: bold; text-align: center; font-size: 12px; color: #fff; -moz-border-radius:50%; -webkit-border-radius:50%; border-radius:50%;}
.severity1 {background-color: #d71319;}
@@ -638,17 +640,8 @@ table.data-table td:last-child{padding-right: 20px;}
.severity5 {background-color: #d0d836;}
.severity6 {background-color: #99c323;}
.icon-green-bug-confirmStoryChange {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -282px;}
#featurebar .f-right .icon-green-bug-customFields {padding:2px 8px; background:url(images/main/zt-icons.png) -141px -282px;}
/* Link-button. */
.link-button{display: inline-block;}
.link-button a{ color:#036; font-weight:normal; font-size:14px;padding: 3px 4px;}
.link-button a i{font-size: 18px;}
.link-button a:hover {color:#000;}
<<<<<<< HEAD:www/theme/default/style.css
/* Effort icons. */
.icon-green-effort-createForObject {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -2px;}

View File

@@ -0,0 +1,169 @@
/* Icons for support ie7 */
.icon-green-testcase-import{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf019;');}
.icon-gray-testcase-import{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf019;');}
.icon-green-common-import{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf019;');}
.icon-gray-common-import{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf019;');}
.icon-green-common-exportTemplet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf093;');}
.icon-gray-common-exportTemplet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf093;');}
.icon-allProducts{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00a;');}
.icon-allProjects{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf009;');}
.icon-delete{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xF014;');}
.icon-green-common-comment{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e6;');}
.icon-gray-common-comment{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e6;');}
.icon-green-task-cancel{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05e;');}
.icon-gray-task-cancel{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05e;');}
.icon-green-story-toStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf064;');}
.icon-gray-story-toStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf064;');}
.icon-green-project-suspend{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04c;');}
.icon-gray-project-suspend{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04c;');}
.icon-green-project-putoff{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf073;');}
.icon-gray-project-putoff{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf073;');}
.icon-green-story-activate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011');}
.icon-gray-story-activate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011');}
.icon-green-bug-activate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011');}
.icon-gray-bug-activate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011');}
.icon-green-task-activate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011');}
.icon-gray-task-activate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011');}
.icon-green-project-activate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011');}
.icon-gray-project-activate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011');}
.icon-green-bug-customFields{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');}
.icon-gray-bug-customFields{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');}
.icon-green-bug-icon-wrench{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');}
.icon-gray-bug-icon-wrench{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');}
.icon-green-group-managepriv{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf023;');}
.icon-gray-group-managepriv{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf023;');}
.icon-green-group-managemember{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c0;');}
.icon-gray-group-managemember{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c0;');}
.icon-webapp-manage{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');}
.icon-webapp-obtain{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07a;');}
.icon-webapp-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d0;');}
.icon-green-testtask-cases{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf118;');}
.icon-gray-testtask-cases{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf118;');}
.icon-green-testtask-results{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11e;');}
.icon-gray-testtask-results{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11e;');}
.icon-green-testtask-runCase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');}
.icon-gray-testtask-runCase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');}
.icon-green-common-copy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c5;');}
.icon-gray-common-copy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c5;');}
.icon-green-productplan-linkBug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf188;');}
.icon-gray-productplan-linkBug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf188;');}
.icon-green-project-bug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf188;');}
.icon-gray-project-bug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf188;');}
.icon-green-bug-createBug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf188;');}
.icon-gray-bug-createBug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf188;');}
.icon-green-productplan-linkStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c1;');}
.icon-gray-productplan-linkStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c1;');}
.icon-green-testtask-linkCase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c1;');}
.icon-gray-testtask-linkCase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c1;');}
.icon-green-project-linkStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c1;');}
.icon-gray-project-linkStory {*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c1;');}
.icon-green-project-unlinkStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf127;');}
.icon-gray-project-unlinkStory.icon-green-testtask-unlinkCase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf127;');}
.icon-gray-testtask-unlinkCase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf127;');}
.icon-green-story-change{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf074;');}
.icon-gray-story-change{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf074;');}
.icon-green-bug-confirmBug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-gray-bug-confirmBug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-green-task-confirmStoryChange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-gray-task-confirmStoryChange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-green-bug-confirmStoryChange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-gray-testcase-confirmStoryChange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-green-testcase-confirmStoryChange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-gray-testcase-confirmStoryChange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-green-bug-confirmStoryChange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-gray-bug-confirmStoryChange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-green-story-review{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-gray-story-review{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');}
.icon-green-task-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-gray-task-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-green-story-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-gray-story-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-green-product-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-gray-product-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-green-project-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-gray-project-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-green-testtask-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-gray-testtask-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-green-bug-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-gray-bug-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');}
.icon-green-task-recordEstimate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf017;');}
.icon-gray-task-recordEstimate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf017;');}
.icon-green-task-start{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');}
.icon-gray-task-start{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');}
.icon-green-testtask-start{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');}
.icon-gray-testtask-start{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');}
.icon-green-project-start{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');}
.icon-gray-project-start{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');}
.icon-green-task-assignTo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a4;');}
.icon-gray-task-assignTo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a4;');}
.icon-green-bug-assignTo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a4;');}
.icon-gray-bug-assignTo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a4;');}
.icon-green-common-delete{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-gray-common-delete{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-green-productplan-unlinkBug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-gray-productplan-unlinkBug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-green-productplan-unlinkStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-gray-productplan-unlinkStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-green-project-unlinkStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-gray-project-unlinkStory{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-green-task-deleteEstimate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-gray-task-deleteEstimate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');}
.icon-green-common-edit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf040;');}
.icon-gray-common-edit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf040;');}
.icon-green-task-editEstimate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf040;');}
.icon-gray-task-editEstimate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf040;');}
.icon-green-todo-finish{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf058;');}
.icon-gray-todo-finish{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf058;');}
.icon-green-bug-resolve{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf058;');}
.icon-gray-bug-resolve{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf058;');}
.icon-green-task-finish{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf058;');}
.icon-gray-task-finish{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf058;');}
.icon-green-common-export{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf093;');}
.icon-gray-common-export{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf093;');}
.icon-green-todo-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-gray-todo-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-green-testcase-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-gray-testcase-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-green-task-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-gray-task-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-green-bug-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-gray-bug-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-green-effort-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-gray-effort-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-green-user-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-gray-user-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-green-story-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-gray-story-batchCreate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');}
.icon-green-common-report{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf080;');}
.icon-gray-common-report{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf080;');}
.icon-green-story-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-story-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-todo-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-todo-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-testcase-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-testcase-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-productplan-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-productplan-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-release-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-release-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-doc-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-doc-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-testtask-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gra-ytesttask-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-task-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-task-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-bug-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-bug-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-group-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-group-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-add.icon-green-build-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-gray-build-create{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.icon-green-effort-createForObject{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf017;');}
.icon-arrow{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf105;');}
.change-show{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');}
.change-hide{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf068;');}
.log-desc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf063;');}
.log-asc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf062;');}
.diff-all{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b2;');}
.diff-sort{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf036;');}