summaryrefslogtreecommitdiff
path: root/coip/apps/link/models.py
blob: 6d64dda7840d98e246a7ece78e74afbe935414f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
'''
Created on Aug 4, 2010

@author: leifj
'''
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):
    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','object_id','url','tag')
    
    def __unicode__(self):
        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