From fc17a87fe52e09b2df31055f5344a4b19d727603 Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Feb 01 2017 13:52:52 +0000 Subject: Delete a custom field value if it was submitted with empty contents Fixes: pagure-importer#107 Signed-off-by: Patrick Uiterwijk --- diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index 6a292fc..6e4b833 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -3517,7 +3517,7 @@ def set_custom_key_value(session, issue, key, value): if current_field: if current_field.key.key_type == 'boolean': value = value or False - if value is None: + if value is None or value == '': session.delete(current_field) updated = True delete = True @@ -3525,16 +3525,15 @@ def set_custom_key_value(session, issue, key, value): current_field.value = value updated = True else: - if not value: - raise pagure.exceptions.PagureException( - 'No value given to this new custom field: %s' % key.name + if value is None or value == '': + delete = True + else: + current_field = model.IssueValues( + issue_uid=issue.uid, + key_id=key.id, + value=value, ) - current_field = model.IssueValues( - issue_uid=issue.uid, - key_id=key.id, - value=value, - ) - updated = True + updated = True if not delete: session.add(current_field)