Example #1
0
def dates(data):
    if not data.get("validity_start") and data.get("validity_end"):
        raise ValidationError(
            "If validity start is specified so must validity end.")

    if not data.get("validity_end") and data.get("validity_start"):
        raise ValidationError(
            "If validity end is specified so must validity start.")

    if data.get("validity_start") and data.get("validity_end"):
        if not current_app.config.get("LEMUR_ALLOW_WEEKEND_EXPIRATION", True):
            if is_weekend(data.get("validity_end")):
                raise ValidationError(
                    "Validity end must not land on a weekend.")

        if not data["validity_start"] < data["validity_end"]:
            raise ValidationError(
                "Validity start must be before validity end.")

        if data.get("authority"):
            if (data.get("validity_start").date() <
                    data["authority"].authority_certificate.not_before.date()):
                raise ValidationError(
                    "Validity start must not be before {0}".format(
                        data["authority"].authority_certificate.not_before))

            if (data.get("validity_end").date() >
                    data["authority"].authority_certificate.not_after.date()):
                raise ValidationError(
                    "Validity end must not be after {0}".format(
                        data["authority"].authority_certificate.not_after))

    return data
Example #2
0
def dates(data):
    if not data.get('validity_start') and data.get('validity_end'):
        raise ValidationError(
            'If validity start is specified so must validity end.')

    if not data.get('validity_end') and data.get('validity_start'):
        raise ValidationError(
            'If validity end is specified so must validity start.')

    if data.get('validity_start') and data.get('validity_end'):
        if not current_app.config.get('LEMUR_ALLOW_WEEKEND_EXPIRATION', True):
            if is_weekend(data.get('validity_end')):
                raise ValidationError(
                    'Validity end must not land on a weekend.')

        if not data['validity_start'] < data['validity_end']:
            raise ValidationError(
                'Validity start must be before validity end.')

        if data.get('authority'):
            if data.get('validity_start').date(
            ) < data['authority'].authority_certificate.not_before.date():
                raise ValidationError(
                    'Validity start must not be before {0}'.format(
                        data['authority'].authority_certificate.not_before))

            if data.get('validity_end').date(
            ) > data['authority'].authority_certificate.not_after.date():
                raise ValidationError(
                    'Validity end must not be after {0}'.format(
                        data['authority'].authority_certificate.not_after))

    return data
Example #3
0
def convert_validity_years(data):
    """
    Convert validity years to validity_start and validity_end

    :param data:
    :return:
    """
    if data.get('validity_years'):
        now = arrow.utcnow()
        data['validity_start'] = now.isoformat()

        end = now.replace(years=+int(data['validity_years']))
        if not current_app.config.get('LEMUR_ALLOW_WEEKEND_EXPIRATION', True):
            if is_weekend(end):
                end = end.replace(days=-2)

        data['validity_end'] = end.isoformat()
    return data
Example #4
0
def dates(data):
    if not data.get('validity_start') and data.get('validity_end'):
        raise ValidationError('If validity start is specified so must validity end.')

    if not data.get('validity_end') and data.get('validity_start'):
        raise ValidationError('If validity end is specified so must validity start.')

    if data.get('validity_start') and data.get('validity_end'):
        if not current_app.config.get('LEMUR_ALLOW_WEEKEND_EXPIRATION', True):
            if is_weekend(data.get('validity_end')):
                raise ValidationError('Validity end must not land on a weekend.')

        if not data['validity_start'] < data['validity_end']:
            raise ValidationError('Validity start must be before validity end.')

        if data.get('authority'):
            if data.get('validity_start').date() < data['authority'].authority_certificate.not_before.date():
                raise ValidationError('Validity start must not be before {0}'.format(data['authority'].authority_certificate.not_before))

            if data.get('validity_end').date() > data['authority'].authority_certificate.not_after.date():
                raise ValidationError('Validity end must not be after {0}'.format(data['authority'].authority_certificate.not_after))

    return data