Example #1
0
    def clean(self):
        if self.date and self.saeculo == '':
            self.saeculo = set_saeculo(self)
        mora_value = self.mora_reference
        if mora_value:
            reference_base = 'DA'
            regex_pattern = re.compile('([0-9]+)(.*?)$')
            if re.search(regex_pattern, mora_value):
                reference_number = re.search(regex_pattern, mora_value).group(1)
                reference_suffix = re.search(regex_pattern, mora_value).group(2)
            else:
                raise ValidationError("The Mora reference number must contain at least one digit.")

            if len(reference_number) > 3:
                raise ValidationError("The Mora reference number must not be longer than three digits.")
            if len(reference_number) == 3:
                self.mora_reference = reference_base + reference_number + reference_suffix
            elif len(reference_number) == 2:
                self.mora_reference = reference_base + '0' + reference_number + reference_suffix
            elif len(reference_number) == 1:
                self.mora_reference = reference_base + '00' + reference_number + reference_suffix
Example #2
0
 def clean(self):
     if self.date and self.saeculo == '':
         self.saeculo = set_saeculo(self)