provider.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. from django.contrib.auth import get_user_model
  2. from django.db import models
  3. from dbsynce.models.service import Service
  4. from dbsynce.models.resource import Resource
  5. from tickets.models import Ticket
  6. from dbsynce.docs.database.provider import Provider as HelpTexts
  7. from core.settings_vars import METASERVICE_ID
  8. class Provider(models.Model):
  9. """
  10. Provider – единица описания поставщика услуг/ответственного лица за определенный ресурс (например, машину).
  11. По сути - это надстройка к клиентскому аккаунту, иллюстрирующая, что данный пользователь может выступать не только в роли потребителя.
  12. То есть, по тому, какие “провайдеры” находятся по идентификатору пользователя - можно установить конкретный список услуг данного пользователя.
  13. """
  14. # ID METASERVICE
  15. id_metaservice = models.PositiveIntegerField(
  16. default=METASERVICE_ID,
  17. help_text=HelpTexts.id_metaservice
  18. )
  19. # DATA
  20. gap = models.IntegerField(
  21. help_text=HelpTexts.gap
  22. )
  23. # gap = models.DateTimeField(
  24. # max_length=10,
  25. # help_text=HelpTexts.gap
  26. # )
  27. requirements = models.CharField(
  28. max_length=50,
  29. #TODO ADD CORRECT DEFAULT!
  30. default="DSMPUB",
  31. help_text=HelpTexts.requirements
  32. )
  33. status = models.CharField(
  34. max_length=1,
  35. default="1",
  36. help_text=HelpTexts.status
  37. )
  38. service_status = models.CharField(
  39. max_length=1,
  40. default="2",
  41. help_text=HelpTexts.service_status
  42. )
  43. location_type = models.CharField(
  44. max_length=1,
  45. help_text=HelpTexts.location_type
  46. )
  47. default_location = models.CharField(
  48. max_length=30,
  49. help_text=HelpTexts.default_location
  50. )
  51. # OTHER
  52. is_global = models.CharField(
  53. max_length=1,
  54. default="f",
  55. help_text=HelpTexts.is_global
  56. )
  57. is_visible = models.CharField(
  58. max_length=1,
  59. default="f",
  60. help_text=HelpTexts.is_visible
  61. )
  62. # FK
  63. user = models.ForeignKey(
  64. get_user_model(),
  65. on_delete=models.DO_NOTHING,
  66. null=True,
  67. help_text=HelpTexts.user
  68. )
  69. ticket_status = models.ForeignKey(
  70. Ticket,
  71. on_delete=models.DO_NOTHING,
  72. null=True,
  73. help_text=HelpTexts.ticket_status
  74. )
  75. service = models.ForeignKey(
  76. Service,
  77. on_delete=models.DO_NOTHING,
  78. null=True,
  79. help_text=HelpTexts.service
  80. )
  81. resource = models.ForeignKey(
  82. Resource,
  83. on_delete=models.DO_NOTHING,
  84. blank=True,
  85. null=True,
  86. #help_text=HelpTexts.resource
  87. )
  88. class Meta:
  89. db_table = "provider"
  90. verbose_name = "Поставщик"
  91. verbose_name_plural = "Поставщики"