All pastes #57097 Raw Edit

Stuff

public python v1 · immutable
#57097 ·published 2006-05-19 13:14 UTC
rendered paste body
from django.db import modelsfrom django.utils.translation import gettext_lazy as _from django.conf import settingsfrom universzik import tinycmssettingsSTATE_CHOICES = (		('S', _('Submitted')),		('C', _('Corrected')),		('W', _('Waiting')),		('P', _('Published')),)class Category(models.Model):	slug = models.SlugField(		_('Computer Name'),		help_text=_('This name will be used in urls. Slugs are unique identifiers used to select categories.'),		unique=True	)		itemTemplate = models.CharField(_('Item Template'), help_text=_('Custom template to display items in this category'), maxlength=255, blank=True)	indexTemplate = models.CharField(_('Index Template'), help_text=_('Custom template to display this category\'s index'), maxlength=255, blank=True)		image = models.ImageField(		_('Attach an Image'),		upload_to='category_image',		blank=True	)		def __str__(self):		return self.slug			class Admin:		pass	class Meta:		verbose_name = tinycmssettings.category_nameclass LocalizedCategory(models.Model):	category = models.ForeignKey(Category,edit_inline=models.TABULAR)	language = models.CharField(_('Language'), maxlength=5, choices=settings.LANGUAGES, core=True)	title = models.CharField(_('Title'), maxlength=255, core=True)	description = models.TextField(_('Description'), core=True, blank=True)		class Admin:		pass			def __str__(self):		return str(_('Category data for ')) + str(self.category.slug) + str(_(' in ')) + str(self.get_language_display()) + ' ("' + str(self.title) + '")'class Article(models.Model):	slug = models.SlugField(		_('Computer Name'),		help_text=_('This name will be used in urls. Slugs are unique identifiers used to select articles for a specified date.'),		unique=True	)		type = models.CharField(choices=tinycmssettings.TYPES, maxlength=2, verbose_name=tinycmssettings.type_name)	category = models.ForeignKey(Category, blank=True, verbose_name=tinycmssettings.category_name)	state = models.CharField(_('state'), maxlength=2, choices=STATE_CHOICES)		sub_date = models.DateTimeField(_('submission date'), auto_now_add=True)	pub_date = models.DateTimeField(_('publication date'), blank=True)			author_name = models.CharField(_('author name'), maxlength=255)	author_email = models.EmailField(_('author email'))	author_website = models.URLField(_('author website'), blank=True)		image = models.ImageField(		_('Attach an Image'),		upload_to='article_image',		blank=True	)		def __str__(self):		return self.slug		class Admin:		fields = (					(None, {'fields': ('slug','state','image')}),					(_('Category Informations'), {'fields': ('type','category')}),					(_('Date Informations'), {'fields': ('sub_date','pub_date')}),					(_('Author Informations'), {'fields': ('author_name','author_email','author_website')}),				)		list_display = ('slug', 'type', 'category', 'sub_date', 'pub_date', 'author_name', 'state')		list_filter = ['type','state','category','sub_date','pub_date','author_name']		search_fields = ('slug', 'author_name', 'author_email', 'author_website')	class Meta:		ordering = ('-pub_date',)		verbose_name = _('article')		get_latest_by = 'pub_date''''class ArticlePage(models.Model):	article = models.ForeignKey(Article,edit_inline=models.STACKED)	language = models.CharField(maxlength=5, choices=settings.LANGUAGES, core=True)	number = models.IntegerField(core=True)	title = models.CharField(maxlength=255, core=True)	content = models.TextField(core=True)	image = models.ImageField(		_('Attach an Image'),		upload_to='articlepage_image',		blank=True	)'''	class LocalizedArticle(models.Model):	article = models.ForeignKey(Article,edit_inline=models.STACKED,num_in_admin=2)	language = models.CharField(_('language'), maxlength=5, choices=settings.LANGUAGES, core=True)	title = models.CharField(_('title'), maxlength=255, core=True)	subject = models.CharField(_('subject'), maxlength=30, core=True)	listing_text = models.TextField(_('listing text'), core=True, help_text=_('Tiny text (20-30 words) used to describe this item in listings'))	content = models.TextField(_('content'), core=True)	website = models.CharField(_('website url'), maxlength=250, core=True)		def associated_category(self):		if self.article.category.localizedcategory_set.filter(language=self.language).count() != 0:			return self.article.category.localizedcategory_set.filter(language=self.language)[0]		else:			if self.article.category.localizedcategory_set.all().count() != 0:				return self.article.category.localizedcategory_set.all()[0]			else:				return LocalizedCategory(category=self.article.category, title=self.article.category.slug)		class Meta:		verbose_name  = _('localized article')