mirror of
https://github.com/getrebuild/rebuild.git
synced 2024-09-20 07:25:54 +08:00
Fix 3.6.1 (#736)
* fix: TriggerByTimerJob log * fix: 去重连接*N * VNExpires * fix: Gitee#I99RBC * fix: 表单计算数字符号 * v3.6.1
This commit is contained in:
parent
fb71f6db1d
commit
0232df8b93
2
@rbv
2
@rbv
|
@ -1 +1 @@
|
|||
Subproject commit b620fe7925c82990b116927ba6434dcccbddfdfb
|
||||
Subproject commit f536bdfad3cc51f7edd2256579843bffae3ccfb0
|
2
pom.xml
2
pom.xml
|
@ -10,7 +10,7 @@
|
|||
</parent>
|
||||
<groupId>com.rebuild</groupId>
|
||||
<artifactId>rebuild</artifactId>
|
||||
<version>3.6.0</version>
|
||||
<version>3.6.1</version>
|
||||
<name>rebuild</name>
|
||||
<description>Building your business-systems freely!</description>
|
||||
<url>https://getrebuild.com/</url>
|
||||
|
|
|
@ -74,11 +74,11 @@ public class Application implements ApplicationListener<ApplicationStartedEvent>
|
|||
/**
|
||||
* Rebuild Version
|
||||
*/
|
||||
public static final String VER = "3.6.0";
|
||||
public static final String VER = "3.6.1";
|
||||
/**
|
||||
* Rebuild Build [MAJOR]{1}[MINOR]{2}[PATCH]{2}[BUILD]{2}
|
||||
*/
|
||||
public static final int BUILD = 3060005;
|
||||
public static final int BUILD = 3060106;
|
||||
|
||||
static {
|
||||
// Driver for DB
|
||||
|
|
|
@ -229,8 +229,10 @@ public class AggregationEvaluator {
|
|||
if (n == null) continue;
|
||||
|
||||
// *N
|
||||
boolean xN3 = false;
|
||||
if (n instanceof ID && mode == 3) {
|
||||
n = FieldValueHelper.getLabel((ID) n, StringUtils.EMPTY);
|
||||
xN3 = true;
|
||||
}
|
||||
|
||||
// 多引用
|
||||
|
@ -243,7 +245,7 @@ public class AggregationEvaluator {
|
|||
nvList.add(n);
|
||||
}
|
||||
} else {
|
||||
Object v = easyField.wrapValue(n);
|
||||
Object v = xN3 ? n : easyField.wrapValue(n);
|
||||
if (v == null) continue;
|
||||
|
||||
DisplayType dt = easyField.getDisplayType();
|
||||
|
|
|
@ -82,6 +82,7 @@ public class ConfigurationController extends BaseController {
|
|||
mv.getModel().put("Version", Application.VER);
|
||||
mv.getModel().put("SN", "***" + auth.getString("sn").substring(12));
|
||||
mv.getModel().put("VN", auth.getString("vn"));
|
||||
mv.getModel().put("VNExpires", auth.getIntValue("vnExpiresLeft") < 0);
|
||||
|
||||
return mv;
|
||||
}
|
||||
|
|
|
@ -278,6 +278,7 @@ public class ModelExtrasController extends BaseController {
|
|||
} else if (dt == DisplayType.NUMBER || dt == DisplayType.DECIMAL) {
|
||||
if (evalVal instanceof Number) {
|
||||
evalVal = easyField.wrapValue(evalVal);
|
||||
evalVal = EasyDecimal.clearFlaged(evalVal);
|
||||
return RespBody.ok(evalVal);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -316,11 +316,16 @@
|
|||
</div>
|
||||
<div class="col-lg-3 col-12 col-right-compact">
|
||||
<div class="card">
|
||||
<div class="card-header card-header-divider">[[${bundle.L('关于')}]] REBUILD</div>
|
||||
<div class="card-header card-header-divider">[[${bundle.L('关于')}]]</div>
|
||||
<div class="card-body">
|
||||
<p class="mb-1">[[${bundle.L('系统版本')}]] <a class="link" target="_blank" th:href="|https://getrebuild.com/download?v=${Version}|">[[${Version}]]</a></p>
|
||||
<p class="mb-1">[[${bundle.L('授权类型')}]] <a class="link" target="_blank" th:href="|https://getrebuild.com/authority?sn=${SN}|">[[${LicenseType}]]</a></p>
|
||||
<p th:if="${VN != null}" class="mb-1">[[${bundle.L('服务支持码')}]] <a>[[${VN}]]</a></p>
|
||||
<p th:if="${VN != null}" class="mb-2">
|
||||
[[${bundle.L('服务支持码')}]] <span>[[${VN}]]</span>
|
||||
<a th:if="${VNExpires}" class="badge badge-danger up-2 badge-pill" th:href="'https://getrebuild.com/buy-license?type=10fw&vn=' + ${VN}" target="_blank">
|
||||
<i class="mdi mdi-information-variant"></i>[[${bundle.L('服务支持已到期')}]]
|
||||
</a>
|
||||
</p>
|
||||
<ul style="line-height: 2">
|
||||
<li><a class="link" target="_blank" th:href="@{/error/server-status}">[[${bundle.L('系统状态')}]]</a></li>
|
||||
<li><a class="link" target="_blank" href="https://getrebuild.com/docs/">[[${bundle.L('帮助文档')}]]</a></li>
|
||||
|
|
|
@ -5559,6 +5559,7 @@ span.icon-append .icon {
|
|||
animation: blink 1s infinite;
|
||||
}
|
||||
|
||||
.dropdown-menu.nott .dropdown-item {
|
||||
.dropdown-menu.nott .dropdown-item,
|
||||
.btn.J_filterlist {
|
||||
text-transform: none;
|
||||
}
|
||||
|
|
|
@ -71,7 +71,10 @@ const AdvFilters = {
|
|||
$(res.data).each(function () {
|
||||
const item = this
|
||||
const $item = $(`<div class="dropdown-item J_custom" data-id="${item.id}"><a class="text-truncate"></a></div>`).appendTo($menu)
|
||||
$item.text(item.name).on('click', () => that._effectFilter($item, 'aside'))
|
||||
$item
|
||||
.on('click', () => that._effectFilter($item, 'aside'))
|
||||
.find('>a')
|
||||
.text(item.name)
|
||||
|
||||
if (lastFilter === item.id) $defaultFilter = $item
|
||||
|
||||
|
|
|
@ -468,6 +468,7 @@ class RbForm extends React.Component {
|
|||
let moreActions = []
|
||||
// 添加明细
|
||||
if (props.rawModel.mainMeta) {
|
||||
// in New
|
||||
if (props.$$$parent && props.$$$parent.props._nextAddDetail) {
|
||||
moreActions.push(
|
||||
<a key="Action101" className="dropdown-item" onClick={() => this.post(RbForm.NEXT_ADDDETAIL)}>
|
||||
|
@ -476,18 +477,18 @@ class RbForm extends React.Component {
|
|||
)
|
||||
}
|
||||
}
|
||||
// 列表页添加
|
||||
// 列表页保存并继续
|
||||
else if (window.RbViewModal && window.__PageConfig.type === 'RecordList') {
|
||||
moreActions.push(
|
||||
<a key="Action104" className="dropdown-item" onClick={() => this.post(RbForm.NEXT_VIEW)}>
|
||||
{$L('保存并打开')}
|
||||
</a>
|
||||
)
|
||||
moreActions.push(
|
||||
<a key="Action105" className="dropdown-item" onClick={() => this.post(RbForm.NEXT_ADD36)}>
|
||||
{$L('保存并继续新建')}
|
||||
</a>
|
||||
)
|
||||
moreActions.push(
|
||||
<a key="Action104" className="dropdown-item" onClick={() => this.post(RbForm.NEXT_VIEW)}>
|
||||
{$L('保存并打开')}
|
||||
</a>
|
||||
)
|
||||
}
|
||||
|
||||
// Clean others action
|
||||
|
|
Loading…
Reference in a new issue