Merge branch 'master' of github.com:easysoft/zentaopms
This commit is contained in:
@@ -19,6 +19,7 @@ $lang->my->manageContacts = 'Maintain Contact';
|
||||
$lang->my->deleteContacts = 'Delete Contact';
|
||||
$lang->my->limited = 'Restricted operation (editing only content related to itself)';
|
||||
$lang->my->score = 'My Score';
|
||||
$lang->my->scoreRule = 'Score rule';
|
||||
|
||||
$lang->my->taskMenu = new stdclass();
|
||||
$lang->my->taskMenu->assignedToMe = 'Assigned to Me';
|
||||
|
||||
@@ -19,6 +19,7 @@ $lang->my->manageContacts = '维护联系人';
|
||||
$lang->my->deleteContacts = '删除联系人';
|
||||
$lang->my->limited = '受限操作(只能编辑与自己相关的内容)';
|
||||
$lang->my->score = '我的积分';
|
||||
$lang->my->scoreRule = '积分规则';
|
||||
|
||||
$lang->my->taskMenu = new stdclass();
|
||||
$lang->my->taskMenu->assignedToMe = '指派给我';
|
||||
|
||||
@@ -19,6 +19,7 @@ $lang->my->manageContacts = '維護聯繫人';
|
||||
$lang->my->deleteContacts = '刪除聯繫人';
|
||||
$lang->my->limited = '受限操作(只能編輯與自己相關的內容)';
|
||||
$lang->my->score = '我的積分';
|
||||
$lang->my->scoreRule = '積分規則';
|
||||
|
||||
$lang->my->taskMenu = new stdclass();
|
||||
$lang->my->taskMenu->assignedToMe = '指派給我';
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<div class='actions'>
|
||||
<span class='btn disabled'><label><?php echo $lang->score->current; ?>:</label><?php echo $user->score; ?></span>
|
||||
<span class='btn disabled hidden'><label><?php echo $lang->score->level; ?>:</label><?php echo $user->scoreLevel; ?></span>
|
||||
<?php if($this->app->user->admin == 1) echo html::a($this->createLink('score', 'rule'), $lang->my->scoreRule, '', "class='btn btn-primary'");?>
|
||||
</div>
|
||||
</div>
|
||||
<table class='table tablesorter'>
|
||||
|
||||
@@ -23,6 +23,18 @@ class score extends control
|
||||
$this->score->create('ajax', $method);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show score rule.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function rule()
|
||||
{
|
||||
$this->view->rule = $this->config->score;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize score.
|
||||
*
|
||||
|
||||
@@ -20,7 +20,9 @@ $lang->score->score = 'Score';
|
||||
$lang->score->after = 'After';
|
||||
$lang->score->time = 'Time';
|
||||
$lang->score->desc = 'Description';
|
||||
|
||||
$lang->score->noLimit = 'No limited';
|
||||
$lang->score->times = 'Times';
|
||||
$lang->score->hour = 'Hour';
|
||||
|
||||
$lang->score->models['task'] = 'Task';
|
||||
$lang->score->models['tutorial'] = 'Tutorial';
|
||||
@@ -77,3 +79,10 @@ $lang->score->methods['release']['create'] = 'Create release';
|
||||
$lang->score->methods['block']['set'] = 'Custom block';
|
||||
$lang->score->methods['search']['saveQuery'] = 'Save search query';
|
||||
$lang->score->methods['search']['saveQueryAdvanced'] = 'Advanced search';
|
||||
|
||||
$lang->score->extended->userchangePassword = 'Password strength,medium:add extra score : #changePassword,strength,1#; Strong:add extra score : #changePassword,strength,2#.';
|
||||
$lang->score->extended->projectclose = 'Project closed,PM add extra score : #projectClose,manager,close#,Team member add extra score : #projectClose,member,close#. Completed on schedule or in advance,PM add extra score : #projectClose,manager,in#,Team member Add extra score : #projectClose,member,in#.';
|
||||
$lang->score->extended->bugresolve = 'Bug resolved,Add extra severity score :s1 + #bugResolve,severity,3#, s2 + #bugResolve,severity,2#, s3 + #bugResolve,severity,1#。';
|
||||
$lang->score->extended->bugconfirmBug = 'Bug confirmed,Add extra severity score :s1 + #bugConfirmBug,severity,3#, s2 + #bugConfirmBug,severity,2#, s3 + #bugConfirmBug,severity,1#。';
|
||||
$lang->score->extended->taskfinish = 'Task finished, Add extra score round(consumed /10 * estimate / consumed) + severity score(p1 #taskFinish,pri,1#, p2, #taskFinish,pri,2#)。';
|
||||
$lang->score->extended->storyclose = 'Add extra score for story creator : #storyClose,createID#.';
|
||||
@@ -20,7 +20,9 @@ $lang->score->score = '分值';
|
||||
$lang->score->after = '之后';
|
||||
$lang->score->time = '时间';
|
||||
$lang->score->desc = '描述';
|
||||
|
||||
$lang->score->noLimit = '不限制';
|
||||
$lang->score->times = '次数';
|
||||
$lang->score->hour = '时间间隔';
|
||||
|
||||
$lang->score->models['task'] = '任务';
|
||||
$lang->score->models['tutorial'] = '新手教程';
|
||||
@@ -77,3 +79,10 @@ $lang->score->methods['release']['create'] = '创建发布';
|
||||
$lang->score->methods['block']['set'] = '区块自定义设置';
|
||||
$lang->score->methods['search']['saveQuery'] = '保存搜索条件';
|
||||
$lang->score->methods['search']['saveQueryAdvanced'] = '使用高级搜索';
|
||||
|
||||
$lang->score->extended->userchangePassword = '密码强度中的,额外获得#changePassword,strength,1#个积分,强的,额外获得#changePassword,strength,2#个积分。';
|
||||
$lang->score->extended->projectclose = '项目经理增加#projectClose,manager,close#个积分,项目成员增加#projectClose,member,close#个积分。按期或者提前完成,项目经理额外增加#projectClose,manager,in#个积分,项目成员额外增加#projectClose,member,in#个积分。';
|
||||
$lang->score->extended->bugresolve = 'Bug解决后,额外增加严重程度积分:s1 + #bugResolve,severity,3#, s2 + #bugResolve,severity,2#, s3 + #bugResolve,severity,1#。';
|
||||
$lang->score->extended->bugconfirmBug = 'Bug确认后,额外增加严重程度积分:s1 + #bugConfirmBug,severity,3#, s2 + #bugConfirmBug,severity,2#, s3 + #bugConfirmBug,severity,1#。';
|
||||
$lang->score->extended->taskfinish = '额外增加工时积分 round(工时 /10 * 预计 / 消耗) + 优先级积分(p1 #taskFinish,pri,1#, p2, #taskFinish,pri,2#)。';
|
||||
$lang->score->extended->storyclose = '需求的创建者额外增加#storyClose,createID#分';
|
||||
@@ -20,7 +20,9 @@ $lang->score->score = '分值';
|
||||
$lang->score->after = '之後';
|
||||
$lang->score->time = '時間';
|
||||
$lang->score->desc = '描述';
|
||||
|
||||
$lang->score->noLimit = '不限制';
|
||||
$lang->score->times = '次数';
|
||||
$lang->score->hour = '时间间隔';
|
||||
|
||||
$lang->score->models['task'] = '任務';
|
||||
$lang->score->models['tutorial'] = '新手教程';
|
||||
@@ -77,4 +79,11 @@ $lang->score->methods['productplan']['create'] = '創建計劃';
|
||||
$lang->score->methods['release']['create'] = '創建發布';
|
||||
$lang->score->methods['block']['set'] = '區塊自定義設置';
|
||||
$lang->score->methods['search']['saveQuery'] = '保存搜索條件';
|
||||
$lang->score->methods['search']['saveQueryAdvanced'] = '使用高級搜索';
|
||||
$lang->score->methods['search']['saveQueryAdvanced'] = '使用高級搜索';
|
||||
|
||||
$lang->score->extended->userchangePassword = '密碼強度中的,額外獲得#changePassword,strength,1#個積分,強的,額外獲得#changePassword,strength,2#個積分。';
|
||||
$lang->score->extended->projectclose = '項目經理增加#projectClose,manager,close#個積分,項目成員增加#projectClose,member,close#個積分。按期或者提前完成,項目經理額外增加#projectClose,manager,in#個積分,項目成員額外增加#projectClose,member,in#個積分。';
|
||||
$lang->score->extended->bugresolve = 'Bug解決後,額外增加嚴重程度積分:s1 + #bugResolve,severity,3#, s2 + #bugResolve,severity,2#, s3 + #bugResolve,severity,1#。';
|
||||
$lang->score->extended->bugconfirmBug = 'Bug確認後,額外增加嚴重程度積分:s1 + #bugConfirmBug,severity,3#, s2 + #bugConfirmBug,severity,2#, s3 + #bugConfirmBug,severity,1#。';
|
||||
$lang->score->extended->taskfinish = '額外增加工時積分 round(工時/ 10 * 預計/消耗) + 優先級積分(p1 #taskFinish,pri,1#, p2, #taskFinish,pri,2#)。';
|
||||
$lang->score->extended->storyclose = '需要的創建者額外增加#storyClose,createID#分';
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
/**
|
||||
* The reset view file of score module of ZenTaoPMS.
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Memory <lvtao@cnezsoft.com>
|
||||
* @package score
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php'; ?>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-150px"><?php echo $this->lang->score->module;?></th>
|
||||
<th class="w-150px"><?php echo $this->lang->score->method;?></th>
|
||||
<th class="w-150px"><?php echo $this->lang->score->times;?></th>
|
||||
<th class="w-150px"><?php echo $this->lang->score->hour;?></th>
|
||||
<th class="w-150px"><?php echo $this->lang->score->score;?></th>
|
||||
<th>备注</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($rule as $key => $value):?>
|
||||
<?php if($key == 'extended') break;?>
|
||||
<?php foreach($value as $oneKey => $oneValue):?>
|
||||
<tr>
|
||||
<td class="text-center"><?php echo $this->lang->score->models[$key];?></td>
|
||||
<td class="text-center"><?php echo $this->lang->score->methods[$key][$oneKey];?></td>
|
||||
<td class="text-center"><?php echo empty($oneValue['times']) ? $this->lang->score->noLimit : $oneValue['times'];?></td>
|
||||
<td class="text-center"><?php echo empty($oneValue['hour']) ? $this->lang->score->noLimit : $oneValue['hour'];?></td>
|
||||
<td class="text-center"><?php echo $oneValue['score'];?></td>
|
||||
<td>
|
||||
<?php
|
||||
if(isset($this->lang->score->extended->{$key . $oneKey}))
|
||||
{
|
||||
$str = $this->lang->score->extended->{$key . $oneKey};
|
||||
$strArray = explode('#', $str);
|
||||
if(!empty($strArray)) foreach($strArray as $strKey => $strVal)
|
||||
{
|
||||
if($strKey % 2 == 1)
|
||||
{
|
||||
$ab = explode(',', $strVal);
|
||||
$score = count($ab) == 3 ? $rule->extended->{$ab[0]}[$ab[1]][$ab[2]] : $rule->extended->{$ab[0]}[$ab[1]];
|
||||
$str = str_replace('#' . $strVal . '#', $score, $str);
|
||||
}
|
||||
}
|
||||
echo $str;
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<?php endforeach;?>
|
||||
</tfoot>
|
||||
</table>
|
||||
<?php include '../../common/view/footer.html.php'; ?>
|
||||
@@ -780,8 +780,9 @@ class task extends control
|
||||
|
||||
if(!empty($task->team))
|
||||
{
|
||||
$task->openedBy = $this->task->getNextUser(array_keys($task->team), $task->assignedTo);
|
||||
$members = $this->task->getMemberPairs($task);
|
||||
$task->openedBy = $this->task->getNextUser(array_keys($task->team), $task->assignedTo);
|
||||
$members = $this->task->getMemberPairs($task);
|
||||
$task->myConsumed = $this->dao->select('consumed')->from(TABLE_TEAM)->where('task')->eq($taskID)->andWhere('account')->eq($task->assignedTo)->fetch('consumed');
|
||||
}
|
||||
|
||||
$this->view->title = $this->view->project->name . $this->lang->colon .$this->lang->task->finish;
|
||||
|
||||
@@ -107,7 +107,7 @@ $lang->task->parent = 'Parent Task';
|
||||
$lang->task->unfinished = 'Unfinished';
|
||||
$lang->task->lblPri = 'P';
|
||||
$lang->task->lblHour = '(h)';
|
||||
$lang->task->deniedNotice = 'This task only starting from <strong>% s </ strong>.';
|
||||
$lang->task->deniedNotice = 'This task can only be started by the first user in the team.';
|
||||
|
||||
$lang->task->ditto = 'Ditto';
|
||||
$lang->task->dittoNotice = "This Task does not belong to the Project as the previous one does!";
|
||||
|
||||
@@ -106,7 +106,7 @@ $lang->task->childrenAB = '子';
|
||||
$lang->task->parent = '父任务';
|
||||
$lang->task->lblPri = 'P';
|
||||
$lang->task->lblHour = '(h)';
|
||||
$lang->task->deniedNotice = '此任务只允许由<strong>%s</strong>开始。';
|
||||
$lang->task->deniedNotice = '此任务只允许由团队第一人开始。';
|
||||
|
||||
$lang->task->ditto = '同上';
|
||||
$lang->task->dittoNotice = "该任务与上一任务不属于同一项目!";
|
||||
|
||||
@@ -107,7 +107,7 @@ $lang->task->parent = '父任務';
|
||||
$lang->task->unfinished = '未完成';
|
||||
$lang->task->lblPri = 'P';
|
||||
$lang->task->lblHour = '(h)';
|
||||
$lang->task->deniedNotice = '此任務只允許由<strong>%s</strong>開始。';
|
||||
$lang->task->deniedNotice = '此任務只允許由團隊第一人開始。';
|
||||
|
||||
$lang->task->ditto = '同上';
|
||||
$lang->task->dittoNotice = "該任務與上一任務不屬於同一項目!";
|
||||
|
||||
+59
-29
@@ -687,6 +687,7 @@ class taskModel extends model
|
||||
->setDefault('lastEditedDate', $now)
|
||||
->setIF($oldTask->assignedTo != $this->app->user->account, 'assignedDate', $now)
|
||||
->remove('comment')->get();
|
||||
|
||||
if($this->post->left == 0)
|
||||
{
|
||||
$task->status = 'done';
|
||||
@@ -707,6 +708,27 @@ class taskModel extends model
|
||||
$estimate->consumed = $estimate->consumed - $oldTask->consumed;
|
||||
$this->addTaskEstimate($estimate);
|
||||
|
||||
if(!empty($oldTask->team) && $task->status == 'done')
|
||||
{
|
||||
$teams = array_keys($oldTask->team);
|
||||
if(empty($oldTask->assignedTo)) $oldTask->assignedTo = $teams[0];
|
||||
|
||||
$newTeamInfo = new stdClass();
|
||||
$newTeamInfo->consumed = $task->consumed;
|
||||
$newTeamInfo->left = 0;
|
||||
$this->dao->update(TABLE_TEAM)->data($newTeamInfo)->where('task')->eq($taskID)->andWhere('account')->eq($oldTask->assignedTo)->exec();
|
||||
|
||||
$newTask = new stdClass();
|
||||
$newTask->left = 0;
|
||||
$newTask->status = 'doing';
|
||||
$newTask->consumed = $task->consumed;
|
||||
$newTask->assignedTo = $this->getNextUser($teams, $oldTask->assignedTo);
|
||||
$newTask->assignedDate = $now;
|
||||
$this->dao->update(TABLE_TASK)->data($newTask)->where('id')->eq((int)$taskID)->exec();
|
||||
|
||||
if($task->assignedTo != $teams[count($teams) - 1]) return common::createChanges($oldTask, $newTask);
|
||||
}
|
||||
|
||||
$this->dao->update(TABLE_TASK)->data($task)
|
||||
->autoCheck()
|
||||
->check('consumed,left', 'float')
|
||||
@@ -826,22 +848,31 @@ class taskModel extends model
|
||||
$data->assignedDate = $now;
|
||||
}
|
||||
|
||||
|
||||
if(!empty($task->team))
|
||||
{
|
||||
if(in_array($this->app->user->account,array_keys($task->team)))
|
||||
{
|
||||
$myTeamInfo = $this->dao->select('`consumed`,`left`')->from(TABLE_TEAM)->where('task')->eq($taskID)->andWhere('account')->eq($this->app->user->account)->fetch();
|
||||
if(!empty($myTeamInfo))
|
||||
{
|
||||
$newTeamInfo = new stdClass();
|
||||
$newTeamInfo->consumed = $myTeamInfo->consumed + $consumed;
|
||||
$newTeamInfo->left = $left;
|
||||
$this->dao->update(TABLE_TEAM)->data($newTeamInfo)->where('task')->eq($taskID)->andWhere('account')->eq($this->app->user->account)->exec();
|
||||
}
|
||||
}
|
||||
$teams = array_keys($task->team);
|
||||
|
||||
$data->left = $this->dao->select("sum(`left`) as leftTime")->from(TABLE_TEAM)->where('task')->eq((int)$taskID)->andWhere('account')->in(array_keys($task->team))->fetch('leftTime');
|
||||
$myConsumed = $this->dao->select('`consumed`')->from(TABLE_TEAM)->where('task')->eq($taskID)->andWhere('account')->eq($task->assignedTo)->fetch('consumed');
|
||||
|
||||
$newTeamInfo = new stdClass();
|
||||
$newTeamInfo->consumed = $myConsumed + $consumed;
|
||||
$newTeamInfo->left = $left;
|
||||
$this->dao->update(TABLE_TEAM)->data($newTeamInfo)->where('task')->eq($taskID)->andWhere('account')->eq($task->assignedTo)->exec();
|
||||
|
||||
$teamTime = $this->dao->select("sum(`consumed`) as consumed,sum(`left`) as leftTime")->from(TABLE_TEAM)->where('task')->eq((int)$taskID)->andWhere('account')->in($teams)->fetch();
|
||||
$data->consumed = $teamTime->consumed;
|
||||
$data->left = $teamTime->leftTime;
|
||||
|
||||
if($task->status == 'done')
|
||||
{
|
||||
$newTask = new stdClass();
|
||||
$newTask->left = $data->left;
|
||||
$newTask->consumed = $data->consumed;
|
||||
$newTask->assignedTo = $this->getNextUser($teams, $task->assignedTo);
|
||||
$this->dao->update(TABLE_TASK)->data($newTask)->where('id')->eq((int)$taskID)->exec();
|
||||
|
||||
if($task->assignedTo != $teams[count($teams) - 1]) return common::createChanges($task, $newTask);
|
||||
}
|
||||
}
|
||||
|
||||
$this->dao->update(TABLE_TASK)->data($data)->where('id')->eq($taskID)->exec();
|
||||
@@ -902,26 +933,25 @@ class taskModel extends model
|
||||
if(!empty($oldTask->team))
|
||||
{
|
||||
$teams = array_keys($oldTask->team);
|
||||
if(in_array($this->app->user->account, $teams))
|
||||
{
|
||||
$myLeft = $this->dao->select("`left`")->from(TABLE_TEAM)->where('task')->eq((int)$taskID)->andWhere('account')->in($this->app->user->account)->fetch('left');
|
||||
if($myLeft <= 0) die(js::error($this->lang->task->error->isFinish));
|
||||
|
||||
$data = new stdClass();
|
||||
$data->left = 0;
|
||||
$data->consumed = $task->consumed;
|
||||
$this->dao->update(TABLE_TEAM)->data($data)->where('task')->eq((int)$taskID)->andWhere('account')->eq($this->app->user->account)->exec();
|
||||
$myConsumed = $this->dao->select("`consumed`")->from(TABLE_TEAM)->where('task')->eq((int)$taskID)->andWhere('account')->eq($oldTask->assignedTo)->fetch('consumed');
|
||||
if($task->consumed < $myConsumed) die(js::error($this->lang->task->error->consumedSmall));
|
||||
|
||||
$left = $this->dao->select("sum(`left`) as leftTime")->from(TABLE_TEAM)->where('task')->eq((int)$taskID)->andWhere('account')->in($teams)->fetch('leftTime');
|
||||
$data = new stdClass();
|
||||
$data->left = 0;
|
||||
$data->consumed = $task->consumed;
|
||||
$this->dao->update(TABLE_TEAM)->data($data)->where('task')->eq((int)$taskID)->andWhere('account')->eq($oldTask->assignedTo)->exec();
|
||||
|
||||
$newTask = new stdClass();
|
||||
$newTask->left = $left;
|
||||
$newTask->consumed = $oldTask->consumed + $task->consumed;
|
||||
$newTask->assignedTo = $task->assignedTo;
|
||||
$this->dao->update(TABLE_TASK)->data($newTask)->where('id')->eq((int)$taskID)->exec();
|
||||
$myTime = $this->dao->select("sum(`left`) as leftTime,sum(`consumed`) as consumed")->from(TABLE_TEAM)->where('task')->eq((int)$taskID)->andWhere('account')->in($teams)->fetch();
|
||||
|
||||
if($this->app->user->account != $teams[count($teams)]) return common::createChanges($oldTask, $newTask);
|
||||
}
|
||||
$newTask = new stdClass();
|
||||
$newTask->left = $myTime->leftTime;
|
||||
$newTask->consumed = $myTime->consumed;
|
||||
$newTask->assignedTo = $task->assignedTo;
|
||||
$this->dao->update(TABLE_TASK)->data($newTask)->where('id')->eq((int)$taskID)->exec();
|
||||
|
||||
if($oldTask->assignedTo != $teams[count($teams) - 1]) return common::createChanges($oldTask, $newTask);
|
||||
$task->consumed = $myTime->consumed;
|
||||
}
|
||||
|
||||
if($task->finishedDate == substr($now, 0, 10)) $task->finishedDate = $now;
|
||||
|
||||
@@ -23,9 +23,15 @@
|
||||
<form class='form-condensed' method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->task->hasConsumed;?></th>
|
||||
<th class='w-80px'><?php echo !empty($task->team) ? $lang->task->common.$lang->task->consumed : $lang->task->hasConsumed;?></th>
|
||||
<td class='w-p25-f'> <?php echo $task->consumed;?> <?php echo $lang->workingHour;?></td><td></td>
|
||||
</tr>
|
||||
<?php if(!empty($task->team)):?>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->task->hasConsumed;?></th>
|
||||
<td class='w-p25-f'> <?php echo $task->myConsumed;?> <?php echo $lang->workingHour;?></td><td></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th><?php echo $lang->task->consumed;?></th>
|
||||
<td><div class='input-group'><?php echo html::input('consumed', $task->consumed, "class='form-control' autocomplete='off'");?> <span class='input-group-addon'><?php echo $lang->task->hour;?></span></div></td>
|
||||
|
||||
@@ -54,7 +54,8 @@
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<?php endif;?>
|
||||
<?php if($task->status == 'wait' or $task->status =='pause' or $task->status == 'doing'):?>
|
||||
<?php if(in_array($task->status, array('wait', 'pause', 'doing'))):?>
|
||||
<?php if(empty($task->team) || (!empty($task->team) && $task->assignedTo == $this->app->user->account)) :?>
|
||||
<thead>
|
||||
<tr class='text-center'>
|
||||
<th class="w-id"><?php echo $lang->idAB;?></th>
|
||||
@@ -80,6 +81,7 @@
|
||||
</tr>
|
||||
</table>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<?php js::set('confirmFinish', $lang->task->confirmFinish);?>
|
||||
<?php if(!empty($task->team) && array_keys($task->team)[0] != $this->app->user->account):?>
|
||||
<div class="alert alert-info with-icon">
|
||||
<div class="alert with-icon">
|
||||
<i class="icon-info-sign"></i>
|
||||
<div class="content">
|
||||
<p><?php echo sprintf($lang->task->deniedNotice, array_keys($task->team)[0]);?></p>
|
||||
<p><?php echo $lang->task->deniedNotice;?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php exit;?>
|
||||
|
||||
Reference in New Issue
Block a user