Merge branch 'feature/payments' into dev

remotes/origin/hasaccess
Ivlev Denis 8 years ago
commit c849d3dd91
  1. 28
      api/v1/serializers/payment.py
  2. 9
      api/v1/views.py
  3. 2
      apps/payment/models.py

@ -1,9 +1,37 @@
from rest_framework import serializers
from apps.payment.models import AuthorBalance
from .user import UserSerializer
class AuthorBalanceCreateSerializer(serializers.ModelSerializer):
class Meta:
model = AuthorBalance
fields = (
'id',
'author',
'type',
'amount',
'commission',
'status',
'payment',
'cause',
)
read_only_fields = (
'id',
'author',
'type',
'payment',
)
def to_representation(self, instance):
return AuthorBalanceSerializer(instance, context=self.context).to_representation(instance)
class AuthorBalanceSerializer(serializers.ModelSerializer):
author = UserSerializer()
class Meta:
model = AuthorBalance

@ -24,7 +24,7 @@ from .serializers.content import (
ImageObjectSerializer,
)
from .serializers.school import SchoolScheduleSerializer
from .serializers.payment import AuthorBalanceSerializer
from .serializers.payment import AuthorBalanceSerializer, AuthorBalanceCreateSerializer
from .serializers.user import (
UserSerializer, UserPhotoSerializer,
)
@ -43,9 +43,12 @@ User = get_user_model()
class AuthorBalanceViewSet(ExtendedModelViewSet):
queryset = AuthorBalance.objects.all()
serializer_class = AuthorBalanceSerializer
serializer_class = AuthorBalanceCreateSerializer
serializer_class_map = {
'list': AuthorBalanceSerializer,
}
permission_classes = (IsAdmin,)
filter_fields = ('status', 'type')
filter_fields = ('author', 'status', 'type')
search_fields = (
'author__email',
'author__first_name',

@ -34,7 +34,7 @@ class AuthorBalance(models.Model):
commission = models.DecimalField('Комиссия', max_digits=8, decimal_places=2, default=0)
status = models.PositiveSmallIntegerField('Статус', choices=STATUS_CHOICES, default=0)
payment = models.OneToOneField('Payment', on_delete=models.CASCADE, null=True, blank=True, verbose_name='Платёж')
cause = models.TextField('Причина отказа', default='')
cause = models.TextField('Причина отказа', null=True, blank=True)
class Meta:
verbose_name = 'Баланс'

Loading…
Cancel
Save