'Determine whether this ``RegistrationProfile``\'s activation
key has expired, returning a boolean -- ``True`` if the key
has expired.
Key expiration is determined by a two-step process:
1. If the user has already activated, ``self.activated`` will
be ``True``. Re-activating is not permitted, and so this
method returns ``True`` in this case.
2. Otherwise, the date the user signed up is incremented by
the number of days specified in the setting
``ACCOUNT_ACTIVATION_DAYS`` (which should be the number of
days after signup during which a user is allowed to
activate their account); if the result is less than or
equal to the current date, the key has expired and this
method returns ``True``.'

def activation_key_expired(self):

    expiration_date = datetime.timedelta(days=settings.ACCOUNT_ACTIVATION_DAYS)
    return (self.activated or ((self.user.date_joined + expiration_date) <= datetime_now()))
