diff --git a/invenio_config_tuw/forms.py b/invenio_config_tuw/forms.py
index ff374e4bf93fb0e8f6cc3b4c6561dbee896f0ed3..04ce19f3aa22f8345c34103f7cee90c861a898cb 100644
--- a/invenio_config_tuw/forms.py
+++ b/invenio_config_tuw/forms.py
@@ -71,8 +71,16 @@ def tuw_registration_form(*args, **kwargs):
curation_consent = BooleanField(curation_consent_message, default="checked")
terms_of_use = BooleanField(message, [validators.required()])
+ def _get_tiss_id(self):
+ """Parse the TISS ID value into a number."""
+ try:
+ return int(self.user_profile.tiss_id.data)
+ except Exception:
+ return None
+
def to_dict(self):
"""Turn the form into a dictionary."""
+
return {
"email": self.email.data,
"username": self.username.data,
@@ -82,7 +90,7 @@ def tuw_registration_form(*args, **kwargs):
"given_name": self.user_profile.given_name.data,
"family_name": self.user_profile.family_name.data,
"affiliations": self.user_profile.affiliations.data,
- "tiss_id": self.user_profile.tiss_id.data,
+ "tiss_id": self._get_tiss_id(),
},
"preferences": {
"visibility": self.preferences.visibility.data,