Merge branch 'lite' into sprint/185
This commit is contained in:
@@ -99,6 +99,7 @@ $lang->block->productName = $lang->productCommon . ' Name';
|
||||
$lang->block->totalStory = 'The Total ' . $lang->SRCommon;
|
||||
$lang->block->totalBug = 'The Total Bug';
|
||||
$lang->block->totalRelease = 'Release The Number';
|
||||
$lang->block->totalTask = 'The Total ' . $lang->task->common;
|
||||
|
||||
$lang->block->totalInvestment = 'Total investment';
|
||||
$lang->block->totalPeople = 'Total number';
|
||||
|
||||
@@ -99,6 +99,7 @@ $lang->block->productName = $lang->productCommon . '名称';
|
||||
$lang->block->totalStory = '总' . $lang->SRCommon;
|
||||
$lang->block->totalBug = '总Bug';
|
||||
$lang->block->totalRelease = '发布次数';
|
||||
$lang->block->totalTask = '总' . $lang->task->common;
|
||||
|
||||
$lang->block->totalInvestment = '总投入';
|
||||
$lang->block->totalPeople = '总人数';
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php $vision = $this->config->vision;?>
|
||||
<?php if(empty($totalData)): ?>
|
||||
<div class='empty-tip'><?php common::printLink('project', 'create', '', "<i class='icon-plus'></i> " . $lang->project->create, '', "class='btn btn-primary'")?></div>
|
||||
<?php else:?>
|
||||
@@ -22,7 +23,11 @@
|
||||
<th></th>
|
||||
<th><?php echo $lang->workingHour;?></th>
|
||||
<th></th>
|
||||
<?php if($vision == 'lite'): ?>
|
||||
<th><?php echo $lang->block->taskCount;?></th>
|
||||
<?php else:?>
|
||||
<th><?php echo $lang->block->bugCount;?></th>
|
||||
<?php endif;?>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -34,8 +39,8 @@
|
||||
<td><?php echo $totalData[$projectID]->teamCount ? html::a($this->createLink('project', 'team', 'projectID=' . $projectID), $totalData[$projectID]->teamCount) : 0;?></td>
|
||||
<th><?php echo $lang->block->estimatedHours . ':';?></th>
|
||||
<td><?php echo $totalData[$projectID]->estimate . $lang->execution->workHour;?></td>
|
||||
<th><?php echo $lang->block->totalBug. ':';?></th>
|
||||
<td><?php echo $totalData[$projectID]->allBugs;?></td>
|
||||
<th><?php echo ($vision == 'lite' ? $lang->block->totalTask : $lang->block->totalBug) . ':';?></th>
|
||||
<td><?php echo $vision == 'lite' ? $totalData[$projectID]->allTasks : $totalData[$projectID]->allBugs;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->block->done . ':';?></th>
|
||||
@@ -44,8 +49,8 @@
|
||||
<td></td>
|
||||
<th><?php echo $lang->block->consumedHours . ':';?></th>
|
||||
<td><?php echo $totalData[$projectID]->consumed . $lang->execution->workHour;?></td>
|
||||
<th><?php echo $lang->bug->statusList['resolved'] . ':';?></th>
|
||||
<td><?php echo $totalData[$projectID]->doneBugs;?></td>
|
||||
<th><?php echo ($vision == 'lite' ? $lang->block->done : $lang->bug->statusList['resolved']) . ':';?></th>
|
||||
<td><?php echo $vision == 'lite' ? $totalData[$projectID]->doneTasks : $totalData[$projectID]->doneBugs;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->block->left . ':';?></th>
|
||||
@@ -54,8 +59,8 @@
|
||||
<td></td>
|
||||
<th></th>
|
||||
<td></td>
|
||||
<th><?php echo $lang->bug->unResolved . ':';?></th>
|
||||
<td><?php echo $totalData[$projectID]->leftBugs;?></td>
|
||||
<th><?php echo ($vision == 'lite' ? $lang->block->undone : $lang->bug->unResolved) . ':';?></th>
|
||||
<td><?php echo $vision == 'lite' ? $totalData[$projectID]->leftTasks : $totalData[$projectID]->leftBugs;?></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
@@ -320,7 +320,7 @@ $lang->exportTypeList['all'] = '全部记录';
|
||||
$lang->exportTypeList['selected'] = '选中记录';
|
||||
|
||||
$lang->visionList = array();
|
||||
$lang->visionList['rnd'] = '研发界面';
|
||||
$lang->visionList['rnd'] = '研发综合界面';
|
||||
$lang->visionList['lite'] = '迅捷界面';
|
||||
|
||||
$lang->createObjects['todo'] = '待办';
|
||||
|
||||
@@ -1037,12 +1037,34 @@ function processMinusBtn()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create task menu
|
||||
* @returns {Object[]}
|
||||
*/
|
||||
function createTaskMenu(options)
|
||||
{
|
||||
var $card = options.$trigger.closest('.kanban-item');
|
||||
var task = $card.data('item');
|
||||
|
||||
var items = [];
|
||||
$.each(task.menus, function()
|
||||
{
|
||||
var item = {label: this.label, icon: this.icon, url: this.url, attrs: {'data-toggle': 'modal', 'data-type': 'iframe'}};
|
||||
if(this.size) item.attrs['data-width'] = this.size;
|
||||
|
||||
items.push(item);
|
||||
});
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
/* Define menu creators */
|
||||
window.menuCreators =
|
||||
{
|
||||
lane: createLaneMenu,
|
||||
column: createColumnMenu,
|
||||
columnCreate: createColumnCreateMenu
|
||||
columnCreate: createColumnCreateMenu,
|
||||
task: createTaskMenu,
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -115,6 +115,7 @@
|
||||
return link.prj ? 'project' : 'report';
|
||||
}
|
||||
}
|
||||
if(moduleName === 'story' && vision === 'lite') return 'project'
|
||||
if(moduleName === 'story' && methodLowerCase === 'zerocase')
|
||||
{
|
||||
return link.params.from == 'project' ? 'project' : 'qa';
|
||||
|
||||
@@ -517,6 +517,7 @@ class installModel extends model
|
||||
$admin->realname = $this->post->account;
|
||||
$admin->password = md5($this->post->password);
|
||||
$admin->gender = 'f';
|
||||
$admin->visions = 'rnd,lite';
|
||||
$this->dao->replace(TABLE_USER)->data($admin)->check('account', 'notempty')->exec();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<h2><i class='icon-pencil'></i> <?php echo $lang->my->editProfile;?></h2>
|
||||
</div>
|
||||
<form method='post' target='hiddenwin' id='dataform'>
|
||||
<table class='table table-form'>
|
||||
<table class='table table-form'>
|
||||
<caption><?php echo $lang->my->form->lblBasic;?></caption>
|
||||
<tr>
|
||||
<th class='w-90px'><?php echo $lang->user->realname;?></th>
|
||||
@@ -83,12 +83,18 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php echo html::select('visions[]', $this->user->getVisionList(), $user->visions, "class='form-control chosen' multiple");?>
|
||||
<div class='text-center form-actions'><?php echo html::submitButton() . html::backButton();?></div>
|
||||
</form>
|
||||
<?php echo html::hidden('verifyRand', $rand);?>
|
||||
</div>
|
||||
<?php js::set('passwordStrengthList', $lang->user->passwordStrengthList)?>
|
||||
<script>
|
||||
$(function()
|
||||
{
|
||||
$('#visions_chosen').css('display', 'none')
|
||||
});
|
||||
|
||||
function checkPassword(password)
|
||||
{
|
||||
$('#passwordStrength').html(password == '' ? '' : passwordStrengthList[computePasswordStrength(password)]);
|
||||
|
||||
@@ -310,6 +310,10 @@ class projectModel extends model
|
||||
$allBugs = $this->getTotalBugByProject($projectIdList, 'all');
|
||||
$doneBugs = $this->getTotalBugByProject($projectIdList, 'resolved');
|
||||
|
||||
$leftTasks = $this->getTotalTaskByProject($projectIdList, 'undone');
|
||||
$allTasks = $this->getTotalTaskByProject($projectIdList, 'all');
|
||||
$doneTasks = $this->getTotalTaskByProject($projectIdList, 'done');
|
||||
|
||||
foreach($projects as $projectID => $project)
|
||||
{
|
||||
$project->consumed = isset($hours[$projectID]) ? (float)$hours[$projectID]->consumed : 0;
|
||||
@@ -322,6 +326,9 @@ class projectModel extends model
|
||||
$project->allStories = $allStories[$projectID];
|
||||
$project->doneStories = $doneStories[$projectID];
|
||||
$project->leftStories = $leftStories[$projectID];
|
||||
$project->leftTasks = isset($leftTasks[$projectID]) ? $leftTasks[$projectID] : 0;
|
||||
$project->allTasks = isset($allTasks[$projectID]) ? $allTasks[$projectID] : 0;
|
||||
$project->doneTasks = isset($doneTasks[$projectID]) ? $doneTasks[$projectID] : 0;
|
||||
|
||||
if(is_float($project->consumed)) $project->consumed = round($project->consumed, 1);
|
||||
if(is_float($project->estimate)) $project->estimate = round($project->estimate, 1);
|
||||
@@ -553,6 +560,25 @@ class projectModel extends model
|
||||
->fetchPairs('project');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get associated tasks by project.
|
||||
*
|
||||
* @param array $projectIdList
|
||||
* @param string $status all|done|undone
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getTotalTaskByProject($projectIdList, $status)
|
||||
{
|
||||
return $this->dao->select('project, count(*) as tasks')->from(TABLE_TASK)
|
||||
->where('project')->in($projectIdList)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->beginIF($status == 'done')->andWhere('status')->in('done,closed')->fi()
|
||||
->beginIF($status == 'undone')->andWhere('status')->in('wait,pause,cancel')->fi()
|
||||
->groupBy('project')
|
||||
->fetchPairs('project');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get branches by project id.
|
||||
*
|
||||
@@ -917,7 +943,7 @@ class projectModel extends model
|
||||
$lib->main = '1';
|
||||
$lib->acl = $project->acl != 'program' ? $project->acl : 'custom';
|
||||
$lib->users = ',' . implode(',', array_filter($authorizedUsers)) . ',';
|
||||
$lib->vision = zget($project, 'vision', 'common');
|
||||
$lib->vision = zget($project, 'vision', 'rnd');
|
||||
$this->dao->insert(TABLE_DOCLIB)->data($lib)->exec();
|
||||
|
||||
$this->updateProducts($projectID);
|
||||
@@ -935,7 +961,7 @@ class projectModel extends model
|
||||
$product->createdDate = helper::now();
|
||||
$product->status = 'normal';
|
||||
$product->createdVersion = $this->config->version;
|
||||
$product->vision = zget($project, 'vision', 'common');
|
||||
$product->vision = zget($project, 'vision', 'rnd');
|
||||
|
||||
$this->dao->insert(TABLE_PRODUCT)->data($product)->exec();
|
||||
$productID = $this->dao->lastInsertId();
|
||||
|
||||
@@ -2891,6 +2891,7 @@ class storyModel extends model
|
||||
|
||||
$stories = $sql->where('t1.deleted')->eq(0)
|
||||
->andWhere('t1.type')->eq($storyType)
|
||||
->andWhere('t1.vision')->eq($this->config->vision)
|
||||
->beginIF($type != 'closedBy' and $this->app->moduleName == 'block')->andWhere('t1.status')->ne('closed')->fi()
|
||||
->beginIF($type != 'all')
|
||||
->beginIF($type == 'assignedTo')->andWhere('assignedTo')->eq($account)->fi()
|
||||
@@ -3904,7 +3905,7 @@ class storyModel extends model
|
||||
}
|
||||
break;
|
||||
case 'taskCount':
|
||||
$tasksLink = helper::createLink('story', 'tasks', "storyID=$story->id");
|
||||
$tasksLink = helper::createLink('story', 'tasks', "storyID=$story->id", '', 'class="iframe"');
|
||||
$storyTasks[$story->id] > 0 ? print(html::a($tasksLink, $storyTasks[$story->id], '', 'class="iframe"')) : print(0);
|
||||
break;
|
||||
case 'bugCount':
|
||||
|
||||
@@ -3,8 +3,8 @@ $config->user = new stdclass();
|
||||
$config->user->create = new stdclass();
|
||||
$config->user->edit = new stdclass();
|
||||
|
||||
$config->user->create->requiredFields = 'account,realname,password,password1,password2';
|
||||
$config->user->edit->requiredFields = 'account,realname';
|
||||
$config->user->create->requiredFields = 'account,realname,visions,password,password1,password2';
|
||||
$config->user->edit->requiredFields = 'account,realname,visions';
|
||||
|
||||
$config->user->availableBatchCreateFields = 'dept,email,gender,commiter,join,skype,qq,dingding,weixin,mobile,slack,whatsapp,phone,address,zipcode';
|
||||
$config->user->availableBatchEditFields = 'dept,email,commiter,skype,qq,dingding,weixin,mobile,slack,whatsapp,phone,address,zipcode';
|
||||
|
||||
@@ -2,6 +2,7 @@ th.required:after {position: relative; right: 10px;}
|
||||
td .passwordBox {border-left-width: 0px!important;}
|
||||
|
||||
.c-id {width: 40px;}
|
||||
.c-dept {width: 150px;}
|
||||
.c-dept {width: 120px;}
|
||||
.c-realname {width: 130px;}
|
||||
.c-visions {width: 130px;}
|
||||
.c-role, .c-group, .c-commiter, .c-join, .c-contact {width: 120px;}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
.accountThWidth {width: 200px !important;}
|
||||
.accountThWidth {width: 120px !important;}
|
||||
.genderThWidth {width: 140px !important;}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
.accountThWidth {width: 180px !important;}
|
||||
.accountThWidth {width: 120px !important;}
|
||||
.genderThWidth {width: 100px !important;}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
.accountThWidth {width: 180px !important;}
|
||||
.accountThWidth {width: 120px !important;}
|
||||
.genderThWidth {width: 100px !important;}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
.checkbox-primary {display:inline-block; padding-right:10px;}
|
||||
@@ -42,6 +42,7 @@ $lang->user->address = '通讯地址';
|
||||
$lang->user->zipcode = '邮编';
|
||||
$lang->user->join = '入职日期';
|
||||
$lang->user->visits = '访问次数';
|
||||
$lang->user->visions = '版本类型';
|
||||
$lang->user->ip = '最后IP';
|
||||
$lang->user->last = '最后登录';
|
||||
$lang->user->ranzhi = 'ZDOO帐号';
|
||||
|
||||
+27
-1
@@ -302,9 +302,11 @@ class userModel extends model
|
||||
->setDefault('join', '0000-00-00')
|
||||
->setDefault('type', 'inside')
|
||||
->setDefault('company', 0)
|
||||
->setDefault('visions', '')
|
||||
->setIF($this->post->password1 != false, 'password', substr($this->post->password1, 0, 32))
|
||||
->setIF($this->post->password1 == false, 'password', '')
|
||||
->setIF($this->post->email != false, 'email', trim($this->post->email))
|
||||
->join('visions', ',')
|
||||
->remove('new, group, password1, password2, verifyPassword, passwordStrength')
|
||||
->get();
|
||||
|
||||
@@ -392,7 +394,8 @@ class userModel extends model
|
||||
if($users->email[$i] and !validater::checkEmail($users->email[$i])) die(js::error(sprintf($this->lang->user->error->mail, $i + 1)));
|
||||
$users->password[$i] = (isset($prev['password']) and $users->ditto[$i] == 'on' and !$this->post->password[$i]) ? $prev['password'] : $this->post->password[$i];
|
||||
if(!validater::checkReg($users->password[$i], '|(.){6,}|')) die(js::error(sprintf($this->lang->user->error->password, $i + 1)));
|
||||
$role = $users->role[$i] == 'ditto' ? (isset($prev['role']) ? $prev['role'] : '') : $users->role[$i];
|
||||
$role = $users->role[$i] == 'ditto' ? (isset($prev['role']) ? $prev['role'] : '') : $users->role[$i];
|
||||
$visions = in_array('ditto', $users->visions[$i]) ? (isset($prev['visions']) ? $prev['visions'] : array()) : $users->visions[$i];
|
||||
|
||||
/* Check weak and common weak password. */
|
||||
if(isset($this->config->safe->mode) and $this->computePasswordStrength($users->password[$i]) < $this->config->safe->mode) die(js::error(sprintf($this->lang->user->error->weakPassword, $i + 1)));
|
||||
@@ -424,6 +427,7 @@ class userModel extends model
|
||||
$data[$i]->phone = $users->phone[$i];
|
||||
$data[$i]->address = $users->address[$i];
|
||||
$data[$i]->zipcode = $users->zipcode[$i];
|
||||
$data[$i]->visions = join(',', $visions);
|
||||
|
||||
/* Check required fields. */
|
||||
foreach(explode(',', $this->config->user->create->requiredFields) as $field)
|
||||
@@ -454,6 +458,7 @@ class userModel extends model
|
||||
$prev['dept'] = $data[$i]->dept;
|
||||
$prev['role'] = $data[$i]->role;
|
||||
$prev['group'] = $data[$i]->group;
|
||||
$prev['visions'] = $users->visions[$i];
|
||||
$prev['password'] = $users->password[$i];
|
||||
}
|
||||
}
|
||||
@@ -509,8 +514,10 @@ class userModel extends model
|
||||
$user = fixer::input('post')
|
||||
->setDefault('join', '0000-00-00')
|
||||
->setDefault('company', 0)
|
||||
->setDefault('visions', '')
|
||||
->setIF($this->post->password1 != false, 'password', substr($this->post->password1, 0, 32))
|
||||
->setIF($this->post->email != false, 'email', trim($this->post->email))
|
||||
->join('visions', ',')
|
||||
->remove('new, password1, password2, groups,verifyPassword, passwordStrength')
|
||||
->get();
|
||||
|
||||
@@ -552,6 +559,7 @@ class userModel extends model
|
||||
->checkIF($this->post->mobile != '', 'mobile', 'mobile')
|
||||
->where('id')->eq((int)$userID)
|
||||
->exec();
|
||||
if(dao::isError()) return false;
|
||||
|
||||
/* If account changed, update the privilege. */
|
||||
if($this->post->account != $oldUser->account)
|
||||
@@ -654,6 +662,7 @@ class userModel extends model
|
||||
$users[$id]['phone'] = $data->phone[$id];
|
||||
$users[$id]['address'] = $data->address[$id];
|
||||
$users[$id]['zipcode'] = $data->zipcode[$id];
|
||||
$users[$id]['visions'] = !empty($data->visions[$id]) ? join(',', $data->visions[$id]) : '';
|
||||
$users[$id]['dept'] = $data->dept[$id] == 'ditto' ? (isset($prev['dept']) ? $prev['dept'] : 0) : $data->dept[$id];
|
||||
$users[$id]['role'] = $data->role[$id] == 'ditto' ? (isset($prev['role']) ? $prev['role'] : 0) : $data->role[$id];
|
||||
|
||||
@@ -2656,4 +2665,21 @@ class userModel extends model
|
||||
}
|
||||
return $userDetails;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get vision list.
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getVisionList()
|
||||
{
|
||||
$visionList = $this->lang->visionList;
|
||||
foreach($visionList as $visionKey => $visionName)
|
||||
{
|
||||
if(strpos($this->config->visions, ",{$visionKey},") === false) unset($visionList[$visionKey]);
|
||||
}
|
||||
|
||||
return $visionList;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
<th class='c-dept<?php echo zget($visibleFields, 'dept', ' hidden') . zget($requiredFields, 'dept', '', ' required');?>'> <?php echo $lang->user->dept;?></th>
|
||||
<th class='accountThWidth required'><?php echo $lang->user->account;?></th>
|
||||
<th class='c-realname required'><?php echo $lang->user->realname;?></th>
|
||||
<th class='c-visions required'><?php echo $lang->user->visions;?></th>
|
||||
<th class='c-role<?php echo zget($requiredFields, 'role', '', ' required')?>'><?php echo $lang->user->role;?></th>
|
||||
<th class='c-group'><?php echo $lang->user->group;?></th>
|
||||
<th class='<?php echo zget($visibleFields, 'email', "$minWidth hidden", $minWidth) . zget($requiredFields, 'email', '', ' required')?>'><?php echo $lang->user->email;?></th>
|
||||
@@ -71,13 +72,15 @@
|
||||
<tbody>
|
||||
<?php $depts = $depts + array('ditto' => $lang->user->ditto)?>
|
||||
<?php $lang->user->roleList = $lang->user->roleList + array('ditto' => $lang->user->ditto)?>
|
||||
<?php $groupList = $groupList + array('ditto' => $lang->user->ditto)?>
|
||||
<?php $groupList = $groupList + array('ditto' => $lang->user->ditto);?>
|
||||
<?php $visionList = $this->user->getVisionList() + array('ditto' => $lang->user->ditto);?>
|
||||
<?php for($i = 0; $i < $config->user->batchCreate; $i++):?>
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $i+1;?></td>
|
||||
<td><?php echo $i + 1;?></td>
|
||||
<td class='text-left<?php echo zget($visibleFields, 'dept', ' hidden')?>' style='overflow:visible'><?php echo html::select("dept[$i]", $depts, $i > 0 ? 'ditto' : $deptID, "class='form-control chosen'");?></td>
|
||||
<td><?php echo html::input("account[$i]", '', "class='form-control account_$i' onchange='changeEmail($i)'");?></td>
|
||||
<td><?php echo html::input("realname[$i]", '', "class='form-control'");?></td>
|
||||
<td class='text-left'><?php echo html::select("visions[$i][]", $visionList, $i > 0 ? 'ditto' : '', "class='form-control chosen' multiple");?></td>
|
||||
<td><?php echo html::select("role[$i]", $lang->user->roleList, $i > 0 ? 'ditto' : '', "class='form-control' onchange='changeGroup(this.value, $i)'");?></td>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("group[$i]", $groupList, $i > 0 ? 'ditto' : '', "class='form-control chosen'");?></td>
|
||||
<td <?php echo zget($visibleFields, 'email', "class='hidden'")?>><?php echo html::input("email[$i]", '', "class='form-control email_$i' onchange='setDefaultEmail($i)'");?></td>
|
||||
|
||||
@@ -44,10 +44,11 @@
|
||||
<table class="table table-form">
|
||||
<thead>
|
||||
<tr class='text-center'>
|
||||
<th class='w-30px'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-30px'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'dept', ' hidden')?>'> <?php echo $lang->user->dept;?></th>
|
||||
<th class='<?php echo $minWidth?> required'><?php echo $lang->user->account;?></th>
|
||||
<th class='<?php echo $minWidth?> required'><?php echo $lang->user->realname;?></th>
|
||||
<th class='w-130px'><?php echo $lang->user->visions;?></th>
|
||||
<th class='w-120px'><?php echo $lang->user->role;?></th>
|
||||
<th class='w-120px'><?php echo $lang->user->type;?></th>
|
||||
<th class='<?php echo $minWidth . zget($visibleFields, 'commiter', ' hidden')?>'><?php echo $lang->user->commiter;?></th>
|
||||
@@ -71,8 +72,8 @@
|
||||
<?php $first = true;?>
|
||||
<?php foreach($users as $user):?>
|
||||
<?php
|
||||
$dept = ($first and empty($user->dept)) ? 0 : (empty($user->dept) ? 'ditto' : $user->dept);
|
||||
$role = ($first and empty($user->role)) ? 0 : (empty($user->role) ? 'ditto' : $user->role);
|
||||
$dept = ($first and empty($user->dept)) ? 0 : (empty($user->dept) ? 'ditto' : $user->dept);
|
||||
$role = ($first and empty($user->role)) ? 0 : (empty($user->role) ? 'ditto' : $user->role);
|
||||
$type = empty($user->type) ? 'inside' : $user->type;
|
||||
$first = false;
|
||||
?>
|
||||
@@ -81,6 +82,8 @@
|
||||
<td class='text-left<?php echo zget($visibleFields, 'dept', ' hidden')?>' style='overflow:visible'><?php echo html::select("dept[$user->id]", $depts, $dept, "class='form-control chosen'");?></td>
|
||||
<td><?php echo html::input("account[$user->id]", $user->account, "class='form-control'");?></td>
|
||||
<td><?php echo html::input("realname[$user->id]", $user->realname, "class='form-control'");?></td>
|
||||
<?php $visionList = $this->user->getVisionList();?>
|
||||
<td class='text-left'><?php echo html::select("visions[$user->id][]", $visionList, $user->visions, "class='form-control chosen' multiple");?></td>
|
||||
<td><?php echo html::select("role[$user->id]", $lang->user->roleList, $role, "class='form-control'");?></td>
|
||||
<td><?php echo html::select("type[$user->id]", $lang->user->typeList, $type, "class='form-control'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'commiter', 'hidden')?>'><?php echo html::input("commiter[$user->id]", $user->commiter, "class='form-control'");?></td>
|
||||
|
||||
@@ -60,6 +60,11 @@
|
||||
<th><?php echo $lang->user->password2;?></th>
|
||||
<td><?php echo html::password('password2', '', "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->user->visions;?></th>
|
||||
<?php $visionList = $this->user->getVisionList();?>
|
||||
<td><?php echo html::checkbox('visions', $visionList, key($visionList), "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->user->realname;?></th>
|
||||
<td><?php echo html::input('realname', '', "class='form-control'");?></td>
|
||||
|
||||
@@ -81,6 +81,9 @@
|
||||
<tr>
|
||||
<th><?php echo $lang->user->commiter;?></th>
|
||||
<td><?php echo html::input('commiter', $user->commiter, "class='form-control'");?></td>
|
||||
<th><?php echo $lang->user->visions;?></th>
|
||||
<?php $visionList = $this->user->getVisionList();?>
|
||||
<td><?php echo html::select('visions[]', $visionList, $user->visions, "class='form-control chosen' multiple");?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table align='center' class='table table-form'>
|
||||
|
||||
@@ -43,9 +43,13 @@
|
||||
<tr class='colhead'>
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th class='w-pri'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<?php if($this->config->vision == 'lite'):?>
|
||||
<th class='w-200px'><?php common::printOrderLink('product', $orderBy, $vars, $lang->story->project);?></th>
|
||||
<?php else:?>
|
||||
<th class='w-200px'><?php common::printOrderLink('product', $orderBy, $vars, $lang->story->product);?></th>
|
||||
<?php endif;?>
|
||||
<th> <?php common::printOrderLink('title', $orderBy, $vars, $lang->story->title);?></th>
|
||||
<?php if($storyType != 'requirement'):?>
|
||||
<?php if($storyType != 'requirement' and $this->config->vision != 'lite'):?>
|
||||
<th class='w-150px'><?php common::printOrderLink('plan', $orderBy, $vars, $lang->story->plan);?></th>
|
||||
<?php endif;?>
|
||||
<th class='w-90px'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
@@ -56,13 +60,13 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($stories as $key => $story):?>
|
||||
<?php $storyLink = $this->createLink('story', 'view', "id=$story->id");?>
|
||||
<?php $storyLink = $this->createLink('story', 'view', "id=$story->id");?>
|
||||
<tr class='text-left'>
|
||||
<td><?php echo html::a($storyLink, sprintf('%03d', $story->id));?></td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->story->priList, $story->pri, $story->pri);?>'><?php echo zget($lang->story->priList, $story->pri, $story->pri);?></span></td>
|
||||
<td><?php echo $story->productTitle;?></td>
|
||||
<td class='text-left nobr'><?php echo html::a($storyLink, $story->title);?></td>
|
||||
<?php if($storyType != 'requirement'):?>
|
||||
<?php if($storyType != 'requirement' and $this->config->vision != 'lite'):?>
|
||||
<td title='<?php echo $story->planTitle;?>'><?php echo $story->planTitle;?></td>
|
||||
<?php endif;?>
|
||||
<td><?php echo zget($users, $story->openedBy);?></td>
|
||||
|
||||
Reference in New Issue
Block a user