- deleted):?>
- config->global->flow != 'onlyTest') common::printIcon('bug', 'toStory', "product=$bug->product&branch=$bug->branch&module=0&story=0&project=0&bugID=$bug->id", $bug, 'button', $lang->icons['story']);
- common::printIcon('bug', 'createCase', $convertParams, $bug, 'button', 'sitemap');
-
- echo "
";
- common::printIcon('bug', 'edit', $params, $bug);
- common::printIcon('bug', 'create', $copyParams, $bug, 'button', 'copy');
- common::printIcon('bug', 'delete', $params, $bug, 'button', '', 'hiddenwin');
-
- echo "
";
- common::printBack($browseLink);
- ?>
-
-
-
+id";
+$copyParams = "productID=$productID&branch=$bug->branch&extras=bugID=$bug->id";
+$convertParams = "productID=$productID&branch=$bug->branch&moduleID=0&from=bug&bugID=$bug->id";
+?>
+
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php
index f31f2a75aa..4731e73e0b 100644
--- a/module/common/lang/zh-cn.php
+++ b/module/common/lang/zh-cn.php
@@ -304,10 +304,7 @@ $lang->caselib->menu->caselib = array('link' => '用例库|testsuite|library',
/* 文档视图菜单设置。*/
$lang->doc = new stdclass();
$lang->doc->menu = new stdclass();
-
-//$lang->doc->menu->list = array('link' => '%s', 'fixed' => true);
-//$lang->doc->menu->crumb = array('link' => '%s', 'fixed' => true);
-//$lang->doc->menu->create = array('link' => '
添加文档库|doc|createLib', 'float' => 'right');
+//$lang->doc->menu->createLib = array('link' => '
添加文件夹|doc|createLib', 'float' => 'right');
/* 统计视图菜单设置。*/
$lang->report = new stdclass();
diff --git a/module/custom/control.php b/module/custom/control.php
index 353a7f6a5c..c447c06298 100644
--- a/module/custom/control.php
+++ b/module/custom/control.php
@@ -310,27 +310,6 @@ class custom extends control
die(js::reload('parent'));
}
- /**
- * Ajax set homepage.
- *
- * @param string $module
- * @param string $page
- * @access public
- * @return void
- */
- public function ajaxSetHomepage($module, $page = '')
- {
- if(empty($page))
- {
- $this->view->title = $this->lang->homepage;
- $this->view->module = $module;
- die($this->display());
- }
-
- $account = $this->app->user->account;
- $this->loadModel('setting')->setItem("$account.$module.homepage", $page);
- }
-
/**
* Custom menu view
*
diff --git a/module/custom/view/ajaxsethomepage.html.php b/module/custom/view/ajaxsethomepage.html.php
deleted file mode 100644
index 04365c571a..0000000000
--- a/module/custom/view/ajaxsethomepage.html.php
+++ /dev/null
@@ -1,19 +0,0 @@
-
- * @package custom
- * @version $Id$
- * @link http://www.zentao.net
- */
-?>
-
-
-
-
diff --git a/module/doc/control.php b/module/doc/control.php
index 1b0874c19a..e0a3148b46 100644
--- a/module/doc/control.php
+++ b/module/doc/control.php
@@ -37,6 +37,8 @@ class doc extends control
*/
public function index()
{
+ $this->doc->setMenu();
+
$products = $this->doc->getLimitLibs('product');
$projects = $this->doc->getLimitLibs('project');
$customLibs = $this->doc->getLimitLibs('custom');
@@ -90,20 +92,22 @@ class doc extends control
$queryID = ($browseType == 'bysearch') ? (int)$param : 0;
$moduleID = ($browseType == 'bymodule' or $browseType == 'bymenu') ? (int)$param : 0;
- $type = 'custom';
+ $type = '';
+ $productID = 0;
+ $projectID = 0;
if($libID)
{
- $lib = $this->doc->getLibByID($libID);
- if($lib->product or $lib->project) $type = $lib->product ? 'product' : 'project';
+ $type = 'custom';
+ $lib = $this->doc->getLibByID($libID);
+ if($lib->product or $lib->project)
+ {
+ $type = $lib->product ? 'product' : 'project';
+ $productID = $lib->product;
+ $projectID = $lib->project;
+ }
}
- if(empty($libID)) $type = 'product';
$this->libs = $this->doc->getLibs($type);
- if(empty($libID))
- {
- $libID = key($this->libs);
- $lib = $this->dao->select('*')->from(TABLE_DOCLIB)->where('id')->eq($libID)->orderBy('id')->fetch();
- }
/* According the from, set menus. */
if($from == 'product')
@@ -122,20 +126,21 @@ class doc extends control
}
else
{
- $this->doc->setMenu($libID, $moduleID);
+ $menuType = (!$type && in_array($browseType, array_keys($this->lang->doc->fastMenuList))) ? $browseType : $type;
+ $this->doc->setMenu($menuType, $libID, $moduleID, $productID, $projectID);
}
$this->session->set('docList', $this->app->getURI(true));
/* Set header and position. */
- $this->view->title = $this->lang->doc->common . $this->lang->colon . $this->libs[$libID];
- $this->view->position[] = $this->libs[$libID];
+ $this->view->title = $this->lang->doc->common . ($libID ? $this->lang->colon . $this->libs[$libID] : '');
+ $this->view->position[] = $libID ? $this->libs[$libID] : '';
/* Load pager. */
$this->app->loadClass('pager', $static = true);
$pager = new pager($recTotal, $recPerPage, $pageID);
/* Append id for secend sort. */
- if($browseType == 'bymenu' and strpos('editeddate_desc,addeddate_desc,visiteddate_desc', strtolower($orderBy)) === false) $orderBy = 'title_asc';
+ if($browseType == 'bymenu' and strpos('editeddate_desc,addeddate_desc', strtolower($orderBy)) === false) $orderBy = 'title_asc';
$sort = $this->loadModel('common')->appendOrder($orderBy);
/* Get docs by browse type. */
@@ -166,7 +171,7 @@ class doc extends control
}
$this->view->libID = $libID;
- $this->view->libName = $this->libs[$libID];
+ $this->view->libName = $libID ? $this->libs[$libID] : '';
$this->view->moduleID = $moduleID;
$this->view->docs = $docs;
$this->view->pager = $pager;
@@ -308,8 +313,8 @@ class doc extends control
die(js::locate($link, 'parent'));
}
- $lib = $this->doc->getLibByID($libID);
- $type = $lib->product ? 'product' : ($lib->project ? 'project' : 'custom');
+ $lib = $this->doc->getLibByID($libID);
+ $type = $lib->product ? 'product' : ($lib->project ? 'project' : 'custom');
/* According the from, set menus. */
if($this->from == 'product')
@@ -328,7 +333,7 @@ class doc extends control
}
else
{
- $this->doc->setMenu($libID, $moduleID);
+ $this->doc->setMenu($type, $libID, $moduleID, $lib->product, $lib->project);
}
$this->view->title = $lib->name . $this->lang->colon . $this->lang->doc->create;
@@ -382,7 +387,7 @@ class doc extends control
$lib = $this->doc->getLibByID($libID);
$type = $lib->product ? 'product' : ($lib->project ? 'project' : 'custom');
- $this->doc->setMenu($libID, $doc->module);
+ $this->doc->setMenu($type, $libID, $doc->module, $lib->product, $lib->project);
$this->view->title = $lib->name . $this->lang->colon . $this->lang->doc->edit;
$this->view->position[] = html::a($this->createLink('doc', 'browse', "libID=$libID"), $lib->name);
@@ -421,7 +426,7 @@ class doc extends control
$type = $lib->product ? 'product' : ($lib->project ? 'project' : 'custom');
/* Set menu. */
- $this->doc->setMenu($doc->lib, $doc->module);
+ $this->doc->setMenu($type, $doc->lib, $doc->module, $lib->product, $lib->project);
/* Update visitedDate and views for current doc.*/
$this->doc->updateVisitData($docID);
@@ -527,6 +532,7 @@ class doc extends control
if(empty($customMenus))
{
if($type == 'remove') die(js::reload('parent'));
+ $customMenus = array();
$i = 0;
foreach($this->lang->doc->menu as $name => $item)
{
@@ -539,6 +545,7 @@ class doc extends control
}
}
+ $customMenus = (array)$customMenus;
foreach($customMenus as $i => $customMenu)
{
if(isset($customMenu->name) and $customMenu->name == "custom{$libID}") unset($customMenus[$i]);
@@ -587,7 +594,7 @@ class doc extends control
$this->view->title = $libName;
$this->view->position[] = $libName;
- $this->doc->setMenu($libID = 0, $moduleID = 0, $crumb);
+ $this->doc->setMenu($type, $libID = 0, $moduleID = 0, $productID = 0, $projectID = 0, $crumb);
/* Load pager. */
$this->app->loadClass('pager', $static = true);
@@ -648,19 +655,23 @@ class doc extends control
$crumb .= html::a(inlink('objectLibs', "type=$type&objectID=$objectID"), $object->name);
$crumb .= $this->lang->doc->separator . ' ' . $this->lang->doclib->files;
+ $productID = 0;
+ $projectID = 0;
if($type == 'product')
{
+ $productID = $objectID;
$lib = $this->product->getById($objectID);
if(!$this->product->checkPriv($lib)) $this->accessDenied();
}
if($type == 'project')
{
+ $projectID = $objectID;
$lib = $this->project->getById($objectID);
if(!$this->project->checkPriv($lib)) $this->accessDenied();
}
- $this->doc->setMenu($libID = 0, $moduleID = 0, $crumb);
+ $this->doc->setMenu($type, $libID = 0, $moduleID = 0, $productID, $projectID, $crumb);
}
/* Load pager. */
@@ -734,7 +745,9 @@ class doc extends control
$crumb = html::a(inlink('allLibs', "type=$type"), $type == 'product' ? $this->lang->productCommon : $this->lang->projectCommon) . $this->lang->doc->separator;
if($this->productID and $type == 'project') $crumb = $this->doc->getProductCrumb($this->productID, $objectID);
$crumb .= html::a(inlink('objectLibs', "type=$type&objectID=$objectID"), $object->name);
- $this->doc->setMenu($libID = 0, $moduleID = 0, $crumb);
+ $productID = $type == 'product' ? $objectID : 0;
+ $projectID = $type == 'project' ? $objectID : 0;
+ $this->doc->setMenu($type, $libID = 0, $moduleID = 0, $productID, $projectID, $crumb);
}
$this->view->title = $object->name;
diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php
index 08cd519fd3..f5cc00cb29 100644
--- a/module/doc/lang/zh-cn.php
+++ b/module/doc/lang/zh-cn.php
@@ -58,7 +58,7 @@ $lang->doc->myDoc = '我的文档';
$lang->doc->myCollection = '我的收藏';
/* 方法列表。*/
-$lang->doc->index = '首页';
+$lang->doc->index = '文档主页';
$lang->doc->create = '创建文档';
$lang->doc->edit = '编辑文档';
$lang->doc->delete = '删除文档';
@@ -119,12 +119,12 @@ $lang->doc->browseTypeList['menu'] = '目录';
$lang->doc->browseTypeList['tree'] = '树状图';
$lang->doc->browseTypeList['card'] = '卡片';
-$lang->doc->fastMenuList['editeddate'] = '最近更新';
+$lang->doc->fastMenuList['byediteddate'] = '最近更新';
$lang->doc->fastMenuList['visiteddate'] = '最近访问';
$lang->doc->fastMenuList['openedbyme'] = '我的文档';
$lang->doc->fastMenuList['collectedbyme'] = '我的收藏';
-$lang->doc->fastMenuIconList['editeddate'] = 'icon-folder-upload';
+$lang->doc->fastMenuIconList['byediteddate'] = 'icon-folder-upload';
$lang->doc->fastMenuIconList['visiteddate'] = 'icon-folder-move';
$lang->doc->fastMenuIconList['openedbyme'] = 'icon-folder-account';
$lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star';
diff --git a/module/doc/model.php b/module/doc/model.php
index 8029ca21bd..ad5329e3bc 100644
--- a/module/doc/model.php
+++ b/module/doc/model.php
@@ -22,60 +22,162 @@ class docModel extends model
* @access public
* @return void
*/
- public function setMenu($libID = 0, $moduleID = 0, $crumb = '')
+ public function setMenu($type = '', $libID = 0, $moduleID = 0, $productID = 0, $projectID = 0, $crumb = '')
{
- $customMenuKey = $this->config->global->flow . '_doc';
- if(isset($this->config->customMenu->{$customMenuKey}))
+ $selectHtml = "
";
+ $selectHtml .= html::a(helper::createLink('doc', 'index'), $this->lang->doc->index, '', "class='btn'");
+ $selectHtml .= '
';
+
+ if($type)
{
- $customMenu = json_decode($this->config->customMenu->{$customMenuKey}, true);
- $menuLibIdList = array();
- foreach($customMenu as $i => $menu)
+ $mainLib = in_array($type, array_keys($this->lang->doc->fastMenuList)) ? $this->lang->doc->fastMenuList[$type] : '';
+
+ if($libID)
{
- if(strpos($menu['name'], 'custom') === 0)
+ $lib = $this->getLibById($libID);
+ if($this->checkPriv($lib))
{
- $menuLibID = (int)substr($menu['name'], 6);
- if($menuLibID) $menuLibIdList[$i] = $menuLibID;
+ $type = $lib->product ? 'product' : 'custom';
+ $type = $lib->project ? 'project' : $type;
}
}
- $productIdList = array();
- $projectIdList = array();
- if($menuLibIdList)
+ $mainLib = $type == 'custom' ? $this->lang->doc->customAB : $mainLib;
+ $mainLib = $type == 'product' ? $this->lang->productCommon : $mainLib;
+ $mainLib = $type == 'project' ? $this->lang->projectCommon : $mainLib;
+
+ $selectHtml .= "
';
+
+ if(strpos('product,project,custom', $type) !== false)
{
- $lib = $libs[$menuLibID];
- $libName = '';
- if($lib->product) $libName = isset($products[$lib->product]) ? '[' . $products[$lib->product] . ']' : '';
- if($lib->project) $libName = isset($projects[$lib->project]) ? '[' . $projects[$lib->project] . ']' : '';
- $libName .= $lib->name;
- $customMenu[$i]['link'] = "{$libName}|doc|browse|libID={$menuLibID}";
+ $allLibGroups = $this->getAllLibGroups();
+ $currentGroups = $allLibGroups[$type];
+
+ if($type == 'custom') $currentLib = $libID ? $libID : key($currentGroups);
+ if($type == 'product') $currentLib = $productID ? $productID : key($currentGroups);
+ if($type == 'project') $currentLib = $projectID ? $projectID : key($currentGroups);
+
+ $selectHtml .= "
';
}
- $this->config->customMenu->{$customMenuKey} = json_encode($customMenu);
+
+ $actions = '';
+ $customMenuKey = $this->config->global->flow . '_doc';
+ if(isset($this->config->customMenu->{$customMenuKey}))
+ {
+ $customMenu = json_decode($this->config->customMenu->{$customMenuKey}, true);
+ $menuLibIdList = array();
+ foreach($customMenu as $i => $menu)
+ {
+ if(strpos($menu['name'], 'custom') === 0)
+ {
+ $menuLibID = (int)substr($menu['name'], 6);
+ if($menuLibID) $menuLibIdList[$i] = $menuLibID;
+ }
+ }
+
+ $productIdList = array();
+ $projectIdList = array();
+ if($menuLibIdList)
+ {
+ $libs = $this->dao->select('id,name,product,project')->from(TABLE_DOCLIB)->where('id')->in($menuLibIdList)->fetchAll('id');
+ foreach($libs as $lib)
+ {
+ if($lib->product) $productIdList[] = $lib->product;
+ if($lib->project) $projectIdList[] = $lib->project;
+ }
+ }
+ $products = $productIdList ? $this->dao->select('id,name')->from(TABLE_PRODUCT)->where('id')->in($productIdList)->fetchPairs('id', 'name') : array();
+ $projects = $projectIdList ? $this->dao->select('id,name')->from(TABLE_PROJECT)->where('id')->in($projectIdList)->fetchPairs('id', 'name') : array();
+ foreach($menuLibIdList as $i => $menuLibID)
+ {
+ $lib = $libs[$menuLibID];
+ $libName = '';
+ if($lib->product) $libName = isset($products[$lib->product]) ? '[' . $products[$lib->product] . ']' : '';
+ if($lib->project) $libName = isset($projects[$lib->project]) ? '[' . $projects[$lib->project] . ']' : '';
+ $libName .= $lib->name;
+ $customMenu[$i]['link'] = "{$libName}|doc|browse|libID={$menuLibID}";
+ }
+
+ foreach($customMenu as $menu)
+ {
+ if(isset($menu['link']))
+ {
+ list($menuLabel, $module, $method, $vars) = explode('|', $menu['link']);
+ $actions .= html::a(helper::createLink($module, $method, $vars), $menuLabel, '', "class='btn btn-gray'");
+ }
+
+ }
+
+ }
+
+ $actions .= html::a(helper::createLink('doc', 'createLib'), "
" . $this->lang->doc->createLib, '', "class='btn btn-secondary' data-toggle='modal'");
+ if($libID) $actions .= html::a(helper::createLink('doc', 'create', "libID=$libID"), "
" . $this->lang->doc->create, '', "class='btn btn-primary' data-toggle='modal'");
+
+ $this->lang->modulePageActions = $actions;
+
}
- $this->app->loadLang('project');
- $selectHtml = "
{$this->lang->doclib->all} ";
- $selectHtml .= "";
- common::setMenuVars($this->lang->doc->menu, 'list', $selectHtml);
- common::setMenuVars($this->lang->doc->menu, 'crumb', $crumb ? $crumb : $this->getCrumbs($libID, $moduleID));
+ //$selectHtml .= $crumb ? $crumb : $this->getCrumbs($libID, $moduleID);
+ $this->lang->modulePageNav = $selectHtml;
}
/**
@@ -209,7 +311,7 @@ class docModel extends model
$docs = $this->dao->select('*')->from(TABLE_DOC)
->where('deleted')->eq(0)
->andWhere('id')->in($docIdList)
- ->orderBy($sort)
+ ->orderBy('editedDate_desc')
->page($pager)
->fetchAll('id');
@@ -246,6 +348,16 @@ class docModel extends model
}
}
}
+ elseif($browseType == 'visiteddate')
+ {
+ $docIdList = $this->getPrivDocs($libID, $moduleID);
+ $docs = $this->dao->select('*')->from(TABLE_DOC)
+ ->where('deleted')->eq(0)
+ ->andWhere('id')->in($docIdList)
+ ->orderBy('visitedDate_desc')
+ ->page($pager)
+ ->fetchAll('id');
+ }
elseif($browseType == "collectedbyme")
{
$docs = $this->dao->select('*')->from(TABLE_DOC)
@@ -596,7 +708,7 @@ class docModel extends model
$this->config->doc->search['queryID'] = $queryID;
$this->config->doc->search['params']['product']['values'] = array(''=>'') + $this->loadModel('product')->getPairs('nocode') + array('all'=>$this->lang->doc->allProduct);
$this->config->doc->search['params']['project']['values'] = array(''=>'') + $this->loadModel('project')->getPairs('nocode') + array('all'=>$this->lang->doc->allProject);
- $this->config->doc->search['params']['lib']['values'] = array(''=>'', $libID => $libs[$libID], 'all' => $this->lang->doclib->all);
+ $this->config->doc->search['params']['lib']['values'] = array(''=>'', $libID => ($libID ? $libs[$libID] : 0), 'all' => $this->lang->doclib->all);
/* Get the modules. */
$moduleOptionMenu = $this->loadModel('tree')->getOptionMenu($libID, 'doc', $startModuleID = 0);
@@ -853,7 +965,7 @@ class docModel extends model
}
}
- return array('product' => array_values($productOrderLibs), 'project' => array_values($projectOrderLibs), 'custom' => $customLibs);
+ return array('product' => $productOrderLibs, 'project' => $projectOrderLibs, 'custom' => $customLibs);
}
/**
diff --git a/module/doc/view/index.html.php b/module/doc/view/index.html.php
index b4424a03e0..10d25a843e 100644
--- a/module/doc/view/index.html.php
+++ b/module/doc/view/index.html.php
@@ -30,17 +30,7 @@
doc->fast;?>
doc->fastMenuList as $type => $menu):?>
- createLink('doc', 'browse', "libID=0&browseTyp=bymenu&module=0&orderBy={$type}_desc");
- }
- else
- {
- $link = $this->createLink('doc', 'browse', "libID=0&browseTyp={$type}");
- }
- ?>
- - doc->fastMenuIconList[$type]}'> {$menu}");?>
+
- createLink('doc', 'browse', "libID=0&browseType={$type}"), " {$menu}");?>
diff --git a/module/entry/view/browse.html.php b/module/entry/view/browse.html.php
index 116fd12509..84d2c49e55 100644
--- a/module/entry/view/browse.html.php
+++ b/module/entry/view/browse.html.php
@@ -12,48 +12,50 @@
?>
entry->confirmDelete);?>
-
+
diff --git a/module/entry/view/create.html.php b/module/entry/view/create.html.php
index bf35a75bab..ad0de79bbc 100644
--- a/module/entry/view/create.html.php
+++ b/module/entry/view/create.html.php
@@ -12,56 +12,61 @@
?>
-
-
-
-
entry->api;?>
-
entry->create;?>
+
+
+
+
+ entry->api;?>
+ entry->create;?>
+
-
-
+
diff --git a/module/entry/view/edit.html.php b/module/entry/view/edit.html.php
index db4248dda9..81d96f909a 100644
--- a/module/entry/view/edit.html.php
+++ b/module/entry/view/edit.html.php
@@ -12,12 +12,13 @@
?>
-
-
-
-
entry->api;?>
+
+
+
+
+ entry->api;?>
entry->edit;?>
-
+
+
diff --git a/module/entry/view/header.html.php b/module/entry/view/header.html.php
index 76d37c3270..5e1e21f265 100644
--- a/module/entry/view/header.html.php
+++ b/module/entry/view/header.html.php
@@ -11,16 +11,11 @@
*/
?>
-
-
- - entry->common);?>
- - entry->webhook);?>
-
-
-
-
-
+
+
+ {$lang->entry->common}", '', "class='btn btn-link btn-active-text'");?>
+
+
+
diff --git a/module/entry/view/log.html.php b/module/entry/view/log.html.php
index 8216e61c18..4c118acc19 100644
--- a/module/entry/view/log.html.php
+++ b/module/entry/view/log.html.php
@@ -11,42 +11,47 @@
*/
?>
-
-
-
entry->common);?>
-
name;?>
-
entry->log;?>
+
+
+ {$lang->entry->common}", '', "class='btn btn-link btn-active-text'");?>
-
-
-
-
+
+ " . $lang->entry->setting, '', "class='btn btn-primary'");?>
+
-
-
-
- id}&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";?>
- | entry->id);?> |
- entry->date);?> |
- entry->url);?> |
-
-
-
- $log):?>
-
- |
- date;?> |
- url;?> |
-
-
-
-
-
- | show();?> |
-
-
-
+
+
+
+
+ name;?>
+ entry->log;?>
+
+
+
+
+
+
+ id}&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";?>
+ | entry->id);?> |
+ entry->date);?> |
+ entry->url);?> |
+
+
+
+ $log):?>
+
+ |
+ date;?> |
+ url;?> |
+
+
+
+
+
+
+
+
diff --git a/module/git/view/cat.html.php b/module/git/view/cat.html.php
index fd81e8a7b8..79658033b7 100644
--- a/module/git/view/cat.html.php
+++ b/module/git/view/cat.html.php
@@ -11,6 +11,8 @@
*/
?>
-
-
+
diff --git a/module/git/view/diff.html.php b/module/git/view/diff.html.php
index 3c710254db..a99055f4f4 100644
--- a/module/git/view/diff.html.php
+++ b/module/git/view/diff.html.php
@@ -12,6 +12,8 @@
?>
git->buildURL('cat', $path, $revision);?>
-
-
+
diff --git a/module/group/css/managemember.css b/module/group/css/managemember.css
index be8ca2a4e4..494f68f7c7 100644
--- a/module/group/css/managemember.css
+++ b/module/group/css/managemember.css
@@ -1,3 +1,3 @@
-.group-item {display:block; width:100px; float:left}
-.outer .table th {vertical-align: top;}
-.col-side {width: 192px;}
+.group-item {display:block; width:100px; float:left;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
+.table th {vertical-align: top;}
+.table-form>tbody>tr>th{width:120px !important;}
diff --git a/module/group/css/managepriv.css b/module/group/css/managepriv.css
index 1acda3c117..afcaefdaa7 100644
--- a/module/group/css/managepriv.css
+++ b/module/group/css/managepriv.css
@@ -1,6 +1,4 @@
-.form-condensed select.form-control {height:250px}
-#featurebar > .nav > li > a > .icon-home {display: none}
+.table-bymodule select.form-control {height:250px}
.group-item {display:block; width:200px; float:left; font-size: 14px}
-.outer .table.table-form tbody > tr:last-child td {border-top: 1px solid #ddd}
-@-moz-document url-prefix(){.outer .table.table-form tbody > tr:last-child td, .outer .table.table-form tbody > tr:last-child th {border-bottom: 1px solid #ddd}}
-.checkbox-inline {display: inline-block !important; padding-left: 0px;}
+.table.table-form tbody > tr:last-child td {border-top: 1px solid #ddd}
+@-moz-document url-prefix(){.table.table-form tbody > tr:last-child td, .table.table-form tbody > tr:last-child th {border-bottom: 1px solid #ddd}}
diff --git a/module/group/js/managemember.js b/module/group/js/managemember.js
index e69de29bb2..c9ec68a731 100644
--- a/module/group/js/managemember.js
+++ b/module/group/js/managemember.js
@@ -0,0 +1,8 @@
+$(function()
+{
+ $('.check-all input[type=checkbox]').change(function()
+ {
+ var checked = $(this).prop('checked');
+ $(this).parents('tr').find('input[type=checkbox]').prop('checked', checked);
+ });
+});
diff --git a/module/group/view/managemember.html.php b/module/group/view/managemember.html.php
index 5164fc3fa5..651159c4b4 100644
--- a/module/group/view/managemember.html.php
+++ b/module/group/view/managemember.html.php
@@ -11,56 +11,67 @@
*/
?>
-
-
-
icons['group']);?> id;?>
-
name;?>
-
group->manageMember;?> icons['manage']);?>
+
+
+
+ id;?>
+ name;?>
+ arrow . $lang->group->manageMember;?>
+
-
-
-
-
-
-
icons['company']);?> dept->common;?>
-
+
+
+
+
+
icons['company']);?> dept->common;?>
+
+
-
-
-
diff --git a/module/group/view/privbymodule.html.php b/module/group/view/privbymodule.html.php
index ff3c2f4f78..a08bdd13dd 100644
--- a/module/group/view/privbymodule.html.php
+++ b/module/group/view/privbymodule.html.php
@@ -10,41 +10,42 @@
* @link http://www.zentao.net
*/
?>
-
-
-
-
group->managePriv ;?>
-
group->byModuleTips; ?>
+
+
+
+ group->managePriv ;?>
+ group->byModuleTips; ?>
+
+
+
-
-
diff --git a/module/product/control.php b/module/product/control.php
index e0797ef202..aed75b3501 100644
--- a/module/product/control.php
+++ b/module/product/control.php
@@ -50,19 +50,6 @@ class product extends control
public function index($locate = 'auto', $productID = 0, $status = 'noclosed', $orderBy = 'order_desc', $recTotal = 0, $recPerPage = 10, $pageID = 1)
{
if($this->config->global->flow == 'onlyTest') $this->locate($this->createLink($this->moduleName, 'build'));
-
- if($this->app->user->account == 'guest' or commonModel::isTutorialMode()) $this->config->product->homepage = 'index';
- if(!isset($this->config->product->homepage))
- {
- if($this->products and $this->app->getViewType() != 'mhtml') die($this->fetch('custom', 'ajaxSetHomepage', "module=product"));
-
- $this->config->product->homepage = 'index';
- $this->fetch('custom', 'ajaxSetHomepage', "module=product&page=index");
- }
-
- $homepage = $this->config->product->homepage;
- if($homepage == 'browse' and $locate == 'auto') $locate = 'yes';
-
if($locate == 'yes') $this->locate($this->createLink($this->moduleName, 'browse'));
if($this->app->getViewType() != 'mhtml') unset($this->lang->product->menu->index);
diff --git a/module/product/view/view.html.php b/module/product/view/view.html.php
index 4c99d5ccd7..309578113b 100644
--- a/module/product/view/view.html.php
+++ b/module/product/view/view.html.php
@@ -78,8 +78,8 @@
desc;?>
- product->typeList, $product->type);?>
- product->statusList, $product->status);?>
+ product->typeList, $product->type);?>
+ product->statusList, $product->status);?>
deleted):?>
product->deleted;?>
@@ -210,9 +210,10 @@
id";
$browseLink = $this->session->productList ? $this->session->productList : inlink('browse', "productID=$product->id");
+ common::printBack($browseLink);
if(!$product->deleted)
{
- ob_start();
+ echo "
";
if($product->status != 'closed')
{
common::printIcon('product', 'close', "productID=$product->id", $product, 'button', '', '', 'iframe text-danger', true);
@@ -221,15 +222,10 @@
common::printIcon('product', 'edit', $params, $product);
common::printIcon('product', 'delete', $params, $product, 'button', '', 'hiddenwin');
- common::printRPN($browseLink);
-
- $actionLinks = ob_get_contents();
- ob_end_clean();
- echo $actionLinks;
}
else
{
- common::printRPN($browseLink);
+ common::printBack($browseLink);
}
?>
diff --git a/module/project/control.php b/module/project/control.php
index 2dd0e0bf64..bfb93d97d4 100644
--- a/module/project/control.php
+++ b/module/project/control.php
@@ -39,17 +39,6 @@ class project extends control
*/
public function index($locate = 'auto', $projectID = 0)
{
- if($this->app->user->account == 'guest' or commonModel::isTutorialMode()) $this->config->project->homepage = 'index';
- if(!isset($this->config->project->homepage))
- {
- if($this->projects and $this->app->viewType != 'mhtml') die($this->fetch('custom', 'ajaxSetHomepage', "module=project"));
-
- $this->config->project->homepage = 'index';
- $this->fetch('custom', 'ajaxSetHomepage', "module=project&page=index");
- }
-
- $homepage = $this->config->project->homepage;
- if($homepage == 'browse' and $locate == 'auto') $locate = 'yes';
if($locate == 'yes') $this->locate($this->createLink('project', 'task'));
if($this->app->viewType != 'mhtml') unset($this->lang->project->menu->index);
diff --git a/module/project/view/view.html.php b/module/project/view/view.html.php
index 747c9ff385..ce92957d56 100644
--- a/module/project/view/view.html.php
+++ b/module/project/view/view.html.php
@@ -203,30 +203,23 @@
id";
$browseLink = $this->session->projectList ? $this->session->projectList : inlink('browse', "projectID=$project->id");
+ common::printBack($browseLink);
if(!$project->deleted)
{
- ob_start();
- echo "
";
+ echo "
";
common::printIcon('project', 'start', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
common::printIcon('project', 'activate', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
common::printIcon('project', 'putoff', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
common::printIcon('project', 'suspend', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
common::printIcon('project', 'close', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
- echo '
';
- echo "
";
+ echo "
";
common::printIcon('project', 'edit', $params, $project);
common::printIcon('project', 'delete', $params, $project, 'button', '', 'hiddenwin');
- echo '
';
- common::printRPN($browseLink);
-
- $actionLinks = ob_get_contents();
- ob_end_clean();
- echo $actionLinks;
}
else
{
- common::printRPN($browseLink);
+ common::printBack($browseLink);
}
?>
diff --git a/module/qa/control.php b/module/qa/control.php
index 0e4a1d259f..15a11c8c0b 100644
--- a/module/qa/control.php
+++ b/module/qa/control.php
@@ -20,19 +20,7 @@ class qa extends control
public function index($locate = 'auto', $productID = 0)
{
$this->products = $this->loadModel('product')->getPairs('nocode');
- if($this->app->user->account == 'guest' or commonModel::isTutorialMode()) $this->config->qa->homepage = 'index';
- if(!isset($this->config->qa->homepage))
- {
- if($this->products and $this->app->viewType != 'mhtml') die($this->fetch('custom', 'ajaxSetHomepage', "module=qa"));
-
- $this->config->qa->homepage = 'index';
- $this->fetch('custom', 'ajaxSetHomepage', "module=qa&page=index");
- }
-
if(empty($this->products)) die($this->locate($this->createLink('product', 'showErrorNone', "fromModule=qa")));
-
- $homepage = $this->config->qa->homepage;
- if($homepage == 'browse' and $locate == 'auto') $locate = 'yes';
if($locate == 'yes') $this->locate($this->createLink('bug', 'browse'));
if($this->app->viewType != 'mhtml') unset($this->lang->qa->menu->index);
diff --git a/module/task/view/view.html.php b/module/task/view/view.html.php
index 2ce219fcb3..9bf895b888 100644
--- a/module/task/view/view.html.php
+++ b/module/task/view/view.html.php
@@ -335,9 +335,10 @@