From: Rob Crittenden Date: Mon, 16 Mar 2015 18:34:24 +0000 (-0400) Subject: Save user attributes on subsequent calls to login. X-Git-Tag: v0.5.0~23 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=commitdiff_plain;h=2667fc13306912d4a1481e495181679012255ef6 Save user attributes on subsequent calls to login. When a login comes in via the remote_login() call no user attributes are set. These may be later filled in by a subsequent call to login() after the info plugins are called but a short-circuit in that function exits if the user matches the current session. Add an extra conditional such that if the user matches, userattributes are passed in and the current user attributes for this user is empty then save the new data. https://fedorahosted.org/ipsilon/ticket/86 Signed-off-by: Rob Crittenden Reviewed-by: Nathan Kinder --- diff --git a/ipsilon/util/user.py b/ipsilon/util/user.py index 1ce5c17..758bf3d 100644 --- a/ipsilon/util/user.py +++ b/ipsilon/util/user.py @@ -121,6 +121,8 @@ class UserSession(Log): def login(self, username, userattrs=None): if self.user == username: + if userattrs and not self.get_user_attrs(): + self.save_user_attrs(userattrs) return # REMOTE_USER changed, replace user