Example #1
0
 def create(cls, obj, tag):
     tag, created = SourceTag.objects.get_or_create(tag=tag,
                                                    tag_crc32=crc32(tag))
     tagged_item = SourceTaggedItem(object=obj,
                                    tag=tag)
     tagged_item.save()
     return tagged_item
Example #2
0
    def get_or_create(cls, first_name, last_name, email, user=None):
        email = email.lower()
        d, created = Donor.objects.get_or_create(email=email, email_crc32=crc32(email))
        state_changed = False
        if user and user != d.user:
            d.user = user
            state_changed = True
        else:
            try:
                # For those donating anonymously
                # who are already registered (active) users
                existing_user = User.objects.get(email=email, is_active=True)
                d.user=existing_user
            except User.DoesNotExist:
                pass
        if d.first_name != first_name:
            d.first_name = first_name
            state_changed = True
        if d.last_name != last_name:
            d.last_name = last_name
            state_changed = True

        if state_changed:
            d.save()
        return d
Example #3
0
 def from_email(cls, email):
     try:
         email = email.lower()
         return Donor.objects.get(email=email, email_crc32=crc32(email))
     except Donor.DoesNotExist:
         return None
     except Exception, err:
         logging.exception("Error Retrieving Donor On Email")
         return None
Example #4
0
 def create(cls, obj, tag):
     tag, created = SourceTag.objects.get_or_create(tag=tag,
                                                    tag_crc32=crc32(tag))
     tagged_item = SourceTaggedItem(object=obj, tag=tag)
     tagged_item.save()
     return tagged_item
Example #5
0
 def save(self, *args, **kw):
     self.email = self.email.lower()
     self.email_crc32 = crc32(self.email)
     super(Donor, self).save(*args, **kw)