0001_initial.py 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. # Generated by Django 4.1.3 on 2023-03-22 09:30
  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. ("name", models.CharField(max_length=32, unique=True)),
  28. ("life_cycle", models.CharField(max_length=192, unique=True)),
  29. ],
  30. ),
  31. migrations.CreateModel(
  32. name="TaskList",
  33. fields=[
  34. (
  35. "id",
  36. models.BigAutoField(
  37. auto_created=True,
  38. primary_key=True,
  39. serialize=False,
  40. verbose_name="ID",
  41. ),
  42. ),
  43. ("name", models.CharField(max_length=48)),
  44. ("slug", models.SlugField(default="")),
  45. (
  46. "group",
  47. models.ForeignKey(
  48. on_delete=django.db.models.deletion.CASCADE, to="auth.group"
  49. ),
  50. ),
  51. ],
  52. options={
  53. "verbose_name_plural": "Ticket Lists",
  54. "ordering": ["name"],
  55. "unique_together": {("group", "slug")},
  56. },
  57. ),
  58. migrations.CreateModel(
  59. name="Task",
  60. fields=[
  61. (
  62. "id",
  63. models.BigAutoField(
  64. auto_created=True,
  65. primary_key=True,
  66. serialize=False,
  67. verbose_name="ID",
  68. ),
  69. ),
  70. (
  71. "status",
  72. models.PositiveSmallIntegerField(
  73. blank=True, null=True, verbose_name="Status"
  74. ),
  75. ),
  76. ("created_date", models.DateField(verbose_name="Created Date")),
  77. (
  78. "status_changed_date",
  79. models.DateTimeField(
  80. blank=True, verbose_name="Status changed date"
  81. ),
  82. ),
  83. (
  84. "priority",
  85. models.PositiveSmallIntegerField(
  86. default=0, verbose_name="Priority"
  87. ),
  88. ),
  89. ("title", models.CharField(max_length=64, verbose_name="Title")),
  90. ("note", models.TextField(blank=True, null=True, verbose_name="Note")),
  91. (
  92. "due_date",
  93. models.DateField(blank=True, null=True, verbose_name="Due date"),
  94. ),
  95. (
  96. "assigned_to",
  97. models.ForeignKey(
  98. blank=True,
  99. null=True,
  100. on_delete=django.db.models.deletion.SET_NULL,
  101. related_name="tickets_assigned_to",
  102. to=settings.AUTH_USER_MODEL,
  103. verbose_name="Assigned to",
  104. ),
  105. ),
  106. (
  107. "created_by",
  108. models.ForeignKey(
  109. blank=True,
  110. null=True,
  111. on_delete=django.db.models.deletion.SET_NULL,
  112. to=settings.AUTH_USER_MODEL,
  113. verbose_name="Created by",
  114. ),
  115. ),
  116. (
  117. "task_list",
  118. models.ForeignKey(
  119. blank=True,
  120. on_delete=django.db.models.deletion.CASCADE,
  121. to="tickets.tasklist",
  122. verbose_name="Task list",
  123. ),
  124. ),
  125. (
  126. "type",
  127. models.ForeignKey(
  128. default=0,
  129. null=True,
  130. on_delete=django.db.models.deletion.SET_NULL,
  131. related_name="tickets_tickettype",
  132. to="tickets.tickettype",
  133. verbose_name="Type",
  134. ),
  135. ),
  136. ],
  137. options={
  138. "verbose_name": "Task",
  139. "ordering": ["priority", "created_date"],
  140. },
  141. ),
  142. migrations.CreateModel(
  143. name="Attachment",
  144. fields=[
  145. (
  146. "id",
  147. models.BigAutoField(
  148. auto_created=True,
  149. primary_key=True,
  150. serialize=False,
  151. verbose_name="ID",
  152. ),
  153. ),
  154. ("timestamp", models.DateTimeField(default=datetime.datetime.now)),
  155. (
  156. "file",
  157. models.FileField(
  158. max_length=255,
  159. upload_to=tickets.models.get_attachment_upload_dir,
  160. ),
  161. ),
  162. (
  163. "added_by",
  164. models.ForeignKey(
  165. on_delete=django.db.models.deletion.CASCADE,
  166. to=settings.AUTH_USER_MODEL,
  167. ),
  168. ),
  169. (
  170. "task",
  171. models.ForeignKey(
  172. on_delete=django.db.models.deletion.CASCADE, to="tickets.task"
  173. ),
  174. ),
  175. ],
  176. ),
  177. migrations.CreateModel(
  178. name="Comment",
  179. fields=[
  180. (
  181. "id",
  182. models.BigAutoField(
  183. auto_created=True,
  184. primary_key=True,
  185. serialize=False,
  186. verbose_name="ID",
  187. ),
  188. ),
  189. ("date", models.DateTimeField(default=django.utils.timezone.now)),
  190. ("email_from", models.CharField(blank=True, max_length=320, null=True)),
  191. (
  192. "email_message_id",
  193. models.CharField(blank=True, max_length=255, null=True),
  194. ),
  195. ("body", models.TextField(blank=True)),
  196. (
  197. "author",
  198. models.ForeignKey(
  199. blank=True,
  200. null=True,
  201. on_delete=django.db.models.deletion.CASCADE,
  202. related_name="tickets_comments",
  203. to=settings.AUTH_USER_MODEL,
  204. ),
  205. ),
  206. (
  207. "task",
  208. models.ForeignKey(
  209. on_delete=django.db.models.deletion.CASCADE, to="tickets.task"
  210. ),
  211. ),
  212. ],
  213. options={
  214. "unique_together": {("task", "email_message_id")},
  215. },
  216. ),
  217. ]