Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions users/adapters.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,20 @@ def populate_user(self, request, sociallogin, data):

return user

def pre_social_login(self, request, sociallogin):
# Runs on every SUAP login, unlike save_user (signup only). This is
# what keeps avatar/name/campus/type in sync for returning users.
if sociallogin.is_existing:
self._sync_user_from_suap(sociallogin.user, sociallogin)
sociallogin.user.save()

def save_user(self, request, sociallogin, form=None):
user = super().save_user(request, sociallogin, form)
self._sync_user_from_suap(user, sociallogin)
user.save()
return user

# Update user data from SUAP on every login
def _sync_user_from_suap(self, user, sociallogin):
extra_data = sociallogin.account.extra_data

# Update email (in case it changed)
Expand Down Expand Up @@ -119,8 +129,5 @@ def save_user(self, request, sociallogin, form=None):
user.curso = ""
user.periodo_referencia = ""

user.save()
return user

def is_open_for_signup(self, request, sociallogin):
return settings.OPEN_FOR_SIGNUP or False
Loading