Fixed year detection for billing number
This commit is contained in:
parent
c678a6c0da
commit
2e317e529f
1
TODO.md
1
TODO.md
|
@ -455,3 +455,4 @@ mkhomedir_helper or create ssh homes with bash.rc and such
|
||||||
|
|
||||||
|
|
||||||
* setuppostgres use porject_name for db name and user instead of orchestra
|
* setuppostgres use porject_name for db name and user instead of orchestra
|
||||||
|
* show all available choices (plugins) on admin settings value i.e. payment methods
|
||||||
|
|
|
@ -226,14 +226,14 @@ class Bill(models.Model):
|
||||||
prefix = getattr(settings, 'BILLS_%s_NUMBER_PREFIX' % bill_type)
|
prefix = getattr(settings, 'BILLS_%s_NUMBER_PREFIX' % bill_type)
|
||||||
if self.is_open:
|
if self.is_open:
|
||||||
prefix = 'O{}'.format(prefix)
|
prefix = 'O{}'.format(prefix)
|
||||||
bills = cls.objects.filter(number__regex=r'^%s[1-9]+' % prefix)
|
year = timezone.now().strftime("%Y")
|
||||||
|
bills = cls.objects.filter(number__regex=r'^%s%s[1-9]+' % (prefix, year)
|
||||||
last_number = bills.order_by('-number').values_list('number', flat=True).first()
|
last_number = bills.order_by('-number').values_list('number', flat=True).first()
|
||||||
if last_number is None:
|
if last_number is None:
|
||||||
last_number = 0
|
last_number = 0
|
||||||
else:
|
else:
|
||||||
last_number = int(last_number[len(prefix)+4:])
|
last_number = int(last_number[len(prefix)+4:])
|
||||||
number = last_number + 1
|
number = last_number + 1
|
||||||
year = timezone.now().strftime("%Y")
|
|
||||||
number_length = settings.BILLS_NUMBER_LENGTH
|
number_length = settings.BILLS_NUMBER_LENGTH
|
||||||
zeros = (number_length - len(str(number))) * '0'
|
zeros = (number_length - len(str(number))) * '0'
|
||||||
number = zeros + str(number)
|
number = zeros + str(number)
|
||||||
|
|
Loading…
Reference in New Issue