diff --git a/pagure/__init__.py b/pagure/__init__.py index bb97770..b7052ab 100644 --- a/pagure/__init__.py +++ b/pagure/__init__.py @@ -287,11 +287,13 @@ def set_session(): def set_user(return_url): ''' After login method. ''' try: + pagure.lib.set_up_user( session=SESSION, username=flask.g.fas_user.username, fullname=flask.g.fas_user.fullname, default_email=flask.g.fas_user.email, + ssh_key=flask.g.fas_user.get('ssh_key') ) SESSION.commit() except SQLAlchemyError, err: diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index 64a6b3f..64d229c 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -1757,7 +1757,8 @@ def get_pull_request_flag_by_uid(session, flag_uid): return query.first() -def set_up_user(session, username, fullname, default_email, emails=None): +def set_up_user(session, username, fullname, default_email, + emails=None, ssh_key=None): ''' Set up a new user into the database or update its information. ''' user = search_user(session, username=username) if not user: @@ -1782,6 +1783,9 @@ def set_up_user(session, username, fullname, default_email, emails=None): for email in emails: add_email_to_user(session, user, email) + if ssh_key and not user.public_ssh_key: + user.public_ssh_key = ssh_key + return user