Revision 564a2292 snf-astakos-app/astakos/im/models.py

b/snf-astakos-app/astakos/im/models.py
533 533
        if 'identifier' in kwargs:
534 534
            try:
535 535
                # provider with specified params already exist
536
                kwargs['user__email_verified'] = True
536 537
                existing_user = AstakosUser.objects.get_auth_provider_user(provider,
537 538
                                                                   **kwargs)
538 539
            except AstakosUser.DoesNotExist:
......
577 578
                info_data = json.dumps(info_data)
578 579

  
579 580
        if self.can_add_auth_provider(provider, **kwargs):
581
            AstakosUserAuthProvider.objects.remove_unverified_providers(provider,
582
                                                                **kwargs)
580 583
            self.auth_providers.create(module=provider, active=True,
581 584
                                       info_data=info_data,
582 585
                                       **kwargs)
......
692 695
    def active(self, **filters):
693 696
        return self.filter(active=True, **filters)
694 697

  
698
    def remove_unverified_providers(self, provider, **filters):
699
        try:
700
            existing = self.filter(module=provider, user__email_verified=False, **filters)
701
            for p in existing:
702
                p.user.delete()
703
        except:
704
            pass
705

  
706

  
695 707

  
696 708
class AstakosUserAuthProvider(models.Model):
697 709
    """
......
960 972
    third_party_identifier = models.CharField(_('Third-party identifier'), max_length=255, null=True, blank=True)
961 973
    provider = models.CharField(_('Provider'), max_length=255, blank=True)
962 974
    email = models.EmailField(_('e-mail address'), blank=True, null=True)
963
    first_name = models.CharField(_('first name'), max_length=30, blank=True)
964
    last_name = models.CharField(_('last name'), max_length=30, blank=True)
965
    affiliation = models.CharField('Affiliation', max_length=255, blank=True)
975
    first_name = models.CharField(_('first name'), max_length=30, blank=True,
976
                                  null=True)
977
    last_name = models.CharField(_('last name'), max_length=30, blank=True,
978
                                 null=True)
979
    affiliation = models.CharField('Affiliation', max_length=255, blank=True,
980
                                   null=True)
966 981
    username = models.CharField(_('username'), max_length=30, unique=True, help_text=_("Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters"))
967 982
    token = models.CharField(_('Token'), max_length=255, null=True, blank=True)
968 983
    created = models.DateTimeField(auto_now_add=True, null=True, blank=True)

Also available in: Unified diff