'Returns true if this user requires parental consent.
Args:
date (Date): The date for which consent needs to be tested (defaults to now).
age_limit (int): The age limit at which parental consent is no longer required.
This defaults to the value of the setting \'PARENTAL_CONTROL_AGE_LIMIT\'.
default_requires_consent (bool): True if users require parental consent if they
have no specified year of birth (default is True).
Returns:
True if the user requires parental consent.'

def requires_parental_consent(self, date=None, age_limit=None, default_requires_consent=True):

    if (age_limit is None):
        age_limit = getattr(settings, 'PARENTAL_CONSENT_AGE_LIMIT', None)
        if (age_limit is None):
            return False
    year_of_birth = self.year_of_birth
    if (year_of_birth is None):
        return default_requires_consent
    if (date is None):
        age = self.age
    else:
        age = self._calculate_age(date.year, year_of_birth)
    return (age < age_limit)
