provider.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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.DateTimeField(
  21. max_length=10,
  22. help_text=HelpTexts.gap
  23. )
  24. requirements = models.CharField(
  25. max_length=50,
  26. #TODO ADD CORRECT DEFAULT!
  27. default="DSMPUB",
  28. help_text=HelpTexts.requirements
  29. )
  30. status = models.CharField(
  31. max_length=1,
  32. default="1",
  33. help_text=HelpTexts.status
  34. )
  35. service_status = models.CharField(
  36. max_length=1,
  37. default="2",
  38. help_text=HelpTexts.service_status
  39. )
  40. location_type = models.CharField(
  41. max_length=1,
  42. help_text=HelpTexts.location_type
  43. )
  44. default_location = models.CharField(
  45. max_length=30,
  46. help_text=HelpTexts.default_location
  47. )
  48. # OTHER
  49. is_global = models.CharField(
  50. max_length=1,
  51. default="f",
  52. help_text=HelpTexts.is_global
  53. )
  54. is_visible = models.CharField(
  55. max_length=1,
  56. default="f",
  57. help_text=HelpTexts.is_visible
  58. )
  59. # FK
  60. user = models.ForeignKey(
  61. get_user_model(),
  62. on_delete=models.DO_NOTHING,
  63. null=True,
  64. help_text=HelpTexts.user
  65. )
  66. ticket_status = models.ForeignKey(
  67. Ticket,
  68. on_delete=models.DO_NOTHING,
  69. null=True,
  70. help_text=HelpTexts.ticket_status
  71. )
  72. service = models.ForeignKey(
  73. Service,
  74. on_delete=models.DO_NOTHING,
  75. null=True,
  76. help_text=HelpTexts.service
  77. )
  78. resource = models.ForeignKey(
  79. Resource,
  80. on_delete=models.DO_NOTHING,
  81. blank=True,
  82. null=True,
  83. #help_text=HelpTexts.resource
  84. )
  85. class Meta:
  86. db_table = "provider"
  87. verbose_name = "Поставщик"
  88. verbose_name_plural = "Поставщики"