# coding=utf-8 from django.db import models from django.conf import settings from courses.models import Course, Vertex class Price(models.Model): # Цены public = models.BooleanField(verbose_name='Опубликовать', default=False) title = models.CharField(verbose_name='Услуга', max_length=255, help_text=u'Будет показано пользователям') cost = models.IntegerField(verbose_name='Цена') course = models.ForeignKey(to=Course, verbose_name='Курс', null=True, blank=True) vertexes = models.ManyToManyField(to=Vertex, verbose_name='Список всех узлов') description = models.TextField(verbose_name='Описание', help_text='Будет показано менеджерам') by_time = models.IntegerField(verbose_name='Дней доступа', blank=True, null=True) def __str__(self): return '%s / %s %s' % (self.course.title, self.title, self.cost) class Meta: verbose_name = u'Услуга' verbose_name_plural = u'Услуги' ordering = ['-id'] class Bill(models.Model): BILL_STATUSES = ( ('W', 'Ожидание согласия'), ('P', 'На оплате'), ('F', 'Оплачен'), ('C', 'Отклонен'), ('H', 'Сгорел') ) BILL_METHOD = ( ('C', 'Наличные'), ('H', 'JustClick'), ('A', 'Альфа-Банк'), ('S', 'SimplePay'), ('Y', 'YandexKassa') ) status = models.CharField(verbose_name='Статус', max_length=1, default='W', choices=BILL_STATUSES) bill_method = models.CharField(verbose_name='Способ оплаты', max_length=2, default='Y', choices=BILL_METHOD) price = models.CharField(verbose_name='Сумма', max_length=255, null=True, blank=True) real_price = models.CharField(verbose_name='Полученная сумма', max_length=255, null=True, blank=True, help_text='Сумма, минус комиссия') service = models.ForeignKey(to=Price, verbose_name='Оплачиваемая услуга') inside_data = models.TextField(verbose_name='Данные проверки', default='', blank=True, editable=False) user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='Плательщик', related_name=u'bill_user') opener = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='Ответственный сотрудник', null=True) key = models.CharField(verbose_name='Ключ платежа', blank=True, max_length=255, default='', editable=False) out_id = models.CharField(verbose_name='ID внешнего заказа', max_length=100, blank=True, default='', editable=False) comment = models.TextField(verbose_name=u'Комментарий продавца', help_text=u'Будет показано пользователю', blank=True, editable=False) description = models.TextField(verbose_name='Внутренняя заметка', default='') def __str__(self): return '%s:%s %s' % (self.id, self.get_status_display(), self.user) class Meta: verbose_name = u'Счет' verbose_name_plural = u'Счета'