Merge branch 'master' of https://github.com/easysoft/zentaopms
This commit is contained in:
@@ -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,选择所属项目后,解决版本只能选择这个项目下的版本
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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,早上好!';
|
||||
|
||||
@@ -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 = '區塊';
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)): ?>
|
||||
|
||||
@@ -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)): ?>
|
||||
|
||||
@@ -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)): ?>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";?>
|
||||
|
||||
@@ -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,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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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)): ?>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)): ?>
|
||||
|
||||
@@ -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)): ?>
|
||||
|
||||
@@ -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):?>
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
@@ -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¶m={$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)
|
||||
{
|
||||
|
||||
@@ -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> ";
|
||||
$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> ";
|
||||
$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.";
|
||||
|
||||
@@ -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> ";
|
||||
$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> ";
|
||||
$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,否则会造成部分数据无法保存。";
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
$(".tree .active").parent('li').addClass('active');
|
||||
@@ -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)));
|
||||
|
||||
@@ -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,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');
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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 = '官网';
|
||||
|
||||
@@ -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 = '官網';
|
||||
|
||||
@@ -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
@@ -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)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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' => '');
|
||||
|
||||
|
||||
@@ -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' => '');
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 <span class='text-muted'>Doing</span> %s</div><div>Est. <strong>%s :</strong><span class='text-muted'>Cost</span> %s <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.";
|
||||
|
||||
@@ -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 <span class='text-muted'>进行中</span> %s</div><div>总预计 <strong>%s : </strong><span class='text-muted'>已消耗</span> %s <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}";
|
||||
|
||||
@@ -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>';
|
||||
|
||||
@@ -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>';
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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.";
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;}
|
||||
|
||||
@@ -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
@@ -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
Reference in New Issue
Block a user