This commit is contained in:
Yagami
2018-09-26 13:46:31 +08:00
62 changed files with 270 additions and 176 deletions
+53
View File
@@ -1,3 +1,56 @@
2018-09-25 10.4.stable
完成的需求
3298 详情页面还原我们之前的排版布局
3297 恢复浏览器默认的访问过链接的颜色功能
3296 搜索表单里面下拉菜单的选项不要用灰色
3295 列表页面的模块名称改用灰色显示
3172 项目日历的时间线太窄了。
3191 火狐下面组织视图日志批量选中编辑,页面为空
3186 重构添加用户页面的表单
3228 创建文档库库的时候能够根据当前选中的产品或者项目自动选中
3227 调整创建文档库时的表单宽度
3253 附件图标显示不正常
3293 调整整体的行间距
3292 1280下面屏幕不要出横向的滚动条
3291 还原页面右上角搜索的逻辑
3074 用户机器休眠登录失效后,重新刷新session
3119 编辑器不要出横向的滚动条
3122 操作区域图标分量过重
3127 垃圾筐图标换成x
3128 模块树缺少联系
3134 统计区块中,改成横向两行
3153 没有必要再额外增加小圆点
3158 去掉前面的首字母
3166 调整分组视图页面标题的长度
3167 分组查看页面左侧的分组需求控制在两行显示,统计信息控制在两行
3168 树状图查看的时候,类型标签不要如此突出
3169 树状图里面的模块标签去掉
3177 调整动态信息里面的组织方式
3180 组织浏览用户的时候部门没有高亮
3181 组织用户的待办和日志合并成日程
3183 用户所属的项目的表头对齐方式调整
3184 用户项目列表默认的排序修改。id字段和项目代号字段的对齐方式调整
3188 组织用户信息导航菜单不要这样宽
3189 批量添加用户页面系统登录密码字段缩短
3190 组织视图日志,菜单没有高亮,工作内容字段太短
3193 部门组织项目应当有间距
3194 权限列表页面新增分组也要突出
3206 去掉中间的线
3207 检查集成到然之里面的区块排版
3208 调整集成到然之里面的样式
3217 文档搜索之后标题做高亮
3242 bug提交页面点击加载所有用户之后用户下拉无法自动隐藏
3243 加载所有用户应当突出
3252 如果用户手工选择了通过,写结果的时候不要更新用例状态
3255 调整用例的编辑表单前置条件不用那么高表格不要换行
3256 调整创建测试套件的表单
3266 测试单关联用例的时候搜索表单需要都出现吗?
3269 任务列表将其他的视图单独出来一个菜单
3275 提升现有的接口机制
3151 调整详情页面操作按钮栏的交互规则
3150 详情页面返回按钮和上一个下一个偏弱
3149 黑色的感觉偏重了
2018-09-11 10.3.1
修复的Bug
1938 测试-bug,编辑bug,选择所属项目后,解决版本只能选择这个项目下的版本
+3 -3
View File
@@ -1,13 +1,13 @@
<?php
/**
* The config file of block module of RanZhi.
* The config file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @package block
* @version $Id$
* @link http://www.ranzhico.com
* @link http://www.zentao.net
*/
$config->block = new stdclass();
$config->block->version = 2;
+12 -8
View File
@@ -1,13 +1,13 @@
<?php
/**
* The en file of crm block module of RanZhi.
* The en file of crm block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
$lang->block = new stdclass();
$lang->block->common = 'Block';
@@ -367,20 +367,24 @@ $lang->block->typeList->testtask['blocked'] = 'Blocked';
$lang->block->typeList->testtask['done'] = 'Done';
$lang->block->typeList->testtask['all'] = 'All';
$lang->block->modules['product']->moreLinkList = new stdclass();
$lang->block->modules['product']->moreLinkList = new stdclass();
$lang->block->modules['product']->moreLinkList->list = 'product|all|product=&line=0&status=%s';
$lang->block->modules['product']->moreLinkList->story = 'my|story|type=%s';
$lang->block->modules['project']->moreLinkList = new stdclass();
$lang->block->modules['project']->moreLinkList = new stdclass();
$lang->block->modules['project']->moreLinkList->list = 'project|all|status=%s&project=';
$lang->block->modules['project']->moreLinkList->task = 'my|task|type=%s';
$lang->block->modules['qa']->moreLinkList = new stdclass();
$lang->block->modules['qa']->moreLinkList = new stdclass();
$lang->block->modules['qa']->moreLinkList->bug = 'my|bug|type=%s';
$lang->block->modules['qa']->moreLinkList->case = 'my|testcase|type=%s';
$lang->block->modules['qa']->moreLinkList->testtask = 'testtask|browse|type=%s';
$lang->block->modules['todo']->moreLinkList = new stdclass();
$lang->block->modules['todo']->moreLinkList = new stdclass();
$lang->block->modules['todo']->moreLinkList->list = 'my|todo|type=all';
$lang->block->modules['common'] = new stdclass();
$lang->block->modules['common']->moreLinkList = new stdclass();
$lang->block->modules['common'] = new stdclass();
$lang->block->modules['common']->moreLinkList = new stdclass();
$lang->block->modules['common']->moreLinkList->dynamic = 'company|dynamic|';
$lang->block->welcomeList['06:00'] = 'Good morning, %s';
+13 -9
View File
@@ -1,13 +1,13 @@
<?php
/**
* The zh-cn file of crm block module of RanZhi.
* The zh-cn file of crm block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
$lang->block = new stdclass();
$lang->block->common = '区块';
@@ -367,20 +367,24 @@ $lang->block->typeList->testtask['blocked'] = '阻塞版本';
$lang->block->typeList->testtask['done'] = '已测版本';
$lang->block->typeList->testtask['all'] = '全部';
$lang->block->modules['product']->moreLinkList = new stdclass();
$lang->block->modules['product']->moreLinkList = new stdclass();
$lang->block->modules['product']->moreLinkList->list = 'product|all|product=&line=0&status=%s';
$lang->block->modules['product']->moreLinkList->story = 'my|story|type=%s';
$lang->block->modules['project']->moreLinkList = new stdclass();
$lang->block->modules['project']->moreLinkList = new stdclass();
$lang->block->modules['project']->moreLinkList->list = 'project|all|status=%s&project=';
$lang->block->modules['project']->moreLinkList->task = 'my|task|type=%s';
$lang->block->modules['qa']->moreLinkList = new stdclass();
$lang->block->modules['qa']->moreLinkList = new stdclass();
$lang->block->modules['qa']->moreLinkList->bug = 'my|bug|type=%s';
$lang->block->modules['qa']->moreLinkList->case = 'my|testcase|type=%s';
$lang->block->modules['qa']->moreLinkList->testtask = 'testtask|browse|type=%s';
$lang->block->modules['todo']->moreLinkList = new stdclass();
$lang->block->modules['todo']->moreLinkList = new stdclass();
$lang->block->modules['todo']->moreLinkList->list = 'my|todo|type=all';
$lang->block->modules['common'] = new stdclass();
$lang->block->modules['common']->moreLinkList = new stdclass();
$lang->block->modules['common'] = new stdclass();
$lang->block->modules['common']->moreLinkList = new stdclass();
$lang->block->modules['common']->moreLinkList->dynamic = 'company|dynamic|';
$lang->block->welcomeList['06:00'] = '%s,早上好!';
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The zh-tw file of crm block module of RanZhi.
* The zh-tw file of crm block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青島易軟天創網絡科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
$lang->block = new stdclass();
$lang->block->common = '區塊';
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The admin view file of block module of RanZhi.
* The admin view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhico.com
* @link http://www.zentao.net
*/
?>
<?php
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The bug block view file of block module of RanZhi.
* The bug block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<?php if(empty($bugs)): ?>
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The build block view file of block module of RanZhi.
* The build block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<?php if(empty($builds)): ?>
+2 -2
View File
@@ -1,14 +1,14 @@
<?php
/**
* The case block view file of block module of RanZhi.
* The case block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<?php if(empty($cases)): ?>
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The dashboard view file of block module of RanZhi.
* The dashboard view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhico.com
* @link http://www.zentao.net
*/
if($extView = $this->getExtViewFile(__FILE__)){include $extView; return helper::cd();}
$webRoot = $config->webRoot;
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The list block view file of block module of RanZhi.
* The list block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<?php include "./{$module}block.html.php";?>
+1 -1
View File
@@ -7,7 +7,7 @@
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.pms
*/
$viewDir = dirname(__FILE__);
$file2Include = file_exists(dirname($viewDir) . "/ext/view/{$code}block.html.php") ? dirname($viewDir) . "/ext/view/{$code}block.html.php" : "{$viewDir}/{$code}block.html.php";
+1 -1
View File
@@ -1,6 +1,6 @@
<?php
/**
* The overview block view file of block module of RanZhi.
* The overview block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2018 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The plan block view file of block module of RanZhi.
* The plan block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<?php if(empty($plans)): ?>
@@ -1,6 +1,6 @@
<?php
/**
* The overview block view file of block module of RanZhi.
* The overview block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2018 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
@@ -35,13 +35,13 @@ html[lang="en"] .product-info .type-info {color: #A6AAB8; text-align: center; po
.block-statistic .tile {margin-bottom: 30px;}
.block-statistic .tile-title {font-size: 18px; color: #A6AAB8;}
.block-statistic .tile-amount {font-size: 48px; margin-bottom: 10px;}
.block-statistic .col-nav {border-left: 1px solid #EBF2FB; width: 260px; padding: 0;}
.block-statistic .col-nav {border-right: 1px solid #EBF2FB; width: 260px; padding: 0;}
.block-statistic .nav-secondary > li > a {font-size: 14px; color: #838A9D; position: relative; box-shadow: none; padding-left: 20px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; transition: all .2s;}
.block-statistic .nav-secondary > li.active > a {color: #3C4353; background: transparent; box-shadow: none;}
.block-statistic .nav-secondary > li.active > a:hover,
.block-statistic .nav-secondary > li.active > a:focus,
.block-statistic .nav-secondary > li > a:hover {box-shadow: none;}
.block-statistic .nav-secondary > li.active > a:before {content: ' '; display: block; left: -1px; top: 10px; bottom: 10px; width: 4px; background: #006af1; position: absolute;}
.block-statistic .nav-secondary > li > a:hover {box-shadow: none; border-radius: 4px 0 0 4px;}
.block-statistic .nav-secondary > li.active > a:before {content: ' '; display: block; right: -1px; top: 10px; bottom: 10px; width: 4px; background: #006af1; position: absolute;}
.block-statistic .nav-secondary > li.switch-icon {display: none;}
.block-statistic.block-sm .panel-body {padding-bottom: 10px; position: relative; padding-top: 45px;}
.block-statistic.block-sm .panel-body > .table-row,
@@ -87,6 +87,15 @@ $(function()
<p><span class="text-muted"><?php echo $lang->block->noData;?></span></p>
</div>
<?php else:?>
<div class="col col-nav">
<ul class="nav nav-stacked nav-secondary scrollbar-hover" id='<?php echo $blockNavId;?>'>
<li class='switch-icon prev'><a><i class='icon icon-arrow-left'></i></a></li>
<?php foreach($products as $product):?>
<li <?php if($product == reset($products)) echo "class='active'";?>><a href="javascript:;" data-target="#tab<?php echo $product->code;?>" data-toggle="tab" title='<?php echo $product->name;?>'><?php echo $product->name;?></a></li>
<?php endforeach;?>
<li class='switch-icon next'><a><i class='icon icon-arrow-right'></i></a></li>
</ul>
</div>
<div class="col tab-content">
<?php foreach($products as $product):?>
<div class="tab-pane fade <?php if($product == reset($products)) echo 'active';?> in" id="tab<?php echo $product->code;?>">
@@ -217,15 +226,6 @@ $(function()
</div>
<?php endforeach;?>
</div>
<div class="col col-nav">
<ul class="nav nav-stacked nav-secondary scrollbar-hover" id='<?php echo $blockNavId;?>'>
<li class='switch-icon prev'><a><i class='icon icon-arrow-left'></i></a></li>
<?php foreach($products as $product):?>
<li <?php if($product == reset($products)) echo "class='active'";?>><a href="javascript:;" data-target="#tab<?php echo $product->code;?>" data-toggle="tab" title='<?php echo $product->name;?>'><?php echo $product->name;?></a></li>
<?php endforeach;?>
<li class='switch-icon next'><a><i class='icon icon-arrow-right'></i></a></li>
</ul>
</div>
<?php endif;?>
</div>
</div>
@@ -1,6 +1,6 @@
<?php
/**
* The project overview block view file of block module of RanZhi.
* The project overview block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2018 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
@@ -22,13 +22,13 @@ html[lang="en"] .product-info .type-info {color: #A6AAB8; text-align: center; po
.block-statistic .tile {margin-bottom: 30px;}
.block-statistic .tile-title {font-size: 18px; color: #A6AAB8;}
.block-statistic .tile-amount {font-size: 48px; margin-bottom: 10px;}
.block-statistic .col-nav {border-left: 1px solid #EBF2FB; width: 260px; padding: 0;}
.block-statistic .col-nav {border-right: 1px solid #EBF2FB; width: 260px; padding: 0;}
.block-statistic .nav-secondary > li > a {font-size: 14px; color: #838A9D; position: relative; box-shadow: none; padding-left: 20px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; transition: all .2s;}
.block-statistic .nav-secondary > li.active > a {color: #3C4353; background: transparent; box-shadow: none;}
.block-statistic .nav-secondary > li.active > a:hover,
.block-statistic .nav-secondary > li.active > a:focus,
.block-statistic .nav-secondary > li > a:hover {box-shadow: none;}
.block-statistic .nav-secondary > li.active > a:before {content: ' '; display: block; left: -1px; top: 10px; bottom: 10px; width: 4px; background: #006af1; position: absolute;}
.block-statistic .nav-secondary > li > a:hover {box-shadow: none; border-radius: 4px 0 0 4px;}
.block-statistic .nav-secondary > li.active > a:before {content: ' '; display: block; right: -1px; top: 10px; bottom: 10px; width: 4px; background: #006af1; position: absolute;}
.block-statistic .nav-secondary > li.switch-icon {display: none;}
.block-statistic.block-sm .panel-body {padding-bottom: 10px; position: relative; padding-top: 45px; border-radius: 3px;}
.block-statistic.block-sm .panel-body > .table-row,
@@ -73,6 +73,15 @@ $(function()
<p><span class="text-muted"><?php echo $lang->block->noData;?></span></p>
</div>
<?php else:?>
<div class="col col-nav">
<ul class="nav nav-stacked nav-secondary scrollbar-hover" id='<?php echo $blockNavId;?>'>
<li class='switch-icon prev'><a><i class='icon icon-arrow-left'></i></a></li>
<?php foreach($projects as $project):?>
<li <?php if($project == reset($projects)) echo "class='active'";?>><a href="###" data-target="#tab3Content<?php echo $project->id;?>" data-toggle="tab"><?php echo $project->name;?></a></li>
<?php endforeach;?>
<li class='switch-icon next'><a><i class='icon icon-arrow-right'></i></a></li>
</ul>
</div>
<div class="col tab-content">
<?php foreach($projects as $project):?>
<div class="tab-pane fade<?php if($project == reset($projects)) echo ' active in';?>" id="tab3Content<?php echo $project->id;?>">
@@ -170,15 +179,6 @@ $(function()
</div>
<?php endforeach;?>
</div>
<div class="col col-nav">
<ul class="nav nav-stacked nav-secondary scrollbar-hover" id='<?php echo $blockNavId;?>'>
<li class='switch-icon prev'><a><i class='icon icon-arrow-left'></i></a></li>
<?php foreach($projects as $project):?>
<li <?php if($project == reset($projects)) echo "class='active'";?>><a href="###" data-target="#tab3Content<?php echo $project->id;?>" data-toggle="tab"><?php echo $project->name;?></a></li>
<?php endforeach;?>
<li class='switch-icon next'><a><i class='icon icon-arrow-right'></i></a></li>
</ul>
</div>
<?php endif;?>
</div>
</div>
+2 -2
View File
@@ -1,11 +1,11 @@
<?php
/**
* The project overview block view file of block module of RanZhi.
* The project overview block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2018 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Tingting Dai <daitingting@xirangit.com>
* @package block
* @package block
* @version $Id$
* @link http://www.zentao.net
*/
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The release block view file of block module of RanZhi.
* The release block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<?php if(empty($releases)): ?>
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The set view file of block module of RanZhi.
* The set view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhico.com
* @link http://www.zentao.net
*/
?>
<?php
+3 -3
View File
@@ -1,13 +1,13 @@
<?php
/**
* The setmodule view of block module of RanZhi.
* The setmodule view of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @package block
* @version $Id: html.php 7488 2013-12-26 07:26:10Z zhujinyong $
* @link http://www.ranzhico.com
* @link http://www.zentao.net
*/
?>
<?php
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The story block view file of block module of RanZhi.
* The story block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<?php if(empty($stories)): ?>
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The task block view file of block module of RanZhi.
* The task block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<?php if(empty($tasks)): ?>
+3 -3
View File
@@ -1,20 +1,20 @@
<?php
/**
* The testtask block view file of block module of RanZhi.
* The testtask block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<?php if(empty($testtasks)): ?>
<div class='empty-tip'><?php echo $lang->block->emptyTip;?></div>
<?php else:?>
<div class='panel-body has-table scrollbar-hover'>
<table class='table table-borderless table-hover table-fixed table-fixed-head tablesorter block-testtask table-fixed'>
<table class='table table-borderless table-hover table-fixed-head tablesorter block-testtask table-fixed'>
<thead>
<tr class='text-center'>
<?php if($longBlock):?>
+5 -5
View File
@@ -1,13 +1,13 @@
<?php
/**
* The todo block view file of block module of RanZhi.
* The todo block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
if(!$selfCall) die(include('./todolist.html.php'));
?>
@@ -73,7 +73,7 @@ if(!$selfCall) die(include('./todolist.html.php'));
<div class="col-sm-2"></div>
<div class="col-sm-10">
<div class="checkbox-primary">
<input type="checkbox" name="private" id="private" value="1">
<input type="checkbox" name="private" id="private" value="1">
<label for="private"><?php echo $lang->todo->private?></label>
</div>
</div>
@@ -124,7 +124,7 @@ if(!$selfCall) die(include('./todolist.html.php'));
$block.data('blockTodoes', 1);
var $form = $block.find('form');
var $titleInput = $form.find('[name="name"]');
var toggleForm = function(toggle)
{
if(toggle === undefined)
@@ -172,7 +172,7 @@ if(!$selfCall) die(include('./todolist.html.php'));
var $todoes = $(obj).closest('.block-todoes');
var $form = $(obj).closest('form');
var $name = $form.find("input[name='name']").val();
if($name == '')
if($name == '')
{
$("input[name='name']").addClass('has-error');
$('#nameLabel').remove();
+2 -2
View File
@@ -1,13 +1,13 @@
<?php
/**
* The story block view file of block module of RanZhi.
* The story block view file of block module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Yidong Wang <yidong@cnezsoft.com>
* @package block
* @version $Id$
* @link http://www.ranzhi.org
* @link http://www.zentao.net
*/
?>
<style>
+14 -2
View File
@@ -294,6 +294,8 @@ class bug extends control
$this->action->create('todo', $output['todoID'], 'finished', '', "BUG:$bugID");
}
if($this->viewType == 'json') $this->send(array('status' => 'success', 'data' => $bugID));
$location = $this->createLink('bug', 'browse', "productID={$this->post->product}&branch=$branch&type=byModule&param={$this->post->module}");
$response['locate'] = isset($_SESSION['bugList']) ? $this->session->bugList : $location;
$this->send($response);
@@ -577,7 +579,17 @@ class bug extends control
if($comment == false)
{
$changes = $this->bug->update($bugID);
if(dao::isError()) die(js::error(dao::getError()));
if(dao::isError())
{
if($this->viewType == 'json')
{
$this->send(array('status' => 'error', 'message' => dao::getError()));
}
else
{
die(js::error(dao::getError()));
}
}
$files = $this->loadModel('file')->saveUpload('bug', $bugID);
}
if($this->post->comment != '' or !empty($changes) or !empty($files))
@@ -588,7 +600,7 @@ class bug extends control
$actionID = $this->action->create('bug', $bugID, $action, $fileAction . $this->post->comment);
$this->action->logHistory($actionID, $changes);
}
if($this->viewType == 'json') $this->send(array('status' => 'success', 'data' => $bugID));
$bug = $this->bug->getById($bugID);
if($bug->toTask != 0)
{
+4 -4
View File
@@ -81,7 +81,7 @@ $lang->homepage = 'Set as Home';
$lang->tutorial = 'Tutorial';
$lang->changeLog = 'Change Log';
$lang->manual = 'Manual';
$lang->manualUrl = 'http://www.zentao.net/book/zentaopmshelp.html?fullScreen=zentao';
$lang->manualUrl = 'https://www.zentao.net/book/zentaopmshelp.html?fullScreen=zentao';
$lang->customMenu = 'Custom Menu';
$lang->customField = 'Custom Field';
$lang->lineNumber = 'Line No.';
@@ -372,7 +372,7 @@ $lang->admin->menu->safe = array('link' => 'Security|admin|safe', 'alias' =
$lang->admin->menu->cron = array('link' => 'Cron|cron|index', 'subModule' => 'cron');
$lang->admin->menu->trashes = array('link' => 'Recycle|action|trash', 'subModule' => 'action');
$lang->admin->menu->dev = array('link' => 'Develop|dev|api', 'alias' => 'db', 'subModule' => 'dev,editor');
$lang->admin->menu->entry = 'Entry|entry|browse';
$lang->admin->menu->entry = array('link' => 'Entry|entry|browse', 'subModule' => 'entry');
$lang->admin->menu->sso = 'Zdoo|admin|sso';
$lang->convert = new stdclass();
@@ -478,9 +478,9 @@ $lang->pager->previousPage = "Prev";
$lang->pager->nextPage = "Next";
$lang->pager->summery = "<strong>%s-%s</strong> of <strong>%s</strong>.";
$lang->proVersion = "<a href='http://api.zentao.net/goto.php?item=proversion&from=footer' target='_blank' id='proLink' class='text-important'>ZenTao Pro <i class='text-danger icon-pro-version'></i></a> &nbsp; ";
$lang->proVersion = "<a href='https://api.zentao.net/goto.php?item=proversion&from=footer' target='_blank' id='proLink' class='text-important'>ZenTao Pro <i class='text-danger icon-pro-version'></i></a> &nbsp; ";
$lang->downNotify = "Download Desktop Notification";
$lang->website = "http://www.zentao.net";
$lang->website = "https://www.zentao.net";
$lang->suhosinInfo = "Warning! Data is reaching the limit. Please change <font color=red>sohusin.post.max_vars</font> and <font color=red>sohusin.request.max_vars</font> (set larger %s value) in php.ini, then save and restart Apache or php-fpm, or some data will not be saved.";
$lang->maxVarsInfo = "Warning! Data is reaching the limit. Please change <font color=red>max_input_vars</font> (set larger %s value) in php.ini, then save and restart Apache or php-fpm, or some data will not be saved.";
+4 -4
View File
@@ -81,7 +81,7 @@ $lang->homepage = '设为模块首页';
$lang->tutorial = '新手教程';
$lang->changeLog = '修改日志';
$lang->manual = '手册';
$lang->manualUrl = 'http://www.zentao.net/book/zentaopmshelp.html?fullScreen=zentao';
$lang->manualUrl = 'https://www.zentao.net/book/zentaopmshelp.html?fullScreen=zentao';
$lang->customMenu = '自定义导航';
$lang->customField = '自定义表单项';
$lang->lineNumber = '行号';
@@ -372,7 +372,7 @@ $lang->admin->menu->safe = array('link' => '安全|admin|safe', 'alias' =>
$lang->admin->menu->cron = array('link' => '计划任务|cron|index', 'subModule' => 'cron');
$lang->admin->menu->trashes = array('link' => '回收站|action|trash', 'subModule' => 'action');
$lang->admin->menu->dev = array('link' => '二次开发|dev|api', 'alias' => 'db', 'subModule' => 'dev,editor');
$lang->admin->menu->entry = '应用|entry|browse';
$lang->admin->menu->entry = array('link' => '应用|entry|browse', 'subModule' => 'entry');
$lang->admin->menu->sso = '然之集成|admin|sso';
$lang->convert = new stdclass();
@@ -478,9 +478,9 @@ $lang->pager->previousPage = "上一页";
$lang->pager->nextPage = "下一页";
$lang->pager->summery = "第 <strong>%s-%s</strong> 项,共 <strong>%s</strong> 项";
$lang->proVersion = "<a href='http://api.zentao.net/goto.php?item=proversion&from=footer' target='_blank' id='proLink' class='text-important'>专业版 <i class='text-danger icon-pro-version'></i></a> &nbsp; ";
$lang->proVersion = "<a href='https://api.zentao.net/goto.php?item=proversion&from=footer' target='_blank' id='proLink' class='text-important'>专业版 <i class='text-danger icon-pro-version'></i></a> &nbsp; ";
$lang->downNotify = "下载桌面提醒";
$lang->website = "http://www.zentao.net";
$lang->website = "https://www.zentao.net";
$lang->suhosinInfo = "警告:数据太多,请在php.ini中修改<font color=red>sohusin.post.max_vars</font>和<font color=red>sohusin.request.max_vars</font>(大于%s的数)。 保存并重新启动apache或php-fpm,否则会造成部分数据无法保存。";
$lang->maxVarsInfo = "警告:数据太多,请在php.ini中修改<font color=red>max_input_vars</font>(大于%s的数)。 保存并重新启动apache或php-fpm,否则会造成部分数据无法保存。";
+1
View File
@@ -0,0 +1 @@
$(".tree .active").parent('li').addClass('active');
+1 -1
View File
@@ -199,7 +199,7 @@ class editorModel extends model
public function printTree($files, $isRoot = true)
{
if(empty($files) or !is_array($files)) return false;
$tree = $isRoot ? "<ul id='extendTree' class='tree tree-lines'>\n" : "<ul>\n";
$tree = $isRoot ? "<ul id='extendTree' class='tree tree-lines' data-ride='tree'>\n" : "<ul>\n";
if($isRoot)
{
$module = basename(dirname(key($files)));
+1 -1
View File
@@ -5,7 +5,7 @@ $config->entry->create->requiredFields = 'name, code, account, key';
$config->entry->edit = new stdclass();
$config->entry->edit->requiredFields = 'name, code, account, key';
$config->entry->help = 'http://www.zentao.net/book/zentaopmshelp/integration-287.html';
$config->entry->help = 'https://www.zentao.net/book/zentaopmshelp/integration-287.html';
$config->entry->errcode['PARAM_CODE_MISSING'] = 401;
$config->entry->errcode['PARAM_TOKEN_MISSING'] = 401;
+1 -1
View File
@@ -1,4 +1,4 @@
<?php
$config->extension = new stdclass();
$config->extension->apiRoot = 'http://api.zentao.net/extension-';
$config->extension->apiRoot = 'https://api.zentao.net/extension-';
$config->extension->extPathes = array('module', 'bin', 'www', 'library', 'config');
+1 -1
View File
@@ -38,7 +38,7 @@ $lang->extension->dirs = 'Directories';
$lang->extension->files = 'Files';
$lang->extension->status = 'Status';
$lang->extension->version = 'Version';
$lang->extension->latest = '<small>Latest:<strong><a href="%s" target="_blank" class="extension">%s</a></strong>,need zentao <a href="http://api.zentao.net/goto.php?item=latest" target="_blank"><strong>%s</strong></small>';
$lang->extension->latest = '<small>Latest:<strong><a href="%s" target="_blank" class="extension">%s</a></strong>,need zentao <a href="https://api.zentao.net/goto.php?item=latest" target="_blank"><strong>%s</strong></small>';
$lang->extension->author = 'Author';
$lang->extension->license = 'License';
$lang->extension->site = 'Website';
+1 -1
View File
@@ -38,7 +38,7 @@ $lang->extension->dirs = '安装目录';
$lang->extension->files = '安装文件';
$lang->extension->status = '状态';
$lang->extension->version = '版本';
$lang->extension->latest = '<small>最新版本<strong><a href="%s" target="_blank" class="extension">%s</a></strong>,兼容禅道<a href="http://api.zentao.net/goto.php?item=latest" target="_blank" class="alert-link"><strong>%s</strong></a></small>';
$lang->extension->latest = '<small>最新版本<strong><a href="%s" target="_blank" class="extension">%s</a></strong>,兼容禅道<a href="https://api.zentao.net/goto.php?item=latest" target="_blank" class="alert-link"><strong>%s</strong></a></small>';
$lang->extension->author = '作者';
$lang->extension->license = '授权';
$lang->extension->site = '官网';
+1 -1
View File
@@ -38,7 +38,7 @@ $lang->extension->dirs = '安裝目錄';
$lang->extension->files = '安裝檔案';
$lang->extension->status = '狀態';
$lang->extension->version = '版本';
$lang->extension->latest = '<small>最新版本<strong><a href="%s" target="_blank" class="extension">%s</a></strong>,兼容禪道<a href="http://api.zentao.net/goto.php?item=latest" target="_blank" class="alert-link"><strong>%s</strong></a></small>';
$lang->extension->latest = '<small>最新版本<strong><a href="%s" target="_blank" class="extension">%s</a></strong>,兼容禪道<a href="https://api.zentao.net/goto.php?item=latest" target="_blank" class="alert-link"><strong>%s</strong></a></small>';
$lang->extension->author = '作者';
$lang->extension->license = '授權';
$lang->extension->site = '官網';
+2 -24
View File
@@ -16,14 +16,6 @@ class extensionModel extends model
*/
const EXT_MANAGER_VERSION = '1.3';
/**
* The api agent(use snoopy).
*
* @var object
* @access public
*/
public $agent;
/**
* The api root.
*
@@ -41,22 +33,10 @@ class extensionModel extends model
public function __construct()
{
parent::__construct();
$this->setAgent();
$this->setApiRoot();
$this->classFile = $this->app->loadClass('zfile');
}
/**
* Set the api agent.
*
* @access public
* @return void
*/
public function setAgent()
{
$this->agent = $this->app->loadClass('snoopy');
}
/**
* Set the apiRoot.
*
@@ -78,8 +58,7 @@ class extensionModel extends model
public function fetchAPI($url)
{
$url .= (strpos($url, '?') === false ? '?' : '&') . 'lang=' . str_replace('-', '_', $this->app->getClientLang()) . '&managerVersion=' . self::EXT_MANAGER_VERSION . '&zentaoVersion=' . $this->config->version;
$this->agent->fetch($url);
$result = json_decode($this->agent->results);
$result = json_decode(common::http($url));
if(!isset($result->status)) return false;
if($result->status != 'success') return false;
@@ -170,8 +149,7 @@ class extensionModel extends model
public function downloadPackage($extension, $downLink)
{
$packageFile = $this->getPackageFile($extension);
$this->agent->fetch($downLink);
file_put_contents($packageFile, $this->agent->results);
file_put_contents($packageFile, common::http($downLink));
}
/**
+30 -3
View File
@@ -42,6 +42,7 @@ class file extends control
/**
* AJAX: get upload request from the web editor.
*
* @param $uid
* @access public
* @return void
*/
@@ -51,7 +52,17 @@ class file extends control
$file = $file[0];
if($file)
{
if($file['size'] == 0) die(json_encode(array('error' => 1, 'message' => $this->lang->file->errorFileUpload)));
if($file['size'] == 0)
{
if(defined('RUN_MODE') && RUN_MODE == 'api')
{
die(json_encode(array('status' => 'error', 'message' => $this->lang->file->errorFileUpload)));
}
else
{
die(json_encode(array('error' => 1, 'message' => $this->lang->file->errorFileUpload)));
}
}
if(@move_uploaded_file($file['tmpname'], $this->file->savePath . $this->file->getSaveName($file['pathname'])))
{
/* Compress image for jpg and bmp. */
@@ -65,14 +76,30 @@ class file extends control
$fileID = $this->dao->lastInsertID();
$url = $this->createLink('file', 'read', "fileID=$fileID", $file['extension']);
if($uid) $_SESSION['album'][$uid][] = $fileID;
die(json_encode(array('error' => 0, 'url' => $url)));
if(defined('RUN_MODE') && RUN_MODE == 'api')
{
$_SERVER['SCRIPT_NAME'] = 'index.php';
die(json_encode(array('status' => 'success', 'data' => commonModel::getSysURL() . $this->config->webRoot . $url)));
}
else
{
die(json_encode(array('error' => 0, 'url' => $url)));
}
}
else
{
$error = strip_tags(sprintf($this->lang->file->errorCanNotWrite, $this->file->savePath, $this->file->savePath));
die(json_encode(array('error' => 1, 'message' => $error)));
if(defined('RUN_MODE') && RUN_MODE == 'api')
{
die(json_encode(array('status' => 'error', 'message' => $error)));
}
else
{
die(json_encode(array('error' => 1, 'message' => $error)));
}
}
}
die(json_encode(array('status' => 'error', 'message' => $this->lang->file->uploadImagesExplain)));
}
/**
+3 -3
View File
@@ -31,8 +31,8 @@ ZenTao PMS is built on PHP + MySQL and based on ZenTaoPHP framework, an independ
EOT;
$lang->install->links = <<<EOT
ZenTao PMS is developed by <strong><a href='http://easysoft.ltd' target='_blank' class='text-danger'>Nature Easy Soft Co., LTD</a></strong>.
Official Website : <a href='http://www.zentao.pm' target='_blank'>http://www.zentao.pm</a>
Technical Support : <a href='http://www.zentao.pm/forum/' target='_blank'>http://www.zentao.pm/forum/</a>
Official Website : <a href='https://www.zentao.pm' target='_blank'>https://www.zentao.pm</a>
Technical Support : <a href='https://www.zentao.pm/forum/' target='_blank'>https://www.zentao.pm/forum/</a>
WhatsApp Group : <a href='https://chat.whatsapp.com/B6pi6b3gv0S7x7jqMxwhbF' target='_blank'>https://chat.whatsapp.com/B6pi6b3gv0S7x7jqMxwhbF</a>
Twitter: <a href='https://twitter.com/cneasysoft' target='_blank'>cneasysoft</a>
@@ -168,7 +168,7 @@ $lang->install->login = 'Login ZenTao';
$lang->install->register = 'Register in ZenTao';
$lang->install->joinZentao = <<<EOT
<p>You have installed ZenTao %s.<strong class='text-danger'> Please delete install.php asap</strong>.</p><p>Note: In order to get the latest news of ZenTao, please register in ZenTao(<a href='http://www.zentao.pm' class='alert-link' target='_blank'>www.zentao.pm</a>).</p>
<p>You have installed ZenTao %s.<strong class='text-danger'> Please delete install.php asap</strong>.</p><p>Note: In order to get the latest news of ZenTao, please register in ZenTao(<a href='https://www.zentao.pm' class='alert-link' target='_blank'>www.zentao.pm</a>).</p>
EOT;
$lang->install->product = array('chanzhi', 'ranzhi');
+4 -4
View File
@@ -17,7 +17,7 @@ $lang->install->pre = '返回';
$lang->install->reload = '刷新';
$lang->install->error = '错误 ';
$lang->install->officeDomain = 'http://www.zentao.net';
$lang->install->officeDomain = 'https://www.zentao.net';
$lang->install->start = '开始安装';
$lang->install->keepInstalling = '继续安装当前版本';
@@ -31,8 +31,8 @@ $lang->install->desc = <<<EOT
EOT;
$lang->install->links = <<<EOT
禅道项目管理软件由<strong><a href='http://www.cnezsoft.com' target='_blank' class='text-danger'>青岛易软天创网络科技有限公司</a>开发</strong>。
官方网站:<a href='http://www.zentao.net' target='_blank'>http://www.zentao.net</a>
技术支持:<a href='http://www.zentao.net/ask/' target='_blank'>http://www.zentao.net/ask/</a>
官方网站:<a href='https://www.zentao.net' target='_blank'>https://www.zentao.net</a>
技术支持:<a href='https://www.zentao.net/ask/' target='_blank'>https://www.zentao.net/ask/</a>
新浪微博:<a href='http://weibo.com/easysoft' target='_blank'>http://weibo.com/easysoft</a>
@@ -168,7 +168,7 @@ $lang->install->login = '登录禅道管理系统';
$lang->install->register = '禅道社区注册';
$lang->install->joinZentao = <<<EOT
<p>您已经成功安装禅道管理系统%s,<strong class='text-danger'>请及时删除install.php</strong>。</p><p>友情提示:为了您及时获得禅道的最新动态,请在禅道社区(<a href='http://www.zentao.net' class='alert-link' target='_blank'>www.zentao.net</a>)进行登记。</p>
<p>您已经成功安装禅道管理系统%s,<strong class='text-danger'>请及时删除install.php</strong>。</p><p>友情提示:为了您及时获得禅道的最新动态,请在禅道社区(<a href='https://www.zentao.net' class='alert-link' target='_blank'>www.zentao.net</a>)进行登记。</p>
EOT;
$lang->install->product = array('chanzhi', 'ranzhi', 'xuanxuan');
+3 -3
View File
@@ -60,10 +60,10 @@ class installModel extends model
public function getLatestRelease()
{
if(!function_exists('json_decode')) return false;
$snoopy = $this->app->loadClass('snoopy');
if(@$snoopy->fetchText('http://www.zentao.net/misc-getlatestrelease.json'))
$result = common::http('http://www.zentao.net/misc-getlatestrelease.json');
if($result)
{
$result = json_decode($snoopy->results);
$result = json_decode($result);
if(isset($result->release) and $this->config->version != $result->release->version)
{
return $result->release;
+6 -1
View File
@@ -12,7 +12,7 @@
$lang->misc = new stdclass();
$lang->misc->common = 'Misc';
$lang->misc->ping = 'Ping';
$lang->misc->api = 'http://api.zentao.net';
$lang->misc->api = 'https://api.zentao.net';
$lang->misc->zentao = new stdclass();
$lang->misc->zentao->version = 'Version %s';
@@ -74,6 +74,7 @@ $lang->misc->feature = new stdclass();
$lang->misc->feature->lastest = 'Latest Version';
$lang->misc->feature->detailed = 'Details';
$lang->misc->releaseDate['10.4.stable'] = '2018-09-26';
$lang->misc->releaseDate['10.3.stable'] = '2018-08-10';
$lang->misc->releaseDate['10.2.stable'] = '2018-08-02';
$lang->misc->releaseDate['10.0.stable'] = '2018-06-26';
@@ -91,6 +92,10 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
$lang->misc->feature->all['10.4.stable'][] = array('title'=>'Optimizing and adjusting new interface', 'desc' => '<p>Details page restore our previous layout.</p><p>Refactoring forms to add user pages</p><p>When use cases are executed, do not update the use case state if the user manually chooses to pass through and write the results.</p>');
$lang->misc->feature->all['10.4.stable'][] = array('title'=>'After the user machine hibernate login fails, the session is refreshed again.', 'desc' => '');
$lang->misc->feature->all['10.4.stable'][] = array('title'=>'Upgrading existing interface mechanisms', 'desc' => '');
$lang->misc->feature->all['10.3.stable'][] = array('title'=>'Fix Bug.', 'desc' => '');
$lang->misc->feature->all['10.2.stable'][] = array('title'=>'Xuan.im is integrated!', 'desc' => '');
+6 -1
View File
@@ -12,7 +12,7 @@
$lang->misc = new stdclass();
$lang->misc->common = '杂项';
$lang->misc->ping = '防超时';
$lang->misc->api = 'http://api.zentao.net';
$lang->misc->api = 'https://api.zentao.net';
$lang->misc->zentao = new stdclass();
$lang->misc->zentao->version = '版本%s';
@@ -74,6 +74,7 @@ $lang->misc->feature = new stdclass();
$lang->misc->feature->lastest = '最新版本';
$lang->misc->feature->detailed = '详情';
$lang->misc->releaseDate['10.4.stable'] = '2018-09-26';
$lang->misc->releaseDate['10.3.stable'] = '2018-08-10';
$lang->misc->releaseDate['10.2.stable'] = '2018-08-02';
$lang->misc->releaseDate['10.0.stable'] = '2018-06-26';
@@ -91,6 +92,10 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
$lang->misc->feature->all['10.4.stable'][] = array('title'=>'优化调整新界面', 'desc' => '<p>详情页面还原我们之前的排版布局</p><p>重构添加用户页面的表单</p><p>用例执行时,如果用户手工选择了通过,写结果的时候不要更新用例状态</p>');
$lang->misc->feature->all['10.4.stable'][] = array('title'=>'用户机器休眠登录失效后,重新刷新session', 'desc' => '');
$lang->misc->feature->all['10.4.stable'][] = array('title'=>'提升现有的接口机制', 'desc' => '');
$lang->misc->feature->all['10.3.stable'][] = array('title'=>'修复Bug', 'desc' => '');
$lang->misc->feature->all['10.2.stable'][] = array('title'=>'集成喧喧IM', 'desc' => '');
+1 -1
View File
@@ -44,7 +44,7 @@ $lang->my->home->projects = $lang->projectCommon;
$lang->my->home->products = $lang->productCommon;
$lang->my->home->createProject = "Create {$lang->projectCommon}";
$lang->my->home->createProduct = "Create {$lang->productCommon}";
$lang->my->home->help = "<a href='http://www.zentao.net/help-read-79236.html' target='_blank'>Help</a>";
$lang->my->home->help = "<a href='https://www.zentao.net/help-read-79236.html' target='_blank'>Help</a>";
$lang->my->home->noProductsTip = "No {$lang->productCommon} found here.";
$lang->my->form = new stdclass();
+1 -1
View File
@@ -44,7 +44,7 @@ $lang->my->home->projects = $lang->projectCommon;
$lang->my->home->products = $lang->productCommon;
$lang->my->home->createProject = "创建一个{$lang->projectCommon}";
$lang->my->home->createProduct = "创建一个{$lang->productCommon}";
$lang->my->home->help = "<a href='http://www.zentao.net/help-read-79236.html' target='_blank'>帮助文档</a>";
$lang->my->home->help = "<a href='https://www.zentao.net/help-read-79236.html' target='_blank'>帮助文档</a>";
$lang->my->home->noProductsTip = "这里还没有{$lang->productCommon}。";
$lang->my->form = new stdclass();
+1 -1
View File
@@ -44,7 +44,7 @@ $lang->my->home->projects = $lang->projectCommon;
$lang->my->home->products = $lang->productCommon;
$lang->my->home->createProject = "創建一個{$lang->projectCommon}";
$lang->my->home->createProduct = "創建一個{$lang->productCommon}";
$lang->my->home->help = "<a href='http://www.zentao.net/help-read-79236.html' target='_blank'>幫助文檔</a>";
$lang->my->home->help = "<a href='https://www.zentao.net/help-read-79236.html' target='_blank'>幫助文檔</a>";
$lang->my->home->noProductsTip = "這裡還沒有{$lang->productCommon}。";
$lang->my->form = new stdclass();
+1
View File
@@ -592,6 +592,7 @@ class productModel extends model
->beginIF($branch)->andWhere('t1.branch')->in($branch)->fi()
->beginIF(!$this->app->user->admin)->andWhere('t2.id')->in($this->app->user->view->projects)->fi()
->andWhere('t2.deleted')->eq(0)
->orderBy('t1.project desc')
->fetchAll();
foreach($datas as $data)
+1 -1
View File
@@ -205,7 +205,7 @@ $lang->project->timeSummary = '<div class="table-col"><div class="clearfix s
$lang->project->groupSummaryAB = "<div>Tasks <strong>%s :</strong><span class='text-muted'>Wait</span> %s &nbsp; <span class='text-muted'>Doing</span> %s</div><div>Est. <strong>%s :</strong><span class='text-muted'>Cost</span> %s &nbsp; <span class='text-muted'>Left</span> %s</div>";
$lang->project->wbs = "Decompose Tasks";
$lang->project->batchWBS = "Batch Decompose";
$lang->project->howToUpdateBurn = "<a href='http://api.zentao.net/goto.php?item=burndown&lang=zh-cn' target='_blank' title='How to Update the Burndown Chart?' class='btn btn-link'>Help <i class='icon icon-help'></i></a>";
$lang->project->howToUpdateBurn = "<a href='https://api.zentao.net/goto.php?item=burndown&lang=zh-cn' target='_blank' title='How to Update the Burndown Chart?' class='btn btn-link'>Help <i class='icon icon-help'></i></a>";
$lang->project->whyNoStories = "No Story can be linked. Please check whether there is Story in {$lang->projectCommon} linked {$lang->productCommon} and make sure it has been reviewed.";
$lang->project->productStories = "{$lang->projectCommon} linked story is the subeset of {$lang->productCommon}, which can only be linked after review. Please <a href='%s'> Link Story</a>。";
$lang->project->haveDraft = "There are %s draft stories can't be linked.";
+1 -1
View File
@@ -205,7 +205,7 @@ $lang->project->timeSummary = '<div class="table-col"><div class="clearfix s
$lang->project->groupSummaryAB = "<div>总任务 <strong>%s : </strong><span class='text-muted'>未开始</span> %s &nbsp; <span class='text-muted'>进行中</span> %s</div><div>总预计 <strong>%s : </strong><span class='text-muted'>已消耗</span> %s &nbsp; <span class='text-muted'>剩余</span> %s</div>";
$lang->project->wbs = "分解任务";
$lang->project->batchWBS = "批量分解";
$lang->project->howToUpdateBurn = "<a href='http://api.zentao.net/goto.php?item=burndown&lang=zh-cn' target='_blank' title='如何更新燃尽图?' class='btn btn-link'>帮助 <i class='icon icon-help'></i></a>";
$lang->project->howToUpdateBurn = "<a href='https://api.zentao.net/goto.php?item=burndown&lang=zh-cn' target='_blank' title='如何更新燃尽图?' class='btn btn-link'>帮助 <i class='icon icon-help'></i></a>";
$lang->project->whyNoStories = "看起来没有需求可以关联。请检查下{$lang->projectCommon}关联的{$lang->productCommon}中有没有需求,而且要确保它们已经审核通过。";
$lang->project->productStories = "{$lang->projectCommon}关联的需求是{$lang->productCommon}需求的子集,并且只有评审通过的需求才能关联。请<a href='%s'>关联需求</a>。";
$lang->project->haveDraft = "有%s条草稿状态的需求无法关联到该{$lang->projectCommon}";
+1 -1
View File
@@ -99,5 +99,5 @@ $lang->report->mailTitle->task = " Task (%s),";
$lang->report->mailTitle->todo = " Todo (%s),";
$lang->report->mailTitle->testTask = " Test Task (%s),";
$lang->report->proVersion = '<a href="http://api.zentao.net/goto.php?item=proversion&from=reportpage" target="_blank">Try ZenTao Pro for more!</a>';
$lang->report->proVersion = '<a href="https://api.zentao.net/goto.php?item=proversion&from=reportpage" target="_blank">Try ZenTao Pro for more!</a>';
$lang->report->proVersionEn = '<a href="http://api.zentao.pm/goto.php?item=proversion&from=reportpage" target="_blank">Try ZenTao Pro for more!</a>';
+1 -1
View File
@@ -99,5 +99,5 @@ $lang->report->mailTitle->task = " 任务(%s),";
$lang->report->mailTitle->todo = " 待办(%s),";
$lang->report->mailTitle->testTask = " 测试版本(%s),";
$lang->report->proVersion = '<a href="http://api.zentao.net/goto.php?item=proversion&from=reportpage" target="_blank">更多精彩,尽在专业版!</a>';
$lang->report->proVersion = '<a href="https://api.zentao.net/goto.php?item=proversion&from=reportpage" target="_blank">更多精彩,尽在专业版!</a>';
$lang->report->proVersionEn = '<a href="http://api.zentao.pm/goto.php?item=proversion&from=reportpage" target="_blank">Try ZenTao Pro for more!</a>';
+3 -4
View File
@@ -2376,7 +2376,7 @@ class taskModel extends model
if($id == 'name') $class .= ' text-left';
if($id == 'deadline' and isset($task->delay)) $class .= ' delayed';
if($id == 'assignedTo') $class .= ' has-btn text-left';
if(strpos('consumed,left,progress', $id) !== false) $class .= ' text-right';
if(strpos('progress', $id) !== false) $class .= ' text-right';
$title = '';
if($id == 'name')
@@ -2390,7 +2390,6 @@ class taskModel extends model
switch($id)
{
case 'id':
//if($mode == 'table' && $canBatchAction)
if($canBatchAction)
{
echo html::checkbox('taskIDList', array($task->id => sprintf('%03d', $task->id)));
@@ -2407,7 +2406,7 @@ class taskModel extends model
break;
case 'name':
if(!empty($task->product) && isset($branchGroups[$task->product][$task->branch])) echo "<span class='label label-info label-outline'>" . $branchGroups[$task->product][$task->branch] . '</span> ';
if(empty($task->children) and $task->module and isset($modulePairs[$task->module])) echo "<span class='label label-info label-gray'>" . $modulePairs[$task->module] . '</span> ';
if(empty($task->children) and $task->module and isset($modulePairs[$task->module])) echo "<span class='label label-gray'>" . $modulePairs[$task->module] . '</span> ';
if($child or !empty($task->parent)) echo '<span class="label label-badge label-light">' . $this->lang->task->childrenAB . '</span> ';
if(!empty($task->team)) echo '<span class="label label-badge label-light">' . $this->lang->task->multipleAB . '</span> ';
echo $canView ? html::a($taskLink, $task->name, null, "style='color: $task->color'") : "<span style='color: $task->color'>$task->name</span>";
@@ -2463,7 +2462,7 @@ class taskModel extends model
$assignToLink = helper::createLink('task', 'assignTo', "projectID=$task->project&taskID=$task->id", '', true);
$assignToHtml = html::a($assignToLink, "<i class='icon icon-hand-right'></i> <span class='{$btnTextClass}'>{$assignedToText}</span>", '', "class='$btnClass'");
echo !common::hasPriv('task', 'assignTo') ? "<span style='padding-left:25px;' class='{$btnTextClass}'>{$assignedToText}</span>" : $assignToHtml;
echo !common::hasPriv('task', 'assignTo') ? "<span style='padding-left:25px;' class='{$btnTextClass}'>{$assignedToText}</span>" : $assignToHtml;
break;
case 'assignedDate':
echo substr($task->assignedDate, 5, 11);
-1
View File
@@ -1422,7 +1422,6 @@ class testcaseModel extends model
$class = 'result-' . $case->lastRunResult;
$lastRunResultText = $case->lastRunResult ? zget($this->lang->testcase->resultList, $case->lastRunResult, $case->lastRunResult) : $this->lang->testcase->unexecuted;
echo "<span class='$class'>" . $lastRunResultText . "</span>";
//html::a(helper::createLink('testtask', 'results', "runID=0&caseID=$case->id", '', true), "<i class='icon icon-list-alt'></i> <span>{$lastRunResultText}</span>", '', "class='iframe btn btn-icon-left btn-sm'");
break;
case 'bugs':
echo (common::hasPriv('testcase', 'bugs') and $case->bugs) ? html::a(helper::createLink('testcase', 'bugs', "runID=0&caseID={$case->id}"), $case->bugs, '', "class='iframe'") : $case->bugs;
+1 -1
View File
@@ -59,7 +59,7 @@ $lang->testreport->caseSummary = ' <strong>%s</strong> cases in Total : <stro
$lang->testreport->buildSummary = 'Tested <strong>%s</strong> build.';
$lang->testreport->confirmDelete = 'Do you want tot delete this report?';
$lang->testreport->moreNotice = 'More features can be extended with reference to the ZenTao extension mechanism, or you can contact us for customization.';
$lang->testreport->exportNotice = "Export By <a href='http://www.zentao.net' target='_blank' style='color:grey'>ZenTaoPMS</a>";
$lang->testreport->exportNotice = "Export By <a href='https://www.zentao.net' target='_blank' style='color:grey'>ZenTaoPMS</a>";
$lang->testreport->noReport = "No report has been generated. Please check it later.";
$lang->testreport->foundBugTip = "Bugs created in this build and created in the test period.";
$lang->testreport->legacyBugTip = "Active Bugs, or the resolved beyond the test period.";
+1 -1
View File
@@ -59,7 +59,7 @@ $lang->testreport->caseSummary = '共有<strong>%s</strong>个用例,共执
$lang->testreport->buildSummary = '共测试了<strong>%s</strong>个版本。';
$lang->testreport->confirmDelete = '是否删除该报告?';
$lang->testreport->moreNotice = '更多功能可以参考禅道扩展机制进行扩展,也可以联系我们进行定制。';
$lang->testreport->exportNotice = "由<a href='http://www.zentao.net' target='_blank' style='color:grey'>禅道项目管理软件</a>导出";
$lang->testreport->exportNotice = "由<a href='https://www.zentao.net' target='_blank' style='color:grey'>禅道项目管理软件</a>导出";
$lang->testreport->noReport = "报表还没有生成,请稍候查看。";
$lang->testreport->foundBugTip = "影响版本在测试轮次内,并且创建时间在测试时间范围内产生的Bug数。";
$lang->testreport->legacyBugTip = "Bug状态是激活,或Bug的解决时间在测试结束时间之后。";
+14 -10
View File
@@ -448,6 +448,7 @@ class todoModel extends model
{
$this->loadModel('action');
$today = helper::today();
$now = helper::now();
$lastCycleList = $this->dao->select('*')->from(TABLE_TODO)->where('type')->eq('cycle')->andWhere('idvalue')->in(array_keys($todoList))->orderBy('date_asc')->fetchAll('idvalue');
foreach($todoList as $todoID => $todo)
{
@@ -459,16 +460,19 @@ class todoModel extends model
if($today < $begin or (!empty($end) && $today > $end)) continue;
$newTodo = new stdclass();
$newTodo->account = $todo->account;
$newTodo->begin = $todo->begin;
$newTodo->end = $todo->end;
$newTodo->type = 'cycle';
$newTodo->idvalue = $todoID;
$newTodo->pri = $todo->pri;
$newTodo->name = $todo->name;
$newTodo->desc = $todo->desc;
$newTodo->status = 'wait';
$newTodo->private = $todo->private;
$newTodo->account = $todo->account;
$newTodo->begin = $todo->begin;
$newTodo->end = $todo->end;
$newTodo->type = 'cycle';
$newTodo->idvalue = $todoID;
$newTodo->pri = $todo->pri;
$newTodo->name = $todo->name;
$newTodo->desc = $todo->desc;
$newTodo->status = 'wait';
$newTodo->private = $todo->private;
$newTodo->assignedTo = $todo->assignedTo;
$newTodo->assignedBy = $todo->assignedBy;
if($todo->assignedTo) $newTodo->assignedDate = $now;
$date = '';
$start = strtotime($begin);
+1 -2
View File
@@ -781,8 +781,7 @@ class user extends control
}
$errorScript = js::error($this->lang->user->loginFailed);
/* Finish task #4851. */
if($this->post->verifyRand and !isset($_SESSION['rand'])) $errorScript .= js::reload('parent');
if($this->post->verifyRand and !isset($_SESSION['rand'])) $errorScript .= js::reload('parent'); // Finish task #4851.
die($errorScript);
}
}
+2 -3
View File
@@ -1,5 +1,4 @@
body {background: #1183fb linear-gradient(-90deg, #0a48d1 0%, #1183fb 100%);
background-color: #1183fb;}
body {background: #1183fb linear-gradient(-90deg, #0a48d1 0%, #1183fb 100%); background-color: #1183fb;}
#login {max-width: 600px!important; margin: 0 auto; margin-top: 5%;}
#loginPanel {background: #fff; overflow: hidden; box-shadow: 0 0 20px 0 rgba(0,0,0,.1); border-radius: 3px;}
#loginPanel > header {padding: 20px; border-bottom: 1px #eee solid; position: relative;}
@@ -14,4 +13,4 @@ html[lang='en'] #loginPanel .table-form > tbody > tr > th {width: 80px;}
#info {margin-top: 10px; color: #fff;}
#info .btn + .btn {margin-left: 5px;}
#langs > .btn,
#langs > .dropdown-menu {min-width: 0; width: 85px;}
#langs > .dropdown-menu {min-width: 0; width: 85px;}
+1 -1
View File
@@ -82,7 +82,7 @@ if(empty($config->notMd5Pwd))js::import($jsRoot . 'md5.js');
<div class="table-col text-middle text-center">
<div id="poweredby">
<?php if($config->checkVersion):?>
<?php $siteURL = 'http://api.zentao.net';?>
<?php $siteURL = 'https://api.zentao.net';?>
<iframe id='updater' class='hidden' frameborder='0' width='100%' scrolling='no' allowtransparency='true' src="<?php echo $siteURL;?>/updater-isLatest-<?php echo $config->version;?>-<?php echo $s;?>.html?lang=<?php echo str_replace('-', '_', $this->app->getClientLang())?>"></iframe>
<?php endif;?>
</div>
+6 -2
View File
@@ -13,7 +13,7 @@
*/
/* Set the error reporting. */
error_reporting(0);
define('RUN_MODE', 'api');
/* Start output buffer. */
ob_start();
@@ -44,7 +44,11 @@ $common->checkPriv();
$app->loadModule();
$output = json_decode(ob_get_clean());
$output = json_encode($output->data);
$data = new stdClass();
$data->status = isset($output->status) ? $output->status : $output->result;
if(isset($output->message)) $data->message = $output->message;
if(isset($output->data)) $data->data = json_decode($output->data);
$output = json_encode($data);
unset($_SESSION['ENTRY_CODE']);
unset($_SESSION['VALID_ENTRY']);
File diff suppressed because one or more lines are too long