Ejemplo n.º 1
0
def br_capturadepremi_clean( instance ):
    
    errors = []
    instance.__self_clean = True    
    instance.__is_update = instance.pk is not None
    
    if not instance.__is_update:
        instance.codi_de_recollida = new_slug_h(5)
        instance.collaborador_cache = instance.premi.collaborador
        instance.data_max_recollida_cache = date.today() + timedelta( days = 5 )
Ejemplo n.º 2
0
def br_qr_clean( instance ):

    errors = []
    instance.__self_clean = True    
    instance.__is_update = instance.pk is not None
    
    if not instance.__is_update:
        #slug: 4 x colaborador + 4 x codi + 1 x digitcontrol          
        c=3
        while c > 0 and not bool( instance.slug ):        
            slug = instance.collaborador_cache.slug_x_4 + new_slug_h( 5 )                    
            
            if not instance.__class__.objects.filter( slug = slug ).exists():
                instance.slug = slug
            c -= 1        

    if not bool( instance.slug ):
        errors.append(u"No s'ha pogut donar un codi intern per al QR")
    
    if bool( errors ):
        raise ValidationError( errors )