summaryrefslogtreecommitdiffstats
path: root/apps/it/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'apps/it/models.py')
-rw-r--r--apps/it/models.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/apps/it/models.py b/apps/it/models.py
new file mode 100644
index 0000000..a397b6d
--- /dev/null
+++ b/apps/it/models.py
@@ -0,0 +1,58 @@
+from django.db import models
+from django.contrib.contenttypes import generic
+from django.contrib.auth.models import User, Group
+from django.contrib.contenttypes.models import ContentType
+
+
+class Attachment(models.Model):
+ attachment = models.FileField(upload_to='attachments')
+ created_by = models.ForeignKey(User)
+ object_id = models.PositiveIntegerField()
+ content_type = models.ForeignKey(ContentType)
+ content_object = generic.GenericForeignKey("content_type", "object_id")
+
+ @classmethod
+ def get_content_type(self, model):
+ return ContentType.objects.get(app_label='it', model=model)
+
+
+class Issue(models.Model):
+ description = models.TextField()
+ priority = models.PositiveIntegerField(default=0)
+ users = models.ManyToManyField(
+ User,
+ null=True,
+ blank=True,
+ related_name='metoo'
+ )
+
+ def __unicode__(self):
+ return self.description
+
+ def get_absolute_url(self):
+ return '/issues/%d/' % self.pk
+
+
+class Task(models.Model):
+ description = models.TextField()
+ issue = models.ForeignKey(Issue, null=True)
+ step = models.PositiveIntegerField(default=0)
+ created_by = models.ForeignKey(User, null=True)
+ assigned_to = models.ForeignKey(User, null=True, related_name='tasks')
+ created_at = models.DateTimeField(auto_now_add=True)
+ due_date = models.DateField(null=True, blank=True)
+ completed_at = models.DateTimeField(null=True, blank=True)
+
+ def __unicode__(self):
+ return self.description
+
+
+class Asset(models.Model):
+ name = models.CharField(max_length=256, default='New Asset')
+ description = models.TextField()
+ location = models.CharField(max_length=256)
+ ip_address = models.IPAddressField(default='')
+ issues = models.ManyToManyField(Issue, null=True)
+
+ def __unicode__(self):
+ return self.name