|
1 | 1 | from django.conf import settings |
2 | 2 | from django.db import models |
3 | 3 | from django_mysql.models import JSONField |
| 4 | +from django.contrib.sites.models import Site |
| 5 | +from django.utils.translation import gettext_lazy as _ |
4 | 6 |
|
5 | 7 |
|
6 | | -class Config(models.Model): |
7 | | - domain = models.CharField(max_length=128, verbose_name='Домен') |
8 | | - email = models.EmailField(verbose_name='Эл. почта') |
9 | | - api_key = models.CharField(max_length=256, verbose_name='API ключ') |
| 8 | +class Department(models.Model): |
| 9 | + name = models.CharField(_('Наименование'), max_length=128) |
10 | 10 | department_id = models.PositiveSmallIntegerField( |
11 | | - verbose_name='id департамента', |
12 | | - help_text='Для добавленяи в запросы создания заявок, пользователя и т.д.', |
| 11 | + verbose_name=_('id департамента'), |
| 12 | + help_text=_('Для добавленяи в запросы создания заявок, пользователя и т.д.'), |
13 | 13 | null=True, |
14 | 14 | blank=True |
15 | 15 | ) |
16 | | - is_active = models.BooleanField(default=False, verbose_name='Активны') |
17 | 16 |
|
18 | 17 | class Meta: |
19 | | - verbose_name = 'Настройки' |
20 | | - verbose_name_plural = 'Настройки' |
| 18 | + verbose_name = _('Департамент') |
| 19 | + verbose_name_plural = _('Департаменты') |
| 20 | + |
| 21 | + def __str__(self): |
| 22 | + return self.name |
| 23 | + |
| 24 | + def natural_key(self): |
| 25 | + return (self.name,) |
| 26 | + |
| 27 | + |
| 28 | +class Config(models.Model): |
| 29 | + domain = models.CharField(max_length=128, verbose_name=_('Домен')) |
| 30 | + email = models.EmailField(verbose_name=_('Эл. почта')) |
| 31 | + api_key = models.CharField(max_length=256, verbose_name=_('API ключ')) |
| 32 | + departments = models.ManyToManyField(Department, verbose_name=_('Департаменты')) |
| 33 | + is_active = models.BooleanField(default=False, verbose_name=_('Активны')) |
| 34 | + site_id = models.ForeignKey(Site, default=1, on_delete=models.CASCADE, verbose_name=_('ID Сайта')) |
| 35 | + |
| 36 | + class Meta: |
| 37 | + verbose_name = _('Настройки') |
| 38 | + verbose_name_plural = _('Настройки') |
21 | 39 |
|
22 | 40 |
|
23 | 41 | class Ticket(models.Model): |
24 | | - created_at = models.DateTimeField(auto_now_add=True, verbose_name='Дата и время создания') |
25 | | - data = JSONField(max_length=256, verbose_name='Данные заявки') |
| 42 | + created_at = models.DateTimeField(auto_now_add=True, verbose_name=_('Дата и время создания')) |
| 43 | + data = JSONField(max_length=256, verbose_name=_('Данные заявки')) |
26 | 44 | user = models.ForeignKey( |
27 | 45 | settings.AUTH_USER_MODEL, |
28 | 46 | on_delete=models.CASCADE, |
29 | | - verbose_name='Пользователь', |
| 47 | + verbose_name=_('Пользователь'), |
30 | 48 | null=True, |
31 | 49 | blank=True, |
32 | 50 | ) |
33 | 51 |
|
34 | 52 | class Meta: |
35 | | - verbose_name = 'Заявка' |
36 | | - verbose_name_plural = 'Заявки' |
| 53 | + verbose_name = _('Заявка') |
| 54 | + verbose_name_plural = _('Заявки') |
0 commit comments