0001_initial.py 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. # Generated by Django 4.1.3 on 2023-03-31 19:43
  2. import datetime
  3. from django.conf import settings
  4. from django.db import migrations, models
  5. import django.db.models.deletion
  6. import django.utils.timezone
  7. import tickets.models
  8. class Migration(migrations.Migration):
  9. initial = True
  10. dependencies = [
  11. ("auth", "0012_alter_user_first_name_max_length"),
  12. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  13. ]
  14. operations = [
  15. migrations.CreateModel(
  16. name="TicketType",
  17. fields=[
  18. (
  19. "id",
  20. models.BigAutoField(
  21. auto_created=True,
  22. primary_key=True,
  23. serialize=False,
  24. verbose_name="ID",
  25. ),
  26. ),
  27. (
  28. "name",
  29. models.CharField(max_length=32, unique=True, verbose_name="Name"),
  30. ),
  31. (
  32. "life_cycle",
  33. models.CharField(
  34. max_length=192, unique=True, verbose_name="Life cycle"
  35. ),
  36. ),
  37. ],
  38. ),
  39. migrations.CreateModel(
  40. name="TaskList",
  41. fields=[
  42. (
  43. "id",
  44. models.BigAutoField(
  45. auto_created=True,
  46. primary_key=True,
  47. serialize=False,
  48. verbose_name="ID",
  49. ),
  50. ),
  51. ("name", models.CharField(max_length=48, verbose_name="Name")),
  52. ("slug", models.SlugField(default="", verbose_name="Slug")),
  53. (
  54. "group",
  55. models.ForeignKey(
  56. on_delete=django.db.models.deletion.CASCADE,
  57. to="auth.group",
  58. verbose_name="Group",
  59. ),
  60. ),
  61. ],
  62. options={
  63. "verbose_name_plural": "Ticket Lists",
  64. "ordering": ["name"],
  65. "unique_together": {("group", "slug")},
  66. },
  67. ),
  68. migrations.CreateModel(
  69. name="Task",
  70. fields=[
  71. (
  72. "id",
  73. models.BigAutoField(
  74. auto_created=True,
  75. primary_key=True,
  76. serialize=False,
  77. verbose_name="ID",
  78. ),
  79. ),
  80. (
  81. "status",
  82. models.PositiveSmallIntegerField(
  83. blank=True, null=True, verbose_name="Status"
  84. ),
  85. ),
  86. ("created_date", models.DateField(verbose_name="Created Date")),
  87. (
  88. "status_changed_date",
  89. models.DateTimeField(
  90. blank=True, verbose_name="Status changed date"
  91. ),
  92. ),
  93. (
  94. "priority",
  95. models.PositiveSmallIntegerField(
  96. default=0, verbose_name="Priority"
  97. ),
  98. ),
  99. ("title", models.CharField(max_length=64, verbose_name="Title")),
  100. ("note", models.TextField(blank=True, null=True, verbose_name="Note")),
  101. (
  102. "due_date",
  103. models.DateField(blank=True, null=True, verbose_name="Due date"),
  104. ),
  105. (
  106. "assigned_to",
  107. models.ForeignKey(
  108. blank=True,
  109. null=True,
  110. on_delete=django.db.models.deletion.SET_NULL,
  111. related_name="tickets_assigned_to",
  112. to=settings.AUTH_USER_MODEL,
  113. verbose_name="Assigned to",
  114. ),
  115. ),
  116. (
  117. "created_by",
  118. models.ForeignKey(
  119. blank=True,
  120. null=True,
  121. on_delete=django.db.models.deletion.SET_NULL,
  122. to=settings.AUTH_USER_MODEL,
  123. verbose_name="Created by",
  124. ),
  125. ),
  126. (
  127. "task_list",
  128. models.ForeignKey(
  129. blank=True,
  130. on_delete=django.db.models.deletion.CASCADE,
  131. to="tickets.tasklist",
  132. verbose_name="Task list",
  133. ),
  134. ),
  135. (
  136. "type",
  137. models.ForeignKey(
  138. default=0,
  139. null=True,
  140. on_delete=django.db.models.deletion.SET_NULL,
  141. related_name="tickets_tickettype",
  142. to="tickets.tickettype",
  143. verbose_name="Type",
  144. ),
  145. ),
  146. ],
  147. options={
  148. "verbose_name": "Task",
  149. "ordering": ["priority", "created_date"],
  150. },
  151. ),
  152. migrations.CreateModel(
  153. name="Attachment",
  154. fields=[
  155. (
  156. "id",
  157. models.BigAutoField(
  158. auto_created=True,
  159. primary_key=True,
  160. serialize=False,
  161. verbose_name="ID",
  162. ),
  163. ),
  164. (
  165. "timestamp",
  166. models.DateTimeField(
  167. default=datetime.datetime.now, verbose_name="Timestamp"
  168. ),
  169. ),
  170. (
  171. "file",
  172. models.FileField(
  173. max_length=255,
  174. upload_to=tickets.models.get_attachment_upload_dir,
  175. verbose_name="File",
  176. ),
  177. ),
  178. (
  179. "added_by",
  180. models.ForeignKey(
  181. on_delete=django.db.models.deletion.CASCADE,
  182. to=settings.AUTH_USER_MODEL,
  183. verbose_name="Added by",
  184. ),
  185. ),
  186. (
  187. "task",
  188. models.ForeignKey(
  189. on_delete=django.db.models.deletion.CASCADE,
  190. to="tickets.task",
  191. verbose_name="Task",
  192. ),
  193. ),
  194. ],
  195. ),
  196. migrations.CreateModel(
  197. name="Comment",
  198. fields=[
  199. (
  200. "id",
  201. models.BigAutoField(
  202. auto_created=True,
  203. primary_key=True,
  204. serialize=False,
  205. verbose_name="ID",
  206. ),
  207. ),
  208. (
  209. "date",
  210. models.DateTimeField(
  211. default=django.utils.timezone.now, verbose_name="Date"
  212. ),
  213. ),
  214. (
  215. "email_from",
  216. models.CharField(
  217. blank=True, max_length=320, null=True, verbose_name="Eamil from"
  218. ),
  219. ),
  220. (
  221. "email_message_id",
  222. models.CharField(
  223. blank=True,
  224. max_length=255,
  225. null=True,
  226. verbose_name="Eamil message id",
  227. ),
  228. ),
  229. ("body", models.TextField(blank=True, verbose_name="Body")),
  230. (
  231. "author",
  232. models.ForeignKey(
  233. blank=True,
  234. null=True,
  235. on_delete=django.db.models.deletion.CASCADE,
  236. related_name="tickets_comments",
  237. to=settings.AUTH_USER_MODEL,
  238. verbose_name="Author",
  239. ),
  240. ),
  241. (
  242. "task",
  243. models.ForeignKey(
  244. on_delete=django.db.models.deletion.CASCADE,
  245. to="tickets.task",
  246. verbose_name="Task",
  247. ),
  248. ),
  249. ],
  250. options={
  251. "verbose_name": "Comment",
  252. "unique_together": {("task", "email_message_id")},
  253. },
  254. ),
  255. ]