from django.contrib.auth import get_user_model from django.db import models from dbsynce.models.service import Service from dbsynce.models.resource import Resource from tickets.models import Ticket from dbsynce.docs.database.provider import Provider as HelpTexts from dbsynce.docs.verbose_names.provider import Provider as VerboseName from core.settings_vars import METASERVICE_ID from dbsynce.lib import dicts class Provider(models.Model): """ Provider – единица описания поставщика услуг/ответственного лица за определенный ресурс (например, машину). По сути - это надстройка к клиентскому аккаунту, иллюстрирующая, что данный пользователь может выступать не только в роли потребителя. То есть, по тому, какие “провайдеры” находятся по идентификатору пользователя - можно установить конкретный список услуг данного пользователя. """ # ID METASERVICE id_metaservice = models.PositiveIntegerField( default=METASERVICE_ID, verbose_name = VerboseName.id_metaservice, help_text=HelpTexts.id_metaservice, ) # DATA gap = models.IntegerField( verbose_name = VerboseName.gap, help_text=HelpTexts.gap, ) # gap = models.DateTimeField( # max_length=10, # help_text=HelpTexts.gap # ) requirements = models.CharField( max_length=50, #TODO ADD CORRECT DEFAULT! default="DSMPUB", verbose_name = VerboseName.requirements, help_text=HelpTexts.requirements, ) status = models.CharField( max_length=1, default="1", choices = list(dicts.activity_status_by_code.items()), verbose_name = VerboseName.status, help_text=HelpTexts.status, ) service_status = models.CharField( max_length=1, default="2", choices = list(dicts.service_status_by_code.items()), verbose_name = VerboseName.service_status, help_text=HelpTexts.service_status, ) location_type = models.CharField( max_length=1, choices = list(dicts.location_type_by_code.items()), verbose_name = VerboseName.location_type, help_text=HelpTexts.location_type, ) default_location = models.CharField( max_length=30, verbose_name = VerboseName.default_location, help_text=HelpTexts.default_location, ) # OTHER is_global = models.CharField( max_length=1, default="f", choices = list(dicts.is_global_by_code.items()), verbose_name = VerboseName.is_global, help_text=HelpTexts.is_global, ) is_visible = models.CharField( max_length=1, default="f", choices = list(dicts.is_visible_by_code.items()), verbose_name = VerboseName.is_visible, help_text=HelpTexts.is_visible, ) # FK user = models.ForeignKey( get_user_model(), on_delete=models.DO_NOTHING, null=True, verbose_name = VerboseName.user, help_text=HelpTexts.user ) ticket_status = models.ForeignKey( Ticket, on_delete=models.DO_NOTHING, null=True, verbose_name = VerboseName.ticket_status, help_text=HelpTexts.ticket_status, ) service = models.ForeignKey( Service, on_delete=models.DO_NOTHING, verbose_name = VerboseName.service, null=True, help_text=HelpTexts.service, ) resource = models.ForeignKey( Resource, on_delete=models.DO_NOTHING, blank=True, null=True, verbose_name = VerboseName.resource, help_text=HelpTexts.resource, ) class Meta: db_table = "provider" verbose_name = "Поставщик" verbose_name_plural = "Поставщики"