diff --git a/src/aggregator/migrations/0001_initial.py b/src/aggregator/migrations/0001_initial.py new file mode 100644 index 0000000..82e4d31 --- /dev/null +++ b/src/aggregator/migrations/0001_initial.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import utils.html5.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('sites', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Feed', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', utils.html5.models.CharField(max_length=500)), + ('feed_url', utils.html5.models.URLField(unique=True, max_length=255)), + ('public_url', utils.html5.models.URLField(max_length=255)), + ('last_update', utils.html5.models.DateTimeField(null=True, blank=True)), + ('is_functional', utils.html5.models.BooleanField(default=True)), + ('site', utils.html5.models.ForeignKey(to='sites.Site')), + ], + options={ + 'ordering': ('title',), + }, + ), + migrations.CreateModel( + name='FeedItem', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', utils.html5.models.CharField(max_length=500)), + ('link', utils.html5.models.URLField(max_length=500)), + ('guid', utils.html5.models.CharField(unique=True, max_length=255, db_index=True)), + ('summary', utils.html5.models.TextField(blank=True)), + ('date_modified', utils.html5.models.DateTimeField()), + ('feed', utils.html5.models.ForeignKey(related_name='feed_items', to='aggregator.Feed')), + ], + options={ + 'ordering': ('-date_modified',), + }, + ), + ] diff --git a/src/aggregator/migrations/__init__.py b/src/aggregator/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/content/management/commands/syncfacebook.py b/src/content/management/commands/syncfacebook.py new file mode 100644 index 0000000..bc9024e --- /dev/null +++ b/src/content/management/commands/syncfacebook.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +__author__ = 'Christian Berg' + +import urllib + +from datetime import datetime +from django.core.management.base import BaseCommand +from django.conf import settings +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'], ) + self.login() + + def login(self): + args = {'access_token': settings.FACEBOOK_ACCESS_TOKEN} + query = "https://graph.facebook.com/{object}/feed?{args}".format( + object=settings.FACEBOOK_APP_ID, + args=urllib.urlencode(args), + ) + print query + request = urllib.urlopen(query) + print request + response = request.read() + print response + print json.loads(response) \ No newline at end of file diff --git a/src/content/migrations/0001_initial.py b/src/content/migrations/0001_initial.py new file mode 100644 index 0000000..d12d159 --- /dev/null +++ b/src/content/migrations/0001_initial.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import django.db.models.deletion +from django.conf import settings + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + 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)), + ('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)), + ], + options={ + 'ordering': ('-date_created',), + 'verbose_name': 'Artikel', + 'verbose_name_plural': 'Artikel', + }, + ), + 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)), + ('slug', models.SlugField(unique=True, verbose_name='Slug')), + ], + options={ + 'ordering': ('slug',), + 'verbose_name': 'Kategorie', + 'verbose_name_plural': 'Kategorien', + }, + ), + 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)), + ('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)), + ], + options={ + 'ordering': ['parent__id', 'position'], + 'verbose_name': 'Seite', + 'verbose_name_plural': 'Seiten', + }, + ), + migrations.AddField( + model_name='article', + name='category', + field=models.ForeignKey(verbose_name='Kategorie', to='content.Category'), + ), + migrations.AlterUniqueTogether( + name='page', + unique_together=set([('slug', 'parent')]), + ), + ] diff --git a/src/content/migrations/__init__.py b/src/content/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/content/templates/content/article_archive.html b/src/content/templates/content/article_archive.html index be45095..7d22412 100644 --- a/src/content/templates/content/article_archive.html +++ b/src/content/templates/content/article_archive.html @@ -30,14 +30,14 @@ {% block redbox %} {% block date_list %}

{% trans "Archive" %} {{year}}

-