Merge branch 'master' of https://gitlab.zcorp.cc/easycorp/zentaopms
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
#sidebar {width: 275px;}
|
#sidebar {width: 275px;}
|
||||||
#sidebar>.cell {width: 100%;}
|
#sidebar>.cell {width: 100%;}
|
||||||
#sidebar>.sidebar-toggle {left: 3px; right: auto;}
|
#sidebar>.sidebar-toggle {left: 3px; right: auto;}
|
||||||
|
#title {font-size: 15px; font-weight: 600;}
|
||||||
.hide-sidebar #sidebar>.cell {left: -270px;}
|
.hide-sidebar #sidebar>.cell {left: -270px;}
|
||||||
.hide-sidebar #sidebar>.sidebar-toggle>.icon:before {content: "\e314";}
|
.hide-sidebar #sidebar>.sidebar-toggle>.icon:before {content: "\e314";}
|
||||||
.detail.empty {line-height: 200px;}
|
.detail.empty {line-height: 200px;}
|
||||||
|
|||||||
@@ -30,3 +30,40 @@ function deleteFile(fileID)
|
|||||||
if(!fileID) return;
|
if(!fileID) return;
|
||||||
hiddenwin.location.href = createLink('file', 'delete', 'fileID=' + fileID);
|
hiddenwin.location.href = createLink('file', 'delete', 'fileID=' + fileID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the document in full screen.
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function fullScreen()
|
||||||
|
{
|
||||||
|
var element = document.getElementById("content");
|
||||||
|
var requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullScreen;
|
||||||
|
if(requestMethod)
|
||||||
|
{
|
||||||
|
$('#content .actions').addClass('hidden');
|
||||||
|
requestMethod.call(element);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener("fullscreenchange", function (e)
|
||||||
|
{
|
||||||
|
if(!document.fullscreenElement) $('#content .actions').removeClass('hidden');
|
||||||
|
})
|
||||||
|
|
||||||
|
document.addEventListener("webkitfullscreenchange", function (e)
|
||||||
|
{
|
||||||
|
if(!document.webkitFullscreenElement) $('#content .actions').removeClass('hidden');
|
||||||
|
})
|
||||||
|
|
||||||
|
document.addEventListener("mozfullscreenchange", function (e)
|
||||||
|
{
|
||||||
|
if(!document.mozFullScreenElement) $('#content .actions').removeClass('hidden');
|
||||||
|
})
|
||||||
|
|
||||||
|
document.addEventListener("msfullscreenChange", function (e)
|
||||||
|
{
|
||||||
|
if(!document.msfullscreenElement) $('#content .actions').removeClass('hidden');
|
||||||
|
})
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ $lang->doc->myCollection = 'Meine Favoriten';
|
|||||||
|
|
||||||
/* 方法列表。*/
|
/* 方法列表。*/
|
||||||
$lang->doc->index = 'Home';
|
$lang->doc->index = 'Home';
|
||||||
|
$lang->doc->createAB = 'Create';
|
||||||
$lang->doc->create = 'Dokument hinzufügen';
|
$lang->doc->create = 'Dokument hinzufügen';
|
||||||
$lang->doc->edit = 'Bearbeiten';
|
$lang->doc->edit = 'Bearbeiten';
|
||||||
$lang->doc->delete = 'Löschen';
|
$lang->doc->delete = 'Löschen';
|
||||||
@@ -85,6 +86,7 @@ $lang->doc->catalogName = 'Catalog Name';
|
|||||||
$lang->doc->collect = 'Favorit hinzufügen';
|
$lang->doc->collect = 'Favorit hinzufügen';
|
||||||
$lang->doc->cancelCollection = 'Favorit entfernen';
|
$lang->doc->cancelCollection = 'Favorit entfernen';
|
||||||
$lang->doc->deleteFile = 'Delete File';
|
$lang->doc->deleteFile = 'Delete File';
|
||||||
|
$lang->doc->menuTitle = 'Menu';
|
||||||
|
|
||||||
$lang->doc->libName = 'Name';
|
$lang->doc->libName = 'Name';
|
||||||
$lang->doc->libType = 'Kategorie';
|
$lang->doc->libType = 'Kategorie';
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ $lang->doc->myCollection = 'My Favorites';
|
|||||||
|
|
||||||
/* Methods list */
|
/* Methods list */
|
||||||
$lang->doc->index = 'Document Home';
|
$lang->doc->index = 'Document Home';
|
||||||
|
$lang->doc->createAB = 'Create';
|
||||||
$lang->doc->create = 'Create Document';
|
$lang->doc->create = 'Create Document';
|
||||||
$lang->doc->edit = 'Edit Document';
|
$lang->doc->edit = 'Edit Document';
|
||||||
$lang->doc->delete = 'Delete Document';
|
$lang->doc->delete = 'Delete Document';
|
||||||
@@ -86,6 +87,7 @@ $lang->doc->catalogName = 'Catalog Name';
|
|||||||
$lang->doc->collect = 'Add Favorite';
|
$lang->doc->collect = 'Add Favorite';
|
||||||
$lang->doc->cancelCollection = 'Remove Favorite';
|
$lang->doc->cancelCollection = 'Remove Favorite';
|
||||||
$lang->doc->deleteFile = 'Delete File';
|
$lang->doc->deleteFile = 'Delete File';
|
||||||
|
$lang->doc->menuTitle = 'Menu';
|
||||||
|
|
||||||
$lang->doc->collectAction = 'Add Favorite';
|
$lang->doc->collectAction = 'Add Favorite';
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ $lang->doc->myCollection = 'Mes Favoris';
|
|||||||
|
|
||||||
/* 方法列表。*/
|
/* 方法列表。*/
|
||||||
$lang->doc->index = 'Accueil Documents';
|
$lang->doc->index = 'Accueil Documents';
|
||||||
|
$lang->doc->createAB = 'Create';
|
||||||
$lang->doc->create = 'Ajouter Document';
|
$lang->doc->create = 'Ajouter Document';
|
||||||
$lang->doc->edit = 'Editer Document';
|
$lang->doc->edit = 'Editer Document';
|
||||||
$lang->doc->delete = 'Supprimer Document';
|
$lang->doc->delete = 'Supprimer Document';
|
||||||
@@ -85,6 +86,7 @@ $lang->doc->catalogName = 'Catalog Name';
|
|||||||
$lang->doc->collect = 'Ajouter aux Favoris';
|
$lang->doc->collect = 'Ajouter aux Favoris';
|
||||||
$lang->doc->cancelCollection = 'Retirer des Favoris';
|
$lang->doc->cancelCollection = 'Retirer des Favoris';
|
||||||
$lang->doc->deleteFile = 'Supprimer Fichier';
|
$lang->doc->deleteFile = 'Supprimer Fichier';
|
||||||
|
$lang->doc->menuTitle = 'Menu';
|
||||||
|
|
||||||
$lang->doc->libName = 'Bibliothèque de Documents';
|
$lang->doc->libName = 'Bibliothèque de Documents';
|
||||||
$lang->doc->libType = 'Catégorie';
|
$lang->doc->libType = 'Catégorie';
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ $lang->doc->myCollection = 'My Favorites';
|
|||||||
|
|
||||||
/* Methods list */
|
/* Methods list */
|
||||||
$lang->doc->index = 'Document Home';
|
$lang->doc->index = 'Document Home';
|
||||||
|
$lang->doc->createAB = 'Create';
|
||||||
$lang->doc->create = 'Tạo tài liệu';
|
$lang->doc->create = 'Tạo tài liệu';
|
||||||
$lang->doc->edit = 'Sửa tài liệu';
|
$lang->doc->edit = 'Sửa tài liệu';
|
||||||
$lang->doc->delete = 'Xóa tài liệu';
|
$lang->doc->delete = 'Xóa tài liệu';
|
||||||
@@ -85,6 +86,7 @@ $lang->doc->catalogName = 'Catalog Name';
|
|||||||
$lang->doc->collect = 'Thêm Favorite';
|
$lang->doc->collect = 'Thêm Favorite';
|
||||||
$lang->doc->cancelCollection = 'Remove Favorite';
|
$lang->doc->cancelCollection = 'Remove Favorite';
|
||||||
$lang->doc->deleteFile = 'Xóa File';
|
$lang->doc->deleteFile = 'Xóa File';
|
||||||
|
$lang->doc->menuTitle = 'Menu';
|
||||||
|
|
||||||
$lang->doc->libName = 'Thư viện tài liệu';
|
$lang->doc->libName = 'Thư viện tài liệu';
|
||||||
$lang->doc->libType = 'Danh mục';
|
$lang->doc->libType = 'Danh mục';
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ $lang->doc->myCollection = '我的收藏';
|
|||||||
|
|
||||||
/* 方法列表。*/
|
/* 方法列表。*/
|
||||||
$lang->doc->index = '文档主页';
|
$lang->doc->index = '文档主页';
|
||||||
|
$lang->doc->createAB = '创建';
|
||||||
$lang->doc->create = '创建文档';
|
$lang->doc->create = '创建文档';
|
||||||
$lang->doc->edit = '编辑文档';
|
$lang->doc->edit = '编辑文档';
|
||||||
$lang->doc->delete = '删除文档';
|
$lang->doc->delete = '删除文档';
|
||||||
@@ -86,6 +87,7 @@ $lang->doc->catalogName = '目录名称';
|
|||||||
$lang->doc->collect = '收藏';
|
$lang->doc->collect = '收藏';
|
||||||
$lang->doc->cancelCollection = '取消收藏';
|
$lang->doc->cancelCollection = '取消收藏';
|
||||||
$lang->doc->deleteFile = '删除附件';
|
$lang->doc->deleteFile = '删除附件';
|
||||||
|
$lang->doc->menuTitle = '目录';
|
||||||
|
|
||||||
$lang->doc->collectAction = '收藏文档';
|
$lang->doc->collectAction = '收藏文档';
|
||||||
|
|
||||||
|
|||||||
@@ -1651,7 +1651,7 @@ class docModel extends model
|
|||||||
elseif($libID)
|
elseif($libID)
|
||||||
{
|
{
|
||||||
$html = "<div class='dropdown' id='createDropdown'>";
|
$html = "<div class='dropdown' id='createDropdown'>";
|
||||||
$html .= "<button class='btn btn-primary' type='button' data-toggle='dropdown'><i class='icon icon-plus'></i>" . $this->lang->doc->create . " <span class='caret'></span></button>";
|
$html .= "<button class='btn btn-primary' type='button' data-toggle='dropdown'><i class='icon icon-plus'></i>" . $this->lang->doc->createAB . " <span class='caret'></span></button>";
|
||||||
$html .= "<ul class='dropdown-menu' style='left:0px'>";
|
$html .= "<ul class='dropdown-menu' style='left:0px'>";
|
||||||
foreach($this->lang->doc->typeList as $typeKey => $typeName)
|
foreach($this->lang->doc->typeList as $typeKey => $typeName)
|
||||||
{
|
{
|
||||||
@@ -1932,7 +1932,8 @@ class docModel extends model
|
|||||||
|
|
||||||
if(empty($treeMenu)) return '';
|
if(empty($treeMenu)) return '';
|
||||||
|
|
||||||
$menu = "<ul id='modules' class='tree' data-ride='tree' data-name='tree-lib'>" . $treeMenu[0] . '</ul>';
|
$menu = "<ul class='tree' id='title'><li>{$this->lang->doc->menuTitle}</li></ul>";
|
||||||
|
$menu .= "<ul id='modules' class='tree' data-ride='tree' data-name='tree-lib'>" . $treeMenu[0] . '</ul>';
|
||||||
return $menu;
|
return $menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
<style>
|
||||||
|
.title {font-size: 20px !important;}
|
||||||
|
</style>
|
||||||
<?php js::set('confirmDelete', $lang->doc->confirmDelete);?>
|
<?php js::set('confirmDelete', $lang->doc->confirmDelete);?>
|
||||||
<?php
|
<?php
|
||||||
$sessionString = $config->requestType == 'PATH_INFO' ? '?' : '&';
|
$sessionString = $config->requestType == 'PATH_INFO' ? '?' : '&';
|
||||||
@@ -5,7 +8,7 @@ $sessionString .= session_name() . '=' . session_id();
|
|||||||
?>
|
?>
|
||||||
<div id="mainContent" class="main-row">
|
<div id="mainContent" class="main-row">
|
||||||
<div class="main-col col-8">
|
<div class="main-col col-8">
|
||||||
<div class="cell">
|
<div class="cell" id="content">
|
||||||
<div class="detail no-padding">
|
<div class="detail no-padding">
|
||||||
<div class="detail-title no-padding doc-title">
|
<div class="detail-title no-padding doc-title">
|
||||||
<div class="title"><?php echo $doc->title;?></div>
|
<div class="title"><?php echo $doc->title;?></div>
|
||||||
@@ -31,6 +34,7 @@ $sessionString .= session_name() . '=' . session_id();
|
|||||||
</div>
|
</div>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<?php
|
<?php
|
||||||
|
echo html::a("javascript:fullScreen()", '<i class="icon-fullscreen"></i>', '', "title='{$lang->fullscreen}' class='btn btn-link fullscreen-btn'");
|
||||||
if(common::hasPriv('doc', 'edit')) echo html::a(inlink('edit', "docID=$doc->id&comment=false&objectType=$objectType&objectID=$object->id&libID=$libID"), '<i class="icon-edit"></i>', '', "title='{$lang->doc->edit}' class='btn btn-link' data-app='{$this->app->openApp}'");
|
if(common::hasPriv('doc', 'edit')) echo html::a(inlink('edit', "docID=$doc->id&comment=false&objectType=$objectType&objectID=$object->id&libID=$libID"), '<i class="icon-edit"></i>', '', "title='{$lang->doc->edit}' class='btn btn-link' data-app='{$this->app->openApp}'");
|
||||||
if(common::hasPriv('doc', 'delete'))
|
if(common::hasPriv('doc', 'delete'))
|
||||||
{
|
{
|
||||||
|
|||||||
+21
-3
@@ -254,12 +254,30 @@ class job extends control
|
|||||||
*
|
*
|
||||||
* @param int $repoID
|
* @param int $repoID
|
||||||
* @access public
|
* @access public
|
||||||
* @return void
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function ajaxGetProductByRepo($repoID)
|
public function ajaxGetProductByRepo($repoID)
|
||||||
{
|
{
|
||||||
$repo = $this->loadModel('repo')->getRepoByID($repoID);
|
$repo = $this->loadModel('repo')->getRepoByID($repoID);
|
||||||
if($repo) return $repo->product;
|
if(empty($repo)) die(json_encode(array(""=>"")));
|
||||||
die(js::error("Access Violation. 非法访问。"));
|
|
||||||
|
$product = $repo->product;
|
||||||
|
if(strpos($product, ','))
|
||||||
|
{
|
||||||
|
$productList = explode(',', $product);
|
||||||
|
$matchedProducts = array();
|
||||||
|
$productPair = $this->loadModel('product')->getPairs();
|
||||||
|
foreach($productList as $productLeft)
|
||||||
|
{
|
||||||
|
foreach($productPair as $productRight => $productName)
|
||||||
|
{
|
||||||
|
if($productLeft == $productRight) $matchedProducts[$productName] = $productRight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
die(json_encode($matchedProduct));
|
||||||
|
}
|
||||||
|
|
||||||
|
$productName = $this->loadModel('product')->getByID($repo->product)->name;
|
||||||
|
die(json_encode(array($productName => $repo->product)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ class program extends control
|
|||||||
$this->view->status = $status;
|
$this->view->status = $status;
|
||||||
$this->view->orderBy = $orderBy;
|
$this->view->orderBy = $orderBy;
|
||||||
$this->view->users = $this->user->getPairs('noletter');
|
$this->view->users = $this->user->getPairs('noletter');
|
||||||
|
$this->view->usersAvatar = $this->user->getAvatarPairs();
|
||||||
$this->view->programType = $programType;
|
$this->view->programType = $programType;
|
||||||
$this->view->PMList = $PMList;
|
$this->view->PMList = $PMList;
|
||||||
|
|
||||||
|
|||||||
@@ -2,3 +2,4 @@
|
|||||||
.main-table tbody>tr>td:first-child, .main-table thead>tr>th:first-child {padding-left: 8px;}
|
.main-table tbody>tr>td:first-child, .main-table thead>tr>th:first-child {padding-left: 8px;}
|
||||||
.table tbody>tr>td .dropdown {display: inline-block; line-height: 1;}
|
.table tbody>tr>td .dropdown {display: inline-block; line-height: 1;}
|
||||||
tbody.sortable > tr > td.sort-handler .table-nest-toggle:before {cursor: pointer !important;}
|
tbody.sortable > tr > td.sort-handler .table-nest-toggle:before {cursor: pointer !important;}
|
||||||
|
.table .avatar {display: inline-block; width: 20px; height: 20px; line-height: 20px; top: 6px;}
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
<th class='w-90px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->program->status);?></th>
|
<th class='w-90px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->program->status);?></th>
|
||||||
<th class='w-100px'><?php common::printOrderLink('PM', $orderBy, $vars, $lang->program->PM);?></th>
|
<th class='w-100px'><?php common::printOrderLink('PM', $orderBy, $vars, $lang->program->PM);?></th>
|
||||||
<th class='text-right w-100px'><?php common::printOrderLink('budget', $orderBy, $vars, $lang->project->budget);?></th>
|
<th class='text-right w-100px'><?php common::printOrderLink('budget', $orderBy, $vars, $lang->project->budget);?></th>
|
||||||
<th class='w-100px'><?php common::printOrderLink('begin', $orderBy, $vars, $lang->project->begin);?></th>
|
<th class='w-100px'><?php common::printOrderLink('begin', $orderBy, $vars, $lang->project->begin);?></th>
|
||||||
<th class='w-100px'><?php common::printOrderLink('end', $orderBy, $vars, $lang->project->end);?></th>
|
<th class='w-100px'><?php common::printOrderLink('end', $orderBy, $vars, $lang->project->end);?></th>
|
||||||
|
<th class='w-60px'><?php echo $lang->project->progress;?></th>
|
||||||
<th class='text-center w-180px'><?php echo $lang->actions;?></th>
|
<th class='text-center w-180px'><?php echo $lang->actions;?></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@@ -45,8 +46,13 @@
|
|||||||
|
|
||||||
<tr <?php echo $trAttrs;?>>
|
<tr <?php echo $trAttrs;?>>
|
||||||
<td class='c-name text-left <?php if($canOrder) echo 'sort-handler';?>' title='<?php echo $program->name?>'>
|
<td class='c-name text-left <?php if($canOrder) echo 'sort-handler';?>' title='<?php echo $program->name?>'>
|
||||||
<?php $class = $program->type == 'program' ? ' table-nest-toggle' : '';?>
|
<?php
|
||||||
<span class="table-nest-icon icon icon-<?php echo $program->type;?> <?php echo $class;?>"></span>
|
$icon = '';
|
||||||
|
if($program->type == 'program') $icon = ' icon-program';
|
||||||
|
if($program->type == 'project') $icon = ' icon-common icon-' . (isset($this->config->maxVersion) ? $program->model : $program->type);
|
||||||
|
$class = $program->type == 'program' ? ' table-nest-toggle' : '';
|
||||||
|
?>
|
||||||
|
<span class="table-nest-icon icon <?php echo $class . $icon;?>"></span>
|
||||||
<?php if($program->type == 'program'):?>
|
<?php if($program->type == 'program'):?>
|
||||||
<?php echo html::a($this->createLink('program', 'product', "programID=$program->id"), $program->name);?>
|
<?php echo html::a($this->createLink('program', 'product', "programID=$program->id"), $program->name);?>
|
||||||
<?php else:?>
|
<?php else:?>
|
||||||
@@ -55,13 +61,20 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class='c-status'><span class="status-program status-<?php echo $program->status?>"><?php echo zget($lang->project->statusList, $program->status, '');?></span></td>
|
<td class='c-status'><span class="status-program status-<?php echo $program->status?>"><?php echo zget($lang->project->statusList, $program->status, '');?></span></td>
|
||||||
<td>
|
<td>
|
||||||
<?php $userID = isset($PMList[$program->PM]) ? $PMList[$program->PM]->id : ''?>
|
<?php if(!empty($program->PM)):?>
|
||||||
<?php if(!empty($program->PM)) echo html::a($this->createLink('user', 'profile', "userID=$userID", '', true), zget($users, $program->PM), '', "data-toggle='modal' data-type='iframe' data-width='600'");?>
|
<div class='avatar bg-secondary avatar-circle'>
|
||||||
|
<?php echo !empty(zget($usersAvatar, $program->PM, '')) ? html::image(zget($usersAvatar, $program->PM)) : strtoupper($program->PM[0]);?>
|
||||||
|
</div>
|
||||||
|
<?php $userID = isset($PMList[$program->PM]) ? $PMList[$program->PM]->id : '';?>
|
||||||
|
<?php $userName = zget($users, $program->PM);?>
|
||||||
|
<?php echo html::a($this->createLink('user', 'profile', "userID=$userID", '', true), $userName, '', "title='{$userName}' data-toggle='modal' data-type='iframe' data-width='600'");?>
|
||||||
|
<?php endif;?>
|
||||||
</td>
|
</td>
|
||||||
<?php $programBudget = in_array($this->app->getClientLang(), ['zh-cn','zh-tw']) ? round((float)$program->budget / 10000, 2) . $lang->project->tenThousand : round((float)$program->budget, 2);?>
|
<?php $programBudget = in_array($this->app->getClientLang(), ['zh-cn','zh-tw']) ? round((float)$program->budget / 10000, 2) . $lang->project->tenThousand : round((float)$program->budget, 2);?>
|
||||||
<td class='text-right'><?php echo $program->budget != 0 ? zget($lang->project->currencySymbol, $program->budgetUnit) . ' ' . $programBudget : $lang->project->future;?></td>
|
<td class='text-right'><?php echo $program->budget != 0 ? zget($lang->project->currencySymbol, $program->budgetUnit) . ' ' . $programBudget : $lang->project->future;?></td>
|
||||||
<td><?php echo $program->begin;?></td>
|
<td><?php echo $program->begin;?></td>
|
||||||
<td><?php echo $program->end == LONG_TIME ? $lang->program->longTime : $program->end;?></td>
|
<td><?php echo $program->end == LONG_TIME ? $lang->program->longTime : $program->end;?></td>
|
||||||
|
<td></td>
|
||||||
<td class='c-actions'>
|
<td class='c-actions'>
|
||||||
<?php if($program->type == 'program'):?>
|
<?php if($program->type == 'program'):?>
|
||||||
<?php if($program->status == 'wait' || $program->status == 'suspended') common::printIcon('program', 'start', "programID=$program->id", $program, 'list', 'play', '', 'iframe', true, '', $this->lang->program->start);?>
|
<?php if($program->status == 'wait' || $program->status == 'suspended') common::printIcon('program', 'start', "programID=$program->id", $program, 'list', 'play', '', 'iframe', true, '', $this->lang->program->start);?>
|
||||||
@@ -124,7 +137,10 @@
|
|||||||
#programList > thead > tr > th .table-nest-toggle-global {top: 6px}
|
#programList > thead > tr > th .table-nest-toggle-global {top: 6px}
|
||||||
#programList > thead > tr > th .table-nest-toggle-global:before {color: #a6aab8;}
|
#programList > thead > tr > th .table-nest-toggle-global:before {color: #a6aab8;}
|
||||||
#programTableList > tr:last-child .c-actions .dropdown-menu {top: auto; bottom: 100%; margin-bottom: -5px;}
|
#programTableList > tr:last-child .c-actions .dropdown-menu {top: auto; bottom: 100%; margin-bottom: -5px;}
|
||||||
#programTableList .icon-project:before {content: '\e99c'; width: 22px; height: 22px; background: none; color: #16a8f8; top: 0; line-height: 22px; margin-right: 2px; font-size: 14px}
|
#programTableList .icon-common:before {width: 22px; height: 22px; background: none; color: rgb(166, 170, 184); top: 0; line-height: 22px; margin-right: 2px; font-size: 14px}
|
||||||
|
#programTableList .icon-project:before {content: '\e99c';}
|
||||||
|
#programTableList .icon-scrum:before {content: '\e9a2';}
|
||||||
|
#programTableList .icon-waterfall:before {content: '\e9a4';}
|
||||||
</style>
|
</style>
|
||||||
<?php js::set('originOrders', $originOrders);?>
|
<?php js::set('originOrders', $originOrders);?>
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
@@ -393,7 +393,7 @@ class todo extends control
|
|||||||
$this->view->actions = $this->loadModel('action')->getList('todo', $todoID);
|
$this->view->actions = $this->loadModel('action')->getList('todo', $todoID);
|
||||||
$this->view->from = $from;
|
$this->view->from = $from;
|
||||||
$this->view->projects = $projects;
|
$this->view->projects = $projects;
|
||||||
$this->view->executions = $this->loadModel('execution')->getPairs($this->session->project);
|
$this->view->executions = $this->loadModel('execution')->getPairs();
|
||||||
$this->view->products = $todo->type == 'opportunity' ? $this->loadModel('product')->getPairsByProjectModel('waterfall') : $this->loadModel('product')->getPairs();
|
$this->view->products = $todo->type == 'opportunity' ? $this->loadModel('product')->getPairsByProjectModel('waterfall') : $this->loadModel('product')->getPairs();
|
||||||
$this->view->projectProducts = $this->loadModel('product')->getProductPairsByProject($this->session->project);
|
$this->view->projectProducts = $this->loadModel('product')->getProductPairsByProject($this->session->project);
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ function createProject()
|
|||||||
var onlybody = config.onlybody;
|
var onlybody = config.onlybody;
|
||||||
config.onlybody = 'no';
|
config.onlybody = 'no';
|
||||||
|
|
||||||
var link = createLink('project', 'create');
|
var link = systemMode == 'new' ? createLink('project', 'create') : createLink('execution', 'create');
|
||||||
|
|
||||||
config.onlybody = onlybody;
|
config.onlybody = onlybody;
|
||||||
parent.location.href = link;
|
parent.location.href = link;
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ $lang->todo->cycle = "周期";
|
|||||||
$lang->todo->cycleConfig = "周期设置";
|
$lang->todo->cycleConfig = "周期设置";
|
||||||
$lang->todo->project = "所属项目";
|
$lang->todo->project = "所属项目";
|
||||||
$lang->todo->product = "所属产品";
|
$lang->todo->product = "所属产品";
|
||||||
$lang->todo->execution = "所属执行";
|
$lang->todo->execution = "所属{$lang->execution->common}";
|
||||||
|
|
||||||
$lang->todo->reasonList['story'] = "转{$lang->SRCommon}";
|
$lang->todo->reasonList['story'] = "转{$lang->SRCommon}";
|
||||||
$lang->todo->reasonList['task'] = "转任务";
|
$lang->todo->reasonList['task'] = "转任务";
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
?>
|
?>
|
||||||
<?php include '../../common/view/header.html.php';?>
|
<?php include '../../common/view/header.html.php';?>
|
||||||
<?php include '../../common/view/kindeditor.html.php';?>
|
<?php include '../../common/view/kindeditor.html.php';?>
|
||||||
|
<?php js::set('systemMode', $config->systemMode);?>
|
||||||
<?php if(!$todo->private or ($todo->private and $todo->account == $app->user->account)):?>
|
<?php if(!$todo->private or ($todo->private and $todo->account == $app->user->account)):?>
|
||||||
<style>.chosen-container .chosen-results{max-height: 170px; overflow-y: initial;}</style>
|
<style>.chosen-container .chosen-results{max-height: 170px; overflow-y: initial;}</style>
|
||||||
<div id="mainMenu" class="clearfix">
|
<div id="mainMenu" class="clearfix">
|
||||||
@@ -201,7 +202,7 @@
|
|||||||
<h4 class="modal-title"><?php echo $lang->execution->selectExecution;?></h4>
|
<h4 class="modal-title"><?php echo $lang->execution->selectExecution;?></h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<?php if(empty($projects)):?>
|
<?php if((empty($projects) and $config->systemMode == 'new') || ($config->systemMode == 'classic') and empty($executions)):?>
|
||||||
<div class="table-empty-tip">
|
<div class="table-empty-tip">
|
||||||
<p>
|
<p>
|
||||||
<span class="text-muted"><?php echo $lang->project->empty;?></span>
|
<span class="text-muted"><?php echo $lang->project->empty;?></span>
|
||||||
@@ -210,10 +211,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<?php else:?>
|
<?php else:?>
|
||||||
<table align='center' class='table table-form'>
|
<table align='center' class='table table-form'>
|
||||||
|
<?php if($config->systemMode == 'new'):?>
|
||||||
<tr>
|
<tr>
|
||||||
<th><?php echo $lang->todo->project;?></th>
|
<th><?php echo $lang->todo->project;?></th>
|
||||||
<td><?php echo html::select('project', $projects, '', "class='form-control chosen' onchange=getExecutionByProject(this.value);");?></td>
|
<td><?php echo html::select('project', $projects, '', "class='form-control chosen' onchange=getExecutionByProject(this.value);");?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<?php endif;?>
|
||||||
<tr>
|
<tr>
|
||||||
<th><?php echo $lang->todo->execution;?></th>
|
<th><?php echo $lang->todo->execution;?></th>
|
||||||
<td id='executionIdBox'><?php echo html::select('execution', $executions, '', "class='form-control chosen'");?></td>
|
<td id='executionIdBox'><?php echo html::select('execution', $executions, '', "class='form-control chosen'");?></td>
|
||||||
|
|||||||
+17
-2
@@ -132,6 +132,21 @@ class userModel extends model
|
|||||||
return $users;
|
return $users;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user's avatar pairs.
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getAvatarPairs()
|
||||||
|
{
|
||||||
|
$avatarPairs = array();
|
||||||
|
$userList = $this->getList();
|
||||||
|
foreach($userList as $user) $avatarPairs[$user->account] = $user->avatar;
|
||||||
|
|
||||||
|
return $avatarPairs;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get commiters from the user table.
|
* Get commiters from the user table.
|
||||||
*
|
*
|
||||||
@@ -1887,7 +1902,7 @@ class userModel extends model
|
|||||||
{
|
{
|
||||||
$stakeholders = zget($stakeholderGroup, $program->id, array());
|
$stakeholders = zget($stakeholderGroup, $program->id, array());
|
||||||
$whiteList = zget($whiteListGroup, $program->id, array());
|
$whiteList = zget($whiteListGroup, $program->id, array());
|
||||||
if($program->acl == 'program')
|
if($program->acl == 'program')
|
||||||
{
|
{
|
||||||
$stakeholders += zget($parentStakeholderGroup, $program->id, array());
|
$stakeholders += zget($parentStakeholderGroup, $program->id, array());
|
||||||
$stakeholders += zget($parentPMGroup, $program->id, array());
|
$stakeholders += zget($parentPMGroup, $program->id, array());
|
||||||
@@ -1911,7 +1926,7 @@ class userModel extends model
|
|||||||
{
|
{
|
||||||
$stakeholders = zget($stakeholderGroup, $program->id, array());
|
$stakeholders = zget($stakeholderGroup, $program->id, array());
|
||||||
$whiteList = zget($whiteListGroup, $program->id, array());
|
$whiteList = zget($whiteListGroup, $program->id, array());
|
||||||
if($program->acl == 'program')
|
if($program->acl == 'program')
|
||||||
{
|
{
|
||||||
$stakeholders += zget($parentStakeholderGroup, $program->id, array());
|
$stakeholders += zget($parentStakeholderGroup, $program->id, array());
|
||||||
$stakeholders += zget($parentPMGroup, $program->id, array());
|
$stakeholders += zget($parentPMGroup, $program->id, array());
|
||||||
|
|||||||
Reference in New Issue
Block a user