Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
leaf-hlcm
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hlcm
leaf-hlcm
Commits
804596fa
Commit
804596fa
authored
Mar 23, 2023
by
Luochenglong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/remote_dev' into remote_dev
parents
8921a523
0344fd32
Changes
14
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
387 additions
and
35 deletions
+387
-35
excel_system_parameter.lwm
...app/WEB-INF/classes/hls/HLS536/excel_system_parameter.lwm
+20
-0
hls_attachment_tmp.lwm
.../webapp/WEB-INF/classes/hls/HLS536/hls_attachment_tmp.lwm
+33
-0
hls_journal_import_header.lwm
.../WEB-INF/classes/hls/HLS536/hls_journal_import_header.lwm
+17
-3
hls_journal_import_header_wfl.lwm
...-INF/classes/hls/HLS536/hls_journal_import_header_wfl.lwm
+3
-2
hls_journal_import_reverse_wfl.lwm
...INF/classes/hls/HLS536/hls_journal_import_reverse_wfl.lwm
+2
-2
insert_hls_journal_tmp.lwm
...app/WEB-INF/classes/hls/HLS536/insert_hls_journal_tmp.lwm
+2
-1
batch_attchment_tmp.lsc
src/main/webapp/modules/hls/HLS536/batch_attchment_tmp.lsc
+12
-0
batch_hls_journal_tmp.lsc
src/main/webapp/modules/hls/HLS536/batch_hls_journal_tmp.lsc
+2
-4
hls_journal_attach_trans_upload.lview
.../modules/hls/HLS536/hls_journal_attach_trans_upload.lview
+116
-0
hls_journal_import_entrance.lview
...bapp/modules/hls/HLS536/hls_journal_import_entrance.lview
+126
-20
hls_journal_import_trans_upload.lview
.../modules/hls/HLS536/hls_journal_import_trans_upload.lview
+1
-1
hls_journal_import_upload.lview
...webapp/modules/hls/HLS536/hls_journal_import_upload.lview
+0
-1
hls_journal_import_wfl.lview
...in/webapp/modules/hls/HLS536/hls_journal_import_wfl.lview
+20
-1
hls_journal_other_attach_upload.lview
.../modules/hls/HLS536/hls_journal_other_attach_upload.lview
+33
-0
No files found.
src/main/webapp/WEB-INF/classes/hls/HLS536/excel_system_parameter.lwm
0 → 100644
View file @
804596fa
<?xml version="1.0" encoding="UTF-8"?>
<bm:model
xmlns:f=
"leaf.database.features"
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
>
<bm:fields>
<bm:field
name=
"year"
/>
<bm:field
name=
"month"
/>
<bm:field
name=
"base_journal_dir"
/>
</bm:fields>
<bm:operations>
<bm:operation
name=
"query"
>
<bm:query-sql>
<![CDATA[
select sys_parameter_pkg.value('HLS_JOURNAL_DIR') base_journal_dir,
to_char(sysdate,'yyyy') year,
to_char(sysdate,'mm') month
from dual
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
</bm:model>
src/main/webapp/WEB-INF/classes/hls/HLS536/hls_attachment_tmp.lwm
0 → 100644
View file @
804596fa
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: trd
$Date: 2023-03-21 14:20:22
$Revision: 1.0
$Purpose:
-->
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
>
<bm:operations>
<bm:operation
name=
"delete"
>
<bm:update-sql>
<![CDATA[
begin
delete from hls_journal_imp_tem ot where ot.session_id = ${/session/@session_id};
end;
]]>
</bm:update-sql>
</bm:operation>
<bm:operation
name=
"insert"
>
<bm:update-sql>
<![CDATA[
BEGIN
INSERT INTO hls_journal_imp_tem
(session_id, journal_header_id)
VALUES
(${/session/@session_id}, ${@journal_header_id});
END;
]]>
</bm:update-sql>
</bm:operation>
<bm:operation
name=
"query"
>
<bm:query-sql>
<![CDATA[
select ot.journal_header_id from hls_journal_imp_tem ot where ot.session_id = ${/session/@session_id}
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
</bm:model>
src/main/webapp/WEB-INF/classes/hls/HLS536/hls_journal_import_header.lwm
View file @
804596fa
...
...
@@ -11,6 +11,9 @@
<bm:query-sql>
<![CDATA[
select * from (
select t1.journal_header_id,
t1.batch_id,
t1.batch_number,
t1.reverse_batch_number,
t1.journal_submit_batch_id,
t1.journal_num,
t1.error_message,
...
...
@@ -58,6 +61,9 @@
and t1.journal_type in('COST_IMPORT','GLOBAL_TEMPLATE')
union
select t1.journal_header_id,
t1.batch_id,
t1.batch_number,
t1.reverse_batch_number,
t1.journal_submit_batch_id,
t1.journal_num,
t1.error_message,
...
...
@@ -105,6 +111,9 @@
and t1.journal_type in('FUND_POOL','FINANCIAL_TEMPLATE')
union
select t1.journal_header_id,
t1.batch_id,
t1.batch_number,
t1.reverse_batch_number,
t1.journal_submit_batch_id,
t1.journal_num,
t1.error_message,
...
...
@@ -152,6 +161,9 @@
and t1.journal_type in('GENERAL_SALARIES','BPO_SALARIES')
union
select t1.journal_header_id,
t1.batch_id,
t1.batch_number,
t1.reverse_batch_number,
t1.journal_submit_batch_id,
t1.journal_num,
t1.error_message,
...
...
@@ -206,12 +218,14 @@
</bm:operation>
</bm:operations>
<bm:query-fields>
<bm:query-field
name=
"journal_num"
queryExpression=
"t1.journal_num like ${@journal_num}"
/>
<bm:query-field
name=
"journal_num"
queryExpression=
"t1.journal_num like '%'||${@journal_num}||'%'"
/>
<bm:query-field
name=
"batch_number"
queryExpression=
"t1.batch_number like '%'||${@batch_number}||'%'"
/>
<bm:query-field
name=
"reverse_batch_number"
queryExpression=
"t1.reverse_batch_number like '%'||${@reverse_batch_number}||'%'"
/>
<bm:query-field
name=
"journal_date_from"
queryExpression=
"to_date(t1.journal_date,'yyyy-mm-dd') >= to_date(${@journal_date_from},'yyyy-mm-dd')"
/>
<bm:query-field
name=
"journal_date_to"
queryExpression=
"to_date(t1.journal_date,'yyyy-mm-dd') <= to_date(${@journal_date_to},'yyyy-mm-dd')"
/>
<bm:query-field
name=
"total_amount_dr_from"
datatype=
"java.lang.Double"
queryExpression=
"nvl(t1.total_amount_dr,t1.total_amount_cr) >= ${@total_amount_dr_from}"
/>
<bm:query-field
name=
"total_amount_dr_to"
datatype=
"java.lang.Double"
queryExpression=
"nvl(t1.total_amount_dr,t1.total_amount_cr) <= ${@total_amount_dr_to}"
/>
<bm:query-field
name=
"description"
queryExpression=
"t1.description like
${@description}
"
/>
<bm:query-field
name=
"description"
queryExpression=
"t1.description like
'%'||${@description}||'%'
"
/>
<bm:query-field
name=
"wfl_status"
queryExpression=
"t1.wfl_status=${@wfl_status}"
/>
<bm:query-field
name=
"reverse_wfl_status"
queryExpression=
"t1.reverse_wfl_status=${@reverse_wfl_status}"
/>
</bm:query-fields>
...
...
src/main/webapp/WEB-INF/classes/hls/HLS536/hls_journal_import_header_wfl.lwm
View file @
804596fa
...
...
@@ -10,6 +10,7 @@
<bm:operation
name=
"query"
>
<bm:query-sql>
<![CDATA[
select t1.journal_header_id,
t1.batch_id,
t1.journal_submit_batch_id,
t1.journal_num,
t1.error_message,
...
...
@@ -59,13 +60,13 @@
</bm:data-filters>
<bm:query-fields>
<bm:query-field
name=
"journal_num"
queryExpression=
"t1.journal_num like
${@journal_num}
"
/>
<bm:query-field
name=
"journal_num"
queryExpression=
"t1.journal_num like
'%'||${@journal_num}||'%'
"
/>
<bm:query-field
name=
"journal_date_from"
queryExpression=
"to_date(t1.journal_date,'yyyy-mm-dd') >= to_date(${@journal_date_from},'yyyy-mm-dd')"
/>
<bm:query-field
name=
"journal_date_to"
queryExpression=
"to_date(t1.journal_date,'yyyy-mm-dd') <= to_date(${@journal_date_to},'yyyy-mm-dd')"
/>
<bm:query-field
name=
"total_amount_dr_from"
datatype=
"java.lang.Double"
queryExpression=
"nvl(t1.total_amount_dr,t1.total_amount_cr) >= ${@total_amount_dr_from}"
/>
<bm:query-field
name=
"total_amount_dr_to"
datatype=
"java.lang.Double"
queryExpression=
"nvl(t1.total_amount_dr,t1.total_amount_cr) <= ${@total_amount_dr_to}"
/>
<bm:query-field
name=
"journal_submit_batch_id"
queryExpression=
"t1.journal_submit_batch_id = ${@journal_submit_batch_id}"
/>
<bm:query-field
name=
"description"
queryExpression=
"t1.description like
${@description}
"
/>
<bm:query-field
name=
"description"
queryExpression=
"t1.description like
'%'||${@description}||'%'
"
/>
<bm:query-field
name=
"wfl_status"
queryExpression=
"t1.wfl_status=${@wfl_status}"
/>
<bm:query-field
name=
"reverse_wfl_status"
queryExpression=
"t1.reverse_wfl_status=${@reverse_wfl_status}"
/>
</bm:query-fields>
...
...
src/main/webapp/WEB-INF/classes/hls/HLS536/hls_journal_import_reverse_wfl.lwm
View file @
804596fa
...
...
@@ -54,13 +54,13 @@
</bm:operation>
</bm:operations>
<bm:query-fields>
<bm:query-field
name=
"journal_num"
queryExpression=
"t1.journal_num like
${@journal_num}
"
/>
<bm:query-field
name=
"journal_num"
queryExpression=
"t1.journal_num like
'%'||${@journal_num}||'%'
"
/>
<bm:query-field
name=
"journal_date_from"
queryExpression=
"to_date(t1.journal_date,'yyyy-mm-dd') >= to_date(${@journal_date_from},'yyyy-mm-dd')"
/>
<bm:query-field
name=
"journal_date_to"
queryExpression=
"to_date(t1.journal_date,'yyyy-mm-dd') <= to_date(${@journal_date_to},'yyyy-mm-dd')"
/>
<bm:query-field
name=
"total_amount_dr_from"
datatype=
"java.lang.Double"
queryExpression=
"nvl(t1.total_amount_dr,t1.total_amount_cr) >= ${@total_amount_dr_from}"
/>
<bm:query-field
name=
"total_amount_dr_to"
datatype=
"java.lang.Double"
queryExpression=
"nvl(t1.total_amount_dr,t1.total_amount_cr) <= ${@total_amount_dr_to}"
/>
<bm:query-field
name=
"journal_reverse_batch_id"
queryExpression=
"t1.journal_reverse_batch_id = ${@journal_submit_batch_id}"
/>
<bm:query-field
name=
"description"
queryExpression=
"t1.description like
${@description}
"
/>
<bm:query-field
name=
"description"
queryExpression=
"t1.description like
'%'||${@description}||'%'
"
/>
<bm:query-field
name=
"wfl_status"
queryExpression=
"t1.wfl_status=${@wfl_status}"
/>
</bm:query-fields>
</bm:model>
src/main/webapp/WEB-INF/classes/hls/HLS536/insert_hls_journal_tmp.lwm
View file @
804596fa
...
...
@@ -21,9 +21,10 @@
<bm:operation
name=
"update"
>
<bm:update-sql>
<![CDATA[
BEGIN
hls_journal_import_pkg.init_
journal_atm(p_document_number =>
${@document_number
},
hls_journal_import_pkg.init_
other_journal_atm(p_session_id =>
${/session/@session_id
},
p_file_path =>${@file_path},
p_file_name =>${@file_name},
p_file_type =>${@file_type},
p_file_length =>${@file_length},
p_user_id =>${/session/@user_id});
END;
...
...
src/main/webapp/modules/hls/HLS536/batch_attchment_tmp.lsc
0 → 100644
View file @
804596fa
<?xml version="1.0" encoding="UTF-8"?>
<a:service
xmlns:a=
"http://www.leaf-framework.org/application"
xmlns:p=
"uncertain.proc"
trace=
"true"
>
<a:init-procedure>
<a:model-delete
model=
"hls.HLS536.hls_attachment_tmp"
trace=
"true"
/>
<a:batch-apply
sourcepath=
"/parameter/details"
>
<a:model-insert
model=
"hls.HLS536.hls_attachment_tmp"
trace=
"true"
/>
</a:batch-apply>
</a:init-procedure>
<a:service-output
output=
"/parameter"
/>
</a:service>
src/main/webapp/modules/hls/HLS536/batch_hls_journal_tmp.lsc
View file @
804596fa
<?xml version="1.0" encoding="UTF-8"?>
<a:service
xmlns:a=
"http://www.leaf-framework.org/application"
xmlns:p=
"uncertain.proc"
trace=
"true"
>
<a:init-procedure>
<!--lsc文件在日志中打印参数信息-->
<p:echo></p:echo>
<a:model-insert
model=
"hls.HLS536.submit_hls_journal_tmp"
trace=
"true"
/>
<a:batch-apply
sourcepath=
"/parameter/details"
>
<!--只要是 record 里面没有 被 改变 的 数字字段 ,没有 改变还是 数字类型的,但是 改变后 传到 后端是 String 类型 的 了 -->
<a:model-update
model=
"hls.HLS536.submit_hls_journal_tmp"
trace=
"true"
/>
</a:batch-apply>
<a:model-execute
model=
"hls.HLS536.submit_hls_journal_tmp"
trace=
"true"
/>
...
...
src/main/webapp/modules/hls/HLS536/hls_journal_attach_trans_upload.lview
0 → 100644
View file @
804596fa
<?xml version="1.0" encoding="UTF-8"?>
<a:screen
xmlns:p=
"uncertain.proc"
xmlns:a=
"http://www.leaf-framework.org/application"
xmlns:s=
"leaf.plugin.script"
trace=
"true"
>
<a:init-procedure>
<p:echo/>
<s:server-script>
<![CDATA[
importPackage(java.io);
var request = $ctx['_instance.javax.servlet.http.HttpServletRequest'];
var response = $ctx['_instance.javax.servlet.http.HttpServletResponse'];
try{
data = $bm('hls.HLS536.excel_system_parameter').queryAsMap().getChildren();
var base_dir=data[0].base_journal_dir;
var year=data[0].year;
var month=data[0].month;
var factory = new Packages.org.apache.commons.fileupload.disk.DiskFileItemFactory();
var up = new Packages.org.apache.commons.fileupload.servlet.ServletFileUpload(factory);
var items = up.parseRequest(request);
var i = items.iterator();
while (i.hasNext()) {
var item = i.next();
if (item.isFormField()) {
println("item.getFieldName()"+item.getFieldName() + "=" + item.getString());
} else {
var file_old_name =item.getName();
//println('文件名'+file_old_name);
var file_type_name = item.getName().substr(item.getName().lastIndexOf("."));
var file_type = item.getName().substr(item.getName().lastIndexOf(".")+1);
var guid_file_name_path = $bm('cont.CON500.con_contract_get_guid_file_name').queryAsMap();
var guid_file_name_tables = guid_file_name_path.getChildren();
var file_name=guid_file_name_tables[0].guid_file_name;
var file_path = base_dir+year+"\\"+month+"\\";
var dir=new File(String(file_path));
if(!dir.exists()){
createDir(file_path);
}
var f = item.getStoreLocation();
var input,output;
var tempFile=new File(String(f));
try{
input = new FileInputStream(tempFile);
output = new FileOutputStream(file_path+file_name);
var buf = new java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 1024);
var bytesRead;
while ((bytesRead = input.read(buf)) >
0) {
output.write(buf, 0, bytesRead);
}
input.close();
output.close();
}catch(e){
//删除临时表
$bm('hls.HLS536.hls_attachment_tmp').delete();
println('上传文件出错,请联系管联系管理员理员!e'+e);
if(input!=null){
input.close();
}
if(output!=null){
output.close();
}
raise_app_error('上传文件出错,请联系管理员!');
println('上传文件出错,请联系管理员!e');
}
var file_length=get_file_length(file_path+file_name);
//文件上传成功后进行附件挂载
$bm('hls.HLS536.insert_hls_journal_tmp').update({
"file_path":String(file_path+file_name),
"file_name":file_old_name,
"file_type":file_type,
file_length:file_length
})
//删除临时表
$bm('hls.HLS536.hls_attachment_tmp').delete();
}
}
}catch (e) {
//删除临时表
$bm('hls.HLS536.hls_attachment_tmp').delete();
raise_app_error(e);
}
function createDir(dir){
var file=new File(String(dir));
if(!file.exists()){//如果文件夹不存在
file.mkdirs();//创建文件夹
}
}
//获取文件长度
function get_file_length(path){
var file=new File(String(path));
if (file.exists()
&&
file.isFile()){
//println(f.length());
length=file.length();
return length;
} else{
return 0;
}
}
]]>
</s:server-script>
</a:init-procedure>
<a:view>
<a:link
id=
"hls_journal_entrance_import_link"
url=
"${/request/@context_path}/modules/hls/HLS536/hls_journal_import_entrance.lview"
/>
<script
type=
"text/javascript"
>
<![CDATA[
window.location.href = $('hls_journal_entrance_import_link').getUrl();
]]>
</script>
</a:view>
</a:screen>
src/main/webapp/modules/hls/HLS536/hls_journal_import_entrance.lview
View file @
804596fa
This diff is collapsed.
Click to expand it.
src/main/webapp/modules/hls/HLS536/hls_journal_import_trans_upload.lview
View file @
804596fa
...
...
@@ -3,7 +3,7 @@
<a:init-procedure
>
<!--<a:model-execute model="hls.HLS536.delete_hls_journal_tmp"/>-->
<a:model-query
model=
"hls.HLS536.hls_journal_import_head_id"
rootPath=
"header"
/>
<a:import-excel
header_id=
"${/model/header/record/@header_id}"
attribute5=
"D:\u01\hls_journal,fnd_interface_headers,${/model/header/record/@header_id}"
separator=
","
status_field=
"/parameter/@ImportSuccess"
template_code=
"HLS_JOURNAL_IMPORT"
user_id=
"${/session/@user_id}"
/>
<a:import-excel
header_id=
"${/model/header/record/@header_id}"
attribute5=
"D:\u01\hls_
file\hls_
journal,fnd_interface_headers,${/model/header/record/@header_id}"
separator=
","
status_field=
"/parameter/@ImportSuccess"
template_code=
"HLS_JOURNAL_IMPORT"
user_id=
"${/session/@user_id}"
/>
<!--<a:import-excel header_id="${/session/@session_id}" attribute5="D:\u01,fnd_interface_headers,${/session/@session_id}" separator="," status_field="/parameter/@ImportSuccess" template_code="HLS_JOURNAL_IMPORT" user_id="${/session/@user_id}" />-->
<!--<a:model-execute model="hls.HLS536.insert_hls_journal_tmp"/>-->
...
...
src/main/webapp/modules/hls/HLS536/hls_journal_import_upload.lview
View file @
804596fa
<?xml version="1.0" encoding="UTF-8"?>
<!--<a:screen xmlns:a="http://www.leaf-framework.org/application">-->
<a:screen
xmlns:a=
"http://www.leaf-framework.org/application"
customizationEnabled=
"true"
trace=
"true"
>
<a:init-procedure>
<a:model-query
fetchAll=
"true"
model=
"hls.HLS536.hls_journal_position_query"
rootPath=
"hls536_position_code"
/>
...
...
src/main/webapp/modules/hls/HLS536/hls_journal_import_wfl.lview
View file @
804596fa
...
...
@@ -60,7 +60,25 @@
}
function open_upload_window(record_id){
var url = $('journal_attachment_uploadFile_id').getUrl() + '?table_name=HLS_JOURNAL_HEADER_IMP
&
header_id=' + record_id;
var url = $('journal_attachment_uploadFile_id').getUrl() + '?table_name=FND_INTERFACE_HEADERS
&
header_id=' + record_id;
var win = new Leaf.Window({
url: url,
title: '${l:HLS.SUPPORTING_DOCUMENT}',
id: 'attachment_uploadFile_id',
width: 850,
height: 400
});
win.on('close', function() {
hls536_journal_query();
});
}
function attachment_upload(val,rec,name){
return '
<a
href=
javascript:open_attachment_upload('+rec.get('journal_header_id')+')
>
其它附件
</a>
';
}
function open_attachment_upload(record_id){
var url = $('journal_attachment_uploadFile_id').getUrl() + '?table_name=HLS_JOURNAL_DETAIL_IMP
&
header_id=' + record_id;
var win = new Leaf.Window({
url: url,
title: '${l:HLS.SUPPORTING_DOCUMENT}',
...
...
@@ -125,6 +143,7 @@
<a:column
name=
"reverse_wfl_status_n"
prompt=
"凭证反冲状态"
width=
"100"
/>
<a:column
name=
"error_message"
prompt=
"错误信息"
width=
"150"
/>
<a:column
name=
"attachment_file"
prompt=
"附件"
width=
"120"
renderer=
"receipt_attachment_upload"
align=
"center"
/>
<a:column
name=
"other_attachment_file"
prompt=
"其它附件"
width=
"120"
renderer=
"attachment_upload"
align=
"center"
/>
</a:columns>
</a:grid>
</a:screenBody>
...
...
src/main/webapp/modules/hls/HLS536/hls_journal_other_attach_upload.lview
0 → 100644
View file @
804596fa
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: trd
$Date: 2023-3-20 下午1:49:19
$Revision: 1.0
$Purpose: 手工凭证其它附件导入
-->
<a:screen
xmlns:a=
"http://www.leaf-framework.org/application"
>
<a:init-procedure/>
<a:view>
<script
type=
"text/javascript"
>
<![CDATA[
function saveClick(){
if (document.getElementById('importFile').value){
var fileName = document.getElementById('importFile').value;
var fileType = fileName.substr(fileName.lastIndexOf("."));
document.getElementById('importForm').submit();
}
}
]]>
</script>
<a:dataSets>
<a:dataSet
id=
"label_ds"
autoCreate=
"true"
>
</a:dataSet>
</a:dataSets>
<a:fieldSet
style=
"margin-left:10px;margin-top:10px;"
title=
"导入文件"
width=
"400"
>
<form
name=
"upload"
id=
"importForm"
action=
"hls_journal_attach_trans_upload.lview?session_id=${/parameter/@session_id}&_csrf=${/session/@_csrf.token}"
enctype=
"multipart/form-data"
method=
"post"
>
<label
style=
"margin-left:10px;margin-top:10px;"
>
<![CDATA[请选择文件:]]>
</label>
<input
name=
"CONTENT"
id=
"importFile"
style=
"margin-bottom:4px;width:160px;height:22px;"
type=
"file"
/>
<input
onclick=
"saveClick()"
style=
"margin-left:50px;margin-top:10px;width:60px;"
type=
"button"
value=
"导入"
/>
</form>
</a:fieldSet>
</a:view>
</a:screen>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment