Guest User

Untitled

a guest
Jul 17th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.75 KB | None | 0 0
  1. def authMergeUserProfileFromRequest(request):
  2.     userProfileRequest = getUserProfile(request)
  3.     if not userProfileRequest:
  4.         return False, 'No user profile from request has been found.'
  5.     username = request.REQUEST.get('username', '').strip()
  6.     if not username:
  7.         return False, 'Vnesite uporabniško ime'
  8.     if userProfileRequest.username == username:
  9.         return True, ('Userprofile with name %s has been found' % username)
  10.  
  11.     try:
  12.         userProfileLogin = UserProfile.objects.get(username__exact=username)
  13.     except UserProfile.DoesNotExist:
  14.         userProfileRequest.username = username
  15.         userProfileRequest.save()
  16.         return True, ('Anonymous userprofile has a new authenticated name %s' % username)
  17.  
  18.     if userProfileLogin.udids.count() >= settings.MAX_DEVICES_PER_ACCOUNT:
  19.         return False, 'Prekoračili ste maksimalno število naprav na uporabniški račun (%s)' % settings.MAX_DEVICES_PER_ACCOUNT
  20.     if userProfileRequest.username:     # Transfer just current device (not anonymous user)
  21.         requestUdid = parseUdidFromRequest(request)
  22.         if not requestUdid:
  23.             return False, ''
  24.         for dev in userProfileRequest.udids.all():
  25.             if dev.udid == requestUdid:
  26.                 if dev.udid not in [ ud.udid for ud in userProfileLogin.udids.all() ]:
  27.                     dev.userProfile = userProfileRequest
  28.                     dev.save()
  29.                 break
  30.     else:
  31.         for dev in userProfileRequest.udids.all():  # There is only one device, since user profile request is anonymous
  32.             dev.userProfile = userProfileLogin
  33.             dev.save()
  34.         userProfileLogin.transferProfileData(userProfileRequest)
  35.         userProfileRequest.delete()
  36.     return True, ''
Add Comment
Please, Sign In to add comment