diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index 7093975..11f98f6 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -3148,10 +3148,6 @@ def set_custom_key_fields(session, project, fields, types): provided. """ - if len(fields) != len(types): - raise pagure.exceptions.PagureException( - 'Not all the custom fields have a type specified') - current_keys = {} for key in project.issue_keys: current_keys[key.name] = key @@ -3168,6 +3164,11 @@ def set_custom_key_fields(session, project, fields, types): ) session.add(issuekey) + # Delete keys + for key in current_keys: + if key not in fields: + session.delete(current_keys[key]) + return 'List of custom fields updated' diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 9bb1bfb..49b5718 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -2145,9 +2145,6 @@ def update_custom_keys(repo, username=None, namespace=None): SESSION, repo, custom_keys, custom_keys_type) SESSION.commit() flask.flash(msg) - except pagure.exceptions.PagureException as msg: - SESSION.rollback() - flask.flash(msg, 'error') except SQLAlchemyError as err: # pragma: no cover SESSION.rollback() flask.flash(str(err), 'error')