summaryrefslogtreecommitdiff
path: root/coip/apps/link/models.py
diff options
context:
space:
mode:
authorLeif Johansson <leifj@sunet.se>2012-05-08 13:38:39 +0200
committerLeif Johansson <leifj@sunet.se>2012-05-08 13:38:39 +0200
commitddf84f22c6fdd19c6ab1c3c35a48f4a0cea011a9 (patch)
treeb5afc87d948f2213a42294dc35a31b9cccb7208f /coip/apps/link/models.py
parent0f0aad4b5114e784cd8f56d98226dcfef8badc15 (diff)
scim
Diffstat (limited to 'coip/apps/link/models.py')
-rw-r--r--coip/apps/link/models.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/coip/apps/link/models.py b/coip/apps/link/models.py
index ada194d..b81215d 100644
--- a/coip/apps/link/models.py
+++ b/coip/apps/link/models.py
@@ -5,14 +5,27 @@ Created on Aug 4, 2010
'''
from django.db import models
from coip.apps.name.models import Name
+from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.models import ContentType
class Link(models.Model):
- name = models.ForeignKey(Name,related_name='links')
+ content_type = models.ForeignKey(ContentType)
+ object_id = models.PositiveIntegerField()
+ content_object = generic.GenericForeignKey('content_type', 'object_id')
url = models.CharField(max_length=255)
tag = models.CharField(max_length=255)
text = models.CharField(max_length=255)
timecreated = models.DateTimeField(auto_now_add=True)
lastupdated = models.DateTimeField(auto_now=True)
+ class Meta:
+ unique_together = ('content_type','content_id','url','tag')
+
def __unicode__(self):
- return "%s:%s (%s) on %s" % (self.tag,self.url,self.text,self.name) \ No newline at end of file
+ return "%s:%s (%s) on %s" % (self.tag,self.url,self.text,self.name)
+
+
+def add_link(o,url,tag,text):
+ typ = ContentType.objects.get_for_model(o)
+ r,cr = Link.objects.get_or_create(object_id=o.id,content_type=typ,url=url,tag=tag)
+ return r \ No newline at end of file