Eine Menge Aufräumarbeiten.
* Eine Testsuite um Mahrjong Ranking Berechnungen zu testen * Erste Arbeiten um die Workarounds aus dem "utils" Paket los zu werden. * Vieles am Code umformatiert für PEP8 conformität
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from os import path
|
||||
|
||||
from ckeditor.fields import RichTextField
|
||||
from django.conf import settings
|
||||
from django.core.cache import cache
|
||||
@@ -12,8 +10,7 @@ from django.utils import timezone
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import get_language, ugettext as _
|
||||
|
||||
from utils import STATUS_CHOICES, STATUS_WAITING, STATUS_PUBLISHED, \
|
||||
cleaner
|
||||
from utils import STATUS_CHOICES, STATUS_WAITING, STATUS_PUBLISHED, CLEANER
|
||||
|
||||
CONTENT_CHOICES = (
|
||||
(0, u'Django View'),
|
||||
@@ -44,7 +41,10 @@ class ArticleManager(models.Manager):
|
||||
'author', 'category')
|
||||
|
||||
def published(self):
|
||||
return self.filter(status=STATUS_PUBLISHED, date_created__lte=timezone.now())
|
||||
return self.filter(
|
||||
status=STATUS_PUBLISHED,
|
||||
date_created__lte=timezone.now()
|
||||
)
|
||||
|
||||
|
||||
class Article(models.Model):
|
||||
@@ -74,8 +74,8 @@ class Article(models.Model):
|
||||
self.date_created = timezone.now()
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.headline_de)[:50]
|
||||
self.content_de = cleaner.clean_html(self.content_de)
|
||||
self.content_en = cleaner.clean_html(self.content_en)
|
||||
self.content_de = CLEANER.clean_html(self.content_de)
|
||||
self.content_en = CLEANER.clean_html(self.content_en)
|
||||
|
||||
def __str__(self):
|
||||
return self.headline
|
||||
@@ -120,6 +120,7 @@ class Page(models.Model):
|
||||
Ist keine englische Übersetzung vorhanden, wird die deutsche Version
|
||||
angeboten.
|
||||
"""
|
||||
|
||||
menu_name_de = models.CharField(
|
||||
max_length=255,
|
||||
verbose_name='Menü Name',
|
||||
@@ -143,7 +144,10 @@ class Page(models.Model):
|
||||
slug = models.SlugField(
|
||||
verbose_name=_('slug'),
|
||||
max_length=100,
|
||||
help_text=_("The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/")
|
||||
help_text=_(
|
||||
'The name of the page as it will appear in URLs e.g '
|
||||
'http://domain.com/blog/[my-slug]/'
|
||||
)
|
||||
)
|
||||
path = models.CharField(
|
||||
max_length=255,
|
||||
@@ -169,8 +173,10 @@ class Page(models.Model):
|
||||
default=STATUS_WAITING,
|
||||
verbose_name=_('status')
|
||||
)
|
||||
description_de = models.TextField(verbose_name=_('search description'), blank=True)
|
||||
description_en = models.TextField(verbose_name=_('search description'), blank=True)
|
||||
description_de = models.TextField(
|
||||
verbose_name=_('search description'), blank=True)
|
||||
description_en = models.TextField(
|
||||
verbose_name=_('search description'), blank=True)
|
||||
content_type = models.IntegerField(
|
||||
choices=CONTENT_CHOICES,
|
||||
verbose_name=_('content type'))
|
||||
@@ -213,26 +219,34 @@ class Page(models.Model):
|
||||
|
||||
@property
|
||||
def description(self):
|
||||
return getattr(self, "description_%s" % get_language()) or self.description_de
|
||||
lang_attr = "description_%s" % get_language()
|
||||
return getattr(self, lang_attr, self.description_de)
|
||||
|
||||
@property
|
||||
def menu_name(self):
|
||||
return getattr(self,
|
||||
"menu_name_%s" % get_language()) or self.menu_name_de
|
||||
lang_attr = "menu_name_%s" % get_language()
|
||||
return getattr(self, lang_attr, self.menu_name_de)
|
||||
|
||||
@property
|
||||
def pdf_file(self):
|
||||
return getattr(self, "pdf_%s" % get_language()) or self.pdf_de
|
||||
lang_attr = "pdf_%s" % get_language()
|
||||
return getattr(self, lang_attr, self.pdf_de)
|
||||
|
||||
@property
|
||||
def title(self):
|
||||
return getattr(self, "title_%s" % get_language()) or self.title_de
|
||||
""" Return the translated title if available """
|
||||
lang_attr = "title_%s" % get_language()
|
||||
return getattr(self, lang_attr, self.title_de)
|
||||
|
||||
def clean(self):
|
||||
"""
|
||||
|
||||
:return:
|
||||
"""
|
||||
if self.parent is None:
|
||||
self.path = self.slug
|
||||
else:
|
||||
self.path = path.join(self.parent.path, self.slug)
|
||||
self.path = '/'.join([self.parent.path, self.slug])
|
||||
|
||||
if self.content_type is None:
|
||||
if self.pdf_de:
|
||||
@@ -242,8 +256,8 @@ class Page(models.Model):
|
||||
else:
|
||||
self.content_type = 0
|
||||
if self.content_type == 1:
|
||||
self.content_de = cleaner.clean_html(self.content_de)
|
||||
self.content_en = cleaner.clean_html(self.content_en)
|
||||
self.content_de = CLEANER.clean_html(self.content_de)
|
||||
self.content_en = CLEANER.clean_html(self.content_en)
|
||||
elif self.content_type == 2 and not self.pdf_de.name:
|
||||
raise ValidationError(
|
||||
_(u'Please upload a PDF-File to this PDF-Page.'))
|
||||
|
||||
Reference in New Issue
Block a user