Merge branch '15.0.beta3' of https://gitlab.zcorp.cc/easycorp/zentaopms into 15.0.beta3

This commit is contained in:
hufangzhou
2021-04-07 14:39:49 +08:00
27 changed files with 397 additions and 220 deletions
+8 -1
View File
@@ -25,7 +25,14 @@ if($config->systemMode == 'new') $lang->mainNav->program = "{$lang->navIcons['pr
$lang->mainNav->product = "{$lang->navIcons['product']} {$lang->product->common}|$productModule|$productMethod|";
if($config->systemMode == 'new') $lang->mainNav->project = "{$lang->navIcons['project']} {$lang->project->common}|$projectModule|$projectMethod|";
$lang->mainNav->execution = "{$lang->navIcons['execution']} {$lang->execution->common}|$executionModule|$executionMethod|";
if($config->systemMode == 'new')
{
$lang->mainNav->execution = "{$lang->navIcons['execution']} {$lang->execution->common}|$executionModule|$executionMethod|";
}
else
{
$lang->mainNav->execution = "{$lang->navIcons['project']} {$lang->execution->common}|$executionModule|$executionMethod|";
}
$lang->mainNav->qa = "{$lang->navIcons['qa']} {$lang->qa->common}|qa|index|";
$lang->mainNav->devops = "{$lang->navIcons['devops']} DevOps|repo|browse|";
$lang->mainNav->doc = "{$lang->navIcons['doc']} {$lang->doc->common}|doc|index|";
+28 -5
View File
@@ -214,7 +214,7 @@ class doc extends control
if(!dao::isError())
{
$this->action->create('docLib', $libID, 'Created');
die(js::locate($this->createLink('doc', 'objectLibs', "type=$type&objectID=$objectID&libID=$libID"), 'parent.parent'));
die(js::locate($this->createLink('doc', 'objectLibs', "type={$this->post->type}&objectID=$objectID&libID=$libID"), 'parent.parent'));
}
else
{
@@ -297,6 +297,11 @@ class doc extends control
if(!empty($lib->main)) die(js::alert($this->lang->doc->errorMainSysLib));
$this->doc->delete(TABLE_DOCLIB, $libID);
if(isonlybody())
{
unset($_GET['onlybody']);
die(js::locate($this->createLink('doc', 'objectLibs', 'type=book'), 'parent.parent'));
}
die(js::locate($this->createLink('doc', 'index'), 'parent'));
}
}
@@ -546,7 +551,9 @@ class doc extends control
{
if($confirm == 'no')
{
die(js::confirm($this->lang->doc->confirmDelete, inlink('delete', "docID=$docID&confirm=yes")));
$type = $this->dao->select('type')->from(TABLE_DOC)->where('id')->eq($docID)->fetch('type');
$tips = $type == 'chapter' ? $this->lang->doc->confirmDeleteChapter : $this->lang->doc->confirmDelete;
die(js::confirm($tips, inlink('delete', "docID=$docID&confirm=yes")));
}
else
{
@@ -924,6 +931,22 @@ class doc extends control
$object = new stdclass();
$object->id = 0;
}
elseif($type == 'book')
{
$libs = $this->doc->getLibsByObject('book', 0);
$this->app->rawMethod = 'book';
if($libID == 0) $libID = key($libs);
$this->lang->modulePageNav = $this->doc->select($type, $objects, $objectID, $libs, $libID);
if(!$docID) $docID = $this->dao->select('id')->from(TABLE_DOC)
->where('lib')->eq($libID)
->andWhere('type')->eq('article')
->andWhere('deleted')->eq(0)
->fetch('id');
$object = new stdclass();
$object->id = 0;
}
else
{
if($type == 'product')
@@ -978,7 +1001,7 @@ class doc extends control
$this->lang->TRActions = common::hasPriv('doc', 'create') ? $this->doc->buildCreateButton4Doc($type, $objectID, $libID) : '';
$moduleTree = $this->doc->getTreeMenu($type, $objectID, $libID, 0, $docID);
$moduleTree = $type == 'book' ? $this->doc->getBookStructure($libID) : $this->doc->getTreeMenu($type, $objectID, $libID, 0, $docID);
/* Get doc. */
if($docID)
@@ -997,8 +1020,8 @@ class doc extends control
$this->view->customObjectLibs = $customObjectLibs;
$this->view->showLibs = $this->config->doc->custom->objectLibs;
$this->view->title = $type == 'custom' ? $this->lang->doc->customAB : $object->name;
$this->view->position[] = $type == 'custom' ? $this->lang->doc->customAB : $object->name;
$this->view->title = ($type == 'book' or $type == 'custom') ? $this->lang->doc->customAB : $object->name;
$this->view->position[] = ($type == 'book' or $type == 'custom') ? $this->lang->doc->customAB : $object->name;
$this->view->docID = $docID;
$this->view->doc = $docID ? $doc : '';
+25 -16
View File
@@ -48,6 +48,8 @@ $lang->doc->item = ' Einträge';
$lang->doc->num = 'Doks';
$lang->doc->searchResult = 'Suchergebnis';
$lang->doc->mailto = 'Mailto';
$lang->doc->noModule = 'No document in this lib, please create it';
$lang->doc->noChapter = 'No chapters or articles in this book. Please add chapters and articles.';
$lang->doc->moduleDoc = 'Nach Modulen';
$lang->doc->searchDoc = 'Suche';
@@ -74,6 +76,9 @@ $lang->doc->diff = 'Diff';
$lang->doc->diffAction = 'Diff Document';
$lang->doc->sort = 'Sortierung';
$lang->doc->manageType = 'Kategorie verwalten';
$lang->doc->createBook = 'Create Book';
$lang->doc->manageBook = 'Manage Book';
$lang->doc->editBook = 'Edit Book';
$lang->doc->editType = 'Bearbeiten';
$lang->doc->deleteType = 'Löschen';
$lang->doc->addType = 'Hinzufügen';
@@ -157,22 +162,26 @@ $lang->doc->mail->edit = new stdclass();
$lang->doc->mail->create->title = "%s created document #%s:%s";
$lang->doc->mail->edit->title = "%s edited document #%s:%s";
$lang->doc->confirmDelete = "Möchten Sie dieses Dokument löschen?";
$lang->doc->confirmDeleteLib = "Möchten Sie diese Bibliothek löschen?";
$lang->doc->errorEditSystemDoc = "System Dokumentenbibliothek darf nicht geändert werden.";
$lang->doc->errorEmptyProduct = "Kein {$lang->productCommon}. Kann nicht erstellt werden.";
$lang->doc->errorEmptyProject = "Kein {$lang->executionCommon}. Kann nicht erstellt werden.";
$lang->doc->errorMainSysLib = "Diese Bibliothek kann nicht gelöscht werden.";
$lang->doc->accessDenied = "Zugriff verweigert!";
$lang->doc->versionNotFount = 'Existiert nicht in diesem Build.';
$lang->doc->noDoc = 'Keine Dokumente. ';
$lang->doc->cannotCreateOffice = 'Sorry, %s can only be created in ZenTao Enterprise. Contact us at renee@easysoft.ltd to try ZenTao Enterprise.';
$lang->doc->notSetOffice = "<p>To create a %s document, you need to configure <a href='%s' target='_parent'>office convert</a>.<p>";
$lang->doc->noSearchedDoc = 'Nichts gesucht.';
$lang->doc->noEditedDoc = 'Sie haben kein Dokument bearbeitet.';
$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->confirmDelete = "Möchten Sie dieses Dokument löschen?";
$lang->doc->confirmDeleteLib = "Möchten Sie diese Bibliothek löschen?";
$lang->doc->confirmDeleteChapter = "Do you want to delete this chapter?";
$lang->doc->errorEditSystemDoc = "System Dokumentenbibliothek darf nicht geändert werden.";
$lang->doc->errorEmptyProduct = "Kein {$lang->productCommon}. Kann nicht erstellt werden.";
$lang->doc->errorEmptyProject = "Kein {$lang->executionCommon}. Kann nicht erstellt werden.";
$lang->doc->errorMainSysLib = "Diese Bibliothek kann nicht gelöscht werden.";
$lang->doc->accessDenied = "Zugriff verweigert!";
$lang->doc->versionNotFount = 'Existiert nicht in diesem Build.';
$lang->doc->noDoc = 'Keine Dokumente. ';
$lang->doc->noArticle = 'No articles.';
$lang->doc->noLib = 'No libraries. ';
$lang->doc->noBook = 'The WIKI library has not created a manual, please create a new one :)';
$lang->doc->cannotCreateOffice = 'Sorry, %s can only be created in ZenTao Enterprise. Contact us at renee@easysoft.ltd to try ZenTao Enterprise.';
$lang->doc->notSetOffice = "<p>To create a %s document, you need to configure <a href='%s' target='_parent'>office convert</a>.<p>";
$lang->doc->noSearchedDoc = 'Nichts gesucht.';
$lang->doc->noEditedDoc = 'Sie haben kein Dokument bearbeitet.';
$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.';
+77 -70
View File
@@ -10,60 +10,61 @@
* @link http://www.zentao.net
*/
/* Fields. */
$lang->doc->common = 'Document';
$lang->doc->id = 'ID';
$lang->doc->product = $lang->productCommon;
$lang->doc->project = 'Project';
$lang->doc->execution = $lang->executionCommon;
$lang->doc->lib = 'Library';
$lang->doc->module = 'Category';
$lang->doc->title = 'Name';
$lang->doc->digest = 'Summary';
$lang->doc->comment = 'Comment';
$lang->doc->type = 'Type';
$lang->doc->content = 'Text';
$lang->doc->keywords = 'Tags';
$lang->doc->url = 'URL';
$lang->doc->files = 'Files';
$lang->doc->addedBy = 'Author';
$lang->doc->addedDate = 'Added';
$lang->doc->editedBy = 'UpdatedBy';
$lang->doc->editedDate = 'UpdatedDate';
$lang->doc->version = 'Version';
$lang->doc->basicInfo = 'Basic Info';
$lang->doc->deleted = 'Deleted';
$lang->doc->fileObject = 'Dependent Item';
$lang->doc->whiteList = 'White List';
$lang->doc->contentType = 'Format';
$lang->doc->separator = "<i class='icon-angle-right'></i>";
$lang->doc->fileTitle = 'File Name';
$lang->doc->filePath = 'File Path';
$lang->doc->extension = 'Extension';
$lang->doc->size = 'Size';
$lang->doc->download = 'Download';
$lang->doc->acl = 'Right';
$lang->doc->fileName = 'Files';
$lang->doc->groups = 'Groups';
$lang->doc->users = 'Users';
$lang->doc->item = ' Items';
$lang->doc->num = 'Documents';
$lang->doc->searchResult = 'Search Result';
$lang->doc->mailto = 'Mailto';
$lang->doc->noModule = 'No document in this lib, please create it';
$lang->doc->common = 'Document';
$lang->doc->id = 'ID';
$lang->doc->product = $lang->productCommon;
$lang->doc->project = 'Project';
$lang->doc->execution = $lang->executionCommon;
$lang->doc->lib = 'Library';
$lang->doc->module = 'Category';
$lang->doc->title = 'Name';
$lang->doc->digest = 'Summary';
$lang->doc->comment = 'Comment';
$lang->doc->type = 'Type';
$lang->doc->content = 'Text';
$lang->doc->keywords = 'Tags';
$lang->doc->url = 'URL';
$lang->doc->files = 'Files';
$lang->doc->addedBy = 'Author';
$lang->doc->addedDate = 'Added';
$lang->doc->editedBy = 'UpdatedBy';
$lang->doc->editedDate = 'UpdatedDate';
$lang->doc->version = 'Version';
$lang->doc->basicInfo = 'Basic Info';
$lang->doc->deleted = 'Deleted';
$lang->doc->fileObject = 'Dependent Item';
$lang->doc->whiteList = 'White List';
$lang->doc->contentType = 'Format';
$lang->doc->separator = "<i class='icon-angle-right'></i>";
$lang->doc->fileTitle = 'File Name';
$lang->doc->filePath = 'File Path';
$lang->doc->extension = 'Extension';
$lang->doc->size = 'Size';
$lang->doc->download = 'Download';
$lang->doc->acl = 'Right';
$lang->doc->fileName = 'Files';
$lang->doc->groups = 'Groups';
$lang->doc->users = 'Users';
$lang->doc->item = ' Items';
$lang->doc->num = 'Documents';
$lang->doc->searchResult = 'Search Result';
$lang->doc->mailto = 'Mailto';
$lang->doc->noModule = 'No document in this lib, please create it';
$lang->doc->noChapter = 'No chapters or articles in this book. Please add chapters and articles.';
$lang->doc->moduleDoc = 'By Module';
$lang->doc->searchDoc = 'Search';
$lang->doc->fast = 'Quick Entry';
$lang->doc->allDoc = 'All Documents';
$lang->doc->openedByMe = 'My';
$lang->doc->editedByMe = 'Edited By Me';
$lang->doc->orderByOpen = 'Recent Added';
$lang->doc->orderByEdit = 'Recent Updated';
$lang->doc->orderByVisit = 'Last Visited';
$lang->doc->todayEdited = 'Updated Today';
$lang->doc->pastEdited = 'Total Updated';
$lang->doc->myDoc = 'My Documents';
$lang->doc->myCollection = 'My Favorites';
$lang->doc->moduleDoc = 'By Module';
$lang->doc->searchDoc = 'Search';
$lang->doc->fast = 'Quick Entry';
$lang->doc->allDoc = 'All Documents';
$lang->doc->openedByMe = 'My';
$lang->doc->editedByMe = 'Edited By Me';
$lang->doc->orderByOpen = 'Recent Added';
$lang->doc->orderByEdit = 'Recent Updated';
$lang->doc->orderByVisit = 'Last Visited';
$lang->doc->todayEdited = 'Updated Today';
$lang->doc->pastEdited = 'Total Updated';
$lang->doc->myDoc = 'My Documents';
$lang->doc->myCollection = 'My Favorites';
/* Methods list */
$lang->doc->index = 'Document Home';
@@ -76,6 +77,9 @@ $lang->doc->diff = 'Diff';
$lang->doc->diffAction = 'Diff Document';
$lang->doc->sort = 'Rank Document';
$lang->doc->manageType = 'Manage Category';
$lang->doc->createBook = 'Create Book';
$lang->doc->manageBook = 'Manage Book';
$lang->doc->editBook = 'Edit Book';
$lang->doc->editType = 'Edit';
$lang->doc->deleteType = 'Delete';
$lang->doc->addType = 'Add';
@@ -162,23 +166,26 @@ $lang->doc->mail->edit = new stdclass();
$lang->doc->mail->create->title = "%s created document #%s:%s";
$lang->doc->mail->edit->title = "%s edited document #%s:%s";
$lang->doc->confirmDelete = "Do you want to delete this document?";
$lang->doc->confirmDeleteLib = "Do you want to delete this document library?";
$lang->doc->errorEditSystemDoc = "You don't have to change system document library.";
$lang->doc->errorEmptyProduct = "No {$lang->productCommon}. It cannot be created.";
$lang->doc->errorEmptyProject = "No {$lang->executionCommon}. It cannot be created.";
$lang->doc->errorMainSysLib = "This library cannot be deleted.";
$lang->doc->accessDenied = "Access is denied!";
$lang->doc->versionNotFount = 'It does not exist in this build.';
$lang->doc->noDoc = 'No documents. ';
$lang->doc->noLib = 'No libraries. ';
$lang->doc->cannotCreateOffice = 'Sorry, %s can only be created in ZenTao Enterprise. Contact us at renee@easysoft.ltd to try ZenTao Enterprise.';
$lang->doc->notSetOffice = "<p>To create a %s document, you need to configure <a href='%s' target='_parent'>office convert</a>.<p>";
$lang->doc->noSearchedDoc = 'No documents found.';
$lang->doc->noEditedDoc = 'You have not edited any documents.';
$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->confirmDelete = "Do you want to delete this document?";
$lang->doc->confirmDeleteLib = "Do you want to delete this document library?";
$lang->doc->confirmDeleteChapter = "Do you want to delete this chapter?";
$lang->doc->errorEditSystemDoc = "You don't have to change system document library.";
$lang->doc->errorEmptyProduct = "No {$lang->productCommon}. It cannot be created.";
$lang->doc->errorEmptyProject = "No {$lang->executionCommon}. It cannot be created.";
$lang->doc->errorMainSysLib = "This library cannot be deleted.";
$lang->doc->accessDenied = "Access is denied!";
$lang->doc->versionNotFount = 'It does not exist in this build.';
$lang->doc->noDoc = 'No documents. ';
$lang->doc->noArticle = 'No articles.';
$lang->doc->noLib = 'No libraries. ';
$lang->doc->noBook = 'The WIKI library has not created a manual, please create a new one :)';
$lang->doc->cannotCreateOffice = 'Sorry, %s can only be created in ZenTao Enterprise. Contact us at renee@easysoft.ltd to try ZenTao Enterprise.';
$lang->doc->notSetOffice = "<p>To create a %s document, you need to configure <a href='%s' target='_parent'>office convert</a>.<p>";
$lang->doc->noSearchedDoc = 'No documents found.';
$lang->doc->noEditedDoc = 'You have not edited any documents.';
$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.';
+25 -16
View File
@@ -48,6 +48,8 @@ $lang->doc->item = ' Objets';
$lang->doc->num = 'Documents';
$lang->doc->searchResult = 'Résultat de Recherche';
$lang->doc->mailto = 'Mailto';
$lang->doc->noModule = 'No document in this lib, please create it';
$lang->doc->noChapter = 'No chapters or articles in this book. Please add chapters and articles.';
$lang->doc->moduleDoc = 'Par Module';
$lang->doc->searchDoc = 'Rechercher';
@@ -74,6 +76,9 @@ $lang->doc->diff = 'Diff';
$lang->doc->diffAction = 'Document Diff';
$lang->doc->sort = 'Rang Document';
$lang->doc->manageType = 'Gérer Catégories';
$lang->doc->createBook = 'Create Book';
$lang->doc->manageBook = 'Manage Book';
$lang->doc->editBook = 'Edit Book';
$lang->doc->editType = 'Editer';
$lang->doc->deleteType = 'Supprimer';
$lang->doc->addType = 'Ajouter';
@@ -157,22 +162,26 @@ $lang->doc->mail->edit = new stdclass();
$lang->doc->mail->create->title = "%s created document #%s:%s";
$lang->doc->mail->edit->title = "%s edited document #%s:%s";
$lang->doc->confirmDelete = "Voulez-vous supprimer ce document ?";
$lang->doc->confirmDeleteLib = "Voulez-vous supprimer cette Bibliothèque ?";
$lang->doc->errorEditSystemDoc = "Vous n'avez pas besoin de changer de système de Bibliothèque.";
$lang->doc->errorEmptyProduct = "Aucun {$lang->productCommon}. Il ne peut pas être créé.";
$lang->doc->errorEmptyProject = "Aucun {$lang->executionCommon}. Il ne peut pas être créé.";
$lang->doc->errorMainSysLib = "Cette Bibliothèque ne peut pas être supprimée.";
$lang->doc->accessDenied = "Access is denied !";
$lang->doc->versionNotFount = "N'existe pas dans ce build.";
$lang->doc->noDoc = 'Aucun documents. ';
$lang->doc->cannotCreateOffice = 'Désolé, %s peut seulement être créé dans ZenTao Enterprise. Contactez Zentao à renee@easysoft.ltd pour essayer ZenTao Enterprise.';
$lang->doc->notSetOffice = "<p>To create a %s document, you need to configure <a href='%s' target='_parent'>office convert</a>.<p>";
$lang->doc->noSearchedDoc = 'Aucun documents trouvé.';
$lang->doc->noEditedDoc = "Vous n'avez pas mis à jour de documents.";
$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->confirmDelete = "Voulez-vous supprimer ce document ?";
$lang->doc->confirmDeleteLib = "Voulez-vous supprimer cette Bibliothèque ?";
$lang->doc->confirmDeleteChapter = "Do you want to delete this chapter?";
$lang->doc->errorEditSystemDoc = "Vous n'avez pas besoin de changer de système de Bibliothèque.";
$lang->doc->errorEmptyProduct = "Aucun {$lang->productCommon}. Il ne peut pas être créé.";
$lang->doc->errorEmptyProject = "Aucun {$lang->executionCommon}. Il ne peut pas être créé.";
$lang->doc->errorMainSysLib = "Cette Bibliothèque ne peut pas être supprimée.";
$lang->doc->accessDenied = "Access is denied !";
$lang->doc->versionNotFount = "N'existe pas dans ce build.";
$lang->doc->noDoc = 'Aucun documents. ';
$lang->doc->noArticle = 'No articles.';
$lang->doc->noLib = 'No libraries. ';
$lang->doc->noBook = 'The WIKI library has not created a manual, please create a new one :)';
$lang->doc->cannotCreateOffice = 'Désolé, %s peut seulement être créé dans ZenTao Enterprise. Contactez Zentao à renee@easysoft.ltd pour essayer ZenTao Enterprise.';
$lang->doc->notSetOffice = "<p>To create a %s document, you need to configure <a href='%s' target='_parent'>office convert</a>.<p>";
$lang->doc->noSearchedDoc = 'Aucun documents trouvé.';
$lang->doc->noEditedDoc = "Vous n'avez pas mis à jour de documents.";
$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.';
+25 -16
View File
@@ -48,6 +48,8 @@ $lang->doc->item = ' Items';
$lang->doc->num = 'Documents';
$lang->doc->searchResult = 'Search kết quả';
$lang->doc->mailto = 'Mailto';
$lang->doc->noModule = 'No document in this lib, please create it';
$lang->doc->noChapter = 'No chapters or articles in this book. Please add chapters and articles.';
$lang->doc->moduleDoc = 'By Module';
$lang->doc->searchDoc = 'Tìm kiếm';
@@ -74,6 +76,9 @@ $lang->doc->diff = 'Diff';
$lang->doc->diffAction = 'Diff tài liệu';
$lang->doc->sort = 'Đánh giá tài liệu';
$lang->doc->manageType = 'Quản lý danh mục';
$lang->doc->createBook = 'Create Book';
$lang->doc->manageBook = 'Manage Book';
$lang->doc->editBook = 'Edit Book';
$lang->doc->editType = 'Sửa';
$lang->doc->deleteType = 'Xóa';
$lang->doc->addType = 'Thêm';
@@ -157,22 +162,26 @@ $lang->doc->mail->edit = new stdclass();
$lang->doc->mail->create->title = "%s created document #%s:%s";
$lang->doc->mail->edit->title = "%s edited document #%s:%s";
$lang->doc->confirmDelete = "Bạn có muốn xóa this document?";
$lang->doc->confirmDeleteLib = "Bạn có muốn xóa this document library?";
$lang->doc->errorEditSystemDoc = "You don't have to change system document library.";
$lang->doc->errorEmptyProduct = "Không có {$lang->productCommon}. It cannot be created.";
$lang->doc->errorEmptyProject = "Không có {$lang->executionCommon}. It cannot be created.";
$lang->doc->errorMainSysLib = "This library không thể xóa.";
$lang->doc->accessDenied = "Access bị từ chối!";
$lang->doc->versionNotFount = 'Nó does not exist in bản dựng này.';
$lang->doc->noDoc = 'Không có documents. ';
$lang->doc->cannotCreateOffice = 'Sorry, %s can only be created in ZenTao Enterprise. Contact us at renee@easysoft.ltd to try ZenTao Enterprise.';
$lang->doc->notSetOffice = "<p>To create a %s document, you need to configure <a href='%s' target='_parent'>office convert</a>.<p>";
$lang->doc->noSearchedDoc = 'Không có documents found.';
$lang->doc->noEditedDoc = 'Bạn có not edited any documents.';
$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->confirmDelete = "Bạn có muốn xóa this document?";
$lang->doc->confirmDeleteLib = "Bạn có muốn xóa this document library?";
$lang->doc->confirmDeleteChapter = "Do you want to delete this chapter?";
$lang->doc->errorEditSystemDoc = "You don't have to change system document library.";
$lang->doc->errorEmptyProduct = "Không có {$lang->productCommon}. It cannot be created.";
$lang->doc->errorEmptyProject = "Không có {$lang->executionCommon}. It cannot be created.";
$lang->doc->errorMainSysLib = "This library không thể xóa.";
$lang->doc->accessDenied = "Access bị từ chối!";
$lang->doc->versionNotFount = 'Nó does not exist in bản dựng này.';
$lang->doc->noDoc = 'Không có documents. ';
$lang->doc->noArticle = 'No articles.';
$lang->doc->noLib = 'No libraries. ';
$lang->doc->noBook = 'The WIKI library has not created a manual, please create a new one :)';
$lang->doc->cannotCreateOffice = 'Sorry, %s can only be created in ZenTao Enterprise. Contact us at renee@easysoft.ltd to try ZenTao Enterprise.';
$lang->doc->notSetOffice = "<p>To create a %s document, you need to configure <a href='%s' target='_parent'>office convert</a>.<p>";
$lang->doc->noSearchedDoc = 'Không có documents found.';
$lang->doc->noEditedDoc = 'Bạn có not edited any documents.';
$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ó.';
+77 -70
View File
@@ -10,60 +10,61 @@
* @link http://www.zentao.net
*/
/* 字段列表。*/
$lang->doc->common = '文档';
$lang->doc->id = '文档编号';
$lang->doc->product = '所属' . $lang->productCommon;
$lang->doc->project = '所属项目';
$lang->doc->execution = '所属' . $lang->executionCommon;
$lang->doc->lib = '所属文档库';
$lang->doc->module = '所属分类';
$lang->doc->title = '文档标题';
$lang->doc->digest = '文档摘要';
$lang->doc->comment = '文档备注';
$lang->doc->type = '文档类型';
$lang->doc->content = '文档正文';
$lang->doc->keywords = '关键字';
$lang->doc->url = '文档URL';
$lang->doc->files = '附件';
$lang->doc->addedBy = '由谁添加';
$lang->doc->addedDate = '添加时间';
$lang->doc->editedBy = '由谁更新';
$lang->doc->editedDate = '更新时间';
$lang->doc->version = '版本号';
$lang->doc->basicInfo = '基本信息';
$lang->doc->deleted = '已删除';
$lang->doc->fileObject = '所属对象';
$lang->doc->whiteList = '白名单';
$lang->doc->contentType = '文档格式';
$lang->doc->separator = "<i class='icon-angle-right'></i>";
$lang->doc->fileTitle = '附件名';
$lang->doc->filePath = '地址';
$lang->doc->extension = '类型';
$lang->doc->size = '大小';
$lang->doc->download = '下载';
$lang->doc->acl = '权限';
$lang->doc->fileName = '附件';
$lang->doc->groups = '分组';
$lang->doc->users = '用户';
$lang->doc->item = '项';
$lang->doc->num = '文档数量';
$lang->doc->searchResult = '搜索结果';
$lang->doc->mailto = '抄送给';
$lang->doc->noModule = '文档库下没有目录和文档,请维护目录或者创建文档';
$lang->doc->common = '文档';
$lang->doc->id = '文档编号';
$lang->doc->product = '所属' . $lang->productCommon;
$lang->doc->project = '所属项目';
$lang->doc->execution = '所属' . $lang->executionCommon;
$lang->doc->lib = '所属文档库';
$lang->doc->module = '所属分类';
$lang->doc->title = '文档标题';
$lang->doc->digest = '文档摘要';
$lang->doc->comment = '文档备注';
$lang->doc->type = '文档类型';
$lang->doc->content = '文档正文';
$lang->doc->keywords = '关键字';
$lang->doc->url = '文档URL';
$lang->doc->files = '附件';
$lang->doc->addedBy = '由谁添加';
$lang->doc->addedDate = '添加时间';
$lang->doc->editedBy = '由谁更新';
$lang->doc->editedDate = '更新时间';
$lang->doc->version = '版本号';
$lang->doc->basicInfo = '基本信息';
$lang->doc->deleted = '已删除';
$lang->doc->fileObject = '所属对象';
$lang->doc->whiteList = '白名单';
$lang->doc->contentType = '文档格式';
$lang->doc->separator = "<i class='icon-angle-right'></i>";
$lang->doc->fileTitle = '附件名';
$lang->doc->filePath = '地址';
$lang->doc->extension = '类型';
$lang->doc->size = '大小';
$lang->doc->download = '下载';
$lang->doc->acl = '权限';
$lang->doc->fileName = '附件';
$lang->doc->groups = '分组';
$lang->doc->users = '用户';
$lang->doc->item = '项';
$lang->doc->num = '文档数量';
$lang->doc->searchResult = '搜索结果';
$lang->doc->mailto = '抄送给';
$lang->doc->noModule = '文档库下没有目录和文档,请维护目录或者创建文档';
$lang->doc->noChapter = '手册下没有章节和文章,请维护手册';
$lang->doc->moduleDoc = '按模块浏览';
$lang->doc->searchDoc = '搜索';
$lang->doc->fast = '快速访问';
$lang->doc->allDoc = '所有文档';
$lang->doc->openedByMe = '由我创建';
$lang->doc->editedByMe = '由我编辑';
$lang->doc->orderByOpen = '最近添加';
$lang->doc->orderByEdit = '最近更新';
$lang->doc->orderByVisit = '最近访问';
$lang->doc->todayEdited = '今日更新';
$lang->doc->pastEdited = '往日更新';
$lang->doc->myDoc = '我的文档';
$lang->doc->myCollection = '我的收藏';
$lang->doc->moduleDoc = '按模块浏览';
$lang->doc->searchDoc = '搜索';
$lang->doc->fast = '快速访问';
$lang->doc->allDoc = '所有文档';
$lang->doc->openedByMe = '由我创建';
$lang->doc->editedByMe = '由我编辑';
$lang->doc->orderByOpen = '最近添加';
$lang->doc->orderByEdit = '最近更新';
$lang->doc->orderByVisit = '最近访问';
$lang->doc->todayEdited = '今日更新';
$lang->doc->pastEdited = '往日更新';
$lang->doc->myDoc = '我的文档';
$lang->doc->myCollection = '我的收藏';
/* 方法列表。*/
$lang->doc->index = '文档主页';
@@ -76,6 +77,9 @@ $lang->doc->diff = '对比';
$lang->doc->diffAction = '对比文档';
$lang->doc->sort = '文档排序';
$lang->doc->manageType = '维护目录';
$lang->doc->createBook = '创建手册';
$lang->doc->manageBook = '维护手册';
$lang->doc->editBook = '编辑手册';
$lang->doc->editType = '编辑目录';
$lang->doc->deleteType = '删除目录';
$lang->doc->addType = '增加目录';
@@ -162,23 +166,26 @@ $lang->doc->mail->edit = new stdclass();
$lang->doc->mail->create->title = "%s创建了文档 #%s:%s";
$lang->doc->mail->edit->title = "%s编辑了文档 #%s:%s";
$lang->doc->confirmDelete = "您确定删除该文档吗?";
$lang->doc->confirmDeleteLib = "您确定删除该文档库吗?";
$lang->doc->errorEditSystemDoc = "系统文档库无需修改。";
$lang->doc->errorEmptyProduct = "没有{$lang->productCommon},无法创建文档";
$lang->doc->errorEmptyProject = "没有{$lang->executionCommon},无法创建文档";
$lang->doc->errorMainSysLib = "该系统文档库不能删除!";
$lang->doc->accessDenied = "您没有权限访问";
$lang->doc->versionNotFount = '该版本文档不存在';
$lang->doc->noDoc = '暂时没有文档。';
$lang->doc->noLib = '暂时没有文档。';
$lang->doc->cannotCreateOffice = '<p>对不起,企业版才能创建%s文档。<p><p>试用企业版,请联系我们:4006-8899-23 &nbsp; 0532-86893032。</p>';
$lang->doc->notSetOffice = "<p>创建%s文档,需要配置<a href='%s' target='_parent'>Office转换设置</a>。<p>";
$lang->doc->noSearchedDoc = '没有搜索到任何文档。';
$lang->doc->noEditedDoc = '您还没有编辑任何文档。';
$lang->doc->noOpenedDoc = '您还没有创建任何文档。';
$lang->doc->noCollectedDoc = '您还没有收藏任何文档。';
$lang->doc->errorEmptyLib = '文档库暂无数据。';
$lang->doc->confirmDelete = "您确定删除该文档吗?";
$lang->doc->confirmDeleteLib = "您确定删除该文档库吗?";
$lang->doc->confirmDeleteChapter = "您确定删除该章节吗?";
$lang->doc->errorEditSystemDoc = "系统文档库无需修改。";
$lang->doc->errorEmptyProduct = "没有{$lang->productCommon},无法创建文档";
$lang->doc->errorEmptyProject = "没有{$lang->executionCommon},无法创建文档";
$lang->doc->errorMainSysLib = "该系统文档库不能删除";
$lang->doc->accessDenied = "您没有权限访问!";
$lang->doc->versionNotFount = '该版本文档不存在';
$lang->doc->noDoc = '暂时没有文档。';
$lang->doc->noArticle = '暂时没有文章。';
$lang->doc->noLib = '暂时没有文档库。';
$lang->doc->noBook = 'WIKI库还未创建手册,请新建 :)';
$lang->doc->cannotCreateOffice = '<p>对不起,企业版才能创建%s文档。<p><p>试用企业版,请联系我们:4006-8899-23 &nbsp; 0532-86893032。</p>';
$lang->doc->notSetOffice = "<p>创建%s文档,需要配置<a href='%s' target='_parent'>Office转换设置</a>。<p>";
$lang->doc->noSearchedDoc = '没有搜索到任何文档。';
$lang->doc->noEditedDoc = '您还没有编辑任何文档。';
$lang->doc->noOpenedDoc = '您还没有创建任何文档。';
$lang->doc->noCollectedDoc = '您还没有收藏任何文档。';
$lang->doc->errorEmptyLib = '文档库暂无数据。';
$lang->doc->noticeAcl['lib']['product']['default'] = '有所选产品访问权限的用户可以访问。';
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所选产品访问权限或白名单里的用户可以访问。';
+6
View File
@@ -74,6 +74,9 @@ $lang->doc->diff = '對比';
$lang->doc->diffAction = '對比文檔';
$lang->doc->sort = '文檔排序';
$lang->doc->manageType = '維護分類';
$lang->doc->createBook = '創建手冊';
$lang->doc->manageBook = '維護手冊';
$lang->doc->editBook = '編輯手冊';
$lang->doc->editType = '編輯分類';
$lang->doc->deleteType = '刪除分類';
$lang->doc->addType = '增加分類';
@@ -168,6 +171,9 @@ $lang->doc->errorMainSysLib = "該系統文檔庫不能刪除!";
$lang->doc->accessDenied = "您沒有權限訪問!";
$lang->doc->versionNotFount = '該版本文檔不存在';
$lang->doc->noDoc = '暫時沒有文檔。';
$lang->doc->noArticle = '暫時沒有文章。';
$lang->doc->noLib = '暫時沒有文檔庫';
$lang->doc->noBook = 'WIKI庫還沒有創建手冊,請新建 :)';
$lang->doc->cannotCreateOffice = '<p>對不起,企業版才能創建%s文檔。<p><p>試用企業版,請聯繫我們:4006-8899-23 &nbsp; 0532-86893032。</p>';
$lang->doc->notSetOffice = "<p>創建%s文檔,需要配置<a href='%s' target='_parent'>Office轉換設置</a>。<p>";
$lang->doc->noSearchedDoc = '沒有搜索到任何文檔。';
+10 -6
View File
@@ -653,7 +653,7 @@ class docModel extends model
if(isset($doc->digest)) $docContent->digest = $doc->digest;
if($files) $docContent->files .= ',' . join(',', array_keys($files));
$docContent->files = trim($docContent->files, ',');
$this->dao->insert(TABLE_DOCCONTENT)->data($docContent)->exec();
$this->dao->replace(TABLE_DOCCONTENT)->data($docContent)->exec();
}
unset($doc->contentType);
@@ -1119,9 +1119,9 @@ class docModel extends model
*/
public function getLibsByObject($type, $objectID, $mode = '')
{
if($type == 'custom')
if($type == 'custom' or $type == 'book')
{
$objectLibs = $this->dao->select('*')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->andWhere('type')->eq('custom')->orderBy('`order`, id')->fetchAll('id');
$objectLibs = $this->dao->select('*')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->andWhere('type')->eq($type)->orderBy('`order`, id')->fetchAll('id');
}
else if($type != 'product' and $type != 'project' and $type != 'execution')
{
@@ -1703,7 +1703,11 @@ class docModel extends model
*/
public function buildCreateButton4Doc($objectType, $objectID, $libID)
{
if($libID)
if($objectType == 'book')
{
$html = html::a(helper::createLink('doc', 'createLib', "type=$objectType&objectID=$objectID"), '<i class="icon icon-plus"></i>' . $this->lang->doc->createBook, '', 'class="btn btn-secondary iframe"');
}
elseif($libID)
{
$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>";
@@ -1896,11 +1900,11 @@ EOF;
*/
public function select($type, $objects, $objectID, $libs, $libID = 0)
{
if($type != 'custom' and empty($objects)) return '';
if($type != 'custom' and $type != 'book' and empty($objects)) return '';
$output = '';
if($this->app->openApp == 'doc' and $type != 'custom')
if($this->app->openApp == 'doc' and $type != 'custom' and $type != 'book')
{
$output = "<div class='btn-group angle-btn'><div class='btn-group'><button data-toggle='dropdown' type='button' class='btn btn-limit' id='currentItem' title='{$objects[$objectID]}'><span class='text'>{$objects[$objectID]}</span> <span class='caret'></span></button><div id='dropMenu' class='dropdown-menu search-list' data-ride='searchList'>";
$output .= '<div class="input-control search-box has-icon-left has-icon-right search-example"><input type="search" class="form-control search-input" /><label class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label><a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a></div>';
+3 -3
View File
@@ -23,7 +23,7 @@
<?php else:?>
<div class="cell">
<div class="detail empty text-center">
<?php echo $lang->doc->noDoc;?>
<?php echo $type == 'book' ? $lang->doc->noArticle : $lang->doc->noDoc;?>
</div>
</div>
<?php endif;?>
@@ -31,8 +31,8 @@
<?php else:?>
<div class="cell">
<div class="detail empty text-center">
<?php echo $lang->doc->noLib;?>
<?php echo html::a($this->createLink('doc', 'createLib', "type={$objectType}&objectID=$object->id"), "<i class='icon icon-plus'></i> " . $lang->doc->createLib, '', "class='btn btn-info iframe'");?>
<?php echo $type == 'book' ? $lang->doc->noBook : $lang->doc->noLib;?>
<?php if($type != 'book') echo html::a($this->createLink('doc', 'createLib', "type={$objectType}&objectID=$object->id"), "<i class='icon icon-plus'></i> " . $lang->doc->createLib, '', "class='btn btn-info iframe'");?>
</div>
</div>
<?php endif;?>
+19 -5
View File
@@ -15,19 +15,33 @@ if(empty($type)) $type = 'product';
$sideWidth = common::checkNotCN() ? '270' : '238';
?>
<div class="side-col" style="width:<?php echo $sideWidth;?>px" data-min-width="<?php echo $sideWidth;?>">
<div class="cell">
<div class="cell" id="<?php echo $type;?>">
<?php if(!$moduleTree):?>
<hr class="space">
<div class="text-center text-muted tips">
<?php echo $lang->doc->noModule;?>
<?php echo $type == 'book' ? $lang->doc->noChapter : $lang->doc->noModule;?>
</div>
<hr class="space">
<?php endif;?>
<?php if($type == 'book'):?>
<?php include './bookside.html.php';?>
<?php else:?>
<?php echo $moduleTree;?>
<?php endif;?>
<div class="text-center action">
<?php common::printLink('tree', 'browse', "rootID=$libID&view=doc", $lang->doc->manageType, '', "class='btn btn-info btn-wide iframe'", '', true);?>
<?php common::printLink('doc', 'editLib', "rootID=$libID", $lang->doc->editLib, '', "class='btn btn-info btn-wide iframe'", '', true);?>
<?php common::printLink('doc', 'deleteLib', "rootID=$libID", $lang->doc->deleteLib, 'hiddenwin', "class='btn btn-info btn-wide'");?>
<?php
if($type == 'book')
{
common::printLink('doc', 'editLib', "rootID=$libID", $lang->doc->editBook, '', "class='btn btn-info btn-wide iframe'", '', true);
common::printLink('doc', 'manageBook', "bookID=$libID", $lang->doc->manageBook, '', "class='btn btn-info btn-wide iframe'", '', true);
}
else
{
common::printLink('tree', 'browse', "rootID=$libID&view=doc", $lang->doc->manageType, '', "class='btn btn-info btn-wide iframe'", '', true);
common::printLink('doc', 'editLib', "rootID=$libID", $lang->doc->editLib, '', "class='btn btn-info btn-wide iframe'", '', true);
common::printLink('doc', 'deleteLib', "rootID=$libID", $lang->doc->deleteLib, 'hiddenwin', "class='btn btn-info btn-wide'");
}
?>
<hr class="space-sm" />
</div>
</div>
+1 -1
View File
@@ -2063,7 +2063,7 @@ class execution extends control
$this->session->set('execution', '');
$this->executeHooks($executionID);
die(js::locate(inlink('index'), 'parent'));
die(js::reload('parent'));
}
}
+1 -1
View File
@@ -117,7 +117,7 @@ body {margin-bottom: 25px;}
<ul class="dropdown-menu pull-right" id='exportActionMenu'>
<?php
$class = common::hasPriv('task', 'export') ? '' : "class=disabled";
$misc = common::hasPriv('task', 'export') ? "class='export'" : "class=disabled";
$misc = common::hasPriv('task', 'export') ? "class='export iframe'" : "class=disabled";
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "execution=$executionID&orderBy=$orderBy&type=$browseType") : '#';
echo "<li $class>" . html::a($link, $lang->task->export, '', $misc) . "</li>";
?>
+1 -1
View File
@@ -156,7 +156,7 @@
<?php
if($canBatchEdit)
{
$actionLink = $this->createLink('story', 'batchEdit', 'productID=0&executionID=0&branch=0&storyType=requirement');
$actionLink = $this->createLink('story', 'batchEdit', "productID=0&executionID=0&branch=0&storyType=requirement&from={$app->rawMethod}");
$misc = "data-form-action='$actionLink'";
echo html::commonButton($lang->edit, $misc);
}
+1 -1
View File
@@ -159,7 +159,7 @@
<?php
if($canBatchEdit)
{
$actionLink = $this->createLink('story', 'batchEdit', 'productID=0&executionID=0&branch=0&storyType=story');
$actionLink = $this->createLink('story', 'batchEdit', "productID=0&executionID=0&branch=0&storyType=story&from={$app->rawMethod}");
$misc = "data-form-action='$actionLink'";
echo html::commonButton($lang->edit, $misc);
}
+6 -3
View File
@@ -618,10 +618,13 @@ class story extends control
*
* @param int $productID
* @param int $executionID
* @param int $branch
* @param string $storyType
* @param string $from
* @access public
* @return void
*/
public function batchEdit($productID = 0, $executionID = 0, $branch = 0, $storyType = 'story')
public function batchEdit($productID = 0, $executionID = 0, $branch = 0, $storyType = 'story', $from = '')
{
$this->lang->product->switcherMenu = $this->product->getSwitcher($productID);
$this->story->replaceURLang($storyType);
@@ -645,8 +648,8 @@ class story extends control
else if($this->app->openApp == 'my')
{
$this->loadModel('my')->setMenu();
$this->lang->my->menu->work['subModule'] = 'story';
$this->lang->my->menu->contribute['subModule'] = 'story';
if($from == 'work') $this->lang->my->menu->work['subModule'] = 'story';
if($from == 'contribute') $this->lang->my->menu->contribute['subModule'] = 'story';
}
/* Load model. */
+1 -1
View File
@@ -7,7 +7,7 @@ $(function()
if(typeof(execution) != 'undefined') rawModule = 'projectstory';
if(['project', 'projectstory'].indexOf(rawModule) === -1 && app != 'qa')
{
$('#navbar .nav li').removeClass('active');
if(app != 'my') $('#navbar .nav li').removeClass('active');
$("#navbar .nav li[data-id=" + storyType + ']').addClass('active');
$('#subNavbar li[data-id="' + storyType + '"]').addClass('active');
}
+1 -1
View File
@@ -1423,7 +1423,7 @@ class task extends control
/* Get users and executions. */
$users = $this->loadModel('user')->getPairs('noletter');
$executions = $this->execution->getPairs($this->session->execution, 'all', 'all|nocode');
$executions = $this->execution->getPairs($execution->project, 'all', 'all|nocode');
/* Get related objects id lists. */
$relatedStoryIdList = array();
+4
View File
@@ -117,4 +117,8 @@ $lang->upgrade->mergeByProject = "Independent iterations: You can select sev
$lang->upgrade->mergeByMoreLink = "Iteration that relates multiple products: select which product the iteration belongs to.";
$lang->upgrade->mergeRepoTips = "Merge the selected version library under the selected product.";
$lang->upgrade->needBuild4Add = 'Full text retrieval has been added in this upgrad. Please create an index.';
$lang->upgrade->needBuild4Adjust = 'Full text retrieval has been adjusted. Please create an index.';
$lang->upgrade->buildIndex = 'Create Index';
include dirname(__FILE__) . '/version.php';
+4
View File
@@ -104,4 +104,8 @@ $lang->upgrade->mergeByProject = "Independent iterations: You can select sev
$lang->upgrade->mergeByMoreLink = "Iteration that relates multiple products: select which product the iteration belongs to.";
$lang->upgrade->mergeRepoTips = "Merge the selected version library under the selected product.";
$lang->upgrade->needBuild4Add = 'Full text retrieval has been added in this upgrad. Please create an index.';
$lang->upgrade->needBuild4Adjust = 'Full text retrieval has been adjusted. Please create an index.';
$lang->upgrade->buildIndex = 'Create Index';
include dirname(__FILE__) . '/version.php';
+4
View File
@@ -118,4 +118,8 @@ $lang->upgrade->mergeByProject = "Independent iterations: You can select sev
$lang->upgrade->mergeByMoreLink = "Iteration that relates multiple products: select which product the iteration belongs to.";
$lang->upgrade->mergeRepoTips = "Merge the selected version library under the selected product.";
$lang->upgrade->needBuild4Add = 'Full text retrieval has been added in this upgrad. Please create an index.';
$lang->upgrade->needBuild4Adjust = 'Full text retrieval has been adjusted. Please create an index.';
$lang->upgrade->buildIndex = 'Create Index';
include dirname(__FILE__) . '/version.php';
+4
View File
@@ -118,4 +118,8 @@ $lang->upgrade->mergeByProject = "Independent iterations: You can select sev
$lang->upgrade->mergeByMoreLink = "Iteration that relates multiple products: select which product the iteration belongs to.";
$lang->upgrade->mergeRepoTips = "Merge the selected version library under the selected product.";
$lang->upgrade->needBuild4Add = 'Full text retrieval has been added in this upgrad. Vui lòng create an index.';
$lang->upgrade->needBuild4Adjust = 'Full text retrieval has been adjusted. Vui lòng create an index.';
$lang->upgrade->buildIndex = 'Tạo Index';
include dirname(__FILE__) . '/version.php';
+4
View File
@@ -104,4 +104,8 @@ $lang->upgrade->mergeByProject = "独立的迭代:可以选择若干迭代
$lang->upgrade->mergeByMoreLink = "关联多个产品的迭代:选择这个迭代归属于哪一个产品。";
$lang->upgrade->mergeRepoTips = "将选中的版本库归并到所选产品下。";
$lang->upgrade->needBuild4Add = '本次升级新增全文检索功能,需要创建索引。';
$lang->upgrade->needBuild4Adjust = '本次升级全文检索功能有调整,需要创建索引。';
$lang->upgrade->buildIndex = '创建索引';
include dirname(__FILE__) . '/version.php';
+5 -1
View File
@@ -53,7 +53,7 @@ $lang->upgrade->noticeSQL = '檢查到你的資料庫跟標準不一致,
$lang->upgrade->afterDeleted = '以上檔案未能刪除, 刪除後刷新!';
$lang->upgrade->mergeProgram = '數據遷移';
$lang->upgrade->mergeTips = '數據遷移提示';
$lang->upgrade->to15Guide = '禪道開源版15.0.beta1升級';
$lang->upgrade->to15Guide = '禪道開源版15版本升級';
$lang->upgrade->to15Desc = <<<EOD
<p>尊敬的用戶,禪道從15版本開始對導航和概念做了調整,主要改動如下:</p>
<ol>
@@ -104,4 +104,8 @@ $lang->upgrade->mergeByProject = "獨立的迭代:可以選擇若干迭代
$lang->upgrade->mergeByMoreLink = "關聯多個產品的迭代:選擇這個迭代歸屬於哪一個產品。";
$lang->upgrade->mergeRepoTips = "將選中的版本庫歸併到所選產品下。";
$lang->upgrade->needBuild4Add = '本次升級新增全文檢索功能,需要創建索引。';
$lang->upgrade->needBuild4Adjust = '本次升級全文檢索功能有調整,需要創建索引。';
$lang->upgrade->buildIndex = '創建索引';
include dirname(__FILE__) . '/version.php';
+1
View File
@@ -2761,6 +2761,7 @@ class upgradeModel extends model
$fromVersion = $this->config->installedVersion;
$needProcess = array();
if(strpos($fromVersion, 'biz') === false and (strpos($fromVersion, 'pro') === false ? version_compare($fromVersion, '8.3', '<') : version_compare($fromVersion, 'pro5.4', '<'))) $needProcess['updateFile'] = true;
if(strpos($fromVersion, 'max') === false and version_compare($fromVersion, '15.0', '<')) $needProcess['search'] = true;
return $needProcess;
}
+54
View File
@@ -87,4 +87,58 @@ function updateFile(link)
}
<?php endif;?>
</script>
<?php
if(isset($needProcess['search']))
{
$searchLink = $this->createLink('search', 'buildIndex');
$needBuild = $lang->upgrade->needBuild4Add;
}
?>
<?php if(isset($searchLink)):?>
<script>
$(function()
{
$('a#tohome').closest('.message').hide();
$('.col-md-6:first').append("<div id='resultBox' class='alert alert-info'><p><?php echo $needBuild;?><a href='<?php echo $searchLink;?>' id='execButton' class='btn btn-primary btn-sm'><?php echo $lang->upgrade->buildIndex;?></a></p></div>");
$('#execButton').click(function()
{
$('#execButton').hide();
$.get($(this).attr('href'), function(response)
{
try
{
response = $.parseJSON(response);
if(response.result == 'finished')
{
searchFinish = true;
$('#resultBox').append("<li class='text-success'>" + response.message + "</li>");
<?php
$condition = array();
foreach($needProcess as $processKey => $value) $condition[] = $processKey . 'Finish == true';
$condition = join(' && ', $condition);
?>
if(<?php echo $condition?>)
{
$.get('<?php echo inlink('afterExec', "fromVersion=$fromVersion&processed=yes")?>');
$('a#tohome').closest('.message').show();
}
return false;
}
else
{
$('#execButton').attr('href', response.next);
$('#resultBox').append("<li class='text-success'>" + response.message + "</li>");
return $('#execButton').click();
}
}
catch(error)
{
$('#resultBox').append("<li>" + response + "</li>");
}
});
return false;
});
})
</script>
<?php endif;?>
<?php include '../../common/view/footer.lite.html.php';?>
+2 -2
View File
@@ -1559,7 +1559,7 @@ class userModel extends model
/* Get teams. */
if($teams === null)
{
$stmt = $this->dao->select('root,account')->from(TABLE_TEAM)->where('type')->in('project,sprint,stage')->query();
$stmt = $this->dao->select('root,account')->from(TABLE_TEAM)->where('type')->in('project,execution')->query();
while($team = $stmt->fetch()) $teams[$team->root][$team->account] = $team->account;
}
@@ -2075,7 +2075,7 @@ class userModel extends model
/* Get team group. */
$teamGroups = array();
$stmt = $this->dao->select('root,account')->from(TABLE_TEAM)
->where('type')->in('project,sprint,stage')
->where('type')->in('project,execution')
->andWhere('root')->in(array_merge($sprintIdList, $parentIdList))
->query();