Ejemplo n.º 1
0
    for user in User.objects.all():

        # make sure user profile exists
        try:
            userp = user.profile
        except ObjectDoesNotExist:
            userp = UserProfile.objects.create(user=user)

        # select local users:
        if userp.type == 1:

            # 1) CoG users with no local openid
            if len(userp.localOpenids()) == 0:

                # look for user email in ESGF database
                esgfUsers = esgfDatabaseManager.getUsersByEmail(user.email)

                # migrate CoG user --> ESGF user
                if len(esgfUsers) == 0:
                    esgfDatabaseManager.insertUser(userp)

                # associate local ESGF openid(s) to CoG user; if none is found, create a new local openid
                else:
                    found = False
                    for esgfUser in esgfUsers:
                        # only assign if openid is local, and contains the CoG username
                        if settings.ESGF_HOSTNAME in esgfUser.openid and user.username in esgfUser.openid:
                            if not UserOpenID.objects.filter(
                                    claimed_id=esgfUser.openid).exists():
                                openid = UserOpenID.objects.create(
                                    user=user,
Ejemplo n.º 2
0
 for user in User.objects.all():
     
     # make sure user profile exists
     try:
         userp = user.profile
     except ObjectDoesNotExist:
         userp = UserProfile.objects.create(user=user)
         
     # select local users:
     if userp.type==1:
         
         # 1) CoG users with no local openid
         if len(userp.localOpenids())==0:
             
             # look for user email in ESGF database
             esgfUsers = esgfDatabaseManager.getUsersByEmail(user.email)
             
             # migrate CoG user --> ESGF user
             if len(esgfUsers)==0:                
                 esgfDatabaseManager.insertUser(userp)
                 
             # associate local ESGF openid(s) to CoG user; if none is found, create a new local openid
             else:
                 found = False
                 for esgfUser in esgfUsers:
                     # only assign if openid is local, and contains the CoG username
                     if settings.ESGF_HOSTNAME in esgfUser.openid and user.username in esgfUser.openid:
                         if not UserOpenID.objects.filter(claimed_id=esgfUser.openid).exists():
                             openid = UserOpenID.objects.create(user=user, claimed_id=esgfUser.openid, display_id=esgfUser.openid)
                             print 'Assigned ESGF openid=%s to CoG user=%s' % (openid.claimed_id, user)
                             found = True