<\/div><\/div>/g" zentaoxx/module/client/view/checkupgrade.html.php
- sed -i '/var serverVersions/d' zentaoxx/module/client/js/checkupgrade.js
- sed -i '/var currentVersion/d' zentaoxx/module/client/js/checkupgrade.js
- sed -i '/setRequiredFields(/d' zentaoxx/module/common/view/header.modal.html.php
- sed -i 's/header.html.php/header.lite.html.php/g' zentaoxx/module/common/view/header.modal.html.php
- sed -i 's/footer.html.php/footer.lite.html.php/g' zentaoxx/module/common/view/footer.modal.html.php
- sed -i 's/v\.//g' zentaoxx/module/im/js/debug.js
- sed -i 's/helper::jsonEncode(/json_encode(/g' zentaoxx/framework/xuanxuan.class.php
- sed -i "s/lang->goback,/lang->goback, '',/g" zentaoxx/module/im/view/debug.html.php
- sed -i 's/v\.//g' zentaoxx/module/client/js/checkupgrade.js
- sed -i 's/xxb_/zt_/g' zentaoxx/db/*.sql
- mkdir zentaoxx/tools; cp tools/cn2tw.php zentaoxx/tools; cd zentaoxx/tools; php cn2tw.php
- cp tools/en2de.php zentaoxx/tools; cd zentaoxx/tools; php en2de.php ../
- rm -rf zentaoxx/tools
- zip -rqm -9 zentaoxx.$(VERSION).zip zentaoxx/*
- rm -rf xuan.zip xuan zentaoxx
-package:
- # change mode.
- chmod -R 777 zentaopms/tmp/
- chmod -R 777 zentaopms/www/data
- chmod -R 777 zentaopms/config
- chmod 777 zentaopms/module
- chmod 777 zentaopms/www
- chmod a+rx zentaopms/bin/*
- if [ ! -d "zentaopms/config/ext" ]; then mkdir zentaopms/config/ext; fi
- for module in `ls zentaopms/module/`; do if [ ! -d "zentaopms/module/$$module/ext" ]; then mkdir zentaopms/module/$$module/ext; fi done
- find zentaopms/ -name ext |xargs chmod -R 777
- mkdir zentaopms/tools; cp tools/cn2tw.php zentaopms/tools; cd zentaopms/tools; php cn2tw.php
- #rm -r zentaopms/module/misc/ext
- rm -rf zentaopms/tools
-pms:
- make common
- make zentaoxx
- unzip zentaoxx.*.zip
- cp zentaoxx/* zentaopms/ -r
- cat zentaoxx/db/xuanxuan.sql >> zentaopms/db/zentao.sql
- make package
- zip -rq -9 ZenTaoPMS.$(VERSION).zip zentaopms
- rm -fr zentaopms zentaoxx zentaoxx.*.zip
-deb:
- mkdir buildroot
- cp -r build/debian/DEBIAN buildroot
- sed -i '/^Version/cVersion: ${VERSION}' buildroot/DEBIAN/control
- mkdir buildroot/opt
- mkdir buildroot/etc/apache2/sites-enabled/ -p
- cp build/debian/zentaopms.conf buildroot/etc/apache2/sites-enabled/
- cp ZenTaoPMS.${VERSION}.zip buildroot/opt
- cd buildroot/opt; unzip ZenTaoPMS.${VERSION}.zip; mv zentaopms zentao; rm ZenTaoPMS.${VERSION}.zip
- sed -i 's/index.php/\/zentao\/index.php/' buildroot/opt/zentao/www/.htaccess
- sudo dpkg -b buildroot/ ZenTaoPMS_${VERSION}_1_all.deb
- rm -rf buildroot
-rpm:
- mkdir ~/rpmbuild/SPECS -p
- cp build/rpm/zentaopms.spec ~/rpmbuild/SPECS
- sed -i '/^Version/cVersion:${VERSION}' ~/rpmbuild/SPECS/zentaopms.spec
- mkdir ~/rpmbuild/SOURCES
- cp ZenTaoPMS.${VERSION}.zip ~/rpmbuild/SOURCES
- mkdir ~/rpmbuild/SOURCES/etc/httpd/conf.d/ -p
- cp build/debian/zentaopms.conf ~/rpmbuild/SOURCES/etc/httpd/conf.d/
- mkdir ~/rpmbuild/SOURCES/opt/ -p
- cd ~/rpmbuild/SOURCES; unzip ZenTaoPMS.${VERSION}.zip; mv zentaopms opt/zentao;
- sed -i 's/index.php/\/zentao\/index.php/' ~/rpmbuild/SOURCES/opt/zentao/www/.htaccess
- cd ~/rpmbuild/SOURCES; tar -czvf zentaopms-${VERSION}.tar.gz etc opt; rm -rf ZenTaoPMS.${VERSION}.zip etc opt;
- rpmbuild -ba ~/rpmbuild/SPECS/zentaopms.spec
- cp ~/rpmbuild/RPMS/noarch/zentaopms-${VERSION}-1.noarch.rpm ./
- rm -rf ~/rpmbuild
-en:
- make common
- cd zentaopms/; grep -rl 'zentao.net'|xargs sed -i 's/zentao.net/zentao.pm/g';
- cd zentaopms/; grep -rl 'http://www.zentao.pm'|xargs sed -i 's/http:\/\/www.zentao.pm/https:\/\/www.zentao.pm/g';
- cd zentaopms/config/; echo >> config.php; echo '$$config->isINT = true;' >> config.php
- make package
- mv zentaopms zentaoalm
- zip -r -9 ZenTaoALM.$(VERSION).int.zip zentaoalm
- rm -fr zentaoalm
- echo $(VERSION).int > VERSION
- make endeb
- make enrpm
- echo $(VERSION) > VERSION
-endeb:
- mkdir buildroot
- cp -r build/debian/DEBIAN buildroot
- sed -i '/^Version/cVersion: ${VERSION}' buildroot/DEBIAN/control
- mkdir buildroot/opt
- mkdir buildroot/etc/apache2/sites-enabled/ -p
- cp build/debian/zentaopms.conf buildroot/etc/apache2/sites-enabled/
- cp ZenTaoALM.${VERSION}.zip buildroot/opt
- cd buildroot/opt; unzip ZenTaoALM.${VERSION}.zip; mv zentaoalm zentao; rm ZenTaoALM.${VERSION}.zip
- sed -i 's/index.php/\/zentao\/index.php/' buildroot/opt/zentao/www/.htaccess
- sudo dpkg -b buildroot/ ZenTaoALM_${VERSION}_1_all.deb
- rm -rf buildroot
-enrpm:
- mkdir ~/rpmbuild/SPECS -p
- cp build/rpm/zentaopms.spec ~/rpmbuild/SPECS
- sed -i '/^Version/cVersion:${VERSION}' ~/rpmbuild/SPECS/zentaopms.spec
- sed -i '/^Name:/cName:zentaoalm' ~/rpmbuild/SPECS/zentaopms.spec
- mkdir ~/rpmbuild/SOURCES
- cp ZenTaoALM.${VERSION}.zip ~/rpmbuild/SOURCES
- mkdir ~/rpmbuild/SOURCES/etc/httpd/conf.d/ -p
- cp build/debian/zentaopms.conf ~/rpmbuild/SOURCES/etc/httpd/conf.d/zentaoalm.conf
- mkdir ~/rpmbuild/SOURCES/opt/ -p
- cd ~/rpmbuild/SOURCES; unzip ZenTaoALM.${VERSION}.zip; mv zentaoalm opt/zentao;
- sed -i 's/index.php/\/zentao\/index.php/' ~/rpmbuild/SOURCES/opt/zentao/www/.htaccess
- cd ~/rpmbuild/SOURCES; tar -czvf zentaoalm-${VERSION}.tar.gz etc opt; rm -rf ZenTaoALM.${VERSION}.zip etc opt;
- rpmbuild -ba ~/rpmbuild/SPECS/zentaopms.spec
- cp ~/rpmbuild/RPMS/noarch/zentaoalm-${VERSION}-1.noarch.rpm ./
- rm -rf ~/rpmbuild
-patchphpdoc:
- sudo cp misc/doc/phpdoc/*.tpl /usr/share/php/data/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/
-phpdoc:
- phpdoc -d bin,framework,config,lib,module,www -t api -o HTML:frames:phphtmllib -ti ZenTaoPMSAPI参考手册 -s on -pp on -i *test*
- phpdoc -d bin,framework,config,lib,module,www -t api.chm -o chm:default:default -ti ZenTaoPMSAPI参考手册 -s on -pp on -i *test*
-doxygen:
- doxygen doc/doxygen/doxygen.conf
+flow:
+ifneq ($(wildcard ranzhi),)
+ rm ranzhi -r
+endif
+ mkdir -p max/www
+ # move max extension to max.
+ cp -fr config max
+ cp -fr db max
+ cp -fr module max
+ cp -fr www/* max/www
+ cp www/favicon.ico max/www
diff --git a/config/config.php b/config/config.php
index 6b8f39d7b3..aaeef0b3ff 100644
--- a/config/config.php
+++ b/config/config.php
@@ -16,7 +16,7 @@ if(!class_exists('config')){class config{}}
if(!function_exists('getWebRoot')){function getWebRoot(){}}
/* 基本设置。Basic settings. */
-$config->version = '20.0.beta4'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
+$config->version = '15.0.rc1'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
$config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP.
$config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time.
$config->timezone = 'Asia/Shanghai'; // 时区设置。 The time zone setting, for more see http://www.php.net/manual/en/timezones.php.
diff --git a/db/update15.0.sql b/db/update15.0.sql
index 22d13be1e9..e889dd45af 100644
--- a/db/update15.0.sql
+++ b/db/update15.0.sql
@@ -30,7 +30,6 @@ ALTER TABLE `zt_burn` CHANGE `project` `execution` mediumint(8) unsigned NOT NUL
ALTER TABLE `zt_doc` CHANGE `project` `execution` mediumint(8) unsigned NOT NULL;
ALTER TABLE `zt_relation` CHANGE `project` `execution` mediumint(8) unsigned NOT NULL;
ALTER TABLE `zt_relation` CHANGE `program` `project` mediumint(8) unsigned NOT NULL;
-ALTER TABLE `zt_case` CHANGE `project` `execution` mediumint(8) unsigned NOT NULL;
ALTER TABLE `zt_doclib` CHANGE `project` `execution` mediumint(8) unsigned NOT NULL;
ALTER TABLE `zt_task` CHANGE `project` `execution` mediumint(8) unsigned NOT NULL;
ALTER TABLE `zt_testreport` CHANGE `project` `execution` mediumint(8) unsigned NOT NULL;
diff --git a/framework/router.class.php b/framework/router.class.php
index 868527f49c..de2e00e5f4 100755
--- a/framework/router.class.php
+++ b/framework/router.class.php
@@ -171,7 +171,7 @@ class router extends baseRouter
$commonSettings = array();
try
{
- $commonSettings = $this->dbh->query('SELECT section, `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND (`module`='custom' or `module`='common') and `key` in ('sprintConcept', 'hourPoint', 'URSR', 'mode', 'URAndSR')")->fetchAll();
+ $commonSettings = $this->dbh->query('SELECT section, `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND (`module`='custom' or `module`='common') and `key` in ('sprintConcept', 'hourPoint', 'URSR', 'mode', 'URAndSR', 'scoreStatus')")->fetchAll();
}
catch (PDOException $exception)
{
@@ -179,8 +179,9 @@ class router extends baseRouter
}
}
- $hourKey = $planKey = $URSR = $URAndSR = 0;
- $mode = 'new';
+ $hourKey = $planKey = $URSR = $URAndSR = 0;
+ $mode = 'new';
+ $score = '0';
$projectKey = empty($this->config->isINT) ? ITERATION_KEY : SPRINT_KEY;
foreach($commonSettings as $setting)
@@ -190,12 +191,16 @@ class router extends baseRouter
if($setting->key == 'URSR') $URSR = $setting->value;
if($setting->key == 'URAndSR') $URAndSR = $setting->value;
if($setting->key == 'mode' and $setting->section == 'global') $mode = $setting->value;
+ if($setting->key == 'scoreStatus' and $setting->section == 'global') $score = $setting->value;
}
/* Record system mode. */
$config->systemMode = $mode;
if($config->systemMode == 'classic') $this->config->executionCommonList = $this->config->projectCommonList;
+ /* Record system score.*/
+ $config->systemScore = $score;
+
/* Record hour unit. */
$config->hourUnit = 'H';
if($hourKey == STORYPOINT_KEY) $config->hourUnit = 'SP';
diff --git a/module/action/model.php b/module/action/model.php
index 4567956b1d..e517a65d41 100755
--- a/module/action/model.php
+++ b/module/action/model.php
@@ -36,6 +36,7 @@ class actionModel extends model
$actor = $actor ? $actor : $this->app->user->account;
$actionType = strtolower($actionType);
+ $actor = $actionType == 'openedbysystem' ? '' : $actor;
if($actor == 'guest' and $actionType == 'logout') return false;
$objectType = str_replace('`', '', $objectType);
diff --git a/module/block/control.php b/module/block/control.php
index fab109b185..5a7c054bcd 100644
--- a/module/block/control.php
+++ b/module/block/control.php
@@ -1330,7 +1330,7 @@ class block extends control
{
if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die();
$count = isset($this->params->count) ? (int)$this->params->count : 15;
- $type = isset($this->params->type) ? $this->params->type : 'all';
+ $type = isset($this->params->type) ? $this->params->type : 'undone';
$this->app->loadClass('pager', $static = true);
$pager = pager::init(0, $count, 1);
diff --git a/module/block/js/admin.js b/module/block/js/admin.js
index 851ad0d95e..6199a79d67 100644
--- a/module/block/js/admin.js
+++ b/module/block/js/admin.js
@@ -9,17 +9,34 @@ $(function()
var title = $titleInput.val();
var value = $(this).find('option:selected').text();
- var lang = config.clientLang;
- if(lang.indexOf('zh') >= 0)
+ if($blocksList.find('#moduleBlock').val() == 'scrumtest' && $('#paramstype').val() != 'all')
{
- blockTitle = blockTitle.replace(preValue, value);
- $titleInput.val(blockTitle);
+ console.log($('#paramstype').val());
+ $titleInput.val(value);
}
else
{
- var preIndex = blockTitle.indexOf(of + preValue);
- if(preIndex >= 0) blockTitle = blockTitle.substring(0, preIndex);
- $titleInput.val(blockTitle + of + value);
+ var lang = config.clientLang;
+ if(lang.indexOf('zh') >= 0)
+ {
+ console.log(preValue, blockTitle);
+ console.log(blockTitle.indexOf(preValue));
+ if(blockTitle.indexOf(preValue) >= 0)
+ {
+ blockTitle = blockTitle.replace(preValue, value);
+ }
+ else
+ {
+ if(blockTitle.indexOf(preValue) < 0) blockTitle = value + of + title;;
+ }
+ $titleInput.val(blockTitle);
+ }
+ else
+ {
+ var preIndex = blockTitle.indexOf(of + preValue);
+ if(preIndex >= 0) blockTitle = blockTitle.substring(0, preIndex);
+ $titleInput.val(blockTitle + of + value);
+ }
}
preValue = value;
@@ -51,8 +68,15 @@ $(function()
var preIndex = blockTitle.indexOf(' - ' + preValue);
if(preIndex >= 0) blockTitle = blockTitle.substring(0, preIndex);
- var lang = config.clientLang;
- if(blockTitle.indexOf(of) < 0) lang.indexOf('zh') >= 0 ? $titleInput.val(preValue + of + blockTitle) : $titleInput.val(blockTitle + of + preValue);
+ if($blocksList.find('#moduleBlock').val() == 'scrumtest')
+ {
+ $titleInput.val(preValue);
+ }
+ else
+ {
+ var lang = config.clientLang;
+ if(!title && blockTitle.indexOf(of) < 0) lang.indexOf('zh') >= 0 ? $titleInput.val(preValue + of + blockTitle) : $titleInput.val(blockTitle + of + preValue);
+ }
}
};
diff --git a/module/block/lang/de.php b/module/block/lang/de.php
index 594e0106f4..7b37d26923 100644
--- a/module/block/lang/de.php
+++ b/module/block/lang/de.php
@@ -148,6 +148,10 @@ $lang->block->default['scrum']['project']['2']['title'] = $lang->executionCommon
$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist';
$lang->block->default['scrum']['project']['2']['grid'] = 8;
+$lang->block->default['scrum']['project']['2']['params']['type'] = 'undone';
+$lang->block->default['scrum']['project']['2']['params']['count'] = '20';
+$lang->block->default['scrum']['project']['2']['params']['orderBy'] = 'id_desc';
+
$lang->block->default['scrum']['project']['3']['title'] = 'Test Version';
$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest';
$lang->block->default['scrum']['project']['3']['grid'] = 8;
@@ -275,10 +279,11 @@ $lang->block->default['full']['my']['3']['grid'] = 4;
$lang->block->default['full']['my']['3']['source'] = 'todo';
$lang->block->default['full']['my']['3']['params']['count'] = '20';
-$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
-$lang->block->default['full']['my']['4']['block'] = 'statistic';
-$lang->block->default['full']['my']['4']['source'] = 'project';
-$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
+$lang->block->default['full']['my']['4']['block'] = 'statistic';
+$lang->block->default['full']['my']['4']['source'] = 'project';
+$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['params']['count'] = '20';
$lang->block->default['full']['my']['5']['title'] = 'Personal Contribution';
$lang->block->default['full']['my']['5']['block'] = 'contribute';
@@ -336,7 +341,7 @@ $lang->block->availableBlocks->issue = 'My Issues';
$lang->block->moduleList['project'] = 'Project';
$lang->block->moduleList['product'] = $lang->productCommon;
-$lang->block->moduleList['execution'] = $lang->executionCommon;
+$lang->block->moduleList['execution'] = $lang->execution->common;
$lang->block->moduleList['qa'] = 'QA';
$lang->block->moduleList['todo'] = 'Todos';
@@ -376,9 +381,9 @@ $lang->block->modules['product']->availableBlocks->release = 'Release';
$lang->block->modules['execution'] = new stdclass();
$lang->block->modules['execution']->availableBlocks = new stdclass();
-$lang->block->modules['execution']->availableBlocks->statistic = $lang->executionCommon . ' Statistik';
-$lang->block->modules['execution']->availableBlocks->overview = $lang->executionCommon . ' Übersicht';
-$lang->block->modules['execution']->availableBlocks->list = $lang->executionCommon . ' Liste';
+$lang->block->modules['execution']->availableBlocks->statistic = $lang->execution->common . ' Statistik';
+$lang->block->modules['execution']->availableBlocks->overview = $lang->execution->common . ' Übersicht';
+$lang->block->modules['execution']->availableBlocks->list = $lang->execution->common . ' Liste';
$lang->block->modules['execution']->availableBlocks->task = 'Aufgaben';
$lang->block->modules['execution']->availableBlocks->build = 'Build';
@@ -494,7 +499,7 @@ $lang->block->typeList->execution['all'] = 'All';
$lang->block->typeList->execution['involved'] = 'Involved';
$lang->block->typeList->scrum['undone'] = 'Unfinished';
-$lang->block->typeList->scrum['doing'] = 'Ongoing中';
+$lang->block->typeList->scrum['doing'] = 'Ongoing';
$lang->block->typeList->scrum['all'] = 'All';
$lang->block->typeList->scrum['involved'] = 'Involved';
diff --git a/module/block/lang/en.php b/module/block/lang/en.php
index cc303d4cd6..3e9f4c2ac3 100644
--- a/module/block/lang/en.php
+++ b/module/block/lang/en.php
@@ -148,6 +148,10 @@ $lang->block->default['scrum']['project']['2']['title'] = $lang->executionCommon
$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist';
$lang->block->default['scrum']['project']['2']['grid'] = 8;
+$lang->block->default['scrum']['project']['2']['params']['type'] = 'undone';
+$lang->block->default['scrum']['project']['2']['params']['count'] = '20';
+$lang->block->default['scrum']['project']['2']['params']['orderBy'] = 'id_desc';
+
$lang->block->default['scrum']['project']['3']['title'] = 'Test Version';
$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest';
$lang->block->default['scrum']['project']['3']['grid'] = 8;
@@ -275,10 +279,11 @@ $lang->block->default['full']['my']['3']['grid'] = 4;
$lang->block->default['full']['my']['3']['source'] = 'todo';
$lang->block->default['full']['my']['3']['params']['count'] = '20';
-$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
-$lang->block->default['full']['my']['4']['block'] = 'statistic';
-$lang->block->default['full']['my']['4']['source'] = 'project';
-$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
+$lang->block->default['full']['my']['4']['block'] = 'statistic';
+$lang->block->default['full']['my']['4']['source'] = 'project';
+$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['params']['count'] = '20';
$lang->block->default['full']['my']['5']['title'] = 'Personal Contribution';
$lang->block->default['full']['my']['5']['block'] = 'contribute';
@@ -336,7 +341,7 @@ $lang->block->availableBlocks->issue = 'My Issues';
$lang->block->moduleList['project'] = 'Project';
$lang->block->moduleList['product'] = $lang->productCommon;
-$lang->block->moduleList['execution'] = $lang->executionCommon;
+$lang->block->moduleList['execution'] = $lang->execution->common;
$lang->block->moduleList['qa'] = 'Test';
$lang->block->moduleList['todo'] = 'Todo';
@@ -376,9 +381,9 @@ $lang->block->modules['product']->availableBlocks->release = 'Release';
$lang->block->modules['execution'] = new stdclass();
$lang->block->modules['execution']->availableBlocks = new stdclass();
-$lang->block->modules['execution']->availableBlocks->statistic = $lang->executionCommon . ' Statistics';
-$lang->block->modules['execution']->availableBlocks->overview = $lang->executionCommon . ' Overview';
-$lang->block->modules['execution']->availableBlocks->list = $lang->executionCommon . ' List';
+$lang->block->modules['execution']->availableBlocks->statistic = $lang->execution->common . ' Statistics';
+$lang->block->modules['execution']->availableBlocks->overview = $lang->execution->common . ' Overview';
+$lang->block->modules['execution']->availableBlocks->list = $lang->execution->common . ' List';
$lang->block->modules['execution']->availableBlocks->task = 'Task';
$lang->block->modules['execution']->availableBlocks->build = 'Build';
@@ -494,7 +499,7 @@ $lang->block->typeList->execution['all'] = 'All';
$lang->block->typeList->execution['involved'] = 'Involved';
$lang->block->typeList->scrum['undone'] = 'Unfinished';
-$lang->block->typeList->scrum['doing'] = 'Ongoing中';
+$lang->block->typeList->scrum['doing'] = 'Ongoing';
$lang->block->typeList->scrum['all'] = 'All';
$lang->block->typeList->scrum['involved'] = 'Involved';
diff --git a/module/block/lang/fr.php b/module/block/lang/fr.php
index f976cbc3b0..61d9205752 100644
--- a/module/block/lang/fr.php
+++ b/module/block/lang/fr.php
@@ -148,6 +148,10 @@ $lang->block->default['scrum']['project']['2']['title'] = $lang->executionCommon
$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist';
$lang->block->default['scrum']['project']['2']['grid'] = 8;
+$lang->block->default['scrum']['project']['2']['params']['type'] = 'undone';
+$lang->block->default['scrum']['project']['2']['params']['count'] = '20';
+$lang->block->default['scrum']['project']['2']['params']['orderBy'] = 'id_desc';
+
$lang->block->default['scrum']['project']['3']['title'] = 'Test Version';
$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest';
$lang->block->default['scrum']['project']['3']['grid'] = 8;
@@ -275,10 +279,11 @@ $lang->block->default['full']['my']['3']['grid'] = 4;
$lang->block->default['full']['my']['3']['source'] = 'todo';
$lang->block->default['full']['my']['3']['params']['count'] = '20';
-$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
-$lang->block->default['full']['my']['4']['block'] = 'statistic';
-$lang->block->default['full']['my']['4']['source'] = 'project';
-$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
+$lang->block->default['full']['my']['4']['block'] = 'statistic';
+$lang->block->default['full']['my']['4']['source'] = 'project';
+$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['params']['count'] = '20';
$lang->block->default['full']['my']['5']['title'] = 'Personal Contribution';
$lang->block->default['full']['my']['5']['block'] = 'contribute';
@@ -336,7 +341,7 @@ $lang->block->availableBlocks->issue = 'My Issues';
$lang->block->moduleList['project'] = 'Project';
$lang->block->moduleList['product'] = $lang->productCommon;
-$lang->block->moduleList['execution'] = $lang->executionCommon;
+$lang->block->moduleList['execution'] = $lang->execution->common;
$lang->block->moduleList['qa'] = 'Test';
$lang->block->moduleList['todo'] = 'Todo';
@@ -376,9 +381,9 @@ $lang->block->modules['product']->availableBlocks->release = 'Release';
$lang->block->modules['execution'] = new stdclass();
$lang->block->modules['execution']->availableBlocks = new stdclass();
-$lang->block->modules['execution']->availableBlocks->statistic = $lang->executionCommon . ' Statistiques';
-$lang->block->modules['execution']->availableBlocks->overview = $lang->executionCommon . " Vue d'ensemble";
-$lang->block->modules['execution']->availableBlocks->list = $lang->executionCommon . ' Liste';
+$lang->block->modules['execution']->availableBlocks->statistic = $lang->execution->common . ' Statistiques';
+$lang->block->modules['execution']->availableBlocks->overview = $lang->execution->common . " Vue d'ensemble";
+$lang->block->modules['execution']->availableBlocks->list = $lang->execution->common . ' Liste';
$lang->block->modules['execution']->availableBlocks->task = 'Tâches';
$lang->block->modules['execution']->availableBlocks->build = 'Build';
@@ -494,7 +499,7 @@ $lang->block->typeList->execution['all'] = 'All';
$lang->block->typeList->execution['involved'] = 'Involved';
$lang->block->typeList->scrum['undone'] = 'Unfinished';
-$lang->block->typeList->scrum['doing'] = 'Ongoing中';
+$lang->block->typeList->scrum['doing'] = 'Ongoing';
$lang->block->typeList->scrum['all'] = 'All';
$lang->block->typeList->scrum['involved'] = 'Involved';
diff --git a/module/block/lang/vi.php b/module/block/lang/vi.php
index e5c800c9a8..90fa4d02e1 100644
--- a/module/block/lang/vi.php
+++ b/module/block/lang/vi.php
@@ -148,6 +148,10 @@ $lang->block->default['scrum']['project']['2']['title'] = 'Project List';
$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist';
$lang->block->default['scrum']['project']['2']['grid'] = 8;
+$lang->block->default['scrum']['project']['2']['params']['type'] = 'undone';
+$lang->block->default['scrum']['project']['2']['params']['count'] = '20';
+$lang->block->default['scrum']['project']['2']['params']['orderBy'] = 'id_desc';
+
$lang->block->default['scrum']['project']['3']['title'] = 'Test Version';
$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest';
$lang->block->default['scrum']['project']['3']['grid'] = 8;
@@ -275,10 +279,11 @@ $lang->block->default['full']['my']['3']['grid'] = 4;
$lang->block->default['full']['my']['3']['source'] = 'todo';
$lang->block->default['full']['my']['3']['params']['count'] = '20';
-$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
-$lang->block->default['full']['my']['4']['block'] = 'statistic';
-$lang->block->default['full']['my']['4']['source'] = 'project';
-$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
+$lang->block->default['full']['my']['4']['block'] = 'statistic';
+$lang->block->default['full']['my']['4']['source'] = 'project';
+$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['params']['count'] = '20';
$lang->block->default['full']['my']['5']['title'] = 'Personal Contribution';
$lang->block->default['full']['my']['5']['block'] = 'contribute';
@@ -336,7 +341,7 @@ $lang->block->availableBlocks->issue = 'My Issues';
$lang->block->moduleList['project'] = 'Project';
$lang->block->moduleList['product'] = $lang->productCommon;
-$lang->block->moduleList['execution'] = $lang->executionCommon;
+$lang->block->moduleList['execution'] = $lang->execution->common;
$lang->block->moduleList['qa'] = 'QA';
$lang->block->moduleList['todo'] = 'Việc làm';
@@ -376,9 +381,9 @@ $lang->block->modules['product']->availableBlocks->release = 'Phát hành';
$lang->block->modules['execution'] = new stdclass();
$lang->block->modules['execution']->availableBlocks = new stdclass();
-$lang->block->modules['execution']->availableBlocks->statistic = $lang->executionCommon . ' thống';
-$lang->block->modules['execution']->availableBlocks->overview = $lang->executionCommon . ' xem';
-$lang->block->modules['execution']->availableBlocks->list = $lang->executionCommon . ' danh sách';
+$lang->block->modules['execution']->availableBlocks->statistic = $lang->execution->common . ' thống';
+$lang->block->modules['execution']->availableBlocks->overview = $lang->execution->common . ' xem';
+$lang->block->modules['execution']->availableBlocks->list = $lang->execution->common . ' danh sách';
$lang->block->modules['execution']->availableBlocks->task = 'Nhiệm vụ';
$lang->block->modules['execution']->availableBlocks->build = 'Bản dựng';
@@ -494,7 +499,7 @@ $lang->block->typeList->execution['all'] = 'Tất cả';
$lang->block->typeList->execution['involved'] = 'Liên đới';
$lang->block->typeList->scrum['undone'] = 'Unfinished';
-$lang->block->typeList->scrum['doing'] = 'Ongoing中';
+$lang->block->typeList->scrum['doing'] = 'Ongoing';
$lang->block->typeList->scrum['all'] = 'All';
$lang->block->typeList->scrum['involved'] = 'Involved';
diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php
index f5f495cb7f..3e64786d70 100644
--- a/module/block/lang/zh-cn.php
+++ b/module/block/lang/zh-cn.php
@@ -148,6 +148,10 @@ $lang->block->default['scrum']['project']['2']['title'] = $lang->executionCommon
$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist';
$lang->block->default['scrum']['project']['2']['grid'] = 8;
+$lang->block->default['scrum']['project']['2']['params']['type'] = 'undone';
+$lang->block->default['scrum']['project']['2']['params']['count'] = '20';
+$lang->block->default['scrum']['project']['2']['params']['orderBy'] = 'id_desc';
+
$lang->block->default['scrum']['project']['3']['title'] = '待测版本';
$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest';
$lang->block->default['scrum']['project']['3']['grid'] = 8;
@@ -275,10 +279,11 @@ $lang->block->default['full']['my']['3']['grid'] = 4;
$lang->block->default['full']['my']['3']['source'] = 'todo';
$lang->block->default['full']['my']['3']['params']['count'] = '20';
-$lang->block->default['full']['my']['4']['title'] = '项目统计';
-$lang->block->default['full']['my']['4']['block'] = 'statistic';
-$lang->block->default['full']['my']['4']['source'] = 'project';
-$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['title'] = '项目统计';
+$lang->block->default['full']['my']['4']['block'] = 'statistic';
+$lang->block->default['full']['my']['4']['source'] = 'project';
+$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['params']['count'] = '20';
$lang->block->default['full']['my']['5']['title'] = '我的贡献';
$lang->block->default['full']['my']['5']['block'] = 'contribute';
@@ -336,7 +341,7 @@ $lang->block->availableBlocks->issue = '我的问题';
$lang->block->moduleList['project'] = '项目';
$lang->block->moduleList['product'] = $lang->productCommon;
-$lang->block->moduleList['execution'] = $lang->executionCommon;
+$lang->block->moduleList['execution'] = $lang->execution->common;
$lang->block->moduleList['qa'] = '测试';
$lang->block->moduleList['todo'] = '待办';
@@ -376,9 +381,9 @@ $lang->block->modules['product']->availableBlocks->release = '发布列表';
$lang->block->modules['execution'] = new stdclass();
$lang->block->modules['execution']->availableBlocks = new stdclass();
-$lang->block->modules['execution']->availableBlocks->statistic = $lang->executionCommon . '统计';
-$lang->block->modules['execution']->availableBlocks->overview = $lang->executionCommon . '总览';
-$lang->block->modules['execution']->availableBlocks->list = $lang->executionCommon . '列表';
+$lang->block->modules['execution']->availableBlocks->statistic = $lang->execution->common . '统计';
+$lang->block->modules['execution']->availableBlocks->overview = $lang->execution->common . '总览';
+$lang->block->modules['execution']->availableBlocks->list = $lang->execution->common . '列表';
$lang->block->modules['execution']->availableBlocks->task = '任务列表';
$lang->block->modules['execution']->availableBlocks->build = '版本列表';
diff --git a/module/block/lang/zh-tw.php b/module/block/lang/zh-tw.php
index d34104f983..57f33b61a6 100644
--- a/module/block/lang/zh-tw.php
+++ b/module/block/lang/zh-tw.php
@@ -148,6 +148,10 @@ $lang->block->default['scrum']['project']['2']['title'] = $lang->executionCommon
$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist';
$lang->block->default['scrum']['project']['2']['grid'] = 8;
+$lang->block->default['scrum']['project']['2']['params']['type'] = 'undone';
+$lang->block->default['scrum']['project']['2']['params']['count'] = '20';
+$lang->block->default['scrum']['project']['2']['params']['orderBy'] = 'id_desc';
+
$lang->block->default['scrum']['project']['3']['title'] = '待測版本';
$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest';
$lang->block->default['scrum']['project']['3']['grid'] = 8;
@@ -275,10 +279,11 @@ $lang->block->default['full']['my']['3']['grid'] = 4;
$lang->block->default['full']['my']['3']['source'] = 'todo';
$lang->block->default['full']['my']['3']['params']['count'] = '20';
-$lang->block->default['full']['my']['4']['title'] = '項目統計';
-$lang->block->default['full']['my']['4']['block'] = 'statistic';
-$lang->block->default['full']['my']['4']['source'] = 'project';
-$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['title'] = '項目統計';
+$lang->block->default['full']['my']['4']['block'] = 'statistic';
+$lang->block->default['full']['my']['4']['source'] = 'project';
+$lang->block->default['full']['my']['4']['grid'] = 8;
+$lang->block->default['full']['my']['4']['params']['count'] = '20';
$lang->block->default['full']['my']['5']['title'] = '我的貢獻';
$lang->block->default['full']['my']['5']['block'] = 'contribute';
@@ -336,7 +341,7 @@ $lang->block->availableBlocks->issue = '我的問題';
$lang->block->moduleList['project'] = '項目';
$lang->block->moduleList['product'] = $lang->productCommon;
-$lang->block->moduleList['execution'] = $lang->executionCommon;
+$lang->block->moduleList['execution'] = $lang->execution->common;
$lang->block->moduleList['qa'] = '測試';
$lang->block->moduleList['todo'] = '待辦';
@@ -376,9 +381,9 @@ $lang->block->modules['product']->availableBlocks->release = '發佈列表';
$lang->block->modules['execution'] = new stdclass();
$lang->block->modules['execution']->availableBlocks = new stdclass();
-$lang->block->modules['execution']->availableBlocks->statistic = $lang->executionCommon . '統計';
-$lang->block->modules['execution']->availableBlocks->overview = $lang->executionCommon . '總覽';
-$lang->block->modules['execution']->availableBlocks->list = $lang->executionCommon . '列表';
+$lang->block->modules['execution']->availableBlocks->statistic = $lang->execution->common . '統計';
+$lang->block->modules['execution']->availableBlocks->overview = $lang->execution->common . '總覽';
+$lang->block->modules['execution']->availableBlocks->list = $lang->execution->common . '列表';
$lang->block->modules['execution']->availableBlocks->task = '任務列表';
$lang->block->modules['execution']->availableBlocks->build = '版本列表';
diff --git a/module/block/view/admin.html.php b/module/block/view/admin.html.php
index c29ae1392f..5c46b3f9ff 100644
--- a/module/block/view/admin.html.php
+++ b/module/block/view/admin.html.php
@@ -42,5 +42,6 @@ include '../../common/view/chosen.html.php';
block->of);?>
+title) ? $block->title : '');?>
diff --git a/module/block/view/projectblock.html.php b/module/block/view/projectblock.html.php
index f23e7b4c79..b40b243a19 100644
--- a/module/block/view/projectblock.html.php
+++ b/module/block/view/projectblock.html.php
@@ -34,7 +34,7 @@
teamCount;?>
consumed . ' ' . $lang->execution->workHourUnit;?>
- app->getClientLang(), ['zh-cn','zh-tw']) && $project->budget >= 10000 ? number_format($project->budget / 10000, 1) . $this->lang->project->tenThousand : number_format((float)$project->budget, 1);?>
+ app->getClientLang(), ['zh-cn','zh-tw']) ? number_format((float)$project->budget / 10000, 2) . $this->lang->project->tenThousand : number_format((float)$project->budget, 2);?>
budget != 0 ? zget($lang->project->currencySymbol, $project->budgetUnit) . ' ' . $programBudget : $lang->project->future;?>
leftStories;?>
leftTasks;?>
diff --git a/module/block/view/projectdynamicblock.html.php b/module/block/view/projectdynamicblock.html.php
index e89f1118ce..f60048f555 100644
--- a/module/block/view/projectdynamicblock.html.php
+++ b/module/block/view/projectdynamicblock.html.php
@@ -1,6 +1,10 @@
diff --git a/module/bug/control.php b/module/bug/control.php
index 878bbcf32d..b26f0d792a 100644
--- a/module/bug/control.php
+++ b/module/bug/control.php
@@ -288,8 +288,6 @@ class bug extends control
{
if(empty($this->products)) $this->locate($this->createLink('product', 'create'));
- $this->qa->setMenu($this->products, $productID);
-
/* Unset discarded types. */
foreach($this->config->bug->discardedTypes as $type) unset($this->lang->bug->typeList[$type]);
@@ -297,7 +295,18 @@ class bug extends control
$extras = str_replace(array(',', ' '), array('&', ''), $extras);
parse_str($extras, $output);
- if(isset($output['executionID'])) $this->loadModel('execution')->setMenu($output['executionID']);
+ if($this->app->openApp == 'execution')
+ {
+ $this->loadModel('execution')->setMenu($output['executionID']);
+ }
+ else if($this->app->openApp == 'project')
+ {
+ $this->loadModel('project')->setMenu($output['projectID']);
+ }
+ else
+ {
+ $this->qa->setMenu($this->products, $productID);
+ }
foreach($output as $paramKey => $paramValue)
{
@@ -376,7 +385,7 @@ class bug extends control
{
$location = $this->createLink('execution', 'bug', "executionID={$output['executionID']}");
}
- if(isset($output['projectID']))
+ elseif(isset($output['projectID']))
{
$location = $this->createLink('project', 'bug', "projectID={$output['projectID']}");
}
@@ -496,7 +505,7 @@ class bug extends control
/* Get products and projects. */
$products = $this->products;
- $projects = array('' => '');
+ $projects = array(0 => '');
if($projectID)
{
$products = array();
diff --git a/module/bug/view/view.html.php b/module/bug/view/view.html.php
index c29b5dd96c..ef08f4fd74 100644
--- a/module/bug/view/view.html.php
+++ b/module/bug/view/view.html.php
@@ -31,7 +31,7 @@
block->emptyTip;?>
+
block->allExecutions;?>
- createLink('project', 'all', 'status=all')?>
+ createLink('project', 'execution')?>
total ? html::a($projectLink, $summary->total) : 0;?>
- product}&branch={$bug->branch}&extra=moduleID={$bug->module}", "" . $lang->bug->create, '', "class='btn btn-primary'"); ?>
+ product}&branch={$bug->branch}&extra=moduleID={$bug->module},projectID={$bug->project},executionID={$bug->execution}", "" . $lang->bug->create, '', "class='btn btn-primary'"); ?>
@@ -67,7 +67,7 @@
id";
- $copyParams = "productID=$productID&branch=$bug->branch&extras=bugID=$bug->id";
+ $copyParams = "productID=$productID&branch=$bug->branch&extras=bugID=$bug->id,projectID={$bug->project},executionID={$bug->execution}";
$convertParams = "productID=$productID&branch=$bug->branch&moduleID=0&from=bug&bugID=$bug->id";
?>
diff --git a/module/build/control.php b/module/build/control.php
index bd64606a2e..e1ed16505b 100644
--- a/module/build/control.php
+++ b/module/build/control.php
@@ -56,6 +56,11 @@ class build extends control
$this->execution->setMenu($executionID);
$this->session->set('project', $execution->project);
}
+ elseif($this->app->openApp == 'qa')
+ {
+ $execution = $this->execution->getByID($executionID);
+ $executions = $this->execution->getPairs($execution->project);
+ }
$productGroups = $this->execution->getProducts($executionID);
$productID = $productID ? $productID : key($productGroups);
diff --git a/module/caselib/view/browse.html.php b/module/caselib/view/browse.html.php
index b63964542c..ab7cd2412e 100644
--- a/module/caselib/view/browse.html.php
+++ b/module/caselib/view/browse.html.php
@@ -60,6 +60,7 @@ js::set('flow', $config->global->flow);
" . $lang->caselib->exportTemplet, '', "class='btn btn-link export' data-width='35%'");?>
" . $lang->testcase->fileImport, '', "class='btn btn-link export'");?>
+ createLink('caselib', 'create'), $lang->caselib->create, '', 'class="btn btn-secondary"');?>
dividerMenu = ',devops,system,';
$lang->mainNav->menuOrder[5] = 'my';
if($config->systemMode == 'new') $lang->mainNav->menuOrder[10] = 'program';
$lang->mainNav->menuOrder[15] = 'product';
-$lang->mainNav->menuOrder[20] = 'project';
+if($config->systemMode == 'new') $lang->mainNav->menuOrder[20] = 'project';
$lang->mainNav->menuOrder[21] = 'execution';
$lang->mainNav->menuOrder[23] = 'qa';
$lang->mainNav->menuOrder[25] = 'devops';
@@ -50,12 +50,12 @@ $lang->mainNav->menuOrder[50] = 'admin';
$lang->my->menu = new stdclass();
$lang->my->menu->index = array('link' => "$lang->dashboard|my|index");
$lang->my->menu->calendar = array('link' => "$lang->calendar|my|calendar|", 'subModule' => 'todo', 'alias' => 'todo');
-$lang->my->menu->work = array('link' => "{$lang->my->work}|my|work|mode=task");
+$lang->my->menu->work = array('link' => "{$lang->my->work}|my|work|mode=task", 'subModule' => 'task');
if($config->systemMode == 'new') $lang->my->menu->project = array('link' => "{$lang->project->common}|my|project|");
$lang->my->menu->execution = array('link' => "{$lang->execution->common}|my|execution|type=undone");
$lang->my->menu->contribute = array('link' => "$lang->contribute|my|contribute|mode=task");
$lang->my->menu->dynamic = array('link' => "$lang->dynamic|my|dynamic|");
-$lang->my->menu->score = array('link' => "{$lang->score->shortCommon}|my|score|", 'subModule' => 'score');
+if($config->systemScore) $lang->my->menu->score = array('link' => "{$lang->score->shortCommon}|my|score|", 'subModule' => 'score');
$lang->my->menu->contacts = array('link' => "$lang->contact|my|managecontacts|");
/* My menu order. */
@@ -71,7 +71,7 @@ $lang->my->menuOrder[45] = 'score';
$lang->my->menuOrder[50] = 'contacts';
$lang->my->menu->work['subMenu'] = new stdclass();
-$lang->my->menu->work['subMenu']->task = "{$lang->task->common}|my|work|mode=task";
+$lang->my->menu->work['subMenu']->task = array('link' => "{$lang->task->common}|my|work|mode=task", 'subModule' => 'task');
if($config->URAndSR) $lang->my->menu->work['subMenu']->requirement = "$lang->URCommon|my|work|mode=requirement";
$lang->my->menu->work['subMenu']->story = "$lang->SRCommon|my|work|mode=story";
$lang->my->menu->work['subMenu']->bug = "{$lang->bug->common}|my|work|mode=bug";
@@ -168,7 +168,7 @@ $lang->product->dividerMenu = $config->URAndSR ? ',requirement,set,' : ',track,s
/* Project menu. */
$lang->project->homeMenu = new stdclass();
-$lang->project->homeMenu->browse = array('link' => ($config->systemMode == 'new' ? $lang->project->list : $lang->executionCommon) . '|project|browse|', 'alias' => 'batchedit');
+$lang->project->homeMenu->browse = array('link' => ($config->systemMode == 'new' ? $lang->project->list : $lang->executionCommon) . '|project|browse|', 'alias' => 'batchedit,create');
$lang->project->dividerMenu = ',execution,programplan,doc,dynamic,';
@@ -178,12 +178,11 @@ $lang->scrum->menu->index = array('link' => "{$lang->dashboard}|project|inde
$lang->scrum->menu->execution = array('link' => "$lang->executionCommon|project|execution|projectID=%s");
$lang->scrum->menu->story = array('link' => "$lang->SRCommon|projectstory|story|projectID=%s", 'subModule' => 'projectstory', 'alias' => 'story,track');
$lang->scrum->menu->doc = array('link' => "{$lang->doc->common}|doc|objectLibs|type=project&objectID=%s", 'subModule' => 'doc');
-$lang->scrum->menu->qa = array('link' => "{$lang->qa->common}|project|qa|projectID=%s", 'subModule' => 'testcase,testtask,bug', 'alias' => 'bug,testtask,testcase');
+$lang->scrum->menu->qa = array('link' => "{$lang->qa->common}|project|bug|projectID=%s", 'subModule' => 'testcase,testtask,bug,testreport', 'alias' => 'bug,testtask,testcase,testreport');
$lang->scrum->menu->devops = array('link' => "{$lang->repo->common}|repo|browse|repoID=0&branchID=&objectID=%s", 'subModule' => 'repo');
$lang->scrum->menu->build = array('link' => "{$lang->build->common}|project|build|project=%s");
$lang->scrum->menu->release = array('link' => "{$lang->release->common}|projectrelease|browse|project=%s", 'subModule' => 'projectrelease');
$lang->scrum->menu->dynamic = array('link' => "$lang->dynamic|project|dynamic|project=%s");
-$lang->scrum->menu->other = array('link' => "$lang->other|issue|browse|project=%s", 'class' => 'dropdown dropdown-hover');
$lang->scrum->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist');
/* Scrum menu order. */
@@ -195,15 +194,15 @@ $lang->scrum->menuOrder[25] = 'devops';
$lang->scrum->menuOrder[30] = 'doc';
$lang->scrum->menuOrder[35] = 'build';
$lang->scrum->menuOrder[40] = 'release';
-$lang->scrum->menuOrder[45] = 'other';
$lang->scrum->menuOrder[48] = 'dynamic';
$lang->scrum->menuOrder[50] = 'settings';
$lang->scrum->menu->qa['subMenu'] = new stdclass();
-$lang->scrum->menu->qa['subMenu']->index = array('link' => "$lang->dashboard|project|qa|projectID=%s");
-$lang->scrum->menu->qa['subMenu']->bug = array('link' => "{$lang->bug->common}|project|bug|projectID=%s", 'subModule' => 'bug');
-$lang->scrum->menu->qa['subMenu']->testcase = array('link' => "{$lang->testcase->shortCommon}|project|testcase|projectID=%s", 'subModule' => 'testsuite,testcase,caselib,tree');
-$lang->scrum->menu->qa['subMenu']->testtask = array('link' => "{$lang->testtask->common}|project|testtask|projectID=%s", 'subModule' => 'testtask', 'class' => 'dropdown dropdown-hover');
+//$lang->scrum->menu->qa['subMenu']->index = array('link' => "$lang->dashboard|project|qa|projectID=%s");
+$lang->scrum->menu->qa['subMenu']->bug = array('link' => "{$lang->bug->common}|project|bug|projectID=%s", 'subModule' => 'bug');
+$lang->scrum->menu->qa['subMenu']->testcase = array('link' => "{$lang->testcase->shortCommon}|project|testcase|projectID=%s", 'subModule' => 'testsuite,testcase,caselib,tree');
+$lang->scrum->menu->qa['subMenu']->testtask = array('link' => "{$lang->testtask->common}|project|testtask|projectID=%s", 'subModule' => 'testtask', 'class' => 'dropdown dropdown-hover');
+$lang->scrum->menu->qa['subMenu']->testreport = array('link' => "{$lang->testreport->common}|project|testreport|projectID=%s", 'subModule' => 'testreport');
$lang->scrum->menu->settings['subMenu'] = new stdclass();
$lang->scrum->menu->settings['subMenu']->view = array('link' => "$lang->overview|project|view|project=%s", 'alias' => 'edit');
@@ -213,54 +212,6 @@ $lang->scrum->menu->settings['subMenu']->whitelist = array('link' => "{$lang->
$lang->scrum->menu->settings['subMenu']->stakeholder = array('link' => "{$lang->stakeholder->common}|stakeholder|browse|project=%s", 'subModule' => 'stakeholder');
$lang->scrum->menu->settings['subMenu']->group = array('link' => "{$lang->priv}|project|group|project=%s", 'alias' => 'group,manageview,managepriv');
-/* Waterfall menu. */
-$lang->waterfall->menu = new stdclass();
-$lang->waterfall->menu->index = array('link' => "$lang->dashboard|project|index|project=%s");
-$lang->waterfall->menu->programplan = array('link' => "{$lang->productplan->shortCommon}|programplan|browse|project=%s", 'subModule' => 'programplan');
-$lang->waterfall->menu->doc = array('link' => "{$lang->doc->common}|doc|objectLibs|type=project&objectID=%s");
-$lang->waterfall->menu->story = array('link' => "$lang->SRCommon|projectstory|story|project=%s", 'subModule' => 'projectstory');
-$lang->waterfall->menu->design = array('link' => "$lang->design|design|browse|project=%s");
-$lang->waterfall->menu->devops = array('link' => "{$lang->repo->common}|repo|browse|repoID=0&branchID=&objectID=%s", 'subModule' => 'repo');
-$lang->waterfall->menu->track = array('link' => "$lang->track|projectstory|track", 'alias' => 'track');
-$lang->waterfall->menu->qa = array('link' => "{$lang->qa->common}|project|qa|projectID=%s", 'subModule' => 'testcase,testtask,bug', 'alias' => 'bug,testtask,testcase');
-$lang->waterfall->menu->release = array('link' => "{$lang->release->common}|projectrelease|browse|project=%s", 'subModule' => 'projectrelease');
-$lang->waterfall->menu->build = array('link' => "{$lang->build->common}|project|build|project=%s");
-$lang->waterfall->menu->dynamic = array('link' => "$lang->dynamic|project|dynamic|project=%s");
-$lang->waterfall->menu->other = array('link' => "$lang->other|workestimation|index|project=%s", 'class' => 'dropdown dropdown-hover');
-$lang->waterfall->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist');
-
-/* Waterfall menu order. */
-$lang->waterfall->menuOrder[5] = 'index';
-$lang->waterfall->menuOrder[15] = 'programplan';
-$lang->waterfall->menuOrder[20] = 'projectstory';
-$lang->waterfall->menuOrder[25] = 'design';
-$lang->waterfall->menuOrder[30] = 'ci';
-$lang->waterfall->menuOrder[35] = 'track';
-$lang->waterfall->menuOrder[38] = 'review';
-$lang->waterfall->menuOrder[39] = 'cm';
-$lang->waterfall->menuOrder[40] = 'qa';
-$lang->waterfall->menuOrder[45] = 'doc';
-$lang->waterfall->menuOrder[50] = 'build';
-$lang->waterfall->menuOrder[55] = 'projectrelease';
-$lang->waterfall->menuOrder[60] = 'weekly';
-$lang->waterfall->menuOrder[65] = 'other';
-$lang->waterfall->menuOrder[68] = 'dynamic';
-$lang->waterfall->menuOrder[70] = 'projectsetting';
-
-$lang->waterfall->menu->qa['subMenu'] = new stdclass();
-$lang->waterfall->menu->qa['subMenu']->index = array('link' => "$lang->dashboard|project|qa|projectID=%s");
-$lang->waterfall->menu->qa['subMenu']->bug = array('link' => "{$lang->bug->common}|project|bug|projectID=%s", 'subModule' => 'bug');
-$lang->waterfall->menu->qa['subMenu']->testcase = array('link' => "{$lang->testcase->shortCommon}|project|testcase|projectID=%s", 'subModule' => 'testsuite,testcase,caselib');
-$lang->waterfall->menu->qa['subMenu']->testtask = array('link' => "{$lang->testtask->common}|project|testtask|projectID=%s", 'subModule' => 'testtask', 'class' => 'dropdown dropdown-hover');
-
-$lang->waterfall->menu->other['dropMenu'] = new stdclass();
-$lang->waterfall->menu->other['dropMenu']->estimation = array('link' => "$lang->estimation|workestimation|index|projectID=%s", 'subModule' => 'workestimation,durationestimation,budget');
-$lang->waterfall->menu->other['dropMenu']->issue = array('link' => "$lang->issue|issue|browse|projectID=%s", 'subModule' => 'issue');
-$lang->waterfall->menu->other['dropMenu']->risk = array('link' => "$lang->risk|risk|browse|projectID=%s", 'subModule' => 'risk');
-
-$lang->waterfall->menu->devops = $lang->scrum->menu->devops;
-$lang->waterfall->menu->settings = $lang->scrum->menu->settings;
-
/* Execution menu. */
$lang->execution->homeMenu = new stdclass();
$lang->execution->homeMenu->index = "$lang->dashboard|execution|index|";
@@ -272,7 +223,7 @@ $lang->execution->menu->kanban = array('link' => "$lang->kanban|execution|kanb
$lang->execution->menu->burn = array('link' => "$lang->burn|execution|burn|executionID=%s");
$lang->execution->menu->view = array('link' => "$lang->view|execution|grouptask|executionID=%s", 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
$lang->execution->menu->story = array('link' => "$lang->SRCommon|execution|story|executionID=%s", 'subModule' => 'story', 'alias' => 'batchcreate,linkstory,storykanban');
-$lang->execution->menu->qa = array('link' => "{$lang->qa->common}|execution|qa|executionID=%s", 'subModule' => 'bug,testcase,testtask,testreport', 'alias' => 'qa,bug,testcase,testtask,testreport');
+$lang->execution->menu->qa = array('link' => "{$lang->qa->common}|execution|bug|executionID=%s", 'subModule' => 'bug,testcase,testtask,testreport', 'alias' => 'qa,bug,testcase,testtask,testreport');
$lang->execution->menu->devops = array('link' => "{$lang->repo->common}|repo|browse|repoID=0&branchID=&objectID=%s", 'subModule' => 'repo');
$lang->execution->menu->doc = array('link' => "{$lang->doc->common}|doc|objectLibs|type=execution&objectID=%s", 'subModule' => 'doc');
$lang->execution->menu->build = array('link' => "{$lang->build->common}|execution|build|executionID=%s", 'subModule' => 'build');
@@ -299,11 +250,11 @@ $lang->execution->menu->view['subMenu']->groupTask = "$lang->groupView|execution
$lang->execution->menu->view['subMenu']->tree = "$lang->treeView|execution|tree|executionID=%s";
$lang->execution->menu->qa['subMenu'] = new stdclass();
-$lang->execution->menu->qa['subMenu']->qa = array('link' => "$lang->dashboard|execution|qa|executionID=%s");
+//$lang->execution->menu->qa['subMenu']->qa = array('link' => "$lang->dashboard|execution|qa|executionID=%s");
$lang->execution->menu->qa['subMenu']->bug = array('link' => "{$lang->bug->common}|execution|bug|executionID=%s", 'subModule' => 'bug');
$lang->execution->menu->qa['subMenu']->testcase = array('link' => "{$lang->testcase->shortCommon}|execution|testcase|executionID=%s", 'alias' => 'create');
$lang->execution->menu->qa['subMenu']->testtask = array('link' => "{$lang->testtask->common}|execution|testtask|executionID=%s", 'subModule' => 'testtask');
-$lang->execution->menu->qa['subMenu']->testreport = array('link' => "{$lang->testreport->common}|execution|testreport|browse|exeutionID=%s", 'subModule' => 'testreport');
+$lang->execution->menu->qa['subMenu']->testreport = array('link' => "{$lang->testreport->common}|execution|testreport|exeutionID=%s", 'subModule' => 'testreport');
$lang->execution->menu->qa['menuOrder'][5] = 'qa';
$lang->execution->menu->qa['menuOrder'][10] = 'bug';
@@ -321,29 +272,24 @@ $lang->execution->dividerMenu = ',story,build,settings,';
/* QA menu.*/
$lang->qa->menu = new stdclass();
$lang->qa->menu->index = array('link' => "$lang->dashboard|qa|index");
-$lang->qa->menu->bug = array('link' => "{$lang->bug->common}|bug|browse|productID=%s", 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,batchactivate,confirmbug,assignto');
-$lang->qa->menu->testcase = array('link' => "{$lang->testcase->shortCommon}|testcase|browse|productID=%s", 'subModule' => 'testsuite,caselib');
-$lang->qa->menu->testtask = array('link' => "{$lang->testtask->common}|testtask|browse|productID=%s", 'subModule' => 'testreport', 'alias' => 'view,edit,linkcase,cases,start,close,batchrun,groupcase,report,importunitresult');
-$lang->qa->menu->automation = array('link' => "{$lang->automation->common}|automation|browse|productID=%s", 'alias' => '');
+$lang->qa->menu->bug = array('link' => "{$lang->bug->common}|bug|browse|productID=%s", 'subModule' => 'bug');
+$lang->qa->menu->testcase = array('link' => "{$lang->testcase->shortCommon}|testcase|browse|productID=%s", 'subModule' => 'testcase,story');
+$lang->qa->menu->testsuite = array('link' => "{$lang->testcase->testsuite}|testsuite|browse|productID=%s", 'subModule' => 'testsuite');
+$lang->qa->menu->testtask = array('link' => "{$lang->testtask->common}|testtask|browse|productID=%s", 'subModule' => 'testtask', 'alias' => 'view,edit,linkcase,cases,start,close,batchrun,groupcase,report,importunitresult');
+$lang->qa->menu->report = array('link' => "{$lang->testreport->common}|testreport|browse|productID=%s", 'subModule' => 'testreport');
+$lang->qa->menu->caselib = array('link' => "{$lang->testcase->caselib}|caselib|browse|libID=0", 'subModule' => 'caselib');
+$lang->qa->menu->automation = array('link' => "{$lang->automation->common}|automation|browse|productID=%s", 'subModule' => 'automation', 'alias' => '');
/* QA menu order. */
$lang->qa->menuOrder[5] = 'product';
$lang->qa->menuOrder[10] = 'index';
$lang->qa->menuOrder[15] = 'bug';
$lang->qa->menuOrder[20] = 'testcase';
-$lang->qa->menuOrder[25] = 'testtask';
-$lang->qa->menuOrder[30] = 'report';
-$lang->qa->menuOrder[35] = 'testsuite';
+$lang->qa->menuOrder[25] = 'testsuite';
+$lang->qa->menuOrder[30] = 'testtask';
+$lang->qa->menuOrder[35] = 'report';
$lang->qa->menuOrder[40] = 'caselib';
-
-$lang->qa->menu->testcase['subMenu'] = new stdclass();
-$lang->qa->menu->testcase['subMenu']->case = array('link' => "{$lang->testcase->case}|testcase|browse|productID=%s", 'subModule' => 'testcase,story');
-$lang->qa->menu->testcase['subMenu']->caselib = array('link' => "{$lang->testcase->caselib}|caselib|browse|libID=0", 'subModule' => 'caselib');
-$lang->qa->menu->testcase['subMenu']->testsuite = array('link' => "{$lang->testcase->testsuite}|testsuite|browse|productID=%s", 'subModule' => 'testsuite');
-
-$lang->qa->menu->testtask['subMenu'] = new stdclass();
-$lang->qa->menu->testtask['subMenu']->testtask = array('link' => "{$lang->testtask->common}|testtask|browse|productID=%s", 'subModule' => 'testtask', 'alias' => 'linkcase,cases,start,close,batchrun,groupcase,report,importunitresult');
-$lang->qa->menu->testtask['subMenu']->report = array('link' => "{$lang->testreport->common}|testreport|browse|productID=%s", 'subModule' => 'testreport');
+$lang->qa->menuOrder[45] = 'automation';
// $lang->qa->menu->automation['subMenu'] = new stdclass();
// $lang->qa->menu->automation['subMenu']->browse = array('link' => "{$lang->intro}|automation|browse|productID=%s", 'alias' => '');
@@ -352,6 +298,8 @@ $lang->qa->menu->testtask['subMenu']->report = array('link' => "{$lang->testre
// $lang->qa->menu->automation['subMenu']->interface = array('link' => '接口|automation|interface|productID=%s', 'alias' => '');
// $lang->qa->menu->automation['subMenu']->environment = array('link' => '环境|automation|environment|productID=%s', 'alias' => '');
+$lang->qa->dividerMenu = ',bug,testtask,caselib,';
+
/* DevOps menu. */
$lang->devops->menu = new stdclass();
$lang->devops->menu->code = array('link' => "{$lang->repo->common}|repo|browse|repoID=%s", 'alias' => 'diff,view,revision,log,blame,showsynccomment');
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php
index 24a50dce40..aa0fc9cc2c 100644
--- a/module/common/lang/zh-cn.php
+++ b/module/common/lang/zh-cn.php
@@ -140,7 +140,7 @@ $lang->system->common = '组织';
$lang->admin->common = '后台';
$lang->task->common = '任务';
$lang->bug->common = 'Bug';
-$lang->testcase->common = '测试用例';
+$lang->testcase->common = '用例';
$lang->testtask->common = '测试单';
$lang->score->common = '我的积分';
$lang->build->common = '版本';
diff --git a/module/common/model.php b/module/common/model.php
index ccce48f175..142ed53a0f 100644
--- a/module/common/model.php
+++ b/module/common/model.php
@@ -689,7 +689,18 @@ class commonModel extends model
$subLink = helper::createLink($subModule, $subMethod, $subParams);
$subActive = '';
+ $activeMainMenu = false;
if($currentModule == strtolower($subModule) && $currentMethod == strtolower($subMethod))
+ {
+ $activeMainMenu = true;
+ }
+ else
+ {
+ $subModule = isset($dropMenuItem['subModule']) ? explode(',', $dropMenuItem['subModule']) : array();
+ if($subModule and in_array($currentModule, $subModule) and strpos(",$exclude,", ",$currentModule-$currentMethod,") === false) $activeMainMenu = true;
+ }
+
+ if($activeMainMenu)
{
$activeMenu = $dropMenuName;
$active = 'active';
@@ -1761,6 +1772,7 @@ EOD;
if(!commonModel::hasDBPriv($object, $module, $method)) return false;
if(empty($acls['views'])) return true;
+ $menu = isset($lang->navGroup->$module) ? $lang->navGroup->$module : $module;
$menu = strtolower($menu);
if($menu != 'qa' and !isset($lang->$menu->menu)) return true;
if($menu == 'my' or $menu == 'index' or $module == 'tree') return true;
diff --git a/module/cron/model.php b/module/cron/model.php
index 6690222c3b..80ca922866 100644
--- a/module/cron/model.php
+++ b/module/cron/model.php
@@ -35,6 +35,7 @@ class cronModel extends model
return $this->dao->select('*')->from(TABLE_CRON)
->where('1=1')
->beginIF(strpos($params, 'nostop') !== false)->andWhere('status')->ne('stop')->fi()
+ ->beginIF(!isset($this->config->maxVersion))->andWhere('command')->notlike("%moduleName=weekly&%")->fi()
->fetchAll('id');
}
diff --git a/module/custom/control.php b/module/custom/control.php
index 1a9126e3d9..c3ce006d2f 100644
--- a/module/custom/control.php
+++ b/module/custom/control.php
@@ -284,8 +284,8 @@ class custom extends control
if($moduleName == 'doc')
{
- unset($requiredFields['createLib']);
- unset($requiredFields['editLib']);
+ unset($requiredFields['createlib']);
+ unset($requiredFields['editlib']);
}
$this->view->title = $this->lang->custom->required;
diff --git a/module/execution/control.php b/module/execution/control.php
index d011d3b05a..497205d68b 100644
--- a/module/execution/control.php
+++ b/module/execution/control.php
@@ -947,10 +947,11 @@ class execution extends control
}
/**
- * Execution case list.
+ * List of test reports for the execution.
*
* @param int $executionID
- * @param string $type
+ * @param string $objectType project|execution|product
+ * @param string $extra
* @param string $orderBy
* @param int $recTotal
* @param int $recPerPage
@@ -958,9 +959,9 @@ class execution extends control
* @access public
* @return void
*/
- public function testreport($executionID = 0, $objectID = 0, $objectType = 'product', $extra = '', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
+ public function testreport($executionID = 0, $objectType = 'execution', $extra = '', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
-
+ echo $this->fetch('testreport', 'browse', "objectID=$executionID&objectType=$objectType&extra=$extra&orderBy=$orderBy&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID");
}
/**
@@ -1038,9 +1039,11 @@ class execution extends control
public function testtask($executionID = 0, $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
$this->loadModel('testtask');
+ $this->app->loadLang('testreport');
/* Save session. */
$this->session->set('testtaskList', $this->app->getURI(true), 'execution');
+ $this->session->set('buildList', $this->app->getURI(true), 'execution');
$execution = $this->commonAction($executionID);
$executionID = $execution->id;
@@ -1191,6 +1194,7 @@ class execution extends control
{
if($this->app->openApp == 'project')
{
+ if(!empty($copyExecutionID)) $projectID = $this->dao->select('project')->from(TABLE_EXECUTION)->where('id')->eq($copyExecutionID)->fetch('project');
$project = $this->project->getByID($projectID);
$model = $project->model;
@@ -2570,7 +2574,7 @@ class execution extends control
$executionGroups = $this->dao->select('*')->from(TABLE_EXECUTION)
->where('id')->in($this->app->user->view->sprints)
->andWhere('deleted')->eq(0)
- ->andWhere('project')->in(array_keys($projects))
+ ->beginIF($this->config->systemMode == 'new')->andWhere('project')->in(array_keys($projects))->fi()
->orderBy('id_desc')
->fetchGroup('project', 'id');
@@ -2579,15 +2583,29 @@ class execution extends control
->andWhere('type')->eq('execution')
->fetchGroup('root', 'account');
- foreach($projects as $project)
+ if($this->config->systemMode == 'new')
{
- $executions = zget($executionGroups, $project->id, array());
-
- foreach($executions as $execution)
+ foreach($projects as $project)
{
- if(isset($orderedExecutions[$execution->parent])) unset($orderedExecutions[$execution->parent]);
- $execution->teams = zget($teams, $execution->id, array());
- $orderedExecutions[$execution->id] = $execution;
+ $executions = zget($executionGroups, $project->id, array());
+
+ foreach($executions as $execution)
+ {
+ if(isset($orderedExecutions[$execution->parent])) unset($orderedExecutions[$execution->parent]);
+ $execution->teams = zget($teams, $execution->id, array());
+ $orderedExecutions[$execution->id] = $execution;
+ }
+ }
+ }
+ else
+ {
+ foreach($executionGroups as $projectID => $executions)
+ {
+ foreach($executions as $execution)
+ {
+ $execution->teams = zget($teams, $execution->id, array());
+ $orderedExecutions[$execution->id] = $execution;
+ }
}
}
diff --git a/module/execution/lang/zh-cn.php b/module/execution/lang/zh-cn.php
index bd0830d890..c7c591195a 100644
--- a/module/execution/lang/zh-cn.php
+++ b/module/execution/lang/zh-cn.php
@@ -198,9 +198,9 @@ $lang->execution->deleteAB = "删除执行";
$lang->execution->browse = "浏览执行";
$lang->execution->list = "{$lang->executionCommon}列表";
$lang->execution->edit = "编辑{$lang->executionCommon}";
-$lang->execution->editAB = "编辑执行";
+$lang->execution->editAction = "编辑执行";
$lang->execution->batchEdit = "编辑";
-$lang->execution->batchEditAB = "批量编辑";
+$lang->execution->batchEditAction = "批量编辑";
$lang->execution->manageMembers = '团队管理';
$lang->execution->unlinkMember = '移除成员';
$lang->execution->unlinkStory = "移除{$lang->SRCommon}";
@@ -220,6 +220,7 @@ $lang->execution->importPlanStory = '创建' . $lang->executionCommon . '成
$lang->execution->iteration = '版本迭代';
$lang->execution->iterationInfo = '迭代%s次';
$lang->execution->viewAll = '查看所有';
+$lang->execution->testreport = '测试报告';
/* 分组浏览。*/
$lang->execution->allTasks = '所有';
diff --git a/module/execution/model.php b/module/execution/model.php
index 48e4b95cbc..acbc4c350e 100644
--- a/module/execution/model.php
+++ b/module/execution/model.php
@@ -305,7 +305,7 @@ class executionModel extends model
->setDefault('openedVersion', $this->config->version)
->setDefault('lastEditedBy', $this->app->user->account)
->setDefault('lastEditedDate', helper::now())
- ->setDefault('team', substr($this->post->name,0, 30))
+ ->setDefault('team', substr($this->post->name, 0, 30))
->setIF($this->config->systemMode == 'new', 'parent', $this->post->project)
->setIF($this->post->acl == 'open', 'whitelist', '')
->join('whitelist', ',')
@@ -1810,7 +1810,6 @@ class executionModel extends model
$bugToTasks = fixer::input('post')->get();
$bugs = $this->bug->getByList(array_keys($bugToTasks->import));
- $projectID = $this->loadModel('task')->getProjectID($executionID);
foreach($bugToTasks->import as $key => $value)
{
$bug = zget($bugs, $key, '');
@@ -1818,7 +1817,7 @@ class executionModel extends model
$task = new stdClass();
$task->bug = $bug;
- $task->project = $projectID;
+ $task->project = $execution->project;
$task->execution = $executionID;
$task->story = $bug->story;
$task->storyVersion = $bug->storyVersion;
@@ -2236,7 +2235,8 @@ class executionModel extends model
->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.root = t2.id')
->where('t1.account')->eq($account)
->andWhere('t1.root')->ne($currentExecution)
- ->andWhere('t1.type')->eq($execution->type)
+ ->andWhere('t1.type')->eq('execution')
+ ->andWhere('t2.project')->eq($execution->project)
->andWhere('t2.deleted')->eq('0')
->groupBy('t1.root')
->orderBy('t1.root DESC')
@@ -2273,7 +2273,7 @@ class executionModel extends model
public function manageMembers($executionID)
{
$execution = $this->getByID($executionID);
- $data = (array)fixer::input('post')->get();
+ $data = (array)fixer::input('post')->get();
extract($data);
$executionType = strpos('sprint|stage', $execution->type) !== false ? 'execution' : $execution->type;
@@ -2372,7 +2372,9 @@ class executionModel extends model
public function unlinkMember($sprintID, $account)
{
$sprint = $this->getByID($sprintID);
- $this->dao->delete()->from(TABLE_TEAM)->where('root')->eq((int)$sprintID)->andWhere('type')->eq($sprint->type)->andWhere('account')->eq($account)->exec();
+ $type = ($sprint->type == 'stage' || $sprint->type == 'sprint') ? 'execution' : $sprint->type;
+
+ $this->dao->delete()->from(TABLE_TEAM)->where('root')->eq((int)$sprintID)->andWhere('type')->eq($type)->andWhere('account')->eq($account)->exec();
$this->updateUserView($sprintID, 'sprint', array($account));
/* Remove team members from the sprint or stage, and determine whether to remove team members from the execution. */
@@ -2386,9 +2388,9 @@ class executionModel extends model
->fetch();
if(empty($teamMember))
{
- $this->dao->delete()->from(TABLE_TEAM)->where('root')->eq($sprint->execution)->andWhere('type')->eq('execution')->andWhere('account')->eq($account)->exec();
- $this->loadModel('user')->updateUserView($sprint->execution, 'execution', array($account));
- $linkedProducts = $this->loadModel('product')->getProductPairsByProject($sprint->execution);
+ $this->dao->delete()->from(TABLE_TEAM)->where('root')->eq($sprint->project)->andWhere('type')->eq('project')->andWhere('account')->eq($account)->exec();
+ $this->loadModel('user')->updateUserView($sprint->project, 'project', array($account));
+ $linkedProducts = $this->loadModel('product')->getProductPairsByProject($sprint->project);
if(!empty($linkedProducts)) $this->user->updateUserView(array_keys($linkedProducts), 'product', array($account));
}
}
diff --git a/module/execution/view/ajaxgetdropmenu.html.php b/module/execution/view/ajaxgetdropmenu.html.php
index 99180c3099..4765518eff 100644
--- a/module/execution/view/ajaxgetdropmenu.html.php
+++ b/module/execution/view/ajaxgetdropmenu.html.php
@@ -21,7 +21,7 @@ $executionsPinYin = common::convert2Pinyin($executionNames);
foreach($executions as $execution)
{
$selected = $execution->id == $executionID ? 'selected' : '';
- $executionName = zget($projects, $execution->project) . '/' . $execution->name;
+ $executionName = $config->systemMode == 'new' ? zget($projects, $execution->project) . '/' . $execution->name : $execution->name;
if($execution->status != 'done' and $execution->status != 'closed' and ($execution->PM == $this->app->user->account or isset($execution->teams[$this->app->user->account])))
{
$myProjectsHtml .= html::a(sprintf($link, $execution->id), " " . $executionName, '', "class='text-important $selected' title='{$executionName}' data-key='" . zget($executionsPinYin, $execution->name, '') . "'");
diff --git a/module/execution/view/bug.html.php b/module/execution/view/bug.html.php
index 237622c1bb..59eac32b7a 100644
--- a/module/execution/view/bug.html.php
+++ b/module/execution/view/bug.html.php
@@ -104,7 +104,7 @@
id";
+ $params = "bugID=$bug->id,executionID={$execution->id}";
common::printIcon('bug', 'confirmBug', $params, $bug, 'list', 'ok', '', 'iframe', true);
common::printIcon('bug', 'resolve', $params, $bug, 'list', 'checked', '', 'iframe', true);
common::printIcon('bug', 'close', $params, $bug, 'list', '', '', 'iframe', true);
diff --git a/module/execution/view/burn.html.php b/module/execution/view/burn.html.php
index 139885286b..71da19f850 100644
--- a/module/execution/view/burn.html.php
+++ b/module/execution/view/burn.html.php
@@ -28,9 +28,11 @@
if(common::canModify('execution', $execution)) common::printLink('execution', 'fixFirst', "execution=$execution->id", $lang->execution->fixFirst, '', "class='btn btn-link iframe' data-width='700'");
echo $lang->execution->howToUpdateBurn;
?>
+ systemMode == 'new'):?>
@@ -100,15 +99,14 @@
id", $task, 'list', 'sitemap');
- common::printIcon('testtask', 'linkCase', "taskID=$task->id", $task, 'list', 'link');
- common::printIcon('testreport', 'browse', "objectID=$task->product&objectType=product&extra=$task->id", $task, 'list','flag');
- common::printIcon('testtask', 'edit', "taskID=$task->id", $task, 'list');
- if(common::hasPriv('testtask', 'delete', $task))
+ common::printIcon('testtask', 'cases', "taskID=$task->id", $task, 'list', 'sitemap');
+ common::printIcon('testtask', 'linkCase', "taskID=$task->id", $task, 'list', 'link');
+ if(common::hasPriv('execution', 'testreport'))
{
- $deleteURL = $this->createLink('testtask', 'delete', "taskID=$task->id&confirm=yes");
- echo html::a("javascript:ajaxDelete(\"$deleteURL\", \"taskList\", confirmDelete)", '', '', "class='btn' title='{$lang->testtask->delete}'");
+ echo html::a($this->createLink('testreport', 'browse', "objectID=$task->product&objectType=product&extra=$task->id"), '', '', 'class="btn " title="' . $lang->testreport->browse . '" data-app="qa"');
}
+ common::printIcon('testtask', 'edit', "taskID=$task->id", $task, 'list');
+ common::printIcon('testtask', 'delete', "taskID=$task->id", $task, 'list', 'trash', 'hiddenwin');
}
?>
@@ -132,7 +130,7 @@
execution->burnByList, $burnBy, "class='form-control chosen'");?>
+
diff --git a/module/execution/view/linkstory.html.php b/module/execution/view/linkstory.html.php
index ee8c0c38de..9af9d97bd0 100644
--- a/module/execution/view/linkstory.html.php
+++ b/module/execution/view/linkstory.html.php
@@ -18,7 +18,7 @@
@@ -40,7 +39,7 @@
execution->linkStory;?>
- app->rawModule == 'execution'):?>
+ app->rawModule == 'execution' and $config->systemMode == 'new'):?>
execution->linkAllStoryTip;?>
diff --git a/module/execution/view/testtask.html.php b/module/execution/view/testtask.html.php
index f94b99b5a2..bc1c6c43c6 100644
--- a/module/execution/view/testtask.html.php
+++ b/module/execution/view/testtask.html.php
@@ -29,8 +29,7 @@
-
- project", " " . $lang->testtask->create, '', "class='btn btn-primary'");?>
+ project", " " . $lang->testtask->create, '', "class='btn btn-primary'");?>
testtask->noTesttask;?> - createLink('testtask', 'create', "product=0&execution=$executionID"), " " . $lang->testtask->create, '', "class='btn btn-info'");?> + createLink('testtask', 'create', "product=0&execution=$executionID"), " " . $lang->testtask->create, '', "class='btn btn-info' data-app='execution'");?>
createLink('testreport', 'browse', "objectID=$executionID&objctType=execution");
+ $actionLink = $this->createLink('execution', 'testreport', "objectID=$executionID&objctType=execution");
$misc = common::hasPriv('testreport', 'browse') ? "onclick=\"setFormAction('$actionLink', '', '#testtaskForm')\"" : "disabled='disabled'";
echo html::commonButton($lang->testreport->common, $misc);
?>
diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php
index 21a2bb1159..3400b3411d 100644
--- a/module/group/lang/resource.php
+++ b/module/group/lang/resource.php
@@ -211,7 +211,6 @@ if($config->systemMode == 'new')
$lang->resource->project->addWhitelist = 'addWhitelist';
$lang->resource->project->unbindWhitelist = 'unbindWhitelist';
$lang->resource->project->manageProducts = 'manageProducts';
- $lang->resource->project->view = 'view';
$lang->resource->project->dynamic = 'dynamic';
$lang->resource->project->build = 'build';
$lang->resource->project->qa = 'qa';
@@ -255,7 +254,8 @@ if($config->systemMode == 'new')
$lang->project->methodOrder[150] = 'testcase';
$lang->project->methodOrder[155] = 'testtask';
$lang->project->methodOrder[160] = 'execution';
- $lang->project->methodOrder[165] = 'export';
+ $lang->project->methodOrder[165] = 'testreport';
+ $lang->project->methodOrder[170] = 'export';
$lang->project->methodOrder[175] = 'createGuide';
$lang->resource->projectbuild = new stdclass();
@@ -442,7 +442,7 @@ $lang->resource->story->batchChangeStage = 'batchChangeStage';
$lang->resource->story->batchAssignTo = 'batchAssignTo';
$lang->resource->story->batchChangeModule = 'batchChangeModule';
$lang->resource->story->batchToTask = 'batchToTask';
-$lang->resource->story->track = 'track';
+$lang->resource->story->track = 'trackAB';
$lang->resource->story->processStoryChange = 'processStoryChange';
$lang->story->methodOrder[5] = 'create';
@@ -537,8 +537,8 @@ $lang->resource->execution->index = 'index';
$lang->resource->execution->view = 'view';
$lang->resource->execution->browse = 'browse';
$lang->resource->execution->create = 'createExec';
-$lang->resource->execution->edit = 'editAB';
-$lang->resource->execution->batchedit = 'batchEditAB';
+$lang->resource->execution->edit = 'editAction';
+$lang->resource->execution->batchedit = 'batchEditAction';
$lang->resource->execution->start = 'startAction';
$lang->resource->execution->activate = 'activateAction';
$lang->resource->execution->putoff = 'delayAction';
@@ -552,11 +552,11 @@ $lang->resource->execution->importplanstories = 'importPlanStories';
$lang->resource->execution->importBug = 'importBug';
$lang->resource->execution->story = 'story';
$lang->resource->execution->build = 'build';
-$lang->resource->execution->qa = 'qa';
-$lang->resource->execution->testtask = 'testtaskAction';
+//$lang->resource->execution->qa = 'qa';
+$lang->resource->execution->testtask = 'testtask';
$lang->resource->execution->testcase = 'testcase';
$lang->resource->execution->bug = 'bug';
-//$lang->resource->execution->testreport = 'testreport';
+$lang->resource->execution->testreport = 'testreport';
$lang->resource->execution->burn = 'burn';
$lang->resource->execution->computeBurn = 'computeBurnAction';
$lang->resource->execution->fixFirst = 'fixFirst';
@@ -585,7 +585,7 @@ $lang->resource->execution->storyKanban = 'storyKanban';
$lang->resource->execution->storySort = 'storySort';
$lang->resource->execution->whitelist = 'whitelist';
$lang->resource->execution->addWhitelist = 'addWhitelist';
-$lang->resource->execution->unbindWhitelist = 'unbindWhitelist';
+$lang->resource->execution->unbindWhitelist = 'unbindWhitelist';
//if($config->systemMode == 'classic') $lang->resource->project->list = 'list';
//$lang->execution->methodOrder[0] = 'index';
diff --git a/module/index/css/index.css b/module/index/css/index.css
index b9766ee0c6..3a4e82a8d8 100644
--- a/module/index/css/index.css
+++ b/module/index/css/index.css
@@ -53,8 +53,9 @@ body.menu-hide {padding-left: 0;}
#bars {position: absolute; left: 0; top: 0; bottom: 0; padding: 0 5px;}
#bars > li {padding: 8px 2px;}
#bars > li > a {height: 24px; color: #000; padding: 2px 8px; line-height: 20px; border-radius: 2px;}
-#bars > li > a:hover, #bars > li > a:active, #bars > li > a:focus {background: #16a8f8;}
-#bars > li.active > a, #bars > li.active > a:active, #bars > li.active > a:focus {font-weight: 600; border-bottom: 2px solid #16a8f8;}
+#bars > li.active > a {background: #fff!important;}
+#bars > li > a:hover, #bars > li > a:active, #bars > li > a:focus {background: #16a8f8!important; color: #fff;}
+#bars > li.active > a > span, #bars > li.active > a:active > span, #bars > li.active > a:focus > span {padding-bottom: 2px; font-weight: 600; border-bottom: 2px solid #16a8f8;}
#bars > li.active:after {content: ' '; display: block; position: absolute; height: 3px; left: 5px; right: 5px; bottom: 0; border-radius: 2px;}
#bars > li.divider{margin-right: 5px; margin-top: 10px; height: 20px; border-right: 1px solid #d9d9d9;}
diff --git a/module/index/js/index.js b/module/index/js/index.js
index 09cc085a75..e7a35349cd 100644
--- a/module/index/js/index.js
+++ b/module/index/js/index.js
@@ -229,7 +229,7 @@
var $link= $('')
.attr('data-app', appCode)
.attr('class', 'show-in-app')
- .html(app.text);
+ .html('' + app.text + '');
var barCount = $('#bars li').length;
if(barCount) $bar = $('').appendTo($bars);
diff --git a/module/my/lang/de.php b/module/my/lang/de.php
index 7c946d94c5..ba6886e58e 100644
--- a/module/my/lang/de.php
+++ b/module/my/lang/de.php
@@ -79,7 +79,8 @@ $lang->my->form->lblAccount = 'Account Info';
$lang->my->programLink = 'Program Default Page';
$lang->my->productLink = 'Product Default Page';
$lang->my->projectLink = 'Project Default Page';
-$lang->my->executionLink = 'Execution Default Page';
+if($config->systemMode == 'classic') $lang->my->executionLink = $lang->executionCommon . ' Default Page';
+if($config->systemMode == 'new') $lang->my->executionLink = 'Execution Default Page';
$lang->my->programLinkList = array();
$lang->my->programLinkList['program-browse'] = 'By default, you go to the program list, where you can view all of the programs';
@@ -98,6 +99,10 @@ $lang->my->projectLinkList['project-execution'] = 'Go to Project-Exection by def
$lang->my->projectLinkList['project-index'] = 'By default, go to the most recent project dashboard to see the current project overview';
$lang->my->executionLinkList = array();
+if($config->systemMode == 'new')
+{
$lang->my->executionLinkList['execution-index'] = 'Enter the execution dashboard by default, you can understand all the execution statistics and overview';
$lang->my->executionLinkList['execution-all'] = 'Enter the execution list by default, you can view all executions';
$lang->my->executionLinkList['execution-task'] = 'By default, enter the list of the most recently executed task, and you can view the task information under the current iteration';
+}
+if($config->systemMode == 'classic') $lang->my->executionLinkList['execution-task'] = "By default, enter the list of the most recently {$lang->executionCommon} task, and you can view the task information under the current {$lang->executionCommon}";
diff --git a/module/my/lang/en.php b/module/my/lang/en.php
index 7c946d94c5..ba6886e58e 100644
--- a/module/my/lang/en.php
+++ b/module/my/lang/en.php
@@ -79,7 +79,8 @@ $lang->my->form->lblAccount = 'Account Info';
$lang->my->programLink = 'Program Default Page';
$lang->my->productLink = 'Product Default Page';
$lang->my->projectLink = 'Project Default Page';
-$lang->my->executionLink = 'Execution Default Page';
+if($config->systemMode == 'classic') $lang->my->executionLink = $lang->executionCommon . ' Default Page';
+if($config->systemMode == 'new') $lang->my->executionLink = 'Execution Default Page';
$lang->my->programLinkList = array();
$lang->my->programLinkList['program-browse'] = 'By default, you go to the program list, where you can view all of the programs';
@@ -98,6 +99,10 @@ $lang->my->projectLinkList['project-execution'] = 'Go to Project-Exection by def
$lang->my->projectLinkList['project-index'] = 'By default, go to the most recent project dashboard to see the current project overview';
$lang->my->executionLinkList = array();
+if($config->systemMode == 'new')
+{
$lang->my->executionLinkList['execution-index'] = 'Enter the execution dashboard by default, you can understand all the execution statistics and overview';
$lang->my->executionLinkList['execution-all'] = 'Enter the execution list by default, you can view all executions';
$lang->my->executionLinkList['execution-task'] = 'By default, enter the list of the most recently executed task, and you can view the task information under the current iteration';
+}
+if($config->systemMode == 'classic') $lang->my->executionLinkList['execution-task'] = "By default, enter the list of the most recently {$lang->executionCommon} task, and you can view the task information under the current {$lang->executionCommon}";
diff --git a/module/my/lang/fr.php b/module/my/lang/fr.php
index 7c946d94c5..ba6886e58e 100644
--- a/module/my/lang/fr.php
+++ b/module/my/lang/fr.php
@@ -79,7 +79,8 @@ $lang->my->form->lblAccount = 'Account Info';
$lang->my->programLink = 'Program Default Page';
$lang->my->productLink = 'Product Default Page';
$lang->my->projectLink = 'Project Default Page';
-$lang->my->executionLink = 'Execution Default Page';
+if($config->systemMode == 'classic') $lang->my->executionLink = $lang->executionCommon . ' Default Page';
+if($config->systemMode == 'new') $lang->my->executionLink = 'Execution Default Page';
$lang->my->programLinkList = array();
$lang->my->programLinkList['program-browse'] = 'By default, you go to the program list, where you can view all of the programs';
@@ -98,6 +99,10 @@ $lang->my->projectLinkList['project-execution'] = 'Go to Project-Exection by def
$lang->my->projectLinkList['project-index'] = 'By default, go to the most recent project dashboard to see the current project overview';
$lang->my->executionLinkList = array();
+if($config->systemMode == 'new')
+{
$lang->my->executionLinkList['execution-index'] = 'Enter the execution dashboard by default, you can understand all the execution statistics and overview';
$lang->my->executionLinkList['execution-all'] = 'Enter the execution list by default, you can view all executions';
$lang->my->executionLinkList['execution-task'] = 'By default, enter the list of the most recently executed task, and you can view the task information under the current iteration';
+}
+if($config->systemMode == 'classic') $lang->my->executionLinkList['execution-task'] = "By default, enter the list of the most recently {$lang->executionCommon} task, and you can view the task information under the current {$lang->executionCommon}";
diff --git a/module/my/lang/vi.php b/module/my/lang/vi.php
index 7c946d94c5..ba6886e58e 100644
--- a/module/my/lang/vi.php
+++ b/module/my/lang/vi.php
@@ -79,7 +79,8 @@ $lang->my->form->lblAccount = 'Account Info';
$lang->my->programLink = 'Program Default Page';
$lang->my->productLink = 'Product Default Page';
$lang->my->projectLink = 'Project Default Page';
-$lang->my->executionLink = 'Execution Default Page';
+if($config->systemMode == 'classic') $lang->my->executionLink = $lang->executionCommon . ' Default Page';
+if($config->systemMode == 'new') $lang->my->executionLink = 'Execution Default Page';
$lang->my->programLinkList = array();
$lang->my->programLinkList['program-browse'] = 'By default, you go to the program list, where you can view all of the programs';
@@ -98,6 +99,10 @@ $lang->my->projectLinkList['project-execution'] = 'Go to Project-Exection by def
$lang->my->projectLinkList['project-index'] = 'By default, go to the most recent project dashboard to see the current project overview';
$lang->my->executionLinkList = array();
+if($config->systemMode == 'new')
+{
$lang->my->executionLinkList['execution-index'] = 'Enter the execution dashboard by default, you can understand all the execution statistics and overview';
$lang->my->executionLinkList['execution-all'] = 'Enter the execution list by default, you can view all executions';
$lang->my->executionLinkList['execution-task'] = 'By default, enter the list of the most recently executed task, and you can view the task information under the current iteration';
+}
+if($config->systemMode == 'classic') $lang->my->executionLinkList['execution-task'] = "By default, enter the list of the most recently {$lang->executionCommon} task, and you can view the task information under the current {$lang->executionCommon}";
diff --git a/module/my/lang/zh-cn.php b/module/my/lang/zh-cn.php
index 474d3c1dbd..c218a31b51 100644
--- a/module/my/lang/zh-cn.php
+++ b/module/my/lang/zh-cn.php
@@ -86,7 +86,8 @@ $lang->my->form->lblAccount = '帐号信息';
$lang->my->programLink = '项目集默认着陆页';
$lang->my->productLink = '产品默认着陆页';
$lang->my->projectLink = '项目默认着陆页';
-$lang->my->executionLink = '执行默认着陆页';
+if($config->systemMode == 'classic') $lang->my->executionLink = $lang->executionCommon . '默认着陆页';
+if($config->systemMode == 'new') $lang->my->executionLink = '执行默认着陆页';
$lang->my->programLinkList = array();
$lang->my->programLinkList['program-browse'] = '默认进入项目集列表,可以查看所有的项目集';
@@ -105,6 +106,10 @@ $lang->my->projectLinkList['project-execution'] = '默认进入项目下所有
$lang->my->projectLinkList['project-index'] = '默认进入最近一个项目仪表盘,可以查看当前项目概况';
$lang->my->executionLinkList = array();
-$lang->my->executionLinkList['execution-index'] = '默认进入执行仪表盘,可以了解所有执行的统计数据和概况';
-$lang->my->executionLinkList['execution-all'] = '默认进入执行列表,可以查看所有的执行';
-$lang->my->executionLinkList['execution-task'] = '默认进入最近一个执行的任务列表,可以查看当前迭代下的任务信息';
+if($config->systemMode == 'new')
+{
+ $lang->my->executionLinkList['execution-task'] = '默认进入最近一个执行的任务列表,可以查看当前迭代下的任务信息';
+ $lang->my->executionLinkList['execution-index'] = '默认进入执行仪表盘,可以了解所有执行的统计数据和概况';
+ $lang->my->executionLinkList['execution-all'] = '默认进入执行列表,可以查看所有的执行';
+}
+if($config->systemMode == 'classic') $lang->my->executionLinkList['execution-task'] = "默认进入最近一个{$lang->executionCommon}的任务列表,可以查看当前{$lang->executionCommon}下的任务信息";
diff --git a/module/my/view/bug.html.php b/module/my/view/bug.html.php
index f8fff37170..0a2a9d6fe1 100644
--- a/module/my/view/bug.html.php
+++ b/module/my/view/bug.html.php
@@ -124,8 +124,8 @@
common::printIcon('bug', 'confirmBug', $params, $bug, 'list', 'ok', '', 'iframe', true, '', '', $bug->project);
common::printIcon('bug', 'resolve', $params, $bug, 'list', 'checked', '', 'iframe', true, '', '', $bug->project);
common::printIcon('bug', 'close', $params, $bug, 'list', '', '', 'iframe', true, '', '', $bug->project);
- common::printIcon('bug', 'edit', $params, $bug, 'list', '', '', '', '', '', '', $bug->project);
- common::printIcon('bug', 'create', "product=$bug->product&branch=$bug->branch&extra=$params", $bug, 'list', 'copy', '', '', '', '', '', $bug->project);
+ common::printIcon('bug', 'edit', $params, $bug, 'list', '', '', 'iframe', true, "data-width='95%'", '', $bug->project);
+ common::printIcon('bug', 'create', "product=$bug->product&branch=$bug->branch&extra=$params", $bug, 'list', 'copy', '', 'iframe', true, "data-width='95%'", '', $bug->project);
}
?>
diff --git a/module/my/view/doc.html.php b/module/my/view/doc.html.php
index 035a071eeb..596bde78c9 100644
--- a/module/my/view/doc.html.php
+++ b/module/my/view/doc.html.php
@@ -16,7 +16,7 @@
- createLink('doc', 'view', "docID=$doc->id&version=0&from={$lang->navGroup->doc}"), " " . $doc->title, '', "title={$doc->title}");?>
+ createLink('doc', 'view', "docID=$doc->id&version=0&from={$lang->navGroup->doc}", '', true), " " . $doc->title, '', "title={$doc->title} class='iframe' data-width='90%'");?>
fileSize ? $doc->fileSize : '-';?>
addedBy);?>
@@ -60,7 +60,7 @@
id&objectType=doc");?>" title="" class='btn btn-link ajaxCollect'>
- id&comment=false&from={$lang->navGroup->doc}", "", '', "title='{$lang->edit}' class='btn btn-link'")?>
+ id&comment=false&from={$lang->navGroup->doc}", "", '', "title='{$lang->edit}' class='btn btn-link iframe'", true, true)?>
id&confirm=no&from={$lang->navGroup->doc}", "", 'hiddenwin', "title='{$lang->delete}' class='btn btn-link'")?>
diff --git a/module/my/view/preference.html.php b/module/my/view/preference.html.php
index 34462f4885..4929e5905c 100755
--- a/module/my/view/preference.html.php
+++ b/module/my/view/preference.html.php
@@ -54,6 +54,11 @@ html,body {height: 100%;}
my->projectLink;?>
my->projectLinkList, $projectLink, "class='form-control chosen'");?>
+
+
+ my->executionLink;?>
+ my->executionLinkList, 'execution-task', "class='form-control chosen'");?>
+
{$pager->recTotal}";
- echo html::a(inlink($app->rawMethod, "mode=doc&type=openedbyme"), "{$lang->doc->openedByMe}" . ($type == 'openedbyme' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'openedbyme' ? ' btn-active-text' : '') . "'");
+ echo html::a(inlink($app->rawMethod, "mode=doc&type=openedbyme"), "{$lang->doc->openedByMe}" . ($type == 'openedbyme' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'openedbyme' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=doc&type=editedbyme"), "{$lang->doc->editedByMe}" . ($type == 'editedbyme' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'editedbyme' ? ' btn-active-text' : '') . "'");
?>
@@ -48,7 +48,7 @@
collector, ',' . $this->app->user->account . ',') !== false ? 'icon-star text-yellow' : 'icon-star-empty';?>
collector, ',' . $this->app->user->account . ',') !== false ? $lang->doc->cancelCollection : $lang->doc->collect;?>