tickets.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. def reverse_obj( obj):
  2. """Меняет местами ключ и значение"""
  3. return {status_code: name for name, status_code in obj.items()}
  4. class Ticket:
  5. TICKET_TYPES = (
  6. (1, "ST_REQUEST", [
  7. [111, 121, 149, 159],
  8. [110, 121, 149, 159],
  9. [121, 131, 149, 159],
  10. [131, 141, 149],
  11. [141, 151, 110],
  12. [149, 151, 110],
  13. [159],
  14. [151]
  15. ]),
  16. (2, "SERVICE_REQUEST", [
  17. [210, 211, 251],
  18. [211, 212, 220, 238, 249],
  19. [212, 221, 229, 238, 249],
  20. [221, 222, 238, 249],
  21. [220, 211, 238, 249],
  22. [229, 211, 251],
  23. [222, 231, 238, 249],
  24. [231, 241, 238, 249],
  25. [238, 231, 239, 211, 212, 221, 220, 222, 249],
  26. [239, 231, 239, 211, 212, 221, 220, 222, 249],
  27. [241, 251],
  28. [249, 251],
  29. [251]
  30. ]),
  31. (3, "ACCESS_REQUEST", [
  32. [320, 321, 359],
  33. [321, 359, 451],
  34. [359, 351],
  35. [351]
  36. ]),
  37. (4, "NEG_REQUEST", [
  38. [420, 421, 459],
  39. [421, 459, 451],
  40. [459, 451],
  41. [451]
  42. ])
  43. )
  44. request_type = {
  45. "NEW": 111,
  46. "REOPENED": 110,
  47. "ASSIGNED": 121,
  48. "IN_PROCESS": 131,
  49. "WONTFIX": 149,
  50. "DONE": 141,
  51. "DUPLICATE": 159,
  52. "CLOSED": 151
  53. }
  54. service_request_type = {
  55. "TEMPLATE": 210,
  56. "BOOKED": 211,
  57. "ASSIGNED": 212,
  58. "ACCEPTED": 221,
  59. "PENDING": 220,
  60. "DECLINED": 229,
  61. "PRE_START": 222,
  62. "PROCESS": 231,
  63. "PRE_FORCEMAJEUER": 238,
  64. "FORCEMAJEUER": 239,
  65. "DONE": 241,
  66. "CANCELLED": 249,
  67. "CLOSED": 251
  68. }
  69. access_request_type = {
  70. "PENDING": 320,
  71. "ACCEPTED": 321,
  72. "DECLINED": 359,
  73. "CLOSED": 351
  74. }
  75. neg_request_type = {
  76. "PENDING": 420,
  77. "ACCEPTED": 421,
  78. "DECLINED": 459,
  79. "CLOSED": 451
  80. }
  81. TICKET_STATUSES_NAMES = reverse_obj(request_type) | \
  82. reverse_obj(service_request_type) | \
  83. reverse_obj(access_request_type) | \
  84. reverse_obj(neg_request_type)
  85. TICKET_TYPES_CHOICES = tuple((item[0], item[1]) for item in TICKET_TYPES)
  86. LIFE_CYCLE_DICT = dict((item[0], item[2]) for item in TICKET_TYPES)