9 from .auth import GroupProfile |
9 from .auth import GroupProfile |
10 |
10 |
11 |
11 |
12 class Protocol(Model): |
12 class Protocol(Model): |
13 title = models.CharField(max_length=255, verbose_name=_('Protocol|title')) |
13 title = models.CharField(max_length=255, verbose_name=_('Protocol|title')) |
14 group_profile = models.OneToOneField(GroupProfile, on_delete=models.CASCADE) |
14 group_profile = models.OneToOneField( |
|
15 GroupProfile, on_delete=models.CASCADE) |
|
16 |
15 class Meta: |
17 class Meta: |
16 verbose_name = _('Protocol') |
18 verbose_name = _('Protocol') |
17 verbose_name_plural = _('Protocols') |
19 verbose_name_plural = _('Protocols') |
18 |
20 |
19 |
21 |
20 |
|
21 class Category(models.Model): |
22 class Category(models.Model): |
22 title = models.CharField(max_length=255, verbose_name=_('Category|title')) |
23 title = models.CharField(max_length=255, verbose_name=_('Category|title')) |
23 color = RGBColorField(verbose_name=_('Category|color')) |
24 color = RGBColorField(verbose_name=_('Category|color')) |
24 need_comment = models.BooleanField(default=False, verbose_name=_('Category|need_comment')) |
25 need_comment = models.BooleanField( |
25 description = models.TextField(null=True, blank=True, verbose_name=_('Category|description')) |
26 default=False, |
|
27 verbose_name=_('Category|need_comment') |
|
28 ) |
|
29 description = models.TextField( |
|
30 null=True, |
|
31 blank=True, |
|
32 verbose_name=_('Category|description') |
|
33 ) |
26 protocol = models.ForeignKey( |
34 protocol = models.ForeignKey( |
27 Protocol, |
35 Protocol, |
28 verbose_name=_('Category|protocol'), |
36 verbose_name=_('Category|protocol'), |
29 related_name='categories', |
37 related_name='categories', |
30 on_delete=models.CASCADE |
38 on_delete=models.CASCADE |
31 ) |
39 ) |
|
40 |
32 class Meta: |
41 class Meta: |
33 verbose_name = _('Category') |
42 verbose_name = _('Category') |
34 verbose_name_plural = _('Categories') |
43 verbose_name_plural = _('Categories') |