From 96eb1312f3eb16e6ac9e869a419301cda1808edd Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Apr 17 2015 14:44:46 +0000 Subject: Specify the default_email of the user when setting it up and adjust depending code --- diff --git a/pagure/__init__.py b/pagure/__init__.py index 6729ea1..3a3d0a4 100644 --- a/pagure/__init__.py +++ b/pagure/__init__.py @@ -235,7 +235,7 @@ def set_user(return_url): session=SESSION, username=flask.g.fas_user.username, fullname=flask.g.fas_user.fullname, - user_email=flask.g.fas_user.email, + default_email=flask.g.fas_user.email, ) SESSION.commit() except SQLAlchemyError, err: diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index 5d48fae..95e283f 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -1389,14 +1389,14 @@ def get_request_by_uid(session, request_uid): return query.first() -def set_up_user(session, username, fullname, user_email): +def set_up_user(session, username, fullname, default_email, emails=None): ''' Set up a new user into the database or update its information. ''' user = search_user(session, username=username) if not user: user = model.User( user=username, fullname=fullname, - default_email=user_email + default_email=default_email ) session.add(user) session.flush() @@ -1406,7 +1406,13 @@ def set_up_user(session, username, fullname, user_email): session.add(user) session.flush() - add_email_to_user(session, user, user_email) + if emails: + emails = set(emails) + else: + emails = set() + emails.add(default_email) + for email in emails: + add_email_to_user(session, user, email) return user diff --git a/pagure/lib/git.py b/pagure/lib/git.py index ff3f4af..2a0fb8d 100644 --- a/pagure/lib/git.py +++ b/pagure/lib/git.py @@ -214,6 +214,7 @@ def get_user_from_json(session, jsondata): username = jsondata.get('user', {}).get('name') fullname = jsondata.get('user', {}).get('fullname') useremails = jsondata.get('user', {}).get('emails') + default_email = jsondata.get('user', {}).get('default_email') user = pagure.lib.search_user(session, username=username) if not user: for email in useremails: @@ -226,7 +227,8 @@ def get_user_from_json(session, jsondata): session=session, username=username, fullname=fullname or username, - user_email=useremails[0], + default_email=default_email, + emails=useremails, ) session.commit()