provider.py 2.7 KB

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