From: Joseph Spiros Date: Tue, 29 Jun 2010 15:37:39 +0000 (-0400) Subject: Moved Tag, and the Titled abstract model, from penfield into philo proper. Added... X-Git-Tag: philo-0.9~67^2~1 X-Git-Url: http://git.ithinksw.org/philo.git/commitdiff_plain/bae6b1cbc5eb00d2273c45b55ea0950949fce0a9 Moved Tag, and the Titled abstract model, from penfield into philo proper. Added support for a PHILO_PERSON_MODULE setting, and penfield models now refer to that for author fields (by default, it is set to auth.User, so in effect this changes nothing). --- diff --git a/contrib/penfield/models.py b/contrib/penfield/models.py index f014a1d..8d6de3c 100644 --- a/contrib/penfield/models.py +++ b/contrib/penfield/models.py @@ -1,38 +1,19 @@ from django.db import models -from philo.models import Entity, MultiView, Template, register_value_model -from django.contrib.auth.models import User +from django.conf import settings +from philo.models import Tag, Titled, Entity, MultiView, Template, register_value_model from django.conf.urls.defaults import url, patterns from django.http import Http404, HttpResponse from django.template import RequestContext from datetime import datetime -class Tag(models.Model): - name = models.CharField(max_length=250) - slug = models.SlugField() - - def __unicode__(self): - return self.name - - -class Titled(models.Model): - title = models.CharField(max_length=255) - slug = models.SlugField() - - def __unicode__(self): - return self.title - - class Meta: - abstract = True - - class Blog(Entity, Titled): pass class BlogEntry(Entity, Titled): blog = models.ForeignKey(Blog, related_name='entries') - author = models.ForeignKey(User, related_name='blogentries') + author = models.ForeignKey(getattr(settings, 'PHILO_PERSON_MODULE', 'auth.User'), related_name='blogentries') date = models.DateTimeField(default=datetime.now) content = models.TextField() excerpt = models.TextField() @@ -139,12 +120,12 @@ class Newsletter(Entity, Titled): pass -class NewsStory(Entity, Titled): +class NewsletterArticle(Entity, Titled): newsletter = models.ForeignKey(Newsletter, related_name='stories') - authors = models.ManyToManyField(User, related_name='newsstories') + authors = models.ManyToManyField(getattr(settings, 'PHILO_PERSON_MODULE', 'auth.User'), related_name='newsstories') date = models.DateTimeField(default=datetime.now) lede = models.TextField(null=True, blank=True) full_text = models.TextField() -register_value_model(NewsStory) \ No newline at end of file +register_value_model(NewsletterArticle) \ No newline at end of file diff --git a/models/base.py b/models/base.py index f062e2c..3482a1a 100644 --- a/models/base.py +++ b/models/base.py @@ -7,6 +7,25 @@ from philo.utils import ContentTypeRegistryLimiter from UserDict import DictMixin +class Tag(models.Model): + name = models.CharField(max_length=250) + slug = models.SlugField() + + def __unicode__(self): + return self.name + + +class Titled(models.Model): + title = models.CharField(max_length=255) + slug = models.SlugField() + + def __unicode__(self): + return self.title + + class Meta: + abstract = True + + class Attribute(models.Model): entity_content_type = models.ForeignKey(ContentType, verbose_name='Entity type') entity_object_id = models.PositiveIntegerField(verbose_name='Entity ID')