From f365aefe6aff3392f629cbd38cca59d2f466573a Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Sep 27 2015 19:24:27 +0000 Subject: Adjust the UI to only update the ssh key when it makes sense to do so --- diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index c3f2477..1559fac 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -152,6 +152,7 @@ def search_user(session, username=None, email=None, token=None, pattern=None): return output + def create_user_ssh_keys_on_disk(user, gitolite_keydir): if gitolite_keydir: # First remove any old keyfiles for the user @@ -183,6 +184,7 @@ def create_user_ssh_keys_on_disk(user, gitolite_keydir): with open(keyfile, 'w') as stream: stream.write(keys[i].strip().encode('UTF-8')) + def add_issue_comment(session, issue, comment, user, ticketfolder, notify=True, redis=None): ''' Add a comment to an issue. ''' diff --git a/pagure/ui/app.py b/pagure/ui/app.py index 74604d6..a0ab3db 100644 --- a/pagure/ui/app.py +++ b/pagure/ui/app.py @@ -393,13 +393,16 @@ def user_settings(): ssh_key = form.ssh_key.data try: - message = pagure.lib.update_user_ssh( - SESSION, - user=user, - ssh_key=ssh_key, - keydir=APP.config.get('GITOLITE_KEYDIR', None), - ) - SESSION.commit() + message = 'Nothing to update' + if user.public_ssh_key != ssh_key: + pagure.lib.update_user_ssh( + SESSION, + user=user, + ssh_key=ssh_key, + keydir=APP.config.get('GITOLITE_KEYDIR', None), + ) + SESSION.commit() + message = 'Public ssh key updated' flask.flash(message) return flask.redirect( flask.url_for('view_user', username=user.user))