* Fix code for doc.

This commit is contained in:
Yagami
2021-03-08 11:37:02 +08:00
parent e349884b8f
commit 0b5dcdba6c
24 changed files with 317 additions and 316 deletions
+1 -1
View File
@@ -142,7 +142,7 @@ INSERT INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type
ALTER TABLE `zt_story` ADD `URChanged` enum('0','1') NOT NULL DEFAULT '0' AFTER `version`;
ALTER TABLE `zt_team` MODIFY `type` enum('project','task','stage','sprint') NOT NULL DEFAULT 'project' AFTER `root`;
ALTER TABLE `zt_team` MODIFY `type` enum('project','task','execution') NOT NULL DEFAULT 'project' AFTER `root`;
CREATE TABLE IF NOT EXISTS `zt_planstory` (
`plan` mediumint(8) unsigned NOT NULL,
+1 -1
View File
@@ -943,7 +943,7 @@ CREATE TABLE IF NOT EXISTS `zt_taskestimate` (
CREATE TABLE IF NOT EXISTS `zt_team` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`root` mediumint(8) unsigned NOT NULL default '0',
`type` enum('project','task','stage','sprint') NOT NULL DEFAULT 'project',
`type` enum('project','task','execution') NOT NULL DEFAULT 'project',
`account` char(30) NOT NULL default '',
`role` char(30) NOT NULL default '',
`limited` char(8) NOT NULL default 'no',
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -5,6 +5,6 @@ table{width:90% !important}
#whiteListBox div.input-group {margin-bottom: 2px;}
#product_chosen{width: 50%!important}
#project_chosen{width: 50%!important}
#execution_chosen{width: 50%!important}
#whiteListBox .input-group:last-child{margin-top:10px}
+5 -5
View File
@@ -14,19 +14,19 @@ function changeByLibType(libType)
if(libType == 'product')
{
$('table tr.product').removeClass('hidden');
$('table tr.project').addClass('hidden');
$('table tr.execution').addClass('hidden');
changeDoclibAcl(libType);
}
else if(libType == 'project')
else if(libType == 'execution')
{
$('table tr.product').addClass('hidden');
$('table tr.project').removeClass('hidden');
$('table tr.execution').removeClass('hidden');
changeDoclibAcl(libType);
}
else
{
$('table tr.product').addClass('hidden');
$('table tr.project').addClass('hidden');
$('table tr.execution').addClass('hidden');
changeDoclibAcl(libType);
}
@@ -37,7 +37,7 @@ function changeByLibType(libType)
function changeDoclibAcl(libType)
{
if(libType == 'product' || libType == 'project')
if(libType == 'product' || libType == 'execution')
{
$('form input[name="acl"]').closest('td').find('span:first').html($('#aclBoxA td').html());
}
+25 -25
View File
@@ -13,7 +13,7 @@
$lang->doc->common = 'Dok';
$lang->doc->id = 'ID';
$lang->doc->product = $lang->productCommon;
$lang->doc->execution = $lang->executionCommon;
$lang->doc->execution = $lang->executionCommon;
$lang->doc->lib = 'Bibliothek';
$lang->doc->module = 'Modul';
$lang->doc->title = 'Titel';
@@ -99,15 +99,15 @@ $lang->doc->search = 'Suche';
$lang->doc->allProduct = 'Alle' . $lang->productCommon;
$lang->doc->allProject = 'Alle' . $lang->executionCommon;
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Bibliothek';
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Bibliothek';
$lang->doc->libTypeList['execution'] = $lang->executionCommon . ' Bibliothek';
$lang->doc->libTypeList['custom'] = 'Eigene Bibliothek';
$lang->doc->libTypeList['custom'] = 'Eigene Bibliothek';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['execution'] = 'icon-stack';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon . 'Dok Bibliothek';
$lang->doc->systemLibs['product'] = $lang->productCommon . 'Dok Bibliothek';
$lang->doc->systemLibs['execution'] = $lang->executionCommon . 'Dok Bibliothek';
$lang->doc->aclList['open'] = 'Öffentlich';
@@ -173,13 +173,13 @@ $lang->doc->noOpenedDoc = 'Sie haben kein Dokument erstellt.';
$lang->doc->noCollectedDoc = 'Sie haben kein Dokument gesammelt.';
$lang->doc->errorEmptyLib = 'No data in document library.';
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product can access it.';
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist can access it.';
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product can access it.';
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist can access it.';
$lang->doc->noticeAcl['lib']['execution']['default'] = 'Users who can access the selected execution can access it.';
$lang->doc->noticeAcl['lib']['execution']['custom'] = 'Users who can access the selected execution or users in the whiltelist can access it.';
$lang->doc->noticeAcl['lib']['custom']['open'] = 'All users can access it.';
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist can access it.';
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Only the one who created it can access it.';
$lang->doc->noticeAcl['lib']['custom']['open'] = 'All users can access it.';
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist can access it.';
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Only the one who created it can access it.';
$lang->doc->noticeAcl['doc']['open'] = 'Users who can access the document library which the document belongs can access it.';
$lang->doc->noticeAcl['doc']['custom'] = 'Users in the whiltelist can access it.';
@@ -189,15 +189,15 @@ $lang->doc->placeholder = new stdclass();
$lang->doc->placeholder->url = 'Url';
$lang->doclib = new stdclass();
$lang->doclib->name = 'Name';
$lang->doclib->control = 'Zugriffskontrolle';
$lang->doclib->group = 'Gruppe';
$lang->doclib->user = 'Benutzer';
$lang->doclib->files = 'Dateien';
$lang->doclib->all = 'Alle Bibliotheken';
$lang->doclib->select = 'Auswahl';
$lang->doclib->name = 'Name';
$lang->doclib->control = 'Zugriffskontrolle';
$lang->doclib->group = 'Gruppe';
$lang->doclib->user = 'Benutzer';
$lang->doclib->files = 'Dateien';
$lang->doclib->all = 'Alle Bibliotheken';
$lang->doclib->select = 'Auswahl';
$lang->doclib->execution = $lang->executionCommon . ' Bibliothek';
$lang->doclib->product = $lang->productCommon . ' Bibliothek';
$lang->doclib->product = $lang->productCommon . ' Bibliothek';
$lang->doclib->aclListA['default'] = 'Default';
$lang->doclib->aclListA['custom'] = 'Custom';
@@ -206,15 +206,15 @@ $lang->doclib->aclListB['open'] = 'Public';
$lang->doclib->aclListB['custom'] = 'Custom';
$lang->doclib->aclListB['private'] = 'Private';
$lang->doclib->create['product'] = 'Create ' . $lang->productCommon . ' Library';
$lang->doclib->create['product'] = 'Create ' . $lang->productCommon . ' Library';
$lang->doclib->create['execution'] = 'Create ' . $lang->executionCommon . ' Library';
$lang->doclib->create['custom'] = 'Create Custom Library';
$lang->doclib->create['custom'] = 'Create Custom Library';
$lang->doclib->main['product'] = 'Primary Library';
$lang->doclib->main['execution'] = 'Primary Library';
$lang->doclib->main['product'] = 'Primary Library';
$lang->doclib->main['execution'] = 'Primary Library';
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['execution'] = $lang->executionCommon;
$lang->doclib->tabList['custom'] = 'Custom';
$lang->doclib->tabList['custom'] = 'Custom';
$lang->doclib->nameList['custom'] = 'Custom Name';
+27 -27
View File
@@ -13,7 +13,7 @@
$lang->doc->common = 'Document';
$lang->doc->id = 'ID';
$lang->doc->product = $lang->productCommon;
$lang->doc->execution = $lang->executionCommon;
$lang->doc->execution = $lang->executionCommon;
$lang->doc->lib = 'Library';
$lang->doc->module = 'Category';
$lang->doc->title = 'Name';
@@ -96,18 +96,18 @@ $lang->doc->removeMenu = 'Remove from Menu';
$lang->doc->search = 'Search';
/* Query condition list. */
$lang->doc->allProduct = 'All' . $lang->productCommon . 's';
$lang->doc->allProject = 'All' . $lang->executionCommon . 's';
$lang->doc->allProduct = 'All' . $lang->productCommon . 's';
$lang->doc->allProject = 'All' . $lang->executionCommon . 's';
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Library';
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Library';
$lang->doc->libTypeList['execution'] = $lang->executionCommon . ' Library';
$lang->doc->libTypeList['custom'] = 'Custom Library';
$lang->doc->libTypeList['custom'] = 'Custom Library';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['execution'] = 'icon-stack';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['execution'] = $lang->executionCommon;
$lang->doc->aclList['open'] = 'Public';
@@ -173,13 +173,13 @@ $lang->doc->noOpenedDoc = 'You have not created any documents.';
$lang->doc->noCollectedDoc = 'You have not favorited any documents.';
$lang->doc->errorEmptyLib = 'No data in document library.';
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product can access it.';
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist can access it.';
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product can access it.';
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist can access it.';
$lang->doc->noticeAcl['lib']['execution']['default'] = 'Users who can access the selected execution can access it.';
$lang->doc->noticeAcl['lib']['execution']['custom'] = 'Users who can access the selected execution or users in the whiltelist can access it.';
$lang->doc->noticeAcl['lib']['custom']['open'] = 'All users can access it.';
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist can access it.';
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Only the one who created it can access it.';
$lang->doc->noticeAcl['lib']['custom']['open'] = 'All users can access it.';
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist can access it.';
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Only the one who created it can access it.';
$lang->doc->noticeAcl['doc']['open'] = 'Users who can access the document library which the document belongs can access it.';
$lang->doc->noticeAcl['doc']['custom'] = 'Users in the whiltelist can access it.';
@@ -189,15 +189,15 @@ $lang->doc->placeholder = new stdclass();
$lang->doc->placeholder->url = 'URL';
$lang->doclib = new stdclass();
$lang->doclib->name = 'Name';
$lang->doclib->control = 'Access Control';
$lang->doclib->group = 'Group';
$lang->doclib->user = 'User';
$lang->doclib->files = 'Attachments';
$lang->doclib->all = 'All Libraries';
$lang->doclib->select = 'Select';
$lang->doclib->name = 'Name';
$lang->doclib->control = 'Access Control';
$lang->doclib->group = 'Group';
$lang->doclib->user = 'User';
$lang->doclib->files = 'Attachments';
$lang->doclib->all = 'All Libraries';
$lang->doclib->select = 'Select';
$lang->doclib->execution = $lang->executionCommon . ' Library';
$lang->doclib->product = $lang->productCommon . ' Library';
$lang->doclib->product = $lang->productCommon . ' Library';
$lang->doclib->aclListA['default'] = 'Default';
$lang->doclib->aclListA['custom'] = 'Custom';
@@ -206,15 +206,15 @@ $lang->doclib->aclListB['open'] = 'Public';
$lang->doclib->aclListB['custom'] = 'Custom';
$lang->doclib->aclListB['private'] = 'Private';
$lang->doclib->create['product'] = 'Create ' . $lang->productCommon . ' Library';
$lang->doclib->create['product'] = 'Create ' . $lang->productCommon . ' Library';
$lang->doclib->create['execution'] = 'Create ' . $lang->executionCommon . ' Library';
$lang->doclib->create['custom'] = 'Create Custom Library';
$lang->doclib->create['custom'] = 'Create Custom Library';
$lang->doclib->main['product'] = 'Primary Library';
$lang->doclib->main['execution'] = 'Primary Library';
$lang->doclib->main['product'] = 'Primary Library';
$lang->doclib->main['execution'] = 'Primary Library';
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['execution'] = $lang->executionCommon;
$lang->doclib->tabList['custom'] = 'Custom';
$lang->doclib->tabList['custom'] = 'Custom';
$lang->doclib->nameList['custom'] = 'Custom Name';
+27 -27
View File
@@ -13,7 +13,7 @@
$lang->doc->common = 'Gestion Documentaire';
$lang->doc->id = 'ID';
$lang->doc->product = $lang->productCommon;
$lang->doc->execution = $lang->executionCommon;
$lang->doc->execution = $lang->executionCommon;
$lang->doc->lib = 'Bibliothèque';
$lang->doc->module = 'Catégorie';
$lang->doc->title = 'Nom';
@@ -96,18 +96,18 @@ $lang->doc->removeMenu = 'Décoller du Menu';
$lang->doc->search = 'Rechercher';
/* 查询条件列表 */
$lang->doc->allProduct = 'Tous les ' . $lang->productCommon . 's';
$lang->doc->allProject = 'Tous les ' . $lang->executionCommon . 's';
$lang->doc->allProduct = 'Tous les ' . $lang->productCommon . 's';
$lang->doc->allProject = 'Tous les ' . $lang->executionCommon . 's';
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Library';
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Library';
$lang->doc->libTypeList['execution'] = 'Bibliothèque ' . $lang->executionCommon;
$lang->doc->libTypeList['custom'] = 'Bib. Personnalisée';
$lang->doc->libTypeList['custom'] = 'Bib. Personnalisée';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['execution'] = 'icon-stack';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['execution'] = $lang->executionCommon;
$lang->doc->aclList['open'] = 'Public';
@@ -173,13 +173,13 @@ $lang->doc->noOpenedDoc = "Vous n'avez pas ajouté de documents.";
$lang->doc->noCollectedDoc = "Vous avez aucun document dans vos favoris.";
$lang->doc->errorEmptyLib = 'No data in document library.';
$lang->doc->noticeAcl['lib']['product']['default'] = 'Les utilisateurs qui ont accès au Product peuvent y accéder.';
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Les utilisateurs qui ont accès au Product ou les utilisateurs de la Liste Blanche peuvent y accéder.';
$lang->doc->noticeAcl['lib']['product']['default'] = 'Les utilisateurs qui ont accès au Product peuvent y accéder.';
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Les utilisateurs qui ont accès au Product ou les utilisateurs de la Liste Blanche peuvent y accéder.';
$lang->doc->noticeAcl['lib']['execution']['default'] = 'Les utilisateurs qui ont accès au Projet peuvent y accéder.';
$lang->doc->noticeAcl['lib']['execution']['custom'] = 'Les utilisateurs qui ont accès au Projet ou les utilisateurs de la Liste Blanche peuvent y accéder.';
$lang->doc->noticeAcl['lib']['custom']['open'] = 'Tous les utilisateurs peuvent y accéder.';
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Les utilisateurs de la Liste Blanche peuvent y accéder.';
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Seulement le créateur de la Bibliothèque peut y accéder.';
$lang->doc->noticeAcl['lib']['custom']['open'] = 'Tous les utilisateurs peuvent y accéder.';
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Les utilisateurs de la Liste Blanche peuvent y accéder.';
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Seulement le créateur de la Bibliothèque peut y accéder.';
$lang->doc->noticeAcl['doc']['open'] = 'Les utilisateurs qui ont accès à la Bibliothèque à laquelle le document appartient peuvent y accéder.';
$lang->doc->noticeAcl['doc']['custom'] = 'Les utilisateurs de la Liste Blanche peuvent y accéder.';
@@ -189,15 +189,15 @@ $lang->doc->placeholder = new stdclass();
$lang->doc->placeholder->url = 'URL';
$lang->doclib = new stdclass();
$lang->doclib->name = 'Nom';
$lang->doclib->control = "Contrôle d'Accès";
$lang->doclib->group = 'Groupe';
$lang->doclib->user = 'Utilisateur';
$lang->doclib->files = 'Pièces Jointes';
$lang->doclib->all = 'Toutes les Libraries';
$lang->doclib->select = 'Sélect.';
$lang->doclib->name = 'Nom';
$lang->doclib->control = "Contrôle d'Accès";
$lang->doclib->group = 'Groupe';
$lang->doclib->user = 'Utilisateur';
$lang->doclib->files = 'Pièces Jointes';
$lang->doclib->all = 'Toutes les Libraries';
$lang->doclib->select = 'Sélect.';
$lang->doclib->execution = 'Bibliothèque ' . $lang->executionCommon;
$lang->doclib->product = $lang->productCommon . ' Library';
$lang->doclib->product = $lang->productCommon . ' Library';
$lang->doclib->aclListA['default'] = 'Défaut';
$lang->doclib->aclListA['custom'] = 'Person.';
@@ -206,15 +206,15 @@ $lang->doclib->aclListB['open'] = 'Public';
$lang->doclib->aclListB['custom'] = 'Person.';
$lang->doclib->aclListB['private'] = 'Privée';
$lang->doclib->create['product'] = 'Créer ' . $lang->productCommon . ' Library';
$lang->doclib->create['product'] = 'Créer ' . $lang->productCommon . ' Library';
$lang->doclib->create['execution'] = 'Créer ' . 'Bibliothèque ' . $lang->executionCommon;
$lang->doclib->create['custom'] = 'Créer Bibliothèque Personnelle';
$lang->doclib->create['custom'] = 'Créer Bibliothèque Personnelle';
$lang->doclib->main['product'] = 'Bibliothèque Principale';
$lang->doclib->main['execution'] = 'Bibliothèque Principale';
$lang->doclib->main['product'] = 'Bibliothèque Principale';
$lang->doclib->main['execution'] = 'Bibliothèque Principale';
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['execution'] = $lang->executionCommon;
$lang->doclib->tabList['custom'] = 'Personnelle';
$lang->doclib->tabList['custom'] = 'Personnelle';
$lang->doclib->nameList['custom'] = 'Nom personnalisé';
+25 -25
View File
@@ -13,7 +13,7 @@
$lang->doc->common = 'Tài liệu';
$lang->doc->id = 'ID';
$lang->doc->product = $lang->productCommon;
$lang->doc->execution = $lang->executionCommon;
$lang->doc->execution = $lang->executionCommon;
$lang->doc->lib = 'Thư viện';
$lang->doc->module = 'Danh mục';
$lang->doc->title = 'Tên';
@@ -99,15 +99,15 @@ $lang->doc->search = 'Tìm kiếm';
$lang->doc->allProduct = 'All' . $lang->productCommon;
$lang->doc->allProject = 'All' . $lang->executionCommon;
$lang->doc->libTypeList['product'] = $lang->productCommon . ' thư viện';
$lang->doc->libTypeList['product'] = $lang->productCommon . ' thư viện';
$lang->doc->libTypeList['execution'] = $lang->executionCommon . ' thư viện';
$lang->doc->libTypeList['custom'] = 'Tùy biến thư viện';
$lang->doc->libTypeList['custom'] = 'Tùy biến thư viện';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['execution'] = 'icon-stack';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['execution'] = $lang->executionCommon;
$lang->doc->aclList['open'] = 'Công khai';
@@ -173,13 +173,13 @@ $lang->doc->noOpenedDoc = 'Bạn chưa tạo any documents.';
$lang->doc->noCollectedDoc = 'Bạn có not favorited any documents.';
$lang->doc->errorEmptyLib = 'No data in document library.';
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['execution']['default'] = 'Users who can access the selected execution có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['execution']['custom'] = 'Users who can access the selected execution or users in the whiltelist có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['custom']['open'] = 'Tất cả users có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Chỉ the one who created it có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['custom']['open'] = 'Tất cả users có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist có thể truy cập nó.';
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Chỉ the one who created it có thể truy cập nó.';
$lang->doc->noticeAcl['doc']['open'] = 'Users who can access the document library which the document belongs có thể truy cập nó.';
$lang->doc->noticeAcl['doc']['custom'] = 'Users in the whiltelist có thể truy cập nó.';
@@ -188,16 +188,16 @@ $lang->doc->noticeAcl['doc']['private'] = 'Chỉ the one who created it có th
$lang->doc->placeholder = new stdclass();
$lang->doc->placeholder->url = 'URL';
$lang->doclib = new stdclass();
$lang->doclib->name = 'Tên';
$lang->doclib->control = 'Quyền truy cập';
$lang->doclib->group = 'Nhóm';
$lang->doclib->user = 'Người dùng';
$lang->doclib->files = 'Attachments';
$lang->doclib->all = 'Tất cả Libraries';
$lang->doclib->select = 'Chọn';
$lang->doclib = new stdclass();
$lang->doclib->name = 'Tên';
$lang->doclib->control = 'Quyền truy cập';
$lang->doclib->group = 'Nhóm';
$lang->doclib->user = 'Người dùng';
$lang->doclib->files = 'Attachments';
$lang->doclib->all = 'Tất cả Libraries';
$lang->doclib->select = 'Chọn';
$lang->doclib->execution = $lang->executionCommon . ' thư viện';
$lang->doclib->product = $lang->productCommon . ' thư viện';
$lang->doclib->product = $lang->productCommon . ' thư viện';
$lang->doclib->aclListA['default'] = 'Mặc định';
$lang->doclib->aclListA['custom'] = 'Tùy biến';
@@ -207,14 +207,14 @@ $lang->doclib->aclListB['custom'] = 'Tùy biến';
$lang->doclib->aclListB['private'] = 'Riêng tư';
$lang->doclib->create['product'] = 'Tạo ' . $lang->productCommon . ' thư viện';
$lang->doclib->create['execution'] = 'Tạo ' . $lang->executionCommon . ' thư viện';
$lang->doclib->create['execution'] = 'Tạo ' . $lang->executionCommon . ' thư viện';
$lang->doclib->create['custom'] = 'Tạo Custom thư viện';
$lang->doclib->main['product'] = 'Primary thư viện';
$lang->doclib->main['execution'] = 'Primary thư viện';
$lang->doclib->main['product'] = 'Primary thư viện';
$lang->doclib->main['execution'] = 'Primary thư viện';
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['execution'] = $lang->executionCommon;
$lang->doclib->tabList['custom'] = 'Tùy biến';
$lang->doclib->tabList['custom'] = 'Tùy biến';
$lang->doclib->nameList['custom'] = 'Tùy biến tên';
+24 -24
View File
@@ -13,7 +13,7 @@
$lang->doc->common = '文档';
$lang->doc->id = '文档编号';
$lang->doc->product = '所属' . $lang->productCommon;
$lang->doc->execution = '所属' . $lang->executionCommon;
$lang->doc->execution = '所属' . $lang->executionCommon;
$lang->doc->lib = '所属文档库';
$lang->doc->module = '所属分类';
$lang->doc->title = '文档标题';
@@ -96,18 +96,18 @@ $lang->doc->removeMenu = '从菜单栏移除';
$lang->doc->search = '搜索';
/* 查询条件列表 */
$lang->doc->allProduct = '所有' . $lang->productCommon;
$lang->doc->allProject = '所有' . $lang->executionCommon;
$lang->doc->allProduct = '所有' . $lang->productCommon;
$lang->doc->allExecution = '所有' . $lang->executionCommon;
$lang->doc->libTypeList['product'] = $lang->productCommon . '文档库';
$lang->doc->libTypeList['execution'] = $lang->executionCommon . '文档库';
$lang->doc->libTypeList['custom'] = '自定义文档库';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['product'] = 'icon-cube';
$lang->doc->libIconList['execution'] = 'icon-stack';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['execution'] = $lang->executionCommon;
$lang->doc->aclList['open'] = '公开';
@@ -173,13 +173,13 @@ $lang->doc->noOpenedDoc = '您还没有创建任何文档。';
$lang->doc->noCollectedDoc = '您还没有收藏任何文档。';
$lang->doc->errorEmptyLib = '文档库暂无数据。';
$lang->doc->noticeAcl['lib']['product']['default'] = '有所选产品访问权限的用户可以访问。';
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所选产品访问权限或白名单里的用户可以访问。';
$lang->doc->noticeAcl['lib']['product']['default'] = '有所选产品访问权限的用户可以访问。';
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所选产品访问权限或白名单里的用户可以访问。';
$lang->doc->noticeAcl['lib']['execution']['default'] = "有所选{$lang->executionCommon}访问权限的用户可以访问。";
$lang->doc->noticeAcl['lib']['execution']['custom'] = "有所选{$lang->executionCommon}访问权限或白名单里的用户可以访问。";
$lang->doc->noticeAcl['lib']['custom']['open'] = '所有人都可以访问。';
$lang->doc->noticeAcl['lib']['custom']['custom'] = '白名单的用户可以访问。';
$lang->doc->noticeAcl['lib']['custom']['private'] = '只有创建者自己可以访问。';
$lang->doc->noticeAcl['lib']['custom']['open'] = '所有人都可以访问。';
$lang->doc->noticeAcl['lib']['custom']['custom'] = '白名单的用户可以访问。';
$lang->doc->noticeAcl['lib']['custom']['private'] = '只有创建者自己可以访问。';
$lang->doc->noticeAcl['doc']['open'] = '有文档所属文档库访问权限的,都可以访问。';
$lang->doc->noticeAcl['doc']['custom'] = '白名单的用户可以访问。';
@@ -189,15 +189,15 @@ $lang->doc->placeholder = new stdclass();
$lang->doc->placeholder->url = '相应的链接地址';
$lang->doclib = new stdclass();
$lang->doclib->name = '文档库名称';
$lang->doclib->control = '访问控制';
$lang->doclib->group = '分组';
$lang->doclib->user = '用户';
$lang->doclib->files = '附件库';
$lang->doclib->all = '所有文档库';
$lang->doclib->select = '选择文档库';
$lang->doclib->name = '文档库名称';
$lang->doclib->control = '访问控制';
$lang->doclib->group = '分组';
$lang->doclib->user = '用户';
$lang->doclib->files = '附件库';
$lang->doclib->all = '所有文档库';
$lang->doclib->select = '选择文档库';
$lang->doclib->execution = $lang->executionCommon . '库';
$lang->doclib->product = $lang->productCommon . '库';
$lang->doclib->product = $lang->productCommon . '库';
$lang->doclib->aclListA['default'] = '默认';
$lang->doclib->aclListA['custom'] = '自定义';
@@ -206,15 +206,15 @@ $lang->doclib->aclListB['open'] = '公开';
$lang->doclib->aclListB['custom'] = '自定义';
$lang->doclib->aclListB['private'] = '私有';
$lang->doclib->create['product'] = '创建' . $lang->productCommon . '文档库';
$lang->doclib->create['product'] = '创建' . $lang->productCommon . '文档库';
$lang->doclib->create['execution'] = '创建' . $lang->executionCommon . '文档库';
$lang->doclib->create['custom'] = '创建自定义文档库';
$lang->doclib->create['custom'] = '创建自定义文档库';
$lang->doclib->main['product'] = $lang->productCommon . '主库';
$lang->doclib->main['product'] = $lang->productCommon . '主库';
$lang->doclib->main['execution'] = $lang->executionCommon . '主库';
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['product'] = $lang->productCommon;
$lang->doclib->tabList['execution'] = $lang->executionCommon;
$lang->doclib->tabList['custom'] = '自定义';
$lang->doclib->tabList['custom'] = '自定义';
$lang->doclib->nameList['custom'] = '自定义文档库名称';
+122 -121
View File
@@ -19,10 +19,13 @@ class docModel extends model
* @param array $libs
* @param int $libID
* @param string $moduleID
* @param int $productID
* @param int $executionID
* @param string $crumb
* @access public
* @return void
*/
public function setMenu($type = '', $libID = 0, $moduleID = 0, $productID = 0, $projectID = 0, $crumb = '')
public function setMenu($type = '', $libID = 0, $moduleID = 0, $productID = 0, $executionID = 0, $crumb = '')
{
$btnStyle = $this->lang->navGroup->doc == 'doc' ? 'header-angle-btn' : 'angle-btn';
$isLimitWidth = $this->lang->navGroup->doc == 'doc' ? '' : 'btn-limit';
@@ -65,19 +68,19 @@ class docModel extends model
$currentLib = 0;
if(in_array($type, array_keys($this->lang->doc->libTypeList)))
{
if($type == 'product') $currentLib = $productID;
if($type == 'project') $currentLib = $projectID;
if($type != 'product' and $type != 'project') $currentLib = $libID;
if($type == 'product') $currentLib = $productID;
if($type == 'execution') $currentLib = $executionID;
if($type != 'product' and $type != 'execution') $currentLib = $libID;
if($currentLib)
{
$allLibGroups = $this->getAllLibGroups($libID);
$currentGroups = $allLibGroups[$type];
/* Append closed project. */
if(!isset($currentGroups[$currentLib]) and $type == 'project')
/* Append closed execution. */
if(!isset($currentGroups[$currentLib]) and $type == 'execution')
{
$project = $this->dao->select('id,name,status')->from(TABLE_PROJECT)->where('id')->eq($currentLib)->fetch();
$currentGroups[$currentLib] = (array)$project;
$execution = $this->dao->select('id,name,status')->from(TABLE_EXECUTION)->where('id')->eq($currentLib)->fetch();
$currentGroups[$currentLib] = (array)$execution;
}
$currentLibName = is_array($currentGroups[$currentLib]) ? $currentGroups[$currentLib]['name'] : $currentGroups[$currentLib];
@@ -85,7 +88,7 @@ class docModel extends model
$selectHtml .= "<div class='btn-group'>";
$selectHtml .= "<a data-toggle='dropdown' class='btn $isLimitWidth' title=$currentLibName>" . $currentLibName . ' <span class="caret"></span></a>';
$selectHtml .='<ul class="dropdown-menu">';
if($type == 'product' or $type == 'project')
if($type == 'product' or $type == 'execution')
{
foreach($currentGroups as $groupID => $libGroups)
{
@@ -110,10 +113,10 @@ class docModel extends model
}
/* Determines whether the doc lib is editable. */
$docLib = new stdClass();
$docLib->product = $productID;
$docLib->project = $projectID;
$canBeChanged = common::canBeChanged('doc', $docLib);
$docLib = new stdClass();
$docLib->product = $productID;
$docLib->execution = $executionID;
$canBeChanged = common::canBeChanged('doc', $docLib);
$lib = isset($lib) ? $lib : new stdClass();
$actions = $this->setFastMenu($fastLib);
@@ -149,12 +152,12 @@ class docModel extends model
*/
public function getLibs($type = '', $extra = '', $appendLibs = '')
{
$projectID = $this->session->PRJ;
$projectID = $this->session->project;
if($type == 'product' or $type == 'project')
{
$idList = array();
if($type == 'product') $idList = $this->loadModel('product')->getProductIDByProject($projectID, false);
if($type == 'project')
if($type == 'execution')
{
$status = strpos($this->config->doc->custom->showLibs, 'unclosed') !== false ? 'undone' : 'all';
$idList = $this->loadModel('execution')->getIdList($projectID, $status);
@@ -194,8 +197,8 @@ class docModel extends model
if(strpos($extra, 'withObject') !== false)
{
$products = $this->loadModel('product')->getProductPairsByProject($this->session->PRJ);
$projects = $this->loadModel('execution')->getPairs($this->session->PRJ, 'all', 'noclosed');
$products = $this->loadModel('product')->getProductPairsByProject($projectID);
$executions = $this->loadModel('execution')->getPairs($projectID, 'all', 'noclosed');
}
$libPairs = array();
@@ -205,8 +208,8 @@ class docModel extends model
{
if(strpos($extra, 'withObject') !== false)
{
if($lib->product != 0) $lib->name = zget($products, $lib->product, '') . '/' . $lib->name;
if($lib->project != 0) $lib->name = zget($projects, $lib->project, '') . '/' . $lib->name;
if($lib->product != 0) $lib->name = zget($products, $lib->product, '') . '/' . $lib->name;
if($lib->execution != 0) $lib->name = zget($executions, $lib->execution, '') . '/' . $lib->name;
}
$libPairs[$lib->id] = '/' . $lib->name;
@@ -273,7 +276,7 @@ class docModel extends model
{
$lib = fixer::input('post')
->setForce('product', $this->post->type == 'product' ? $this->post->product : 0)
->setForce('project', $this->post->type == 'project' ? $this->post->project : 0)
->setForce('execution', $this->post->type == 'execution' ? $this->post->execution : 0)
->join('groups', ',')
->join('users', ',')
->get();
@@ -318,10 +321,8 @@ class docModel extends model
/**
* Get docs by browse type.
*
* @param int $productID
* @param int $projectID
* @param string $browseType
* @param string $libID
* @param string $browseType
* @param int $queryID
* @param int $moduleID
* @param string $sort
@@ -416,8 +417,8 @@ class docModel extends model
$allLibCond = strpos($this->session->docQuery, "`lib` = 'all'") !== false;
$docQuery = str_replace("`product` = 'all'", '1', $this->session->docQuery); // Search all product.
$docQuery = str_replace("`project` = 'all'", '1', $docQuery); // Search all project.
$docQuery = str_replace("`lib` = 'all'", '1', $docQuery); // Search all lib.
$docQuery = str_replace("`execution` = 'all'", '1', $docQuery); // Search all execution.
$docQuery = str_replace("`lib` = 'all'", '1', $docQuery); // Search all lib.
$docs = $this->dao->select('*')->from(TABLE_DOC)->where($docQuery)
->beginIF(!$libCond and $libID != 0)->andWhere("lib")->eq($libID)->fi()
@@ -498,8 +499,6 @@ class docModel extends model
* Get docs.
*
* @param int|string $libID
* @param int $productID
* @param int $projectID
* @param int $module
* @param string $orderBy
* @param object $pager
@@ -549,6 +548,7 @@ class docModel extends model
* Get doc info by id.
*
* @param int $docID
* @param int $version
* @param bool $setImgSize
* @access public
* @return void
@@ -598,12 +598,12 @@ class docModel extends model
if($setImgSize) $doc->content = $this->file->setImgSize($doc->content);
$doc->files = $docFiles;
$doc->productName = '';
$doc->projectName = '';
$doc->moduleName = '';
if($doc->product) $doc->productName = $this->dao->findByID($doc->product)->from(TABLE_PRODUCT)->fetch('name');
if($doc->project) $doc->projectName = $this->dao->findByID($doc->project)->from(TABLE_PROJECT)->fetch('name');
if($doc->module) $doc->moduleName = $this->dao->findByID($doc->module)->from(TABLE_MODULE)->fetch('name');
$doc->productName = '';
$doc->executionName = '';
$doc->moduleName = '';
if($doc->product) $doc->productName = $this->dao->findByID($doc->product)->from(TABLE_PRODUCT)->fetch('name');
if($doc->execution) $doc->executionName = $this->dao->findByID($doc->execution)->from(TABLE_EXECUTION)->fetch('name');
if($doc->module) $doc->moduleName = $this->dao->findByID($doc->module)->from(TABLE_MODULE)->fetch('name');
return $doc;
}
@@ -622,9 +622,9 @@ class docModel extends model
->add('editedBy', $this->app->user->account)
->add('editedDate', $now)
->add('version', 1)
->setDefault('product,project,module', 0)
->setDefault('product,execution,module', 0)
->stripTags($this->config->doc->editor->create['id'], $this->config->allowedTags)
->cleanInt('product,project,module,lib')
->cleanInt('product,execution,module,lib')
->join('groups', ',')
->join('users', ',')
->join('mailto', ',')
@@ -641,8 +641,8 @@ class docModel extends model
$lib = $this->getLibByID($doc->lib);
$doc = $this->loadModel('file')->processImgURL($doc, $this->config->doc->editor->create['id'], $this->post->uid);
$doc->product = $lib->product;
$doc->project = $lib->project;
$doc->product = $lib->product;
$doc->execution = $lib->execution;
if($doc->type == 'url')
{
$doc->content = $doc->url;
@@ -722,8 +722,8 @@ class docModel extends model
$lib = $this->getLibByID($doc->lib);
$doc = $this->loadModel('file')->processImgURL($doc, $this->config->doc->editor->edit['id'], $this->post->uid);
$doc->product = $lib->product;
$doc->project = $lib->project;
$doc->product = $lib->product;
$doc->execution = $lib->execution;
if(isset($doc->type) and $doc->type == 'url') $doc->content = $doc->url;
unset($doc->url);
@@ -779,8 +779,8 @@ class docModel extends model
{
$this->config->doc->search['actionURL'] = $actionURL;
$this->config->doc->search['queryID'] = $queryID;
$this->config->doc->search['params']['product']['values'] = array(''=>'') + $this->loadModel('product')->getPairs('nocode', $this->session->PRJ) + array('all'=>$this->lang->doc->allProduct);
$this->config->doc->search['params']['project']['values'] = array(''=>'') + $this->loadModel('execution')->getPairs($this->session->PRJ, 'all', 'noclosed') + array('all'=>$this->lang->doc->allProject);
$this->config->doc->search['params']['product']['values'] = array(''=>'') + $this->loadModel('product')->getPairs('nocode', $this->session->project) + array('all'=>$this->lang->doc->allProduct);
$this->config->doc->search['params']['execution']['values'] = array(''=>'') + $this->loadModel('execution')->getPairs($this->session->project, 'all', 'noclosed') + array('all'=>$this->lang->doc->allProject);
$this->config->doc->search['params']['lib']['values'] = array(''=>'', $libID => ($libID ? $libs[$libID] : 0), 'all' => $this->lang->doclib->all);
/* Get the modules. */
@@ -797,17 +797,17 @@ class docModel extends model
}
/**
* Get pairs of project modules.
* Get pairs of execution modules.
*
* @access public
* @return array
*/
public function getProjectModulePairs()
public function getExecutionModulePairs()
{
return $this->dao->select('t1.id,t1.name')->from(TABLE_MODULE)->alias('t1')
->leftJoin(TABLE_DOCLIB)->alias('t2')->on('t1.root = t2.id')
->andWhere('t1.type')->eq('doc')
->andWhere('t2.project')->ne('0')
->andWhere('t2.execution')->ne('0')
->fetchPairs('id', 'name');
}
@@ -914,12 +914,12 @@ class docModel extends model
if(isset($extraDocLibs[$object->id])) return true;
}
if(!empty($object->product) or !empty($object->project))
if(!empty($object->product) or !empty($object->execution))
{
$acls = $this->app->user->rights['acls'];
if(!empty($object->product) and !empty($acls['products']) and !in_array($object->product, $acls['products'])) return false;
if(!empty($object->project) and !empty($acls['projects']) and !in_array($object->project, $acls['projects'])) return false;
if(!empty($object->project)) return $this->loadModel('project')->checkPriv($object->project);
if(!empty($object->product) and !empty($acls['products']) and !in_array($object->product, $acls['products'])) return false;
if(!empty($object->execution) and !empty($acls['sprints']) and !in_array($object->execution, $acls['sprints'])) return false;
if(!empty($object->execution)) return $this->loadModel('execution')->checkPriv($object->execution);
if(!empty($object->product)) return $this->loadModel('product')->checkPriv($object->product);
}
@@ -973,12 +973,12 @@ class docModel extends model
*/
public function getAllLibsByType($type, $pager = null, $product = '')
{
if($product and $type == 'project') $projects = $this->dao->select('*')->from(TABLE_PROJECTPRODUCT)->where('product')->eq($product)->fetchPairs('project', 'project');
if($product and $type == 'execution') $executions = $this->dao->select('*')->from(TABLE_PROJECTPRODUCT)->where('product')->eq($product)->fetchPairs('project', 'project');
$libs = $this->getLibs($type == 'collector' ? 'all' : $type);
$key = ($type == 'product' or $type == 'project') ? $type : 'id';
$key = ($type == 'product' or $type == 'execution') ? $type : 'id';
$stmt = $this->dao->select("DISTINCT $key")->from(TABLE_DOCLIB)->where('deleted')->eq(0);
if($type == 'product' or $type == 'project')
if($type == 'product' or $type == 'execution')
{
$stmt = $stmt->andWhere($type)->ne(0);
}
@@ -990,16 +990,16 @@ class docModel extends model
{
$stmt = $stmt->andWhere('type')->eq($type);
}
if(isset($projects)) $stmt = $stmt->andWhere('project')->in($projects);
if(isset($executions)) $stmt = $stmt->andWhere('execution')->in($executions);
$idList = $stmt->andWhere('id')->in(array_keys($libs))->orderBy("{$key}_desc")->fetchPairs($key, $key);
if($type == 'product' or $type == 'project')
if($type == 'product' or $type == 'execution')
{
$orderBy = '`order` desc, id desc';
if($type == 'project')
if($type == 'execution')
{
$project = $this->loadModel('program')->getPRJByID($this->session->PRJ);
$project = $this->loadModel('project')->getByID($this->session->project);
$orderBy = (isset($project->model) and $project->model) == 'waterfall' ? 'begin_asc,id_asc' : 'begin_desc,id_desc';
}
@@ -1007,7 +1007,7 @@ class docModel extends model
$fields = $type == 'product' ? "createdBy, createdDate" : "openedBy AS createdBy, openedDate AS createdDate";
$libs = $this->dao->select("id, name, `order`, {$fields}")->from($table)
->where('id')->in($idList)
->beginIF($type == 'project' and strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('status')->notin('done,closed')->fi()
->beginIF($type == 'execution' and strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('status')->notin('done,closed')->fi()
->orderBy($orderBy)
->page($pager, 'id')
->fetchAll('id');
@@ -1030,15 +1030,15 @@ class docModel extends model
public function getAllLibGroups($appendLibs = '')
{
$libs = $this->getLibs('all', '', $appendLibs);
$stmt = $this->dao->select("id,type,product,project,name")->from(TABLE_DOCLIB)
$stmt = $this->dao->select("id,type,product,execution,name")->from(TABLE_DOCLIB)
->where('deleted')->eq(0)
->andWhere("id")->in(array_keys($libs))
->orderBy("product desc,project desc, `order` asc, id asc")
->orderBy("product desc,execution desc, `order` asc, id asc")
->query();
$customLibs = array();
$productLibs = array();
$projectLibs = array();
$customLibs = array();
$productLibs = array();
$executionLibs = array();
$otherLibs = array();
while($lib = $stmt->fetch())
@@ -1047,9 +1047,9 @@ class docModel extends model
{
$productLibs[$lib->product][$lib->id] = $lib->name;
}
elseif($lib->type == 'project')
elseif($lib->type == 'execution')
{
$projectLibs[$lib->project][$lib->id] = $lib->name;
$executionLibs[$lib->execution][$lib->id] = $lib->name;
}
else
{
@@ -1083,28 +1083,28 @@ class docModel extends model
}
}
$projects = $this->dao->select('id,name,status')->from(TABLE_PROJECT)
->where('id')->in(array_keys($projectLibs))
$executions = $this->dao->select('id,name,status')->from(TABLE_EXECUTION)
->where('id')->in(array_keys($executionLibs))
->andWhere('deleted')->eq('0')
->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('status')->notin('done,closed')->fi()
->orderBy('`order`_desc')
->fetchAll();
$projectOrderLibs = array();
foreach($projects as $project)
$executionOrderLibs = array();
foreach($executions as $execution)
{
$projectID = $project->id;
$projectName = $project->name;
if(isset($projectLibs[$projectID]))
$executionID = $execution->id;
$executionName = $execution->name;
if(isset($executionLibs[$executionID]))
{
$projectOrderLibs[$projectID]['id'] = $projectID;
$projectOrderLibs[$projectID]['name'] = $projectName;
$projectOrderLibs[$projectID]['status'] = $project->status;
foreach($projectLibs[$projectID] as $libID => $libName) $projectOrderLibs[$projectID]['libs'][$libID] = $libName;
if($hasFilesPriv) $projectOrderLibs[$projectID]['libs']['files'] = $this->lang->doclib->files;
$executionOrderLibs[$executionID]['id'] = $executionID;
$executionOrderLibs[$executionID]['name'] = $executionName;
$executionOrderLibs[$executionID]['status'] = $execution->status;
foreach($executionLibs[$executionID] as $libID => $libName) $executionOrderLibs[$executionID]['libs'][$libID] = $libName;
if($hasFilesPriv) $executionOrderLibs[$executionID]['libs']['files'] = $this->lang->doclib->files;
}
}
return array('product' => $productOrderLibs, 'project' => $projectOrderLibs) + $otherLibs;
return array('product' => $productOrderLibs, 'execution' => $executionOrderLibs) + $otherLibs;
}
/**
@@ -1119,7 +1119,7 @@ class docModel extends model
{
$libs = array();
$docLibs = array();
if($type == 'product' or $type == 'project')
if($type == 'product' or $type == 'extension')
{
$nonzeroLibs = array();
if(strpos($this->config->doc->custom->showLibs, 'zero') === false)
@@ -1128,10 +1128,10 @@ class docModel extends model
}
$idList = array();
$projectID = $this->session->PRJ;
$projectID = $this->session->project;
$executionStatus = strpos($this->config->doc->custom->showLibs, 'unclosed') !== false ? 'undone' : 'all';
/* If it is a project module, query the project related products. */
/* If it is a extension module, query the extension related products. */
if($type == 'product' && $this->lang->navGroup->doc == 'project')
{
$objectList = $this->loadModel('product')->getProductPairsByProject($projectID, 'all');
@@ -1141,7 +1141,7 @@ class docModel extends model
$objectList = $this->loadModel('product')->getPairs();
}
if($type == 'project') $objectList = $this->loadModel('execution')->getByProject($projectID, $executionStatus, 0, true);
if($type == 'execution') $objectList = $this->loadModel('execution')->getByProject($projectID, $executionStatus, 0, true);
if(empty($objectList)) return $libs;
$docLibs = $this->dao->select('*')->from(TABLE_DOCLIB)
@@ -1163,7 +1163,7 @@ class docModel extends model
if($this->checkPrivLib($docLib))
{
if($type == 'product' or $type == 'project')
if($type == 'product' or $type == 'execution')
{
$docLib->name = isset($objectList[$docLib->$type]) ? $objectList[$docLib->$type] : '';
$docLib->id = $docLib->$type;
@@ -1178,17 +1178,16 @@ class docModel extends model
}
/**
* Get project or product libs groups.
* Get execution or product libs groups.
*
* @param string $type
* @param array $idList
* @param int $limit
* @access public
* @return array
*/
public function getSubLibGroups($type, $idList)
{
if($type != 'product' and $type != 'project') return false;
if($type != 'product' and $type != 'execution') return false;
$libGroups = $this->dao->select('*')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->andWhere($type)->in($idList)->orderBy('`order`, id')->fetchGroup($type, 'id');
$buildGroups = array();
@@ -1216,13 +1215,13 @@ class docModel extends model
*/
public function getLibsByObject($type, $objectID, $mode = '')
{
if($type != 'product' and $type != 'project') return false;
if($type != 'product' and $type != 'execution') return false;
$objectLibs = $this->dao->select('*')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->andWhere($type)->eq($objectID)->orderBy('`order`, id')->fetchAll('id');
if($type == 'product')
{
$hasProject = $this->dao->select('DISTINCT t1.product, count(t1.project) as projectCount')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id')
->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project=t2.id')
->where('t1.product')->eq($objectID)
->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi()
->andWhere('t2.deleted')->eq(0)
@@ -1295,12 +1294,14 @@ class docModel extends model
*
* @param string $type
* @param int $objectID
* @param string $orderBy
* @param object $pager
* @access public
* @return array
*/
public function getLibFiles($type, $objectID, $orderBy, $pager = null)
{
if($type != 'project' and $type != 'product') return true;
if($type != 'execution' and $type != 'product') return true;
$this->loadModel('file');
$docs = $this->dao->select('*')->from(TABLE_DOC)->where($type)->eq($objectID)->fetchAll('id');
foreach($docs as $id => $doc)
@@ -1321,28 +1322,28 @@ class docModel extends model
$testReportIdList = 0;
$caseIdList = 0;
$bugPairs = $this->dao->select('id, PRJ')->from(TABLE_BUG)->where('product')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('product')->in($this->app->user->view->products)->fetchPairs('id', 'PRJ');
$bugPairs = $this->dao->select('id')->from(TABLE_BUG)->where('product')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('product')->in($this->app->user->view->products)->fetchPairs('id');
if(!empty($bugPairs))
{
$bugIdList = array_keys($bugPairs);
$bugIdList = implode(',', $bugIdList);
}
$releasePairs = $this->dao->select('id, PRJ')->from(TABLE_RELEASE)->where('product')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('product')->in($this->app->user->view->products)->fetchPairs('id', 'PRJ');
$releasePairs = $this->dao->select('id')->from(TABLE_RELEASE)->where('product')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('product')->in($this->app->user->view->products)->fetchPairs('id');
if(!empty($releasePairs))
{
$releaseIdList = array_keys($releasePairs);
$releaseIdList = implode(',', $releaseIdList);
}
$testReportPairs = $this->dao->select('id, PRJ')->from(TABLE_TESTREPORT)->where('product')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('product')->in($this->app->user->view->products)->fetchPairs('id', 'PRJ');
$testReportPairs = $this->dao->select('id')->from(TABLE_TESTREPORT)->where('product')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('product')->in($this->app->user->view->products)->fetchPairs('id');
if(!empty($testReportPairs))
{
$testReportIdList = array_keys($testReportPairs);
$testReportIdList = implode(',', $testReportIdList);
}
$casePairs = $this->dao->select('id, PRJ')->from(TABLE_CASE)->where('product')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('product')->in($this->app->user->view->products)->fetchPairs('id', 'PRJ');
$casePairs = $this->dao->select('id')->from(TABLE_CASE)->where('product')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('product')->in($this->app->user->view->products)->fetchPairs('id');
if(!empty($casePairs))
{
$caseIdList = array_keys($casePairs);
@@ -1365,9 +1366,9 @@ class docModel extends model
->page($pager)
->fetchAll('id');
}
elseif($type == 'project')
elseif($type == 'execution')
{
$taskPairs = $this->dao->select('id, PRJ')->from(TABLE_TASK)->where('project')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('project')->in($this->app->user->view->sprints)->fetchPairs('id', 'PRJ');
$taskPairs = $this->dao->select('id')->from(TABLE_TASK)->where('execution')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('execution')->in($this->app->user->view->sprints)->fetchPairs('id');
$taskIdList = 0;
if(!empty($taskPairs))
{
@@ -1375,7 +1376,7 @@ class docModel extends model
$taskIdList = implode(',', $taskIdList);
}
$buildPairs = $this->dao->select('id, PRJ')->from(TABLE_BUILD)->where('project')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('project')->in($this->app->user->view->sprints)->fetchPairs('id', 'PRJ');
$buildPairs = $this->dao->select('id')->from(TABLE_BUILD)->where('execution')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('execution')->in($this->app->user->view->sprints)->fetchPairs('id');
$buildIdList = 0;
if(!empty($buildPairs))
{
@@ -1384,7 +1385,7 @@ class docModel extends model
}
$files = $this->dao->select('*')->from(TABLE_FILE)->alias('t1')
->where('size')->gt('0')
->andWhere("(objectType = 'project' and objectID = $objectID)", true)
->andWhere("(objectType = 'execution' and objectID = $objectID)", true)
->orWhere("(objectType = 'doc' and objectID in ($docIdList))")
->orWhere("(objectType = 'task' and objectID in ($taskIdList))")
->orWhere("(objectType = 'build' and objectID in ($buildIdList))")
@@ -1397,13 +1398,13 @@ class docModel extends model
foreach($files as $fileID => $file)
{
if($type == 'product' && $file->objectType == 'bug') $file->PRJ = $bugPairs[$file->objectID];
if($type == 'product' && $file->objectType == 'release') $file->PRJ = $releasePairs[$file->objectID];
if($type == 'product' && $file->objectType == 'testreport') $file->PRJ = $testReportPairs[$file->objectID];
if($type == 'product' && $file->objectType == 'testcase') $file->PRJ = $casePairs[$file->objectID];
if($type == 'product' && $file->objectType == 'bug') $file->project = $bugPairs[$file->objectID];
if($type == 'product' && $file->objectType == 'release') $file->project = $releasePairs[$file->objectID];
if($type == 'product' && $file->objectType == 'testreport') $file->project = $testReportPairs[$file->objectID];
if($type == 'product' && $file->objectType == 'testcase') $file->project = $casePairs[$file->objectID];
if($type == 'project' && $file->objectType == 'task') $file->PRJ = $taskPairs[$file->objectID];
if($type == 'project' && $file->objectType == 'build') $file->PRJ = $buildPairs[$file->objectID];
if($type == 'execution' && $file->objectType == 'task') $file->project = $taskPairs[$file->objectID];
if($type == 'execution' && $file->objectType == 'build') $file->project = $buildPairs[$file->objectID];
$pathName = $this->file->getRealPathName($file->pathname);
$file->realPath = $this->file->savePath . $pathName;
@@ -1498,20 +1499,20 @@ class docModel extends model
* Get product crumb.
*
* @param int $productID
* @param int $projectID
* @param int $executionID
* @access public
* @return string
*/
public function getProductCrumb($productID, $projectID = 0)
public function getProductCrumb($productID, $executionID = 0)
{
if(empty($productID)) return '';
if($projectID)
if($executionID)
{
$projectProduct = $this->dao->select('*')->from(TABLE_PROJECTPRODUCT)->where('product')->eq($productID)->andWhere('project')->eq($projectID)->fetch();
if(empty($projectProduct))
$executionProduct = $this->dao->select('*')->from(TABLE_PROJECTPRODUCT)->where('product')->eq($productID)->andWhere('project')->eq($executionID)->fetch();
if(empty($executionProduct))
{
setcookie('product', 0, $this->config->cookieLife, $this->config->webRoot, '', false, true);
return html::a(helper::createLink('doc', 'allLibs', "type=project"), $this->lang->executionCommon) . $this->lang->doc->separator;
return html::a(helper::createLink('doc', 'allLibs', "type=execution"), $this->lang->executionCommon) . $this->lang->doc->separator;
}
}
$object = $this->dao->select('id,name')->from(TABLE_PRODUCT)->where('id')->eq($productID)->fetch();
@@ -1520,8 +1521,8 @@ class docModel extends model
$crumb = '';
$crumb .= html::a(helper::createLink('doc', 'allLibs', "type=product"), $this->lang->productCommon) . $this->lang->doc->separator;
$crumb .= html::a(helper::createLink('doc', 'objectLibs', "type=product&objectID=$productID"), $object->name) . $this->lang->doc->separator;
$crumb .= html::a(helper::createLink('doc', 'allLibs', "type=project&product=$productID"), $this->lang->doclib->project);
if($projectID) $crumb .= $this->lang->doc->separator;
$crumb .= html::a(helper::createLink('doc', 'allLibs', "type=execution&product=$productID"), $this->lang->doclib->execution);
if($executionID) $crumb .= $this->lang->doc->separator;
return $crumb;
}
@@ -1535,7 +1536,7 @@ class docModel extends model
*/
public function setLibUsers($type, $objectID)
{
if($type != 'project' and $type != 'product') return array();
if($type != 'execution' and $type != 'product') return array();
if($type == 'product')
{
$teams = $this->dao->select('t1.account')->from(TABLE_TEAM)->alias('t1')
@@ -1543,13 +1544,13 @@ class docModel extends model
->leftJoin(TABLE_PROJECT)->alias('t3')->on('t1.root=t3.id')
->where('t2.product')->eq($objectID)
->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t3.status')->notin('done,closed')->fi()
->andWhere('t1.type')->eq('project')
->andWhere('t1.type')->eq('execution')
->andWhere('t3.deleted')->eq('0')
->fetchPairs('account', 'account');
}
elseif($type == 'project')
elseif($type == 'execution')
{
$teams = $this->dao->select('account')->from(TABLE_TEAM)->where('root')->eq($objectID)->andWhere('type')->eq('project')->fetchPairs('account', 'account');
$teams = $this->dao->select('account')->from(TABLE_TEAM)->where('root')->eq($objectID)->andWhere('type')->eq('execution')->fetchPairs('account', 'account');
}
return $teams;
@@ -1564,16 +1565,16 @@ class docModel extends model
*/
public function getLibIdListByProject($projectID = 0)
{
$products = $this->loadModel('product')->getProductIDByProject($projectID, false);
$projects = $this->loadModel('execution')->getPairs($projectID, 'all', 'noclosed');
$products = $this->loadModel('product')->getProductIDByProject($projectID, false);
$executions = $this->loadModel('execution')->getPairs($projectID, 'all', 'noclosed');
$projectLibs = array();
$productLibs = array();
if($projects) $projectLibs = $this->dao->select('id')->from(TABLE_DOCLIB)->where('project')->in(array_keys($projects))->fetchPairs();
if($products) $productLibs = $this->dao->select('id')->from(TABLE_DOCLIB)->where('product')->in($products)->fetchPairs();
$executionLibs = array();
$productLibs = array();
if($executions) $executionLibs = $this->dao->select('id')->from(TABLE_DOCLIB)->where('execution')->in(array_keys($executions))->fetchPairs();
if($products) $productLibs = $this->dao->select('id')->from(TABLE_DOCLIB)->where('product')->in($products)->fetchPairs();
$customLibs = $this->dao->select('id')->from(TABLE_DOCLIB)->where('type')->eq('custom')->fetchPairs();
$libIdList = array_merge($customLibs, $projectLibs, $productLibs);
$libIdList = array_merge($customLibs, $executionLibs, $productLibs);
return $libIdList;
}
@@ -1586,7 +1587,7 @@ class docModel extends model
public function getStatisticInfo()
{
$libIdList = array();
$libIdList = $this->getLibIdListByProject($this->session->PRJ);
$libIdList = $this->getLibIdListByProject($this->session->project);
$docIdList = $this->getPrivDocs($libIdList);
$today = date('Y-m-d');
+7 -7
View File
@@ -32,22 +32,22 @@
</div>
<div class="panel-body">
<div class="row row-grid files-grid" data-size="300">
<?php if($type == 'product') $icon = 'icon-product text-secondary';?>
<?php if($type == 'project') $icon = 'icon-project text-green';?>
<?php if($type != 'product' and $type != 'project') $icon = 'icon-folder text-yellow';?>
<?php if($type == 'product') $icon = 'icon-product text-secondary';?>
<?php if($type == 'execution') $icon = 'icon-execution text-green';?>
<?php if($type != 'product' and $type != 'execution') $icon = 'icon-folder text-yellow';?>
<?php foreach($libs as $lib):?>
<?php $link = ($type == 'product' or $type == 'project') ? $this->createLink('doc', 'objectLibs', "type=$type&objectID=$lib->id") : $this->createLink('doc', 'browse', "libID=$lib->id");?>
<?php $link = ($type == 'product' or $type == 'execution') ? $this->createLink('doc', 'objectLibs', "type=$type&objectID=$lib->id") : $this->createLink('doc', 'browse', "libID=$lib->id");?>
<div class="col">
<a class="file" href="<?php echo $link;?>">
<i class="file-icon icon <?php echo $icon;?>"></i>
<div class="file-name"><?php echo ($type != 'product' && $type != 'project' && strpos($lib->collector, $this->app->user->account) !== false ? "<i class='icon icon-star text-yellow'></i> " : '') . $lib->name;?></div>
<?php if($type == 'product' or $type == 'project'):?>
<div class="file-name"><?php echo ($type != 'product' && $type != 'execution' && strpos($lib->collector, $this->app->user->account) !== false ? "<i class='icon icon-star text-yellow'></i> " : '') . $lib->name;?></div>
<?php if($type == 'product' or $type == 'execution'):?>
<div class="text-primary file-info"><?php echo count($subLibs[$lib->id]) . $lang->doc->item;?></div>
<?php else:?>
<div class="text-primary file-info"><?php echo $itemCounts[$lib->id] . $lang->doc->item;?></div>
<?php endif;?>
</a>
<?php if($type != 'product' and $type != 'project'):?>
<?php if($type != 'product' and $type != 'execution'):?>
<div class="actions">
<?php $star = strpos($lib->collector, ',' . $this->app->user->account . ',') !== false ? 'icon-star text-yellow' : 'icon-star-empty';?>
<?php $collectTitle = strpos($lib->collector, ',' . $this->app->user->account . ',') !== false ? $lang->doc->cancelCollection : $lang->doc->collect;?>
+5 -5
View File
@@ -14,10 +14,10 @@
<table class="table table-borderless table-hover table-files table-fixed no-margin">
<thead>
<tr>
<?php if($type != 'product' and $type != 'project') $name = $lang->doclib->nameList[$type];?>
<?php if($type != 'product' and $type != 'execution') $name = $lang->doclib->nameList[$type];?>
<th class="c-name"><?php echo $lang->doc->libName;?></th>
<th class="c-num"><?php echo $lang->doc->num;?></th>
<?php if($type == 'product' or $type == 'project'):?>
<?php if($type == 'product' or $type == 'execution'):?>
<th class="c-user"><?php echo $lang->doc->addedBy;?></th>
<th class="c-datetime"><?php echo $lang->doc->addedDate;?></th>
<?php else:?>
@@ -27,17 +27,17 @@
</thead>
<tbody>
<?php foreach($libs as $lib):?>
<?php $link = ($type == 'product' or $type == 'project') ? $this->createLink('doc', 'objectLibs', "type=$type&objectID=$lib->id") : $this->createLink('doc', 'browse', "libID=$lib->id");?>
<?php $link = ($type == 'product' or $type == 'execution') ? $this->createLink('doc', 'objectLibs', "type=$type&objectID=$lib->id") : $this->createLink('doc', 'browse', "libID=$lib->id");?>
<tr>
<td class="c-name"><?php echo html::a($link, $lib->name);?></td>
<td class="c-num">
<?php if($type != 'product' and $type != 'project'):?>
<?php if($type != 'product' and $type != 'execution'):?>
<?php echo $itemCounts[$lib->id] . $lang->doc->item;?>
<?php else:?>
<?php echo count($subLibs[$lib->id]) . $lang->doc->item;?>
<?php endif;?>
</td>
<?php if($type == 'product' or $type == 'project'):?>
<?php if($type == 'product' or $type == 'execution'):?>
<td class="c-user"><?php if($lib->createdBy) echo zget($users, $lib->createdBy);?></td>
<td class="c-datetime"><?php if($lib->createdDate != '00-00-00 00:00:00') echo formatTime($lib->createdDate, 'Y-m-d');?></td>
<?php else:?>
+2 -2
View File
@@ -122,8 +122,8 @@
<?php if(!empty($attachLibs) and $browseType != 'bysearch'):?>
<?php foreach($attachLibs as $libType => $attachLib):?>
<tr>
<?php if($libType == 'project'):?>
<td class="c-name"><?php echo html::a(inlink('allLibs', "type=project&product={$currentLib->product}"), "<i class='icon icon-folder text-yellow'></i> &nbsp;" . $attachLib->name);?></td>
<?php if($libType == 'execution'):?>
<td class="c-name"><?php echo html::a(inlink('allLibs', "type=execution&product={$currentLib->product}"), "<i class='icon icon-folder text-yellow'></i> &nbsp;" . $attachLib->name);?></td>
<?php elseif($libType == 'files'):?>
<td class="c-name"><?php echo html::a(inlink('showFiles', "type=$type&objectID={$currentLib->$type}&from=$from"), "<i class='icon icon-folder text-yellow'></i> &nbsp;" . $attachLib->name);?></td>
<?php endif;?>
+2 -2
View File
@@ -87,9 +87,9 @@
<div class="col">
<?php
$browseLink = '';
if($libType == 'project')
if($libType == 'execution')
{
$browseLink = inlink('allLibs', "type=project&product={$currentLib->product}");
$browseLink = inlink('allLibs', "type=execution&product={$currentLib->product}");
}
elseif($libType == 'files')
{
+3 -3
View File
@@ -29,9 +29,9 @@
<th><?php echo $lang->doc->product?></th>
<td><?php echo html::select('product', $products, $type == 'product' ? $objectID : '', "class='form-control chosen' data-drop_direction='down'")?></td>
</tr>
<tr class='project hidden'>
<th><?php echo $lang->doc->project?></th>
<td><?php echo html::select('project', $projects, $type == 'project' ? $objectID : '', "class='form-control chosen' data-drop_direction='down'")?></td>
<tr class='execution hidden'>
<th><?php echo $lang->doc->execution?></th>
<td><?php echo html::select('execution', $executions, $type == 'execution' ? $objectID : '', "class='form-control chosen' data-drop_direction='down'")?></td>
</tr>
<tr>
<th><?php echo $lang->doclib->name?></th>
+4 -4
View File
@@ -28,10 +28,10 @@
<td><?php echo $product->name?></td>
</tr>
<?php endif;?>
<?php if(!empty($lib->project)):?>
<?php if(!empty($lib->execution)):?>
<tr>
<th class='w-130px'><?php echo $lang->doc->project?></th>
<td><?php echo $project->name?></td>
<th class='w-130px'><?php echo $lang->doc->execution?></th>
<td><?php echo $execution->name?></td>
</tr>
<?php endif;?>
<tr>
@@ -43,7 +43,7 @@
</tr>
<tr>
<th><?php echo $lang->doclib->control;?></th>
<?php if($lib->type == 'product' or $lib->type == 'project'):?>
<?php if($lib->type == 'product' or $lib->type == 'execution'):?>
<td>
<?php echo html::radio('acl', $lang->doclib->aclListA, $lib->acl, "onchange='toggleAcl(this.value, \"lib\")'")?>
<span class='text-info' id='noticeAcl'><?php echo $lang->doc->noticeAcl['lib'][$lib->type][$lib->acl];?></span>
+10 -10
View File
@@ -126,26 +126,26 @@
<div class="col-sm-7">
<div class="panel block-files block-sm" style="height: 290px;">
<div class="panel-heading">
<div class="panel-title"><?php echo $lang->project->undone . (common::checkNotCN() ? "{$lang->executionCommon}s" : "$lang->executionCommon");?></div>
<div class="panel-title"><?php echo $lang->execution->undone . (common::checkNotCN() ? "{$lang->executionCommon}s" : "$lang->executionCommon");?></div>
<nav class="panel-actions nav nav-default">
<li><?php echo html::a($this->createLink('doc', 'allLibs', 'type=project'), '<i class="icon icon-more icon-sm"></i>', '', "title='{$lang->more}'");?></li>
<li><?php echo html::a($this->createLink('doc', 'allLibs', 'type=execution'), '<i class="icon icon-more icon-sm"></i>', '', "title='{$lang->more}'");?></li>
</nav>
</div>
<div class="panel-body has-table">
<table class="table table-borderless table-fixed-head table-hover">
<thead>
<tr>
<th class="c-name"><?php echo $lang->project->name;?></th>
<th class="c-date"><?php echo $lang->project->begin;?></th>
<th class="c-date"><?php echo $lang->project->end;?></th>
<th class="c-name"><?php echo $lang->execution->name;?></th>
<th class="c-date"><?php echo $lang->execution->begin;?></th>
<th class="c-date"><?php echo $lang->execution->end;?></th>
</tr>
</thead>
<tbody>
<?php foreach($doingProjects as $project):?>
<tr data-url="<?php echo $this->createLink('doc', 'objectLibs', "type=project&objectID={$project->id}")?>">
<td class="c-name"><i class="icon icon-folder text-yellow"></i> <?php echo $project->name;?></td>
<td class="c-datetime"><?php echo formatTime($project->begin);?></td>
<td class="c-datetime"><?php echo formatTime($project->end);?></td>
<?php foreach($doingProjects as $execution):?>
<tr data-url="<?php echo $this->createLink('doc', 'objectLibs', "type=execution&objectID={$execution->id}")?>">
<td class="c-name"><i class="icon icon-folder text-yellow"></i> <?php echo $execution->name;?></td>
<td class="c-datetime"><?php echo formatTime($execution->begin);?></td>
<td class="c-datetime"><?php echo formatTime($execution->end);?></td>
</tr>
<?php endforeach;?>
</tbody>
+5 -5
View File
@@ -12,7 +12,7 @@
?>
<?php $pageCSS .= $this->doc->appendNavCSS();?>
<?php include '../../common/view/header.html.php';?>
<?php if($this->from == 'project'):;?>
<?php if($this->from == 'execution'):;?>
<style>.panel-body{min-height: 180px}</style>
<?php endif;?>
<div class="fade main-row <?php if($this->from == 'doc') echo 'split-row';?>" id="mainRow">
@@ -37,12 +37,12 @@
<div class='panel-body'>
<div class="row row-grid files-grid" data-size="300">
<?php foreach($libs as $libID => $lib):?>
<?php if($libID == 'project' and $from != 'doc') continue;?>
<?php if($libID == 'execution' and $from != 'doc') continue;?>
<?php if(strpos($config->doc->custom->objectLibs, 'files') === false && $libID == 'files') continue;?>
<?php if(strpos($config->doc->custom->objectLibs, 'customFiles') === false && isset($lib->main) && !$lib->main) continue;?>
<?php $libLink = inlink('browse', "libID=$libID&browseType=all&param=0&orderBy=id_desc&from=$from");?>
<?php if($libID == 'project') $libLink = inlink('allLibs', "type=project&product=$object->id");?>
<?php if($libID == 'execution') $libLink = inlink('allLibs', "type=execution&product=$object->id");?>
<?php if($libID == 'files') $libLink = inlink('showFiles', "type=$type&objectID=$object->id&from=$from");?>
<?php $icon = 'icon-folder text-yellow';?>
@@ -51,10 +51,10 @@
<div class="col">
<a class="file" href="<?php echo $libLink;?>" data-group=<?php echo $from;?>>
<i class="file-icon icon <?php echo $icon;?>"></i>
<div class="file-name"><?php echo ($libID != 'project' && $libID != 'files' && strpos($lib->collector, $this->app->user->account) !== false ? "<i class='icon icon-star text-yellow'></i> " : '') . $lib->name;?></div>
<div class="file-name"><?php echo ($libID != 'execution' && $libID != 'files' && strpos($lib->collector, $this->app->user->account) !== false ? "<i class='icon icon-star text-yellow'></i> " : '') . $lib->name;?></div>
<div class="text-primary file-info"><?php echo $lib->allCount . $lang->doc->item;?></div>
</a>
<?php if($libID != 'project' and $libID != 'files'):?>
<?php if($libID != 'execution' and $libID != 'files'):?>
<?php $star = strpos($lib->collector, ',' . $this->app->user->account . ',') !== false ? 'icon-star text-yellow' : 'icon-star-empty';?>
<?php $collectTitle = strpos($lib->collector, ',' . $this->app->user->account . ',') !== false ? $lang->doc->cancelCollection : $lang->doc->collect;?>
<div class="actions">
+4 -4
View File
@@ -21,18 +21,18 @@
</thead>
<tbody>
<?php foreach($libs as $libID => $lib):?>
<?php if($libID == 'project' and $from != 'doc') continue;?>
<?php if($libID == 'execution' and $from != 'doc') continue;?>
<?php if(strpos($config->doc->custom->objectLibs, 'files') === false && $libID == 'files') continue;?>
<?php if(strpos($config->doc->custom->objectLibs, 'customFiles') === false && isset($lib->main) && !$lib->main) continue;?>
<?php $libLink = inlink('browse', "libID=$libID&browseType=all&param=0&orderBy=id_desc&from=$from");?>
<?php if($libID == 'project') $libLink = inlink('allLibs', "type=project&product=$object->id");?>
<?php if($libID == 'files') $libLink = inlink('showFiles', "type=$type&objectID=$object->id&from=$from");?>
<?php if($libID == 'execution') $libLink = inlink('allLibs', "type=execution&product=$object->id");?>
<?php if($libID == 'files') $libLink = inlink('showFiles', "type=$type&objectID=$object->id&from=$from");?>
<tr>
<td class="c-name"><?php echo html::a($libLink, $lib->name);?></td>
<td class="c-num"><?php echo $lib->allCount . $lang->doc->item;?></td>
<td class="c-actions">
<?php if($canBeChanged and $libID != 'project' and $libID != 'files'):?>
<?php if($canBeChanged and $libID != 'execution' and $libID != 'files'):?>
<?php $star = strpos($lib->collector, ',' . $this->app->user->account . ',') !== false ? 'icon-star text-yellow' : 'icon-star-empty';?>
<?php $collectTitle = strpos($lib->collector, ',' . $this->app->user->account . ',') !== false ? $lang->doc->cancelCollection : $lang->doc->collect;?>
<?php if(common::hasPriv('doc', 'collect')):?>
+2 -2
View File
@@ -72,7 +72,7 @@
<td class="text-center"><?php echo sprintf('%03d', $file->id);?></td>
<td class="c-url">
<?php
if($type == 'project' && in_array($file->objectType, array('task', 'build')))
if($type == 'execution' && in_array($file->objectType, array('task', 'build')))
{
$objectLink = $this->createLink($file->objectType, 'view', "objectID=$file->objectID", '', '', $file->PRJ);
}
@@ -149,7 +149,7 @@
?>
</a>
<?php
if($type == 'project' && in_array($file->objectType, array('task', 'build')))
if($type == 'execution' && in_array($file->objectType, array('task', 'build')))
{
$objectLink = $this->createLink($file->objectType, 'view', "objectID=$file->objectID", '', '', $file->PRJ);
}
+9 -9
View File
@@ -4,8 +4,8 @@ foreach($lang->doclib->tabList as $libType => $typeName) $sideLibs[$libType] = $
$allModules = $this->loadModel('tree')->getDocStructure();
$sideSubLibs = array();
$sideSubLibs['product'] = $this->doc->getSubLibGroups('product', array_keys($sideLibs['product']));
$sideSubLibs['project'] = $this->doc->getSubLibGroups('project', array_keys($sideLibs['project']));
$sideSubLibs['product'] = $this->doc->getSubLibGroups('product', array_keys($sideLibs['product']));
$sideSubLibs['execution'] = $this->doc->getSubLibGroups('execution', array_keys($sideLibs['execution']));
if($this->methodName != 'browse')
{
$browseType = '';
@@ -32,7 +32,7 @@ $sideWidth = common::checkNotCN() ? '270' : '238';
<?php if(empty($sideLibs[$tabValue])):?>
<li>
<?php
if($lang->navGroup->doc == 'doc' and $tabValue == 'project')
if($lang->navGroup->doc == 'doc' and $tabValue == 'execution')
{
echo $lang->noData;
}
@@ -71,10 +71,10 @@ $sideWidth = common::checkNotCN() ? '270' : '238';
<ul>
<?php foreach($sideSubLibs[$tabValue][$tabMenuID] as $subLibID => $subLibName):?>
<?php
if($subLibID == 'project')
if($subLibID == 'execution')
{
$subLibLink = inlink('allLibs', "type=project&product=$tabMenuID");
$activeClass = ($this->methodName == 'alllibs' && $type == 'project' && $$tabValue == $tabMenuID) ? "class='active'" : '';
$subLibLink = inlink('allLibs', "type=execution&product=$tabMenuID");
$activeClass = ($this->methodName == 'alllibs' && $type == 'execution' && $$tabValue == $tabMenuID) ? "class='active'" : '';
$icon = 'icon-stack';
}
elseif($subLibID == 'files')
@@ -173,7 +173,7 @@ $sideWidth = common::checkNotCN() ? '270' : '238';
<?php
if(common::hasPriv('doc', 'sort'))
{
echo html::a('###', "<i class='icon-sort'></i> {$lang->doc->orderLib}", '', "id='orderLib' class='text-secondary small " . (($type != 'product' and $type !='project') ? '' : 'hidden') . "' style='padding-left:5px;'");
echo html::a('###', "<i class='icon-sort'></i> {$lang->doc->orderLib}", '', "id='orderLib' class='text-secondary small " . (($type != 'product' and $type !='execution') ? '' : 'hidden') . "' style='padding-left:5px;'");
echo html::a('javascript:saveOrder()', "<i class='icon-checked'></i> {$lang->save}", '', "id='saveOrder' class='text-secondary small hidden' style='padding-left:10px;'");
}
?>
@@ -217,13 +217,13 @@ $(function()
$tabs.find('.tab-content .tab-pane#' + type).addClass('active');
}
$.cookie('docSideType', '');
$('#mainRow .side-col .side-footer #orderLib').toggleClass('hidden', (type == 'product' || type == 'project'));
$('#mainRow .side-col .side-footer #orderLib').toggleClass('hidden', (type == 'product' || type == 'execution'));
}
$('#mainRow .side-col .tabs .nav-tabs li a').click(function()
{
var href = $(this).attr('href');
var canOrder = !(href.indexOf('product') > 0 || href.indexOf('project') > 0);
var canOrder = !(href.indexOf('product') > 0 || href.indexOf('execution') > 0);
if(!canOrder)
{
$(this).closest('.side-col').find('.side-footer #orderLib').addClass('hidden');
+3 -3
View File
@@ -187,10 +187,10 @@ js::set('docID', $doc->id);
<td><?php echo $doc->productName;?></td>
</tr>
<?php endif;?>
<?php if($doc->projectName):?>
<?php if($doc->executionName):?>
<tr>
<th class='w-80px'><?php echo $lang->doc->project;?></th>
<td><?php echo $doc->projectName;?></td>
<th class='w-80px'><?php echo $lang->doc->execution;?></th>
<td><?php echo $doc->executionName;?></td>
</tr>
<?php endif;?>
<tr>
+1 -1
View File
@@ -45,7 +45,7 @@ class execution extends control
$this->executions = $this->execution->getPairs($this->session->project, 'all', 'nocode');
if(!$this->executions and $this->methodName != 'index' and $this->methodName != 'create' and $this->app->getViewType() != 'mhtml') $this->locate($this->createLink('execution', 'create'));
}
$this->objectType = $this->config->systemMode == 'classic' ? 'execution' : 'exection';
$this->objectType = $this->config->systemMode == 'classic' ? 'project' : 'execution';
}
/**