payments card and separated /support url

This commit is contained in:
2025-05-22 16:08:40 +03:00
parent 6963fdb17a
commit 29d3af2ea1
16 changed files with 481 additions and 31 deletions

View File

@@ -5,6 +5,8 @@ from django.utils.text import slugify
from django.db.models.signals import pre_save
from django.dispatch import receiver
from transliterate import translit
from routes.constants.account_types import account_types
from django.contrib.auth.models import User
class FAQ (models.Model):
title = models.CharField(max_length=250)
@@ -54,4 +56,37 @@ def generate_slug(sender, instance, **kwargs):
# транслит с русского на латиницу
transliterated_title = translit(instance.title, 'ru', reversed=True)
# создаем слаг и заменяем пробелы на дефисы
instance.slug = slugify(transliterated_title)
instance.slug = slugify(transliterated_title)
class Pricing(models.Model):
plan = models.CharField(max_length=10, choices=account_types)
price = models.IntegerField()
is_popular = models.BooleanField(default=False)
class Meta:
verbose_name = 'Тарифный план'
verbose_name_plural = 'Тарифные планы'
def __str__(self):
return self.plan
class MembershipFeatures(models.Model):
plan = models.ForeignKey(Pricing, on_delete=models.CASCADE, verbose_name=('Тарифный план'))
feature = models.CharField(max_length=255)
class Transactions(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='Пользователь')
amount = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='Сумма')
plan = models.ForeignKey(Pricing, on_delete=models.CASCADE, verbose_name='Тарифный план')
status = models.CharField(max_length=255, verbose_name='Статус')
created_at = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')
class Meta:
verbose_name = 'Транзакция'
verbose_name_plural = 'Транзакции'
ordering = ['id']
def __str__(self):
return f'{self.user} - {self.amount}'