|
|
|
|
@ -2,6 +2,7 @@ import arrow |
|
|
|
|
|
|
|
|
|
from paymentwall import Pingback |
|
|
|
|
from polymorphic.models import PolymorphicModel |
|
|
|
|
from polymorphic.managers import PolymorphicManager |
|
|
|
|
|
|
|
|
|
from django.db import models |
|
|
|
|
from django.contrib.auth import get_user_model |
|
|
|
|
@ -73,6 +74,12 @@ class AuthorBalance(models.Model): |
|
|
|
|
return self.amount * config.SERVICE_COMMISSION / 100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PaymentManger(PolymorphicManager): |
|
|
|
|
|
|
|
|
|
def all(self): |
|
|
|
|
return self.filter(status__isnull=False) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Payment(PolymorphicModel): |
|
|
|
|
PW_STATUS_CHOICES = ( |
|
|
|
|
(Pingback.PINGBACK_TYPE_REGULAR, 'regular',), |
|
|
|
|
@ -93,13 +100,12 @@ class Payment(PolymorphicModel): |
|
|
|
|
created_at = models.DateTimeField(auto_now_add=True) |
|
|
|
|
update_at = models.DateTimeField(auto_now=True) |
|
|
|
|
|
|
|
|
|
non_polymorphic = models.Manager() |
|
|
|
|
objects = PaymentManger() |
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
verbose_name = 'Платеж' |
|
|
|
|
verbose_name_plural = 'Платежи' |
|
|
|
|
ordering = ('created_at',) |
|
|
|
|
base_manager_name = 'non_polymorphic' |
|
|
|
|
|
|
|
|
|
def calc_commission(self): |
|
|
|
|
return self.amount * config.SERVICE_COMMISSION / 100 |
|
|
|
|
|