国际化中reject动作统一将Control修改为Block
去掉baseController中性质、分类、标签不必要的for
This commit is contained in:
@@ -382,25 +382,25 @@ public class BaseController {
|
||||
model.addAttribute("requestInfos", requestInfos);
|
||||
List<ServiceDictInfo> fls = serviceDictInfoService.findAllFlDict();
|
||||
String pNames = "";
|
||||
for (ServiceDictInfo serviceDictInfo : fls) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : fls) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(fls, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("fls", fls);
|
||||
List<ServiceDictInfo> xzs = serviceDictInfoService.findAllXzDict();
|
||||
for (ServiceDictInfo serviceDictInfo : xzs) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : xzs) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(xzs, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("xzs", xzs);
|
||||
List<ServiceDictInfo> lables = serviceDictInfoService.findAllLableDict();
|
||||
for (ServiceDictInfo serviceDictInfo : lables) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : lables) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(lables, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("lables", lables);
|
||||
List<FunctionRegionDict> regionList = DictUtils.getFunctionRegionDictList(cfg.getFunctionId());
|
||||
model.addAttribute("regionList", regionList);
|
||||
@@ -424,25 +424,25 @@ public class BaseController {
|
||||
model.addAttribute("requestInfos", requestInfos);
|
||||
List<ServiceDictInfo> fls = serviceDictInfoService.findFlDict();
|
||||
String pNames = "";
|
||||
for (ServiceDictInfo serviceDictInfo : fls) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : fls) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(fls, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("fls", fls);
|
||||
List<ServiceDictInfo> xzs = serviceDictInfoService.findXzDict();
|
||||
for (ServiceDictInfo serviceDictInfo : xzs) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : xzs) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(xzs, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("xzs", xzs);
|
||||
List<ServiceDictInfo> lables = serviceDictInfoService.findLableDict();
|
||||
for (ServiceDictInfo serviceDictInfo : lables) {
|
||||
/* for (ServiceDictInfo serviceDictInfo : lables) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(lables, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("lables", lables);
|
||||
List<Integer> itTypeList = new ArrayList<Integer>();
|
||||
itTypeList.add(Constants.ITEM_TYPE_AREA);
|
||||
@@ -463,25 +463,25 @@ public class BaseController {
|
||||
model.addAttribute("requestInfos", requestInfos);
|
||||
List<ServiceDictInfo> fls = serviceDictInfoService.findFlDict();
|
||||
String pNames = "";
|
||||
for (ServiceDictInfo serviceDictInfo : fls) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : fls) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(fls, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("fls", fls);
|
||||
List<ServiceDictInfo> xzs = serviceDictInfoService.findXzDict();
|
||||
for (ServiceDictInfo serviceDictInfo : xzs) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : xzs) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(xzs, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("xzs", xzs);
|
||||
List<ServiceDictInfo> lables = serviceDictInfoService.findLableDict();
|
||||
for (ServiceDictInfo serviceDictInfo : lables) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : lables) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(lables, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("lables", lables);
|
||||
List<Integer> itTypeList = new ArrayList<Integer>();
|
||||
itTypeList.add(Constants.ITEM_TYPE_AREA);
|
||||
@@ -545,25 +545,25 @@ public class BaseController {
|
||||
model.addAttribute("requestInfos", requestInfos);
|
||||
List<ServiceDictInfo> fls = serviceDictInfoService.findFlDict();// 只查询有效分类字典
|
||||
String pNames = "";
|
||||
for (ServiceDictInfo serviceDictInfo : fls) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : fls) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(fls, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("fls", fls);
|
||||
List<ServiceDictInfo> xzs = serviceDictInfoService.findXzDict();// 只查询有效性质字典
|
||||
for (ServiceDictInfo serviceDictInfo : xzs) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : xzs) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(xzs, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("xzs", xzs);
|
||||
List<ServiceDictInfo> lables = serviceDictInfoService.findLableDict();// 只查询有效标签字典
|
||||
for (ServiceDictInfo serviceDictInfo : lables) {
|
||||
/*for (ServiceDictInfo serviceDictInfo : lables) {
|
||||
pNames = "";
|
||||
pNames = serviceDictInfo.getPNames(lables, serviceDictInfo.getParent().getServiceDictId(), pNames);
|
||||
serviceDictInfo.setpNames(pNames);
|
||||
}
|
||||
}*/
|
||||
model.addAttribute("lables", lables);
|
||||
List<FunctionRegionDict> regionList = DictUtils.getFunctionRegionDictList(cfg.getFunctionId());
|
||||
model.addAttribute("regionList", regionList);
|
||||
|
||||
@@ -740,9 +740,9 @@ policy_group_manage=Policy Group
|
||||
#=============about manipulation=========
|
||||
ip_Reuse_policy=IP Reuse Policy
|
||||
target_ip_protect=Anti DDOS
|
||||
ratelimit_config=Ratelimit
|
||||
ip_ratelimit=IP Ratelimit
|
||||
domain_ratelimit=Website Ratelimit
|
||||
ratelimit_config=Rate Limit
|
||||
ip_ratelimit=IP Rate Limit
|
||||
domain_ratelimit=Website Rate Limit
|
||||
ratelimit=Packet Drop Rate
|
||||
ir_type=Reuse Type
|
||||
dns_strategy_id=DNS Policy ID
|
||||
@@ -827,7 +827,7 @@ APP_HTTP=APP HTTP Feature Configuration
|
||||
APP_DOMAIN=APP Domain Feature Configuration
|
||||
APP_PKT_BIN=APP Byte Feature Configuration
|
||||
PXY_CTRL_HTTP_URL=URL Configuration
|
||||
LIMIT_IP=IP RateLimit Configuration
|
||||
LIMIT_IP=IP Rate Limit Configuration
|
||||
IR_POLICY_IP=IP Reusing Configuration
|
||||
PXY_CTRL_HTTP_REQ_HDR=Request Header Keyword Configuration
|
||||
PXY_CTRL_HTTP_RES_HDR=Response Header Keyword Configuration
|
||||
@@ -882,56 +882,56 @@ file_upload_type_error=%s file type is incorrect,Allow uploaded files type conta
|
||||
file_upload_error=File upload failure!
|
||||
#=============multipart upload error info=================
|
||||
#=============function_service_dict==>service_name=================
|
||||
audio_sample_reject=Multimedia Sample Control
|
||||
audio_sample_reject=Multimedia Sample Block
|
||||
audio_sample_monit=Multimedia Sample Monitor
|
||||
video_sample_reject=Video Sample Control
|
||||
video_sample_reject=Video Sample Block
|
||||
video_sample_monit=Video Sample Monitor
|
||||
pic_sample_reject=Picture Sample Control
|
||||
pic_sample_reject=Picture Sample Block
|
||||
pic_sample_monit=Picture Sample Monitor
|
||||
voip_sample_reject=VoIP Voice Sample Control
|
||||
voip_sample_reject=VoIP Voice Sample Block
|
||||
voip_sample_monit=VoIP Voice Sample Monitor
|
||||
audio_pornography_sample_reject=Audio Scene Detection Control
|
||||
audio_pornography_sample_reject=Audio Scene Detection Block
|
||||
audio_pornography_sample_monit=Audio Scene Detection Monitor
|
||||
video_pornography_sample_reject=Porn Detection Control
|
||||
video_pornography_sample_reject=Porn Detection Block
|
||||
video_pornography_sample_monit=Porn Detection Monitor
|
||||
ip_white_monit=IP Address White List Monitor
|
||||
ip_white_reject=IP Address White List Control
|
||||
ip_white_reject=IP Address White List Block
|
||||
ip_white_whitelist=IP Address White List
|
||||
av_voip_ip_reject=Multimedia VoIP Control
|
||||
av_voip_ip_reject=Multimedia VoIP Block
|
||||
av_voip_ip_monit=Multimedia VoIP Monitor
|
||||
website_http_reject=Website Http Control
|
||||
website_http_reject=Website Http Block
|
||||
website_http_monit=Website Http Monitor
|
||||
website_http_whitelist=Website Http White List
|
||||
domain_white_whitelist=Global Domain Name White List
|
||||
av_content_ip_reject=Multimedia Content IP Control
|
||||
av_content_ip_reject=Multimedia Content IP Block
|
||||
av_content_ip_monit=Multimedia Content IP Monitor
|
||||
ip_reject=IP Configure Control
|
||||
ip_reject=IP Configure Block
|
||||
ip_monit=IP Configure Monitor
|
||||
ip_drop=IP Configure Drop
|
||||
ssl_monit=SSL Monitor
|
||||
ssl_reject=SSL Control
|
||||
av_pic_ip_reject=Multimedia Picture IP Control
|
||||
ssl_reject=SSL Block
|
||||
av_pic_ip_reject=Multimedia Picture IP Block
|
||||
av_pic_ip_monit=Multimedia Picture IP Monitor
|
||||
av_content_url_reject=Multimedia Content Url Control
|
||||
av_content_url_reject=Multimedia Content Url Block
|
||||
av_content_url_monit=Multimedia Content Url Monitor
|
||||
av_pic_url_reject=Multimedia Picture Url Control
|
||||
av_pic_url_reject=Multimedia Picture Url Block
|
||||
av_pic_url_monit=Multimedia Picture Url Monitor
|
||||
ip_loop=IP Configure Loop
|
||||
website_dns_reject=Website DNS Control
|
||||
website_dns_reject=Website DNS Block
|
||||
website_dns_monit=Website DNS Monitor
|
||||
mail_reject=Mail Control
|
||||
mail_reject=Mail Block
|
||||
mail_monit=Mail Monitor
|
||||
ssh_monit=SSH Monitor
|
||||
ssh_reject=SSH Control
|
||||
ssh_reject=SSH Block
|
||||
ftp_monit=FTP Monitor
|
||||
ftp_reject=FTP Control
|
||||
openvpn_reject=OpenVPN Control
|
||||
ftp_reject=FTP Block
|
||||
openvpn_reject=OpenVPN Block
|
||||
openvpn_monit=OpenVPN Monitor
|
||||
l2tp_reject=L2TP Control
|
||||
l2tp_reject=L2TP Block
|
||||
l2tp_monit=L2TP Monitor
|
||||
pptp_reject=PPTP Control
|
||||
pptp_reject=PPTP Block
|
||||
pptp_monit=PPTP Monitor
|
||||
socks_reject=SOCKS Control
|
||||
socks_reject=SOCKS Block
|
||||
socks_monit=SOCKS Monitor
|
||||
gre_drop=GRE Drop
|
||||
gre_monit=GRE Monitor
|
||||
@@ -939,25 +939,25 @@ ike_drop=IKE Drop
|
||||
ike_monit=IKE Monitor
|
||||
ipsec_drop=IPSEC Drop
|
||||
ipsec_monit=IPSEC Monitor
|
||||
bgp_reject=BGP Control
|
||||
bgp_reject=BGP Block
|
||||
bgp_monit=BGP Monitor
|
||||
file_transfer_digest_monit=File Transfer Summary Monitor
|
||||
file_transfer_digest_reject=File Transfer Summary Control
|
||||
file_transfer_digest_reject=File Transfer Summary Block
|
||||
xmpp_monit=XMPP Monitor
|
||||
xmpp_reject=XMPP Control
|
||||
ip_intercepter_monit=IP Intercepter
|
||||
domain_monit=Domain Intercepter
|
||||
ip_intercepter_whitelist=IP White List
|
||||
domain_monit_whitelist=Domain White List
|
||||
dns_strategy_reject=DNS Response Strategy Control
|
||||
xmpp_reject=XMPP Block
|
||||
ip_intercepter_monit=IP Intercept Monitor
|
||||
domain_monit=Domain Intercept Monitor
|
||||
ip_intercepter_whitelist=IP Intercept White List
|
||||
domain_monit_whitelist=Domain Intercept White List
|
||||
dns_strategy_reject=DNS Response Strategy Block
|
||||
proxy_http_req_body_replace=HTTP Request Body Replace
|
||||
proxy_http_res_body_replace=HTTP Response Body Replace
|
||||
dns_fake_ip_reject=DNS Spoofing IP Control
|
||||
app_strategy_reject=APP Strategy Control
|
||||
app_strategy_ratelimit=APP Strategy Ratelimit
|
||||
dns_fake_ip_reject=DNS Spoofing IP Block
|
||||
app_strategy_reject=APP Strategy Block
|
||||
app_strategy_ratelimit=APP Strategy Rate Limit
|
||||
proxy_ip_redirect=IP Redirect
|
||||
proxy_ip_forward=IP Forward
|
||||
app_protocol_ip_reject=App Identify IP Control
|
||||
app_protocol_ip_reject=App Identify IP Block
|
||||
app_protocol_ip_monit=App Identify IP Monitor
|
||||
app_http_feature_monit=APP HTTP Feature Monitor
|
||||
app_domain_feature_monit=APP Domain Feature Monitor
|
||||
@@ -1014,12 +1014,12 @@ Proxy=Proxy
|
||||
selective=Selective
|
||||
max_shouldnot_less_than_min=The max item should not be less than the min item.
|
||||
unknown_cfg_type=Unknown configuration type.
|
||||
basic_protocol_reject=Protocol Identify Reject
|
||||
basic_protocol_ratelimit=Protocol Identify Ratelimit
|
||||
basic_protocol_reject=Protocol Identify Block
|
||||
basic_protocol_ratelimit=Protocol Identify Rate Limit
|
||||
basic_protocol_monit=Protocol Identify Monitor
|
||||
basic_protocol_drop=Protocol Identify Drop
|
||||
encrypted_tunnel_behavior_reject=Behavior Identify Reject
|
||||
encrypted_tunnel_behavior_ratelimit=Behavior Identify Ratelimit
|
||||
encrypted_tunnel_behavior_reject=Behavior Identify Block
|
||||
encrypted_tunnel_behavior_ratelimit=Behavior Identify Rate Limit
|
||||
encrypted_tunnel_behavior_monit=Behavior Identify Monitor
|
||||
encrypted_tunnel_behavior_drop=Behavior Identify Drop
|
||||
ip_protocol=IP Protocol
|
||||
@@ -1038,7 +1038,7 @@ reject_or_monit_ip=IP Block/Monitor
|
||||
reject_ip=IP Block
|
||||
monit_ip=IP Monitor
|
||||
ir_ip=IP Reusing
|
||||
ratelimit_ip=IP Ratelimit
|
||||
ratelimit_ip=IP Rate Limit
|
||||
app_code=Application No
|
||||
app_name=Application Name
|
||||
app_desc=Application Description
|
||||
@@ -1053,7 +1053,7 @@ case_insenstive=Case-insensitive
|
||||
hex=Hex
|
||||
not_hex=Not HEX
|
||||
|
||||
p2p_reject=P2P Control
|
||||
p2p_reject=P2P Block
|
||||
NTC_P2P_IP=IP Configuration
|
||||
NTC_P2P_HASH_BIN=File Marking Configuration
|
||||
NTC_P2P_KEYWORDS=eMule Keyword Search Configuration
|
||||
@@ -1077,10 +1077,10 @@ app_header_config=APP Header Feature
|
||||
app_ssl_config=APP SSL Cert Feature
|
||||
ip_intercepter_replace=IP Intercept Replace
|
||||
domain_intercepter_replace=Domain Intercept Replace
|
||||
ip_intercepter_ratelimit=IP Intercept Ratelimit
|
||||
domain_intercepter_ratelimit=Domain Intercept Ratelimit
|
||||
ip_intercepter_ratelimit=IP Intercept Rate Limit
|
||||
domain_intercepter_ratelimit=Domain Intercept Rate Limit
|
||||
app_built_in_features_config=APP Built-in Features
|
||||
PXY_INTERCEPT_PKT_BIN=Intercept Messages
|
||||
PXY_INTERCEPT_PKT_BIN=Packet Payload
|
||||
certificate=Certificate
|
||||
do_log=Log Option
|
||||
|
||||
@@ -1144,7 +1144,7 @@ MM_LOGO_DETECTION=Logo Detection
|
||||
MM_FACE_RECOGNIZATION=Face Recognization
|
||||
preset=Preset
|
||||
ip_must_select=IP Configuration must select
|
||||
av_voip_account_reject=VoIP Account Control
|
||||
av_voip_account_reject=VoIP Account Block
|
||||
av_voip_account_monit=VoIP Account Monitor
|
||||
|
||||
p2p_proto=P2P Protocol
|
||||
@@ -1153,18 +1153,18 @@ p2p_keyword=Emule Search Keyword
|
||||
APP_PAYLOAD=App PayLoad Feature
|
||||
APP_DNS=App Dns Feature
|
||||
statistic_time=Final Statistical Time
|
||||
mm_speaker_recognization_reject=Speaker Recognization Reject
|
||||
mm_speaker_recognization_reject=Speaker Recognization Block
|
||||
mm_speaker_recognization_monit=Speaker Recognization Monitor
|
||||
mm_logo_detection_monit=Logo Detection Monitor
|
||||
mm_logo_detection_reject=Logo Detection Reject
|
||||
mm_logo_detection_reject=Logo Detection Block
|
||||
mm_face_recognization_monit=Face Recognization Monitor
|
||||
mm_face_recognization_reject=Face Recognization Reject
|
||||
mm_face_recognization_reject=Face Recognization Block
|
||||
|
||||
app_topic_domain_monit=Focused Website Momotoring
|
||||
ASN_POLICY_REJECT=ASN Policy Control
|
||||
app_topic_domain_monit=Focused Website Monitor
|
||||
ASN_POLICY_REJECT=ASN Policy Block
|
||||
ASN_POLICY_MONIT=ASN Policy Monitor
|
||||
p2p_monit=P2P Monitor
|
||||
av_content_url_whitelist=Multimedia Content Url White List
|
||||
av_content_url_whitelist=Multimedia Content URL White List
|
||||
av_content_ip_whitelist=Multimedia Content IP White List
|
||||
active_port=Traffic Port
|
||||
visits=Visits
|
||||
@@ -1178,7 +1178,7 @@ av_content_url_note=Note:Identifiable Protocols Include RTSP,TRMP,MMS.
|
||||
protocol_note=Note:Recognizable Protocols Include SIP,RTCP,RTP.
|
||||
snat_multiplex=SNAT Address Pool
|
||||
dnat_multiplex=DNAT Address Pool
|
||||
asn_reject=ASN Reject
|
||||
asn_reject=ASN Block
|
||||
asn_monit=ASN Monitor
|
||||
ip_payload=IP Payload
|
||||
streaming_media=Streaming Media
|
||||
@@ -1202,8 +1202,8 @@ message_type=Message Type
|
||||
as=AS
|
||||
route=Route
|
||||
transport_layer_protocol=TLS Protocol
|
||||
av_voip_monit=VoIP Monit
|
||||
av_voip_reject=VoIP Reject
|
||||
av_voip_monit=VoIP Monitor
|
||||
av_voip_reject=VoIP Block
|
||||
label_proto_source=Protocol Source
|
||||
label_behav_source=Behavior Source
|
||||
label_app_source=APP Source
|
||||
@@ -1241,9 +1241,9 @@ system_log=Log Management
|
||||
protected_ddos=Protected DDOS
|
||||
usual_ddos=Usual DDOS
|
||||
mail_address=Mail Address
|
||||
mail_address_whitelist=Mail Address Whitelist
|
||||
mail_address_monit=Mail Address Monit
|
||||
mail_address_reject=Mail Address Reject
|
||||
mail_address_whitelist=Mail Address White List
|
||||
mail_address_monit=Mail Address Monitor
|
||||
mail_address_reject=Mail Address Block
|
||||
ipsec_protocol=IPSEC Protocol
|
||||
intercept_intensity=Intercept Related Domains
|
||||
exceeds_duration_limit=File upload failure,The duration of uploaded files exceeds the limit.
|
||||
@@ -1285,7 +1285,7 @@ letter_cancel_info=Cancel Letter Info
|
||||
import_tip_excel=Please choose a valid Excel file with which it's subfix is .xls or .xlsx to import.
|
||||
http_keyword=Website Keyword
|
||||
http_keyword_monit=Website Keyword Monit
|
||||
http_keyword_reject=Website Keyword Reject
|
||||
http_keyword_reject=Website Keyword Block
|
||||
has_invisible_char=%s has invisible characters
|
||||
not_multiple=%s do not support multiple keywords
|
||||
template_error=The import template is incorrect. Pleace choose a proper template which has the same language with the system and the same configure type.
|
||||
@@ -1078,7 +1078,7 @@ domain_intercepter_replace=\u57DF\u540D\u62E6\u622A\u66FF\u6362
|
||||
ip_intercepter_ratelimit=IP\u62E6\u622A\u9650\u901F
|
||||
domain_intercepter_ratelimit=\u57DF\u540D\u62E6\u622A\u9650\u901F
|
||||
app_built_in_features_config=APP\u5185\u7F6E\u7279\u5F81\u7EF4\u62A4
|
||||
PXY_INTERCEPT_PKT_BIN=\u62E6\u622A\u62A5\u6587
|
||||
PXY_INTERCEPT_PKT_BIN=\u5305\u8F7D\u8377
|
||||
certificate=\u8BC1\u4E66
|
||||
do_log=\u662F\u5426\u8BB0\u5F55\u65E5\u5FD7
|
||||
file_strategy=\u6587\u4EF6\u7B56\u7565
|
||||
|
||||
Reference in New Issue
Block a user