mirror of
https://github.com/getrebuild/rebuild.git
synced 2025-03-13 15:44:26 +08:00
More supports SHOW_ADVDESENSITIZED/SHOW_ADVPATTERN
This commit is contained in:
parent
d8114b6468
commit
8f9c374a79
6 changed files with 25 additions and 21 deletions
|
@ -12,8 +12,10 @@ import cn.devezhao.persist4j.Field;
|
|||
import cn.devezhao.persist4j.dialect.FieldType;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.rebuild.core.metadata.MetadataHelper;
|
||||
import com.rebuild.core.metadata.impl.EasyFieldConfigProps;
|
||||
import com.rebuild.utils.JSONUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
|
@ -154,4 +156,14 @@ public abstract class EasyField extends BaseEasyMeta<Field> {
|
|||
// * @return
|
||||
// */
|
||||
// abstract T checkoutValue(Object rawValue);
|
||||
|
||||
/**
|
||||
* 信息脱敏
|
||||
*
|
||||
* @return
|
||||
* @see com.rebuild.core.support.general.FieldValueHelper#desensitized(EasyField, Object)
|
||||
*/
|
||||
public boolean isDesensitized() {
|
||||
return BooleanUtils.toBoolean(getExtraAttr(EasyFieldConfigProps.ADV_DESENSITIZED));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,6 @@ import cn.devezhao.persist4j.Field;
|
|||
import com.rebuild.core.metadata.impl.EasyFieldConfigProps;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.regex.PatternSyntaxException;
|
||||
|
@ -44,13 +43,4 @@ public class EasyText extends EasyField {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 信息脱敏
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isDesensitized() {
|
||||
return BooleanUtils.toBoolean(getExtraAttr(EasyFieldConfigProps.ADV_DESENSITIZED));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ import com.rebuild.core.Application;
|
|||
import com.rebuild.core.metadata.easymeta.DisplayType;
|
||||
import com.rebuild.core.metadata.easymeta.EasyField;
|
||||
import com.rebuild.core.metadata.easymeta.EasyMetaFactory;
|
||||
import com.rebuild.core.metadata.easymeta.EasyText;
|
||||
import com.rebuild.core.privileges.UserHelper;
|
||||
import com.rebuild.core.privileges.bizz.ZeroEntry;
|
||||
import com.rebuild.utils.JSONUtils;
|
||||
|
@ -169,8 +168,7 @@ public class DataListWrapper {
|
|||
* @see FieldValueHelper#isUseDesensitized(EasyField, ID)
|
||||
*/
|
||||
private boolean isUseDesensitized(EasyField easyField) {
|
||||
return this.useDesensitized
|
||||
&& easyField instanceof EasyText && ((EasyText) easyField).isDesensitized();
|
||||
return this.useDesensitized && easyField.isDesensitized();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -20,7 +20,10 @@ import com.rebuild.core.configuration.general.ClassificationManager;
|
|||
import com.rebuild.core.configuration.general.PickListManager;
|
||||
import com.rebuild.core.metadata.EntityHelper;
|
||||
import com.rebuild.core.metadata.MetadataHelper;
|
||||
import com.rebuild.core.metadata.easymeta.*;
|
||||
import com.rebuild.core.metadata.easymeta.DisplayType;
|
||||
import com.rebuild.core.metadata.easymeta.EasyField;
|
||||
import com.rebuild.core.metadata.easymeta.EasyMetaFactory;
|
||||
import com.rebuild.core.metadata.easymeta.MixValue;
|
||||
import com.rebuild.core.privileges.bizz.ZeroEntry;
|
||||
import com.rebuild.core.service.NoRecordFoundException;
|
||||
import com.rebuild.core.service.approval.ApprovalState;
|
||||
|
@ -259,18 +262,17 @@ public class FieldValueHelper {
|
|||
* @return
|
||||
*/
|
||||
public static boolean isUseDesensitized(EasyField field, ID user) {
|
||||
if (!(field instanceof EasyText)) return false;
|
||||
if (user == null) {
|
||||
log.warn("No [user] spec! Cannot check desensitized");
|
||||
return false;
|
||||
}
|
||||
|
||||
return ((EasyText) field).isDesensitized()
|
||||
|
||||
return field.isDesensitized()
|
||||
&& !Application.getPrivilegesManager().allow(user, ZeroEntry.AllowNoDesensitized);
|
||||
}
|
||||
|
||||
/**
|
||||
* 字段值脱敏。仅适用文本、邮箱、电话字段
|
||||
* 字段值脱敏。仅适用文本/邮箱/电话/数字字段
|
||||
*
|
||||
* @param field
|
||||
* @param value
|
||||
|
@ -286,6 +288,8 @@ public class FieldValueHelper {
|
|||
return DataDesensitized.phone((String) value);
|
||||
} else if (dt == DisplayType.TEXT) {
|
||||
return DataDesensitized.any((String) value);
|
||||
} else if (dt == DisplayType.DECIMAL || dt == DisplayType.NUMBER) {
|
||||
return DataDesensitized.SECURE_TEXT;
|
||||
} else {
|
||||
return value;
|
||||
}
|
||||
|
|
|
@ -338,7 +338,7 @@
|
|||
</span>
|
||||
</label>
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-sm" id="advPattern" th:placeholder="${bundle.L('正则表达式')}" data-toggle="dropdown" autocomplete="off" />
|
||||
<input type="text" class="form-control form-control-sm" id="advPattern" th:placeholder="${bundle.L('格式验证 (支持 Java 正则表达式)')}" data-toggle="dropdown" autocomplete="off" />
|
||||
<div class="dropdown-menu common-patt">
|
||||
<h5>[[${bundle.L('常用')}]]</h5>
|
||||
<a class="badge" data-patt="^([0-9A-Z]{15}|[0-9A-Z]{17}|[0-9A-Z]{18}|[0-9A-Z]{20})$">[[${bundle.L('税号')}]]</a>
|
||||
|
|
|
@ -11,8 +11,8 @@ const __gExtConfig = {}
|
|||
|
||||
const SHOW_REPEATABLE = ['TEXT', 'DATE', 'EMAIL', 'URL', 'PHONE', 'REFERENCE', 'CLASSIFICATION']
|
||||
const SHOW_DEFAULTVALUE = ['TEXT', 'NTEXT', 'EMAIL', 'PHONE', 'URL', 'NUMBER', 'DECIMAL', 'DATE', 'DATETIME', 'BOOL', 'CLASSIFICATION', 'REFERENCE', 'N2NREFERENCE']
|
||||
const SHOW_ADVDESENSITIZED = ['TEXT', 'PHONE', 'EMAIL']
|
||||
const SHOW_ADVPATTERN = ['TEXT']
|
||||
const SHOW_ADVDESENSITIZED = ['TEXT', 'PHONE', 'EMAIL', 'NUMBER', 'DECIMAL']
|
||||
const SHOW_ADVPATTERN = ['TEXT', 'PHONE', 'EMAIL']
|
||||
|
||||
$(document).ready(function () {
|
||||
const dt = wpc.fieldType
|
||||
|
|
Loading…
Reference in a new issue