* Add meeting to pending block.

This commit is contained in:
tianshujie98
2021-06-12 21:06:57 +08:00
parent d179eec394
commit 16b3845b2e
8 changed files with 152 additions and 61 deletions
+26 -1
View File
@@ -253,7 +253,7 @@ class block extends control
/* The list assigned to me jumps to the work page when click more button. */
$block->moreLink = $this->createLink($moduleName, $method, $vars);
if($moduleName == 'my' and strpos('task|story|requirement|bug|testcase|testtask|issue|risk', $method))
if($moduleName == 'my' and strpos('task|story|requirement|bug|testcase|testtask|issue|risk|meeting', $method))
{
$block->moreLink = $this->createLink($moduleName, 'work', 'mode=' . $method . '&' . $vars);
}
@@ -1672,6 +1672,7 @@ class block extends control
if(common::hasPriv('bug', 'view')) $hasViewPriv['bug'] = true;
if(common::hasPriv('risk', 'view') and isset($this->config->maxVersion)) $hasViewPriv['risk'] = true;
if(common::hasPriv('issue', 'view') and isset($this->config->maxVersion)) $hasViewPriv['issue'] = true;
if(common::hasPriv('meeting', 'view') and isset($this->config->maxVersion)) $hasViewPriv['meeting'] = true;
if(common::hasPriv('story', 'view')) $hasViewPriv['story'] = true;
$params = $this->get->param;
@@ -1748,6 +1749,30 @@ class block extends control
$count['risk'] = count($risks);
$this->view->risks = $risks;
}
if(isset($hasViewPriv['meeting']))
{
$this->app->loadLang('meeting');
$stmt = $this->dao->select('*')->from(TABLE_MEETING)
->Where('deleted')->eq('0')
->andwhere('(host')->eq($this->app->user->account)
->orWhere('participant')->in($this->app->user->account)
->markRight(1)
->orderBy('id_desc');
if(isset($params->meetingNum)) $stmt->limit($params->meetingNum);
$meetings = $stmt->fetchAll();
$now = strtotime(helper::now());
foreach($meetings as $meetingID => $meeting)
{
$date = strtotime($meeting->date . ' ' . $meeting->begin);
if($date < $now) unset($meetings[$meetingID]);
}
$count['meeting'] = count($meetings);
$this->view->meetings = $meetings;
$this->view->depts = $this->loadModel('dept')->getOptionMenu();
$this->view->users = $this->loadModel('user')->getPairs('all,noletter');
}
if(isset($hasViewPriv['issue']))
{
$this->app->loadLang('issue');
+15 -12
View File
@@ -309,12 +309,13 @@ $lang->block->default['full']['my']['7']['block'] = 'assigntome';
$lang->block->default['full']['my']['7']['source'] = '';
$lang->block->default['full']['my']['7']['grid'] = 8;
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['meetingNum'] = '20';
if($config->systemMode == 'new')
{
@@ -350,6 +351,7 @@ $lang->block->availableBlocks->build = 'Build';
$lang->block->availableBlocks->testtask = 'Testaufgaben';
$lang->block->availableBlocks->risk = 'My Risks';
$lang->block->availableBlocks->issue = 'My Issues';
$lang->block->availableBlocks->meeting = 'My Meetings';
if($config->systemMode == 'new') $lang->block->moduleList['project'] = 'Project';
$lang->block->moduleList['product'] = $lang->productCommon;
@@ -467,12 +469,13 @@ $lang->block->orderByList->story['status_desc'] = 'Status Absteigend';
$lang->block->orderByList->story['stage_asc'] = 'Phase Aufsteigend';
$lang->block->orderByList->story['stage_desc'] = 'Phase Absteigend';
$lang->block->todoNum = 'Todos';
$lang->block->taskNum = 'Aufgaben';
$lang->block->bugNum = 'Bugs';
$lang->block->riskNum = 'Risk';
$lang->block->issueNum = 'Issues';
$lang->block->storyNum = 'Stories';
$lang->block->todoNum = 'Todos';
$lang->block->taskNum = 'Aufgaben';
$lang->block->bugNum = 'Bugs';
$lang->block->riskNum = 'Risk';
$lang->block->issueNum = 'Issues';
$lang->block->storyNum = 'Stories';
$lang->block->meetingNum = 'Meetings';
$lang->block->typeList = new stdclass();
+15 -12
View File
@@ -309,12 +309,13 @@ $lang->block->default['full']['my']['7']['block'] = 'assigntome';
$lang->block->default['full']['my']['7']['source'] = '';
$lang->block->default['full']['my']['7']['grid'] = 8;
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['meetingNum'] = '20';
if($config->systemMode == 'new')
{
@@ -355,6 +356,7 @@ $lang->block->availableBlocks->build = 'Builds';
$lang->block->availableBlocks->testtask = 'Requests';
$lang->block->availableBlocks->risk = 'My Risks';
$lang->block->availableBlocks->issue = 'My Issues';
$lang->block->availableBlocks->meeting = 'My Meetings';
if($config->systemMode == 'new') $lang->block->moduleList['project'] = 'Project';
$lang->block->moduleList['product'] = $lang->productCommon;
@@ -472,12 +474,13 @@ $lang->block->orderByList->story['status_desc'] = 'Story Status DESC';
$lang->block->orderByList->story['stage_asc'] = 'Story Phase ASC';
$lang->block->orderByList->story['stage_desc'] = 'Story Phase DESC';
$lang->block->todoNum = 'Todo';
$lang->block->taskNum = 'Task';
$lang->block->bugNum = 'Bug';
$lang->block->riskNum = 'Risk';
$lang->block->issueNum = 'Issues';
$lang->block->storyNum = 'Stories';
$lang->block->todoNum = 'Todo';
$lang->block->taskNum = 'Task';
$lang->block->bugNum = 'Bug';
$lang->block->riskNum = 'Risk';
$lang->block->issueNum = 'Issues';
$lang->block->storyNum = 'Stories';
$lang->block->meetingNum = 'Meetings';
$lang->block->typeList = new stdclass();
+15 -12
View File
@@ -309,12 +309,13 @@ $lang->block->default['full']['my']['7']['block'] = 'assigntome';
$lang->block->default['full']['my']['7']['source'] = '';
$lang->block->default['full']['my']['7']['grid'] = 8;
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['meetingNum'] = '20';
if($config->systemMode == 'new')
{
@@ -350,6 +351,7 @@ $lang->block->availableBlocks->build = 'Builds';
$lang->block->availableBlocks->testtask = 'Recettes';
$lang->block->availableBlocks->risk = 'My Risks';
$lang->block->availableBlocks->issue = 'My Issues';
$lang->block->availableBlocks->meeting = 'My Meetings';
if($config->systemMode == 'new') $lang->block->moduleList['project'] = 'Project';
$lang->block->moduleList['product'] = $lang->productCommon;
@@ -467,12 +469,13 @@ $lang->block->orderByList->story['status_desc'] = 'Tri par Statut Story DESC';
$lang->block->orderByList->story['stage_asc'] = 'Tri par Phase Story ASC';
$lang->block->orderByList->story['stage_desc'] = 'Tri par Phase Story DESC';
$lang->block->todoNum = 'Todo';
$lang->block->taskNum = 'Task';
$lang->block->bugNum = 'Bug';
$lang->block->riskNum = 'Risk';
$lang->block->issueNum = 'Issues';
$lang->block->storyNum = 'Stories';
$lang->block->todoNum = 'Todo';
$lang->block->taskNum = 'Task';
$lang->block->bugNum = 'Bug';
$lang->block->riskNum = 'Risk';
$lang->block->issueNum = 'Issues';
$lang->block->storyNum = 'Stories';
$lang->block->meetingNum = 'Meetings';
$lang->block->typeList = new stdclass();
+15 -12
View File
@@ -309,12 +309,13 @@ $lang->block->default['full']['my']['7']['block'] = 'assigntome';
$lang->block->default['full']['my']['7']['source'] = '';
$lang->block->default['full']['my']['7']['grid'] = 8;
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['meetingNum'] = '20';
if($config->systemMode == 'new')
{
@@ -350,6 +351,7 @@ $lang->block->availableBlocks->build = 'Bản dựng';
$lang->block->availableBlocks->testtask = 'Yêu cầu';
$lang->block->availableBlocks->risk = 'My Risks';
$lang->block->availableBlocks->issue = 'My Issues';
$lang->block->availableBlocks->meeting = 'My Meetings';
if($config->systemMode == 'new') $lang->block->moduleList['project'] = 'Project';
$lang->block->moduleList['product'] = $lang->productCommon;
@@ -467,12 +469,13 @@ $lang->block->orderByList->story['status_desc'] = 'Tình trạng câu chuyện g
$lang->block->orderByList->story['stage_asc'] = 'Giai đoạn câu chuyện tăng dần';
$lang->block->orderByList->story['stage_desc'] = 'Giai đoạn câu chuyện giảm dần';
$lang->block->todoNum = 'Việc làm';
$lang->block->taskNum = 'Nhiệm vụ';
$lang->block->bugNum = 'Bug';
$lang->block->riskNum = 'Risk';
$lang->block->issueNum = 'Issues';
$lang->block->storyNum = 'Stories';
$lang->block->todoNum = 'Việc làm';
$lang->block->taskNum = 'Nhiệm vụ';
$lang->block->bugNum = 'Bug';
$lang->block->riskNum = 'Risk';
$lang->block->issueNum = 'Issues';
$lang->block->storyNum = 'Stories';
$lang->block->meetingNum = 'Meetings';
$lang->block->typeList = new stdclass();
+15 -12
View File
@@ -309,12 +309,13 @@ $lang->block->default['full']['my']['7']['block'] = 'assigntome';
$lang->block->default['full']['my']['7']['source'] = '';
$lang->block->default['full']['my']['7']['grid'] = 8;
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['todoNum'] = '20';
$lang->block->default['full']['my']['7']['params']['taskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['bugNum'] = '20';
$lang->block->default['full']['my']['7']['params']['riskNum'] = '20';
$lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['7']['params']['meetingNum'] = '20';
if($config->systemMode == 'new')
{
@@ -355,6 +356,7 @@ $lang->block->availableBlocks->build = '版本列表';
$lang->block->availableBlocks->testtask = '测试版本列表';
$lang->block->availableBlocks->risk = '我的风险';
$lang->block->availableBlocks->issue = '我的问题';
$lang->block->availableBlocks->meeting = '我的会议';
if($config->systemMode == 'new') $lang->block->moduleList['project'] = '项目';
$lang->block->moduleList['product'] = $lang->productCommon;
@@ -472,12 +474,13 @@ $lang->block->orderByList->story['status_desc'] = '状态倒序';
$lang->block->orderByList->story['stage_asc'] = '阶段正序';
$lang->block->orderByList->story['stage_desc'] = '阶段倒序';
$lang->block->todoNum = '待办数';
$lang->block->taskNum = '任务数';
$lang->block->bugNum = 'Bug数';
$lang->block->riskNum = '风险数';
$lang->block->issueNum = '问题数';
$lang->block->storyNum = '需求数';
$lang->block->todoNum = '待办数';
$lang->block->taskNum = '任务数';
$lang->block->bugNum = 'Bug数';
$lang->block->riskNum = '风险数';
$lang->block->issueNum = '问题数';
$lang->block->storyNum = '需求数';
$lang->block->meetingNum = '会议数';
$lang->block->typeList = new stdclass();
+4
View File
@@ -740,6 +740,10 @@ class blockModel extends model
$params->issueNum['name'] = $this->lang->block->issueNum;
$params->issueNum['default'] = 20;
$params->issueNum['control'] = 'input';
$params->meetingNum['name'] = $this->lang->block->meetingNum;
$params->meetingNum['default'] = 20;
$params->meetingNum['control'] = 'input';
}
$params->storyNum['name'] = $this->lang->block->storyNum;
+47
View File
@@ -0,0 +1,47 @@
<?php if(empty($meetings)): ?>
<div class='empty-tip'><?php echo $lang->block->emptyTip;?></div>
<?php else:?>
<style>
.block-meetings .c-id {width: 50px;}
.block-meetings .c-date {width: 100px;}
.block-meetings .c-dept {width: 80px;}
.block-meetings .c-mode {width: 80px;}
.block-meetings .c-minutedBy {width: 80px;}
.block-meetings .c-host {width: 80px;}
</style>
<div class='panel-body has-table scrollbar-hover'>
<table class='table table-borderless table-fixed table-fixed-head table-hover tablesorter block-meetings <?php if(!$longBlock) echo 'block-sm'?>'>
<thead>
<tr>
<th class='c-id'><?php echo $lang->idAB?></th>
<th class='c-date'><?php echo $lang->meeting->date;?></th>
<th class='c-name'><?php echo $lang->meeting->name?></th>
<?php if($longBlock):?>
<th class='c-dept'><?php echo $lang->meeting->dept;?></th>
<th class='c-mode'><?php echo $lang->meeting->mode;?></th>
<th class='c-minutedBy'><?php echo $lang->meeting->minutedBy;?></th>
<?php endif;?>
<th class='c-host'><?php echo $lang->meeting->host;?></th>
</tr>
</thead>
<tbody>
<?php foreach($meetings as $meeting):?>
<?php
$appid = isset($_GET['entry']) ? "class='app-btn' data-id='{$this->get->entry}'" : '';
?>
<tr>
<td class='c-id-xs'><?php echo sprintf('%03d', $meeting->id);?></td>
<td class='c-date'><?php echo $meeting->date == '0000-00-00' ? '' : $meeting->date;?></td>
<td class='c-name' title='<?php echo $meeting->name?>'><?php echo html::a($this->createLink('meeting', 'view', "meetingID=$meeting->id"), $meeting->name)?></td>
<?php if($longBlock):?>
<td class='c-dept'><?php echo zget($depts, $meeting->dept)?></td>
<td class='c-mode'><?php echo zget($lang->meeting->modeList, $meeting->dept)?></td>
<td class='c-minutedBy'><?php echo zget($users, $meeting->minutedBy);?></td>
<?php endif;?>
<td class='c-host'><?php echo zget($users, $meeting->host);?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
<?php endif;?>