from django.db import models from django.urls import reverse class Recall(models.Model): title = models.CharField(max_length=255, verbose_name='Организация') content = models.TextField(blank=True, verbose_name='Отзыв') scan = models.ImageField(upload_to="scan/%Y/%m/%d/", verbose_name='Фото') time_create = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания') time_update = models.DateTimeField(auto_now=True, verbose_name='Дата изменения') is_published = models.BooleanField(default=True, verbose_name='Опубликован') def __str__(self): return self.title def get_absolute_url(self): return reverse('post', kwargs={'post_id': self.pk}) class Meta: verbose_name = 'Отзыв' verbose_name_plural = 'Отзывы' ordering = ['time_create', 'title'] class Competence(models.Model): title = models.CharField(max_length=255, verbose_name='Программист') content = models.TextField(blank=True, verbose_name='Компетенция') photo = models.ImageField(upload_to="photos/%Y/%m/%d/", verbose_name='Фото') time_create = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания') time_update = models.DateTimeField(auto_now=True, verbose_name='Дата изменения') is_published = models.BooleanField(default=True, verbose_name='Опубликован') def __str__(self): return self.title def get_absolute_url(self): return reverse('post', kwargs={'post_id': self.pk}) class Meta: verbose_name = 'Компетенция' verbose_name_plural = 'Компетенции' ordering = ['time_create', 'title'] class Solution(models.Model): title = models.CharField(max_length=255, verbose_name='Наименование') description = models.TextField(blank=True, verbose_name='Описание') implementation = models.TextField(blank=True, verbose_name='Реализация') closing = models.TextField(blank=True, verbose_name='Заключение') time_create = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания') time_update = models.DateTimeField(auto_now=True, verbose_name='Дата изменения') is_published = models.BooleanField(default=True, verbose_name='Опубликован') def __str__(self): return self.title def get_absolute_url(self): return reverse('post', kwargs={'post_id': self.pk}) class Meta: verbose_name = 'Проекты' verbose_name_plural = 'Проекты' ordering = ['time_create', 'title'] class Home(models.Model): title = models.CharField(max_length=255, verbose_name='Наименование') content = models.TextField(blank=True, verbose_name='Статья') home_image = models.ImageField(upload_to="home_image/%Y/%m/%d/", verbose_name='Фото') time_create = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания') time_update = models.DateTimeField(auto_now=True, verbose_name='Дата изменения') is_published = models.BooleanField(default=True, verbose_name='Опубликован') def __str__(self): return self.title def get_absolute_url(self): return reverse('post', kwargs={'post_id': self.pk}) class Meta: verbose_name = 'Главная страница' verbose_name_plural = 'Главная страница' ordering = ['time_create', 'title'] class CallbackRequest(models.Model): name = models.CharField(max_length=100, verbose_name='Имя') phone = models.CharField(max_length=20, verbose_name='Телефон') email = models.EmailField(blank=True, null=True, verbose_name='Электронная почта') # Сделать необязательным question = models.TextField(blank=True, verbose_name='Ваш вопрос') # Сделать необязательным time_create = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания') is_processed = models.BooleanField(default=False, verbose_name='Обработано') def __str__(self): return f"{self.name} - {self.phone}" class Meta: verbose_name = 'Заявка на звонок' verbose_name_plural = 'Заявки на звонок' ordering = ['-time_create']