Fehler bei Vergabe von Bonuspunkte korrigiert.
Kommentare für Bonuspunkte werden jetzt als Kommentar beim Spieler hinterlassen, nicht als Kommentar in der Hanchan. FIXED: 3_in_a_row counter wurde nicht zurückgesetzt wenn Bonuspunkte vergeben wurden. FIXED: Durchschnittliche Platzierung während eines Events wurde nur als Ganzzahl berechnet. Wird nun als Fießkomma berechnet und gesichert.
This commit is contained in:
@@ -15,12 +15,12 @@ def content_menus(request):
|
||||
current_path = request.path_info[1:request.path_info.rfind('.')]
|
||||
|
||||
# erzeuge das Top-Level Menü
|
||||
top_menu_items = []
|
||||
top_level_pages = cache.get('top_level_pages')
|
||||
if top_level_pages is None:
|
||||
top_level_pages = models.Page.objects.filter(parent=None)
|
||||
top_level_pages = top_level_pages.exclude(slug='index')
|
||||
top_level_pages = top_level_pages.order_by('position')
|
||||
top_level_pages = top_level_pages.prefetch_related('subpages')
|
||||
cache.set('top_level_pages', top_level_pages, 360)
|
||||
for item in top_level_pages:
|
||||
if current_path.startswith(item.path):
|
||||
@@ -28,7 +28,6 @@ def content_menus(request):
|
||||
current_top_page = item
|
||||
else:
|
||||
item.active = False
|
||||
top_menu_items.append(item)
|
||||
|
||||
# Entdecke die aktuell geöffnete Seite
|
||||
all_pages = cache.get('all_pages')
|
||||
@@ -43,8 +42,8 @@ def content_menus(request):
|
||||
break
|
||||
current_path = current_path[0:current_path.rfind('.')]
|
||||
|
||||
return {'top_menu_items': top_menu_items,
|
||||
return {'top_menu_items': top_level_pages,
|
||||
'current_top_page': current_top_page,
|
||||
'current_path': current_path,
|
||||
'current_page': current_page
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,8 +9,6 @@ from django.utils.feedgenerator import Rss201rev2Feed
|
||||
from models import Article
|
||||
|
||||
|
||||
|
||||
# noinspection PyMethodMayBeStatic
|
||||
class LatestNews(Feed):
|
||||
link = "http://www.kasu.at/"
|
||||
description = _("Current news from Kasu")
|
||||
|
||||
@@ -12,12 +12,11 @@ import json
|
||||
class Command(BaseCommand):
|
||||
help = "Synchornisiert den Facenbook Feed für die Anzeige auf der Homepage"
|
||||
|
||||
|
||||
def handle(self, *args, **options):
|
||||
#graph_api = facebook.GraphAPI(settings.FACEBOOK_ACCESS_TOKEN)
|
||||
#facebook_page = graph_api.get_object(settings.FACEBOOK_APP_ID+'/feed/')
|
||||
#print facebook_page
|
||||
#print graph_api.get_connections(facebook_page['id'], )
|
||||
# print facebook_page
|
||||
# print graph_api.get_connections(facebook_page['id'], )
|
||||
self.login()
|
||||
|
||||
def login(self):
|
||||
@@ -31,4 +30,4 @@ class Command(BaseCommand):
|
||||
print request
|
||||
response = request.read()
|
||||
print response
|
||||
print json.loads(response)
|
||||
print json.loads(response)
|
||||
|
||||
@@ -7,7 +7,6 @@ from django.conf import settings
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
@@ -16,17 +15,36 @@ class Migration(migrations.Migration):
|
||||
migrations.CreateModel(
|
||||
name='Article',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('headline_de', models.CharField(max_length=255, verbose_name='Schlagzeile')),
|
||||
('headline_en', models.CharField(max_length=255, verbose_name=b'Headline', blank=True)),
|
||||
('id', models.AutoField(
|
||||
verbose_name='ID',
|
||||
serialize=False, auto_created=True,
|
||||
primary_key=True)),
|
||||
('headline_de', models.CharField(
|
||||
max_length=255, verbose_name='Schlagzeile')),
|
||||
('headline_en', models.CharField(
|
||||
max_length=255, verbose_name=b'Headline', blank=True)),
|
||||
('content_de', models.TextField(verbose_name='Inhalt')),
|
||||
('content_en', models.TextField(verbose_name=b'Content', blank=True)),
|
||||
('image', models.ImageField(upload_to=b'news/', null=True, verbose_name='Bild', blank=True)),
|
||||
('slug', models.SlugField(unique_for_month=b'date_created', verbose_name='Slug')),
|
||||
('status', models.SmallIntegerField(default=1, verbose_name='Status', choices=[(-1, 'Zur\xfcckgewiesen'), (0, 'Wartend...'), (1, 'Ver\xf6ffentlicht')])),
|
||||
('date_created', models.DateTimeField(verbose_name='Erstellt', blank=True)),
|
||||
('date_modified', models.DateTimeField(auto_now=True, verbose_name='Bearbeitet')),
|
||||
('author', models.ForeignKey(verbose_name='Autor', to=settings.AUTH_USER_MODEL)),
|
||||
('content_en', models.TextField(
|
||||
verbose_name=b'Content', blank=True)),
|
||||
('image', models.ImageField(
|
||||
upload_to=b'news/',
|
||||
null=True, verbose_name='Bild',
|
||||
blank=True)),
|
||||
('slug', models.SlugField(
|
||||
unique_for_month=b'date_created', verbose_name='Slug')),
|
||||
('status',
|
||||
models.SmallIntegerField(
|
||||
default=1, verbose_name='Status',
|
||||
choices=[
|
||||
(-1, 'Zur\xfcckgewiesen'),
|
||||
(0, 'Wartend...'),
|
||||
(1, 'Ver\xf6ffentlicht')])),
|
||||
('date_created', models.DateTimeField(
|
||||
verbose_name='Erstellt', blank=True)),
|
||||
('date_modified', models.DateTimeField(
|
||||
auto_now=True, verbose_name='Bearbeitet')),
|
||||
('author', models.ForeignKey(
|
||||
verbose_name='Autor', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
options={
|
||||
'ordering': ('-date_created',),
|
||||
@@ -37,12 +55,22 @@ class Migration(migrations.Migration):
|
||||
migrations.CreateModel(
|
||||
name='Category',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('name_de', models.CharField(max_length=80, verbose_name='Name')),
|
||||
('name_en', models.CharField(max_length=80, verbose_name='Name', blank=True)),
|
||||
('description_de', models.TextField(verbose_name='Beschreibung')),
|
||||
('description_en', models.TextField(verbose_name='Beschreibung', blank=True)),
|
||||
('image', models.ImageField(upload_to=b'news/categories/', null=True, verbose_name='Bild', blank=True)),
|
||||
('id', models.AutoField(
|
||||
verbose_name='ID',
|
||||
serialize=False, auto_created=True,
|
||||
primary_key=True)),
|
||||
('name_de',
|
||||
models.CharField(max_length=80, verbose_name='Name')),
|
||||
('name_en', models.CharField(
|
||||
max_length=80, verbose_name='Name', blank=True)),
|
||||
('description_de',
|
||||
models.TextField(verbose_name='Beschreibung')),
|
||||
('description_en', models.TextField(
|
||||
verbose_name='Beschreibung', blank=True)),
|
||||
('image', models.ImageField(
|
||||
upload_to=b'news/categories/',
|
||||
null=True, verbose_name='Bild',
|
||||
blank=True)),
|
||||
('slug', models.SlugField(unique=True, verbose_name='Slug')),
|
||||
],
|
||||
options={
|
||||
@@ -54,23 +82,57 @@ class Migration(migrations.Migration):
|
||||
migrations.CreateModel(
|
||||
name='Page',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('menu_name_de', models.CharField(help_text='Ein kurzer Name f\xfcr den Men\xfceintrag', max_length=255, verbose_name=b'Men\xc3\xbc Name')),
|
||||
('menu_name_en', models.CharField(help_text='Ein kurzer Name f\xfcr den Men\xfceintrag', max_length=255, verbose_name=b'Menu Name', blank=True)),
|
||||
('title_de', models.CharField(help_text='Der Titel erscheint im HTML Header', max_length=255, verbose_name=b'Titel')),
|
||||
('title_en', models.CharField(help_text='Der Titel erscheint im HTML Header', max_length=255, verbose_name=b'Title', blank=True)),
|
||||
('id', models.AutoField(
|
||||
verbose_name='ID',
|
||||
serialize=False, auto_created=True,
|
||||
primary_key=True)),
|
||||
('menu_name_de', models.CharField(
|
||||
help_text='Ein kurzer Name f\xfcr den Men\xfceintrag',
|
||||
max_length=255, verbose_name=b'Men\xc3\xbc Name')),
|
||||
('menu_name_en', models.CharField(
|
||||
help_text='Ein kurzer Name f\xfcr den Men\xfceintrag',
|
||||
max_length=255, verbose_name=b'Menu Name', blank=True)),
|
||||
('title_de', models.CharField(
|
||||
help_text='Der Titel erscheint im HTML Header',
|
||||
max_length=255, verbose_name=b'Titel')),
|
||||
('title_en', models.CharField(
|
||||
help_text='Der Titel erscheint im HTML Header',
|
||||
max_length=255, verbose_name=b'Title', blank=True)),
|
||||
('slug', models.SlugField(verbose_name='Slug')),
|
||||
('path', models.CharField(verbose_name='Pfad', unique=True, max_length=100, editable=False, db_index=True)),
|
||||
('position', models.PositiveSmallIntegerField(null=True, verbose_name='Position', blank=True)),
|
||||
('status', models.SmallIntegerField(default=0, verbose_name='Status', choices=[(-1, 'Zur\xfcckgewiesen'), (0, 'Wartend...'), (1, 'Ver\xf6ffentlicht')])),
|
||||
('content_type', models.IntegerField(choices=[(0, 'Django View'), (1, 'HTML'), (2, 'PDF')])),
|
||||
('content_de', models.TextField(verbose_name=b'Inhalt', blank=True)),
|
||||
('content_en', models.TextField(verbose_name=b'Content', blank=True)),
|
||||
('enable_comments', models.BooleanField(default=True, verbose_name='Kommentare m\xf6glich')),
|
||||
('template', models.CharField(default=b'content/page.html', max_length=100, verbose_name='Vorlage')),
|
||||
('pdf_de', models.FileField(null=True, upload_to=b'pdf/de/', blank=True)),
|
||||
('pdf_en', models.FileField(null=True, upload_to=b'pdf/en/', blank=True)),
|
||||
('parent', models.ForeignKey(related_name='subpages', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='content.Page', null=True)),
|
||||
('path', models.CharField(
|
||||
verbose_name='Pfad', unique=True,
|
||||
max_length=100, editable=False,
|
||||
db_index=True)),
|
||||
('position', models.PositiveSmallIntegerField(
|
||||
null=True, verbose_name='Position', blank=True)),
|
||||
('status',
|
||||
models.SmallIntegerField(
|
||||
default=0, verbose_name='Status',
|
||||
choices=[
|
||||
(-1, 'Zur\xfcckgewiesen'),
|
||||
(0, 'Wartend...'),
|
||||
(1, 'Ver\xf6ffentlicht')])),
|
||||
('content_type', models.IntegerField(choices=[
|
||||
(0, 'Django View'), (1, 'HTML'), (2, 'PDF')])),
|
||||
('content_de',
|
||||
models.TextField(verbose_name=b'Inhalt', blank=True)),
|
||||
('content_en', models.TextField(
|
||||
verbose_name=b'Content', blank=True)),
|
||||
('enable_comments', models.BooleanField(
|
||||
default=True, verbose_name='Kommentare m\xf6glich')),
|
||||
('template', models.CharField(
|
||||
default=b'content/page.html',
|
||||
max_length=100,
|
||||
verbose_name='Vorlage')),
|
||||
('pdf_de', models.FileField(
|
||||
null=True, upload_to=b'pdf/de/', blank=True)),
|
||||
('pdf_en', models.FileField(
|
||||
null=True, upload_to=b'pdf/en/', blank=True)),
|
||||
('parent', models.ForeignKey(
|
||||
related_name='subpages',
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
blank=True, to='content.Page',
|
||||
null=True)),
|
||||
],
|
||||
options={
|
||||
'ordering': ['parent__id', 'position'],
|
||||
@@ -81,7 +143,8 @@ class Migration(migrations.Migration):
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='category',
|
||||
field=models.ForeignKey(verbose_name='Kategorie', to='content.Category'),
|
||||
field=models.ForeignKey(
|
||||
verbose_name='Kategorie', to='content.Category'),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='page',
|
||||
|
||||
38
src/content/migrations/0002_auto_20150823_2232.py
Normal file
38
src/content/migrations/0002_auto_20150823_2232.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
import ckeditor.fields
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('content', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='article',
|
||||
name='content_de',
|
||||
field=ckeditor.fields.RichTextField(verbose_name='Inhalt'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='article',
|
||||
name='content_en',
|
||||
field=ckeditor.fields.RichTextField(
|
||||
verbose_name=b'Content', blank=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='content_de',
|
||||
field=ckeditor.fields.RichTextField(
|
||||
verbose_name=b'Inhalt', blank=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='content_en',
|
||||
field=ckeditor.fields.RichTextField(
|
||||
verbose_name=b'Content', blank=True),
|
||||
),
|
||||
]
|
||||
@@ -11,9 +11,6 @@ from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import get_language, ugettext as _
|
||||
from django.core.exceptions import ValidationError
|
||||
from ckeditor.fields import RichTextField
|
||||
|
||||
|
||||
from kasu.image_models import ImageModel
|
||||
from utils import STATUS_CHOICES, STATUS_WAITING, STATUS_PUBLISHED, \
|
||||
cleaner
|
||||
|
||||
@@ -42,11 +39,15 @@ def get_upload_path(instance, filename):
|
||||
|
||||
|
||||
class ArticleManager(models.Manager):
|
||||
|
||||
def get_queryset(self):
|
||||
return super(ArticleManager, self).get_queryset().select_related('author', 'category')
|
||||
|
||||
def published(self):
|
||||
return self.filter(status=STATUS_PUBLISHED, date_created__lte=now())
|
||||
|
||||
|
||||
class Article(ImageModel):
|
||||
class Article(models.Model):
|
||||
headline_de = models.CharField(_('Headline'), max_length=255)
|
||||
headline_en = models.CharField('Headline', max_length=255, blank=True)
|
||||
content_de = RichTextField(_('Content'))
|
||||
@@ -80,11 +81,11 @@ class Article(ImageModel):
|
||||
return self.headline
|
||||
|
||||
@property
|
||||
def posting_image(self):
|
||||
def get_image(self):
|
||||
if self.image:
|
||||
return self.article
|
||||
return self.image
|
||||
else:
|
||||
return self.category.article
|
||||
return self.category.image
|
||||
|
||||
def get_absolute_url(self):
|
||||
kwargs = {
|
||||
@@ -219,7 +220,7 @@ class Page(models.Model):
|
||||
verbose_name_plural = _('Pages')
|
||||
|
||||
|
||||
class Category(ImageModel):
|
||||
class Category(models.Model):
|
||||
name_de = models.CharField(_('Name'), max_length=80)
|
||||
name_en = models.CharField(_('Name'), max_length=80, blank=True)
|
||||
description_de = models.TextField(_('Description'))
|
||||
|
||||
@@ -27,4 +27,4 @@ urlpatterns = patterns(
|
||||
ArticleYearArchive.as_view(), name='article-archive'),
|
||||
url(r'^(?P<category>[\-\d\w]+)/(?P<year>[\d]{4})/(?P<month>[\d]+)/$',
|
||||
ArticleMonthArchive.as_view(), name='article-archive'),
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1,32 +1,33 @@
|
||||
{% extends "base.html" %}
|
||||
{% load i18n comments %}
|
||||
{% load i18n comments thumbnail %}
|
||||
|
||||
{% block title %}
|
||||
{% trans 'Article Archive' %}
|
||||
{% if active_category %} - {{active_category.name}}{% endif %}
|
||||
{% if month %}{{ month|date:'F Y' }}</h2>{% elif year %}{{year}}{% endif %}
|
||||
{% if month %}{{ month|date:'F Y' }}{% elif year %}{{year}}{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block meta_title %}
|
||||
{% trans 'Article Archive' %}
|
||||
{% if active_category %} - {{active_category.name}}{% endif %}
|
||||
{% if month %}{{ month|date:'F Y' }}</h2>{% elif year %}{{year}}{% endif %}
|
||||
{% endblock %}
|
||||
{% block jumbotron_background %}{% spaceless %}
|
||||
{% if active_category %}
|
||||
{{ active_category.image.url }}
|
||||
{% else %}
|
||||
{{STATIC_URL}}img/teaser/{{current_top_page.slug}}.jpg
|
||||
{% endif %}
|
||||
{% endspaceless %}{% endblock %}
|
||||
|
||||
{% block jumbotron_background %}{% if active_category %}{{ active_category.image.url }}{% else %}{{STATIC_URL}}img/teaser/{{current_top_page.slug}}.jpg{% endif %}{% endblock %}
|
||||
|
||||
{% block teaser %}<h1>
|
||||
{% block teaser %}
|
||||
<h1>
|
||||
{% trans 'Article Archive' %}
|
||||
{% if active_category %} - {{active_category.name}}{% endif %}
|
||||
{% if month %}{{ month|date:'F Y' }}{% elif year %}{{year}}{% endif %}
|
||||
</h1>
|
||||
<div id="teaser_text">
|
||||
{% if active_category %}
|
||||
</h1>
|
||||
<div id="teaser_text">
|
||||
{% if active_category %}
|
||||
<p>{{ active_category.description }}</p>
|
||||
{% else %}
|
||||
{% else %}
|
||||
{{current_page.content|safe}}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block redbox %}
|
||||
@@ -67,7 +68,7 @@
|
||||
<li><span class="fa fa-user" title="{% trans 'by' %}"></span> {{ article.author }}</li>
|
||||
<li><span class="fa fa-comments" title="{% trans 'comments' %}"></span> <a href="{{article.get_absolute_url}}#comments" >{{comment_count}} {% trans "comments" %}</a></li>
|
||||
</ul>
|
||||
<a href="{{article.get_absolute_url}}"><img src="{{article.posting_image.url}}" alt="{{article.category}}:" class="posting_image" width="200" height="120"/></a>
|
||||
<a href="{{article.get_absolute_url}}"><img src="{{article.get_image|thumbnail_url:'article'}}" alt="{{article.category}}:" class="posting_image" width="200" height="120"/></a>
|
||||
{{article.content|truncatewords_html:50}}
|
||||
<p class="more_link"><a href="{{article.get_absolute_url}}" class="button">{% trans "Read More"%} <span class="fa fa-arrow-right"></span></a></p>
|
||||
</article>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{% extends "base.html" %}
|
||||
{% load i18n comments %}
|
||||
{% load i18n comments thumbnail %}
|
||||
|
||||
{% block title %}{{ article.headline }}{% endblock %}
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{ article.headline|force_escape }}" />
|
||||
<meta property="og:url" content="http://www.kasu.at{{ article.get_absolute_url }}" />
|
||||
<meta property="og:image" content="http://www.kasu.at{{article.posting_image.url}}" />
|
||||
<meta property="og:image" content="http://www.kasu.at{{article.get_image|thumbnail_url:'article'}}" />
|
||||
<meta property="og:description" content="{{article.content|striptags|truncatewords:25|force_escape}}" />
|
||||
<link rel="image_src" type="image/jpeg" href="{{article.posting_image.url}}" />
|
||||
<link rel="image_src" type="image/jpeg" href="{{article.get_image|thumbnail_url:'article'}}" />
|
||||
{% endblock %}
|
||||
|
||||
{% block itemscope %}itemscope itemtype="http://schema.org/Article"{% endblock %}
|
||||
@@ -21,7 +21,7 @@
|
||||
<div id="teaser_text">
|
||||
<ul class="info">
|
||||
<li><span class="fa fa-user"></span> <strong>{% trans 'Author' %}:</strong> <a href="{% url 'membership-details' article.author %}" itemprop="author">{{article.author}}</a></li>
|
||||
<li><span class="fa fa-calendar-o"></span> <strong>{% trans 'Created on' %}: </strong><time datetime="{{article.date_created|date:'Y-m-d H:i'}}">{{ article.date_created|date }}</time></li>
|
||||
<li><span class="fa fa-calendar-o"></span> <strong>{% trans 'Created on' %}: </strong><time datetime="{{article.date_created|date:'Y-m-d H:i'}}">{{ article.date_created|date:'DATE_FORMAT' }}</time></li>
|
||||
<li><span class="fa fa-tag"></span> <strong>{% trans "Category"%}: </strong><a href="{{ article.category.get_absolute_url }}" itemprop="articleSection">{{article.category.name}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
{% block maincontent %}
|
||||
<div itemprop="articleBody" class="grid_12">
|
||||
<img alt="{{article.category.name}}" src="{{article.posting_image.url}}" class="posting_image" itemprop="image"/>
|
||||
<img alt="{{article.category.name}}" src="{{article.get_image|thumbnail_url:'article'}}" class="posting_image" itemprop="image"/>
|
||||
{{ article.content }}
|
||||
</div>
|
||||
<p class="right">
|
||||
|
||||
@@ -13,6 +13,7 @@ register = template.Library()
|
||||
|
||||
|
||||
class FieldSetNode(template.Node):
|
||||
|
||||
def __init__(self, form_variable, variable_name, fields):
|
||||
self.fields = fields
|
||||
self.variable_name = variable_name
|
||||
|
||||
@@ -9,6 +9,7 @@ from django.test import TestCase
|
||||
|
||||
|
||||
class SimpleTest(TestCase):
|
||||
|
||||
def test_basic_addition(self):
|
||||
"""
|
||||
Tests that 1 + 1 always equals 2.
|
||||
|
||||
@@ -12,4 +12,4 @@ urlpatterns = patterns(
|
||||
'content.views',
|
||||
url(r'^image_list.js$', ImageList.as_view(), name='content-image-list'),
|
||||
url(r'^link_list.js$', PageList.as_view(), name='content-page-list'),
|
||||
)
|
||||
)
|
||||
|
||||
@@ -8,15 +8,16 @@ from django.utils.translation import ugettext as _
|
||||
from django.views import generic
|
||||
|
||||
from . import models, forms
|
||||
from aggregator.models import Feed
|
||||
from events.models import Photo
|
||||
from utils.mixins import PermissionRequiredMixin
|
||||
|
||||
|
||||
class ArticleArchiveMixin(object):
|
||||
|
||||
def get_category(self, queryset):
|
||||
try:
|
||||
self.category = models.Category.objects.get(slug=self.kwargs['category'])
|
||||
self.category = models.Category.objects.get(
|
||||
slug=self.kwargs['category'])
|
||||
return queryset.filter(category=self.category)
|
||||
except models.Category.DoesNotExist:
|
||||
raise Http404(_("This Category does not exist."))
|
||||
@@ -28,7 +29,6 @@ class ArticleArchiveMixin(object):
|
||||
context = super(ArticleArchiveMixin, self).get_context_data(**kwargs)
|
||||
context['categories'] = models.Category.objects.all()
|
||||
context['active_category'] = self.category
|
||||
context['feeds'] = Feed.objects.active()
|
||||
return context
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@ class ArticleForm(PermissionRequiredMixin, generic.UpdateView):
|
||||
|
||||
class ImageList(generic.View):
|
||||
# noinspection PyMethodMayBeStatic
|
||||
|
||||
def get(self, kwargs):
|
||||
image_list = []
|
||||
response = HttpResponse(content_type='text/javascript')
|
||||
@@ -146,6 +147,7 @@ class PageEditForm(PermissionRequiredMixin, generic.UpdateView):
|
||||
|
||||
|
||||
class PageHtml(generic.DetailView):
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
try:
|
||||
return models.Page.objects.get(path=self.kwargs['path'],
|
||||
@@ -160,6 +162,7 @@ class PageHtml(generic.DetailView):
|
||||
|
||||
|
||||
class PagePdf(generic.DeleteView):
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
try:
|
||||
return models.Page.objects.get(path=self.kwargs['path'],
|
||||
@@ -183,6 +186,7 @@ class PagePdf(generic.DeleteView):
|
||||
|
||||
class PageList(generic.View):
|
||||
# noinspection PyMethodMayBeStatic
|
||||
|
||||
def get(self, kwargs):
|
||||
response = HttpResponse(content_type='text/javascript')
|
||||
response.write('var tinyMCELinkList = new Array(')
|
||||
@@ -212,7 +216,7 @@ class StartPage(generic.TemplateView):
|
||||
context = {
|
||||
'title': page.title,
|
||||
'content': page.content,
|
||||
'random_photo': random_photo.callout,
|
||||
'random_photo': random_photo,
|
||||
'recent_article_list': models.Article.objects.published()[:3],
|
||||
'recent_comment_list': recent_comment_list,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user