Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
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
mobile-group
galaxy-iOS
Commits
f14e0eed
Commit
f14e0eed
authored
Mar 08, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
我的签字模型
parent
35be2008
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
131 additions
and
73 deletions
+131
-73
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+43
-19
YHMySignatureListViewController.swift
...MySignature(我的签字)/C/YHMySignatureListViewController.swift
+3
-52
YHMySignatureListModel.swift
...(流程)/MySignature(我的签字)/Model/YHMySignatureListModel.swift
+36
-0
YHMySignatureListViewModel.swift
...流程)/MySignature(我的签字)/VM/YHMySignatureListViewModel.swift
+41
-0
YHWorkItemListModel.swift
...(流程)/WorkExperience(工作经验)/Model/YHWorkItemListModel.swift
+1
-2
YHWorkExperienceListTableViewCell.swift
...xperience(工作经验)/V/YHWorkExperienceListTableViewCell.swift
+1
-0
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+6
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
f14e0eed
...
...
@@ -81,8 +81,10 @@
046975162B96EB2200A0CB66
/* YHImageResultViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
046975152B96EB2200A0CB66
/* YHImageResultViewController.swift */
;
};
046975182B96EEB200A0CB66
/* YHResultBottomView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
046975172B96EEB200A0CB66
/* YHResultBottomView.swift */
;
};
047294E82B988A19008E0B84
/* YHNewWebViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
047294E72B988A19008E0B84
/* YHNewWebViewController.swift */
;
};
047294EE2B9B0547008E0B84
/* YHMySignatureListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
047294ED2B9B0547008E0B84
/* YHMySignatureListViewController.swift */
;
};
047294F02B9B0585008E0B84
/* YHMyDocumentsListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
047294EF2B9B0585008E0B84
/* YHMyDocumentsListViewController.swift */
;
};
047294F52B9B0C4A008E0B84
/* YHMySignatureListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
047294F42B9B0C49008E0B84
/* YHMySignatureListViewController.swift */
;
};
047294F92B9B0C5D008E0B84
/* YHMyDocumentsListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
047294F82B9B0C5D008E0B84
/* YHMyDocumentsListViewController.swift */
;
};
047294FC2B9B0CDB008E0B84
/* YHMySignatureListViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
047294FB2B9B0CDB008E0B84
/* YHMySignatureListViewModel.swift */
;
};
047294FF2B9B0D47008E0B84
/* YHMySignatureListModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
047294FE2B9B0D47008E0B84
/* YHMySignatureListModel.swift */
;
};
04754A952B96FF3D00F8ADCA
/* UITextField+Extension.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04754A942B96FF3D00F8ADCA
/* UITextField+Extension.swift */
;
};
04808C062B4686510056D53C
/* ATAuthSDK.bundle in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04808C042B4686510056D53C
/* ATAuthSDK.bundle */
;
};
04808C082B4686C10056D53C
/* ATAuthSDK_D.framework in Embed Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04808C032B4686510056D53C
/* ATAuthSDK_D.framework */
;
settings
=
{
ATTRIBUTES
=
(
CodeSignOnCopy
,
RemoveHeadersOnCopy
,
);
};
};
...
...
@@ -404,8 +406,10 @@
046975152B96EB2200A0CB66
/* YHImageResultViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHImageResultViewController.swift
;
sourceTree
=
"<group>"
;
};
046975172B96EEB200A0CB66
/* YHResultBottomView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHResultBottomView.swift
;
sourceTree
=
"<group>"
;
};
047294E72B988A19008E0B84
/* YHNewWebViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHNewWebViewController.swift
;
sourceTree
=
"<group>"
;
};
047294ED2B9B0547008E0B84
/* YHMySignatureListViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMySignatureListViewController.swift
;
sourceTree
=
"<group>"
;
};
047294EF2B9B0585008E0B84
/* YHMyDocumentsListViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMyDocumentsListViewController.swift
;
sourceTree
=
"<group>"
;
};
047294F42B9B0C49008E0B84
/* YHMySignatureListViewController.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMySignatureListViewController.swift
;
sourceTree
=
"<group>"
;
};
047294F82B9B0C5D008E0B84
/* YHMyDocumentsListViewController.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMyDocumentsListViewController.swift
;
sourceTree
=
"<group>"
;
};
047294FB2B9B0CDB008E0B84
/* YHMySignatureListViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMySignatureListViewModel.swift
;
sourceTree
=
"<group>"
;
};
047294FE2B9B0D47008E0B84
/* YHMySignatureListModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMySignatureListModel.swift
;
sourceTree
=
"<group>"
;
};
04754A942B96FF3D00F8ADCA
/* UITextField+Extension.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
"UITextField+Extension.swift"
;
sourceTree
=
"<group>"
;
};
04808C032B4686510056D53C
/* ATAuthSDK_D.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
path
=
ATAuthSDK_D.framework
;
sourceTree
=
"<group>"
;
};
04808C042B4686510056D53C
/* ATAuthSDK.bundle */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.plug-in"
;
path
=
ATAuthSDK.bundle
;
sourceTree
=
"<group>"
;
};
...
...
@@ -830,38 +834,56 @@
path
=
YHAddressPicker
;
sourceTree
=
"<group>"
;
};
047294
E92B9B0470008E0B84
/* MyDocuments(我的文书
) */
=
{
047294
F22B9B0C49008E0B84
/* MySignature(我的签字
) */
=
{
isa
=
PBXGroup
;
children
=
(
047294EC2B9B0508008E0B84
/* C */
,
047294FD2B9B0D18008E0B84
/* Model */
,
047294FA2B9B0C6A008E0B84
/* VM */
,
047294F32B9B0C49008E0B84
/* C */
,
);
path
=
"My
Documents(我的文书
)"
;
path
=
"My
Signature(我的签字
)"
;
sourceTree
=
"<group>"
;
};
047294
EA2B9B0496008E0B84
/* MySignature(我的签字)
*/
=
{
047294
F32B9B0C49008E0B84
/* C
*/
=
{
isa
=
PBXGroup
;
children
=
(
047294
EB2B9B04FC008E0B84
/* C
*/
,
047294
F42B9B0C49008E0B84
/* YHMySignatureListViewController.swift
*/
,
);
path
=
"MySignature(我的签字)"
;
path
=
C
;
sourceTree
=
"<group>"
;
};
047294
EB2B9B04FC008E0B84
/* C
*/
=
{
047294
F62B9B0C5D008E0B84
/* MyDocuments(我的文书)
*/
=
{
isa
=
PBXGroup
;
children
=
(
047294
ED2B9B0547008E0B84
/* YHMySignatureListViewController.swift
*/
,
047294
F72B9B0C5D008E0B84
/* C
*/
,
);
path
=
C
;
path
=
"MyDocuments(我的文书)"
;
sourceTree
=
"<group>"
;
};
047294
EC2B9B0508
008E0B84
/* C */
=
{
047294
F72B9B0C5D
008E0B84
/* C */
=
{
isa
=
PBXGroup
;
children
=
(
047294
EF2B9B0585
008E0B84
/* YHMyDocumentsListViewController.swift */
,
047294
F82B9B0C5D
008E0B84
/* YHMyDocumentsListViewController.swift */
,
);
path
=
C
;
sourceTree
=
"<group>"
;
};
047294FA2B9B0C6A008E0B84
/* VM */
=
{
isa
=
PBXGroup
;
children
=
(
047294FB2B9B0CDB008E0B84
/* YHMySignatureListViewModel.swift */
,
);
path
=
VM
;
sourceTree
=
"<group>"
;
};
047294FD2B9B0D18008E0B84
/* Model */
=
{
isa
=
PBXGroup
;
children
=
(
047294FE2B9B0D47008E0B84
/* YHMySignatureListModel.swift */
,
);
path
=
Model
;
sourceTree
=
"<group>"
;
};
04754A962B97286F00F8ADCA
/* Certificates(证书上传和证书信息) */
=
{
isa
=
PBXGroup
;
children
=
(
...
...
@@ -1664,8 +1686,8 @@
A5C382C82B5E101E00C5E65C
/* ServiceProcess(流程) */
=
{
isa
=
PBXGroup
;
children
=
(
047294
EA2B9B0496008E0B84
/* MySignature(我的签字
) */
,
047294
E92B9B0470008E0B84
/* MyDocuments(我的文书
) */
,
047294
F62B9B0C5D008E0B84
/* MyDocuments(我的文书
) */
,
047294
F22B9B0C49008E0B84
/* MySignature(我的签字
) */
,
04E86E222B81EA1000A35F4B
/* WorkExperience(工作经验) */
,
04C693652B73183E004C1758
/* Education&Qualification(学历专业资格填写) */
,
A5234E382B72346A00A33433
/* OtherInformation(其他信息) */
,
...
...
@@ -1881,6 +1903,7 @@
A596C3A22B84D9100067BBB8
/* YHOtherYesOrNoItemView.swift in Sources */
,
A5FD63E62B67908000D1D9DA
/* YHPreviewControllerHoldViewController.swift in Sources */
,
A514E5DC2B60A2B700C93951
/* YHServiceCenterSecondViewController.swift in Sources */
,
047294FF2B9B0D47008E0B84
/* YHMySignatureListModel.swift in Sources */
,
0468D4202B49320900CFB916
/* YHVerificationCodeLoginController.swift in Sources */
,
043955252B70D20300955D49
/* YHFormItemQuestionsCell.swift in Sources */
,
0468D4532B6782BE00CFB916
/* YHCardExampleView.swift in Sources */
,
...
...
@@ -1928,6 +1951,7 @@
A5C5B2E82B4EC95600A7C5D1
/* YHDavidTestCollectionViewCell.swift in Sources */
,
A5FD63F62B68D13200D1D9DA
/* YHPreviewInfoSessionModel.swift in Sources */
,
042FBBC52B64AE3D00F9DE23
/* YHFormItemOnlyDoubleChoiceCell.swift in Sources */
,
047294FC2B9B0CDB008E0B84
/* YHMySignatureListViewModel.swift in Sources */
,
A5234E3E2B7235F000A33433
/* YHOtherInfoFillViewController.swift in Sources */
,
041B52DB2B5FDF8E007EBCEB
/* YHFamilyInitialInfo.swift in Sources */
,
A5FD63D22B650BA700D1D9DA
/* YHScorePersonInfoCell.swift in Sources */
,
...
...
@@ -2019,7 +2043,7 @@
A5167B272B692CF20084C08F
/* YHPreviewInfoCertificatePictureItemView.swift in Sources */
,
04754A952B96FF3D00F8ADCA
/* UITextField+Extension.swift in Sources */
,
A5ACE9312B4564F7002C94D2
/* YHPersonalCenterCell.swift in Sources */
,
047294F
02B9B0585
008E0B84
/* YHMyDocumentsListViewController.swift in Sources */
,
047294F
92B9B0C5D
008E0B84
/* YHMyDocumentsListViewController.swift in Sources */
,
04E86E5D2B84CC9700A35F4B
/* YHWorkExampleMessageView.swift in Sources */
,
A5ACE9532B4564F7002C94D2
/* YHBaseViewController.swift in Sources */
,
042FBBC32B63DA4C00F9DE23
/* YHParentInfoVC.swift in Sources */
,
...
...
@@ -2075,7 +2099,7 @@
A5C382CC2B5EA11800C5E65C
/* YHContractCell.swift in Sources */
,
042FBBC12B63B21700F9DE23
/* YHFormItemDegreeInfoCell.swift in Sources */
,
04C8F4832B7216D800ADF59B
/* YHUserInfoHeaderView.swift in Sources */
,
047294
EE2B9B0547
008E0B84
/* YHMySignatureListViewController.swift in Sources */
,
047294
F52B9B0C4A
008E0B84
/* YHMySignatureListViewController.swift in Sources */
,
A5ACE9492B4564F7002C94D2
/* YHHUDSuccessView.swift in Sources */
,
A58556BA2B6BCF1A003746B2
/* YHPersonInfoFillStepModel.swift in Sources */
,
A5FD63D42B65F99500D1D9DA
/* YHScoreItemCell.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/MySignature(我的签字)/C/YHMySignatureListViewController.swift
View file @
f14e0eed
...
...
@@ -13,13 +13,13 @@ class YHMySignatureListViewController: YHBaseViewController {
var
bottomButton
:
UIButton
!
var
tableView
:
UITableView
!
var
dataSource
:
[
YHWorkItemListModel
]?
var
viewModel
:
YH
WorkItem
ListViewModel
?
var
viewModel
:
YH
MySignature
ListViewModel
?
var
isMore
:
Bool
=
false
var
orderId
:
Int
=
0
var
showPrompt
:
Bool
=
false
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
viewModel
=
YH
WorkItem
ListViewModel
()
viewModel
=
YH
MySignature
ListViewModel
()
gk_navTitle
=
"我的签字"
setView
()
getData
()
...
...
@@ -32,11 +32,7 @@ class YHMySignatureListViewController: YHBaseViewController {
}
func
getData
()
{
viewModel
?
.
requestWorkList
(
"
\(
orderId
)
"
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
dataSource
=
success
self
.
tableView
.
reloadData
()
})
}
func
updateDataSource
()
{
...
...
@@ -109,12 +105,6 @@ class YHMySignatureListViewController: YHBaseViewController {
return
}
}
viewModel
?
.
requestSaveAllWorkExperience
(
"
\(
orderId
)
"
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
??
false
{
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
}
})
}
}
...
...
@@ -127,45 +117,6 @@ extension YHMySignatureListViewController: UITableViewDelegate, UITableViewDataS
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHWorkExperienceListTableViewCell
.
self
)
cell
.
showPrompt
=
showPrompt
cell
.
dataSource
=
dataSource
if
isMore
{
cell
.
more
()
}
else
{
cell
.
cannal
()
}
cell
.
clickBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
let
firstModel
=
self
.
dataSource
?
.
first
let
vc
=
YHWorkExperienceViewController
()
vc
.
workExperienceID
=
"
\(
model
.
id
??
0
)
"
vc
.
orderID
=
self
.
orderId
vc
.
isShowMessageSelect
=
true
if
firstModel
?
.
id
==
model
.
id
{
vc
.
isShowMessageSelect
=
false
}
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
cell
.
deleteBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
self
.
viewModel
?
.
requestDeleteWorkExperience
(
"
\(
model
.
id
??
0
)
"
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
getData
()
})
}
cell
.
isMoreBlock
=
{[
weak
self
]
isMore
in
guard
let
self
=
self
else
{
return
}
self
.
isMore
=
isMore
}
cell
.
newWorkBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
if
self
.
dataSource
?
.
count
==
10
{
YHHUD
.
flash
(
message
:
"新增工作经历不能超过10条"
)
}
else
{
let
vc
=
YHWorkExperienceViewController
()
vc
.
isShowMessageSelect
=
true
vc
.
orderID
=
self
.
orderId
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
}
cell
.
backgroundColor
=
.
clear
cell
.
contentView
.
backgroundColor
=
.
clear
return
cell
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/MySignature(我的签字)/Model/YHMySignatureListModel.swift
0 → 100644
View file @
f14e0eed
//
// YHMySignatureListModel.swift
// galaxy
//
// Created by EDY on 2024/3/8.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHMySignatureListModel
:
YHBaseModel
{
var
list
:
[
YHMySignatureModel
]
=
[]
var
user_info
:
YHMySignatureUserInfoModel
=
YHMySignatureUserInfoModel
()
}
class
YHMySignatureModel
:
YHBaseModel
{
var
id
:
Int
=
0
var
doc_name
:
String
=
""
var
doc_type
:
Int
=
0
var
doc_type_name
:
String
=
""
var
is_upload
:
Int
=
0
var
status
:
Int
=
0
var
doc_send
:
String
=
""
var
contract_lock
:
Bool
=
false
var
is_second_page
:
Bool
=
false
var
contract_id
:
String
=
""
var
doc_type_label
:
String
=
""
}
class
YHMySignatureUserInfoModel
:
YHBaseModel
{
var
surname
:
String
=
""
var
username
:
String
=
""
var
sex
:
Int
=
0
var
is_auth
:
Bool
=
false
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/MySignature(我的签字)/VM/YHMySignatureListViewModel.swift
0 → 100644
View file @
f14e0eed
//
// YHMySignatureListViewModel.swift
// galaxy
//
// Created by EDY on 2024/3/8.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHMySignatureListViewModel
:
YHBaseViewModel
{
var
mainModel
:
[
YHWorkItemListModel
]?
override
init
()
{
super
.
init
()
}
func
requestSignatureList
(
_
orderId
:
String
,
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
params
:
[
String
:
Any
]
=
[
"order_id"
:
orderId
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Signature
.
list
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
let
dic
=
json
.
data
guard
let
result
=
YHWorkModel
.
deserialize
(
from
:
dic
as?
Dictionary
)
else
{
callBackBlock
(
false
,
nil
)
return
}
self
.
mainModel
=
result
.
list
callBackBlock
(
true
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience(工作经验)/Model/YHWorkItemListModel.swift
View file @
f14e0eed
...
...
@@ -9,7 +9,6 @@
import
UIKit
class
YHWorkModel
:
YHBaseModel
{
var
count
:
Int
?
var
list
:
[
YHWorkItemListModel
]?
}
...
...
@@ -21,6 +20,6 @@ class YHWorkItemListModel: YHBaseModel {
var
company_name
:
String
?
var
position
:
String
?
var
entry_time
:
String
?
var
departure_time
:
Bool
?
var
departure_time
:
String
?
var
vacant_num
:
Int
?
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience(工作经验)/V/YHWorkExperienceListTableViewCell.swift
View file @
f14e0eed
...
...
@@ -144,6 +144,7 @@ class YHWorkExperienceListTableViewCell: UITableViewCell {
bottomView
=
{
let
view
=
YHWorkItemAddView
()
view
.
addBtn
.
setTitle
(
"新增工作经验"
.
local
,
for
:
.
normal
)
view
.
clickBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
newWorkBlock
{
...
...
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
f14e0eed
...
...
@@ -176,4 +176,10 @@ class YHAllApiName {
static
let
getPublicApi
=
"oss/storage/convertToPublicURL"
static
let
getPublicUrlsApi
=
"oss/storage/batchConvertToPublicURL"
}
struct
Signature
{
// 签字列表
static
let
list
=
"/infoflow/my-sign/list"
}
}
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