service_category.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. from django.db import models
  2. from tickets.models import Ticket
  3. from dbsynce.docs.database.service_category import ServiceCategory as HelpTexts
  4. from core.settings_vars import METASERVICE_ID
  5. from dbsynce.lib import dicts
  6. class ServiceCategory(models.Model):
  7. """
  8. Перечень типов услуг
  9. """
  10. # ID METASERVICE
  11. id_metaservice = models.PositiveIntegerField(
  12. default=METASERVICE_ID,
  13. help_text=HelpTexts.id_metaservice
  14. )
  15. # DATA
  16. codename = models.CharField(
  17. max_length=30,
  18. help_text=HelpTexts.codename
  19. )
  20. requirements = models.CharField(
  21. max_length=50,
  22. #TODO fix default value!
  23. default="DSMPU",
  24. help_text=HelpTexts.requirements
  25. )
  26. status = models.CharField(
  27. max_length=1,
  28. default="1",
  29. choices = list(dicts.activity_status_by_code.items()),
  30. #choices = list(dicts.activity_status.items()),
  31. help_text=HelpTexts.status
  32. )
  33. caption = models.CharField(
  34. max_length=255,
  35. help_text=HelpTexts.caption
  36. )
  37. description = models.TextField(
  38. blank=True,
  39. help_text=HelpTexts.description
  40. )
  41. link_agreement = models.CharField(
  42. max_length=400,
  43. help_text=HelpTexts.link_agreement
  44. )
  45. price_type = models.CharField(
  46. max_length=1,
  47. choices = list(dicts.price_type_by_code.items()),
  48. help_text=HelpTexts.price_type
  49. )
  50. metaservice_comission = models.FloatField(
  51. help_text=HelpTexts.metaservice_comission
  52. )
  53. # OTHER
  54. is_global = models.CharField(
  55. max_length=1,
  56. default="f",
  57. choices = list(dicts.is_global_by_code.items()),
  58. help_text=HelpTexts.is_global
  59. )
  60. is_visible = models.CharField(
  61. max_length=1,
  62. default="f",
  63. choices = list(dicts.is_visible_by_code.items()),
  64. help_text=HelpTexts.is_visible
  65. )
  66. # FK
  67. ticket_status = models.ForeignKey(
  68. Ticket,
  69. on_delete=models.DO_NOTHING,
  70. null=True,
  71. help_text=HelpTexts.ticket_status
  72. )
  73. class Meta:
  74. db_table = "service_category"
  75. verbose_name = "Тип услуги"
  76. verbose_name_plural = "Типы услуг"