mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-25 02:24:26 +00:00
Create the customer when subscribing if it does not exists yet
This commit is contained in:
parent
97ff4341a7
commit
7a267dbc3f
@ -5,6 +5,7 @@ from django.conf import settings
|
|||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
from random import randrange
|
||||||
|
|
||||||
from club.models import Club
|
from club.models import Club
|
||||||
from accounting.models import CurrencyField
|
from accounting.models import CurrencyField
|
||||||
@ -27,6 +28,9 @@ class Customer(models.Model):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.user.username
|
return self.user.username
|
||||||
|
|
||||||
|
def generate_account_id():
|
||||||
|
return randrange(0, 4000) # TODO: improve me!
|
||||||
|
|
||||||
class ProductType(models.Model):
|
class ProductType(models.Model):
|
||||||
"""
|
"""
|
||||||
This describes a product type
|
This describes a product type
|
||||||
|
@ -35,10 +35,7 @@ class Subscription(models.Model):
|
|||||||
# TODO add location!
|
# TODO add location!
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
permissions = (
|
ordering = ['subscription_start',]
|
||||||
('change_subscription', 'Can make someone become a subscriber'),
|
|
||||||
('view_subscription', 'Can view who is a subscriber'),
|
|
||||||
)
|
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
try:
|
try:
|
||||||
@ -50,8 +47,11 @@ class Subscription(models.Model):
|
|||||||
# TODO see SubscriptionForm's clean method
|
# TODO see SubscriptionForm's clean method
|
||||||
raise ValidationError(_("You are trying to create a subscription without member"))
|
raise ValidationError(_("You are trying to create a subscription without member"))
|
||||||
|
|
||||||
class Meta:
|
def save(self):
|
||||||
ordering = ['subscription_start',]
|
super(Subscription, self).save()
|
||||||
|
from counter.models import Customer
|
||||||
|
if not Customer.objects.filter(user=self.member).exists():
|
||||||
|
Customer(user=self.member, account_id=Customer.generate_account_id(), amount=0).save()
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('core:user_profile', kwargs={'user_id': self.member.pk})
|
return reverse('core:user_profile', kwargs={'user_id': self.member.pk})
|
||||||
|
Loading…
Reference in New Issue
Block a user