forked from uncloud/uncloud
23 lines
716 B
Python
23 lines
716 B
Python
from django.contrib.auth.models import AbstractUser
|
|
from django.db import models
|
|
from django.core.validators import MinValueValidator
|
|
|
|
from uncloud import AMOUNT_DECIMALS, AMOUNT_MAX_DIGITS
|
|
|
|
from uncloud_pay.models import get_balance_for_user
|
|
|
|
class User(AbstractUser):
|
|
"""
|
|
We use the standard user and add a maximum credit that is allowed
|
|
to be accumulated. After that we need to have warnings, cancellation, etc.
|
|
"""
|
|
|
|
maximum_credit = models.DecimalField(
|
|
default=0.0,
|
|
max_digits=AMOUNT_MAX_DIGITS,
|
|
decimal_places=AMOUNT_DECIMALS,
|
|
validators=[MinValueValidator(0)])
|
|
|
|
@property
|
|
def balance(self):
|
|
return get_balance_for_user(self)
|