From: Radek Czajka Date: Wed, 25 Sep 2019 09:08:01 +0000 (+0200) Subject: Django 1.7, add Makefile X-Git-Url: https://git.mdrn.pl/prawokultury.git/commitdiff_plain/522b9cc723548746eed1aea99905618e693f96e0 Django 1.7, add Makefile --- diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..70d8ead --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +.PHONY: deploy + + +deploy: prawokultury/settings.d/local.py + pip install -r requirements.txt + ./manage.py migrate --noinput + ./manage.py collectstatic --noinput + diff --git a/chunks/migrations/0001_initial.py b/chunks/migrations/0001_initial.py index 1fd5e1d..0b78bae 100644 --- a/chunks/migrations/0001_initial.py +++ b/chunks/migrations/0001_initial.py @@ -1,59 +1,46 @@ # -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding model 'Chunk' - db.create_table('chunks_chunk', ( - ('key', self.gf('django.db.models.fields.CharField')(max_length=255, primary_key=True)), - ('description', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), - ('content_pl', self.gf('markupfield.fields.MarkupField')(rendered_field=True, blank=True)), - ('content_en', self.gf('markupfield.fields.MarkupField')(rendered_field=True, blank=True)), - ('content_pl_markup_type', self.gf('django.db.models.fields.CharField')(default=None, max_length=30, blank=True)), - ('content_en_markup_type', self.gf('django.db.models.fields.CharField')(default=None, max_length=30, blank=True)), - ('_content_pl_rendered', self.gf('django.db.models.fields.TextField')()), - ('_content_en_rendered', self.gf('django.db.models.fields.TextField')()), - )) - db.send_create_signal('chunks', ['Chunk']) - - # Adding model 'Attachment' - db.create_table('chunks_attachment', ( - ('key', self.gf('django.db.models.fields.CharField')(max_length=255, primary_key=True)), - ('attachment', self.gf('django.db.models.fields.files.FileField')(max_length=100)), - )) - db.send_create_signal('chunks', ['Attachment']) - - - def backwards(self, orm): - # Deleting model 'Chunk' - db.delete_table('chunks_chunk') - - # Deleting model 'Attachment' - db.delete_table('chunks_attachment') - - - models = { - 'chunks.attachment': { - 'Meta': {'ordering': "('key',)", 'object_name': 'Attachment'}, - 'attachment': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), - 'key': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}) - }, - 'chunks.chunk': { - 'Meta': {'ordering': "('key',)", 'object_name': 'Chunk'}, - '_content_en_rendered': ('django.db.models.fields.TextField', [], {}), - '_content_pl_rendered': ('django.db.models.fields.TextField', [], {}), - 'content_en': ('markupfield.fields.MarkupField', [], {'rendered_field': 'True', 'blank': 'True'}), - 'content_en_markup_type': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '30', 'blank': 'True'}), - 'content_pl': ('markupfield.fields.MarkupField', [], {'rendered_field': 'True', 'blank': 'True'}), - 'content_pl_markup_type': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '30', 'blank': 'True'}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}) - } - } - - complete_apps = ['chunks'] \ No newline at end of file +from __future__ import unicode_literals + +from django.db import models, migrations +import markupfield.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Attachment', + fields=[ + ('key', models.CharField(help_text='A unique name for this attachment', max_length=255, serialize=False, verbose_name='key', primary_key=True)), + ('attachment', models.FileField(upload_to=b'chunks/attachment')), + ], + options={ + 'ordering': ('key',), + 'verbose_name': 'attachment', + 'verbose_name_plural': 'attachments', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Chunk', + fields=[ + ('key', models.CharField(help_text='A unique name for this piece of content', max_length=255, serialize=False, verbose_name='key', primary_key=True)), + ('description', models.CharField(max_length=255, verbose_name='description', blank=True)), + ('content_pl', markupfield.fields.MarkupField(help_text='Use Textile syntax.', verbose_name='content', blank=True)), + ('content_en', markupfield.fields.MarkupField(help_text='Use Textile syntax.', verbose_name='content', blank=True)), + ('content_pl_markup_type', models.CharField(default=b'textile_pl', max_length=30, editable=False, blank=True, choices=[(b'', b'--'), (b'textile_pl', b'textile_pl')])), + ('content_en_markup_type', models.CharField(default=b'textile_pl', max_length=30, editable=False, blank=True, choices=[(b'', b'--'), (b'textile_pl', b'textile_pl')])), + ('_content_pl_rendered', models.TextField(editable=False)), + ('_content_en_rendered', models.TextField(editable=False)), + ], + options={ + 'ordering': ('key',), + 'verbose_name': 'piece', + 'verbose_name_plural': 'pieces', + }, + bases=(models.Model,), + ), + ] diff --git a/contact/migrations/0001_initial.py b/contact/migrations/0001_initial.py index d16bf4c..4aefcd2 100644 --- a/contact/migrations/0001_initial.py +++ b/contact/migrations/0001_initial.py @@ -1,40 +1,49 @@ # -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding model 'Contact' - db.create_table('contact_contact', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), - ('ip', self.gf('django.db.models.fields.IPAddressField')(max_length=15)), - ('contact', self.gf('django.db.models.fields.CharField')(max_length=128)), - ('form_tag', self.gf('django.db.models.fields.CharField')(max_length=32)), - ('body', self.gf('jsonfield.fields.JSONField')()), - )) - db.send_create_signal('contact', ['Contact']) - - - def backwards(self, orm): - # Deleting model 'Contact' - db.delete_table('contact_contact') - - - models = { - 'contact.contact': { - 'Meta': {'ordering': "('-created_at',)", 'object_name': 'Contact'}, - 'body': ('jsonfield.fields.JSONField', [], {}), - 'contact': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'form_tag': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}) - } - } - - complete_apps = ['contact'] \ No newline at end of file +from __future__ import unicode_literals + +from django.db import models, migrations +import jsonfield.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Attachment', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('tag', models.CharField(max_length=64)), + ('file', models.FileField(upload_to=b'contact/attachment')), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Contact', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='submission date')), + ('ip', models.IPAddressField(default=b'127.0.0.1', verbose_name='IP address')), + ('contact', models.CharField(max_length=128, verbose_name='contact')), + ('form_tag', models.CharField(max_length=32, verbose_name='form', db_index=True)), + ('body', jsonfield.fields.JSONField(verbose_name='body')), + ('key', models.CharField(db_index=True, max_length=64, verbose_name='key', blank=True)), + ], + options={ + 'ordering': ('-created_at',), + 'verbose_name': 'submitted form', + 'verbose_name_plural': 'submitted forms', + }, + bases=(models.Model,), + ), + migrations.AddField( + model_name='attachment', + name='contact', + field=models.ForeignKey(to='contact.Contact'), + preserve_default=True, + ), + ] diff --git a/contact/migrations/0002_auto__add_attachment.py b/contact/migrations/0002_auto__add_attachment.py deleted file mode 100644 index 8dc031d..0000000 --- a/contact/migrations/0002_auto__add_attachment.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding model 'Attachment' - db.create_table('contact_attachment', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('contact', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contact.Contact'])), - ('tag', self.gf('django.db.models.fields.CharField')(max_length=64)), - ('file', self.gf('django.db.models.fields.files.FileField')(max_length=100)), - )) - db.send_create_signal('contact', ['Attachment']) - - # Adding index on 'Contact', fields ['form_tag'] - db.create_index('contact_contact', ['form_tag']) - - - def backwards(self, orm): - # Removing index on 'Contact', fields ['form_tag'] - db.delete_index('contact_contact', ['form_tag']) - - # Deleting model 'Attachment' - db.delete_table('contact_attachment') - - - models = { - 'contact.attachment': { - 'Meta': {'object_name': 'Attachment'}, - 'contact': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contact.Contact']"}), - 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'tag': ('django.db.models.fields.CharField', [], {'max_length': '64'}) - }, - 'contact.contact': { - 'Meta': {'ordering': "('-created_at',)", 'object_name': 'Contact'}, - 'body': ('jsonfield.fields.JSONField', [], {}), - 'contact': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'form_tag': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}) - } - } - - complete_apps = ['contact'] \ No newline at end of file diff --git a/contact/migrations/0003_auto__add_field_contact_key.py b/contact/migrations/0003_auto__add_field_contact_key.py deleted file mode 100644 index abe2ac1..0000000 --- a/contact/migrations/0003_auto__add_field_contact_key.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -from south.utils import datetime_utils as datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding field 'Contact.key' - db.add_column(u'contact_contact', 'key', - self.gf('django.db.models.fields.CharField')(db_index=True, default='', max_length=64, blank=True), - keep_default=False) - - - def backwards(self, orm): - # Deleting field 'Contact.key' - db.delete_column(u'contact_contact', 'key') - - - models = { - u'contact.attachment': { - 'Meta': {'object_name': 'Attachment'}, - 'contact': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contact.Contact']"}), - 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'tag': ('django.db.models.fields.CharField', [], {'max_length': '64'}) - }, - u'contact.contact': { - 'Meta': {'ordering': "('-created_at',)", 'object_name': 'Contact'}, - 'body': ('jsonfield.fields.JSONField', [], {}), - 'contact': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'form_tag': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}), - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip': ('django.db.models.fields.IPAddressField', [], {'default': "'127.0.0.1'", 'max_length': '15'}), - 'key': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}) - } - } - - complete_apps = ['contact'] \ No newline at end of file diff --git a/events/__init__.py b/events/__init__.py deleted file mode 100644 index 300aa93..0000000 --- a/events/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -from fnpdjango.utils.app import AppSettings - - -class Settings(AppSettings): - BOX_LENGTH = 3 - - -app_settings = Settings('EVENTS') diff --git a/events/admin.py b/events/admin.py deleted file mode 100644 index b584b6f..0000000 --- a/events/admin.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# This file is part of PrawoKultury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. -# -from django.conf import settings -from django.contrib import admin -from fnpdjango.utils.models.translation import translated_fields -from events.models import Event - - -class EventAdmin(admin.ModelAdmin): - fieldsets = ( - (None, {'fields': ('date', 'link')}), - ) + tuple( - (ln, {'fields': ( - ('published_%s' % lc), - 'title_%s' % lc, - 'organizer_%s' % lc, - 'place_%s' % lc, - )}) - for lc, ln in settings.LANGUAGES - ) - list_display = translated_fields( - ('title', 'place', 'organizer', 'published'), settings.LANGUAGES - ) + ('date',) - date_hierarchy = 'date' - list_filter = translated_fields(('published',)) - - -admin.site.register(Event, EventAdmin) diff --git a/events/locale/pl/LC_MESSAGES/django.mo b/events/locale/pl/LC_MESSAGES/django.mo deleted file mode 100644 index 776da84..0000000 Binary files a/events/locale/pl/LC_MESSAGES/django.mo and /dev/null differ diff --git a/events/locale/pl/LC_MESSAGES/django.po b/events/locale/pl/LC_MESSAGES/django.po deleted file mode 100644 index 51d5de2..0000000 --- a/events/locale/pl/LC_MESSAGES/django.po +++ /dev/null @@ -1,80 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: prawokultury-events\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-30 15:58+0200\n" -"PO-Revision-Date: 2012-08-30 15:59+0100\n" -"Last-Translator: Radek Czajka \n" -"Language-Team: FNP \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: models.py:13 -msgid "date" -msgstr "data" - -#: models.py:14 -msgid "link" -msgstr "link" - -#: models.py:17 -msgid "event" -msgstr "wydarzenie" - -#: models.py:18 -msgid "events" -msgstr "wydarzenia" - -#: models.py:29 -#, python-format -msgid "Published event should have a title in relevant language (%s)." -msgstr "Opublikowane wydarzenie powinno mieć tytuł w odpowiednim języku (%s)." - -#: models.py:33 -msgid "title" -msgstr "tytuł" - -#: models.py:34 -msgid "organizer" -msgstr "organizator" - -#: models.py:36 -msgid "place" -msgstr "miejsce" - -#: models.py:37 -msgid "published" -msgstr "opublikowane" - -#: urls.py:11 -msgid "past" -msgstr "przeszle" - -#: templates/events/event_list.html:7 -msgid "Events" -msgstr "Wydarzenia" - -#: templates/events/event_list.html:18 -msgid "see upcoming events" -msgstr "zobaczy nadchodzące wydarzenia" - -#: templates/events/event_list.html:22 -msgid "see past events" -msgstr "zobacz przeszłe wydarzenia" - -#: templates/events/snippets/event_short.html:9 -msgid "Organizer" -msgstr "Organizator" - -#: templates/events/snippets/events_box.html:21 -msgid "more events" -msgstr "więcej wydarzeń" - diff --git a/events/migrations/0001_initial.py b/events/migrations/0001_initial.py deleted file mode 100644 index 1230887..0000000 --- a/events/migrations/0001_initial.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding model 'Event' - db.create_table('events_event', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('date', self.gf('django.db.models.fields.DateTimeField')(max_length=255, db_index=True)), - ('link', self.gf('django.db.models.fields.URLField')(max_length=200)), - ('title_pl', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('title_en', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('organizer_pl', self.gf('django.db.models.fields.CharField')(max_length=255, db_index=True)), - ('organizer_en', self.gf('django.db.models.fields.CharField')(max_length=255, db_index=True)), - ('place_pl', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('place_en', self.gf('django.db.models.fields.CharField')(max_length=255)), - )) - db.send_create_signal('events', ['Event']) - - - def backwards(self, orm): - # Deleting model 'Event' - db.delete_table('events_event') - - - models = { - 'events.event': { - 'Meta': {'ordering': "['date']", 'object_name': 'Event'}, - 'date': ('django.db.models.fields.DateTimeField', [], {'max_length': '255', 'db_index': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'link': ('django.db.models.fields.URLField', [], {'max_length': '200'}), - 'organizer_en': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), - 'organizer_pl': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), - 'place_en': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'place_pl': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'title_en': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'title_pl': ('django.db.models.fields.CharField', [], {'max_length': '255'}) - } - } - - complete_apps = ['events'] \ No newline at end of file diff --git a/events/migrations/0002_auto__add_field_event_published_pl__add_field_event_published_en.py b/events/migrations/0002_auto__add_field_event_published_pl__add_field_event_published_en.py deleted file mode 100644 index a960391..0000000 --- a/events/migrations/0002_auto__add_field_event_published_pl__add_field_event_published_en.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding field 'Event.published_pl' - db.add_column('events_event', 'published_pl', - self.gf('django.db.models.fields.BooleanField')(default=False), - keep_default=False) - - # Adding field 'Event.published_en' - db.add_column('events_event', 'published_en', - self.gf('django.db.models.fields.BooleanField')(default=False), - keep_default=False) - - if not db.dry_run: - orm.Event.objects.all().update(published_pl=True, published_en=True) - - - def backwards(self, orm): - # Deleting field 'Event.published_pl' - db.delete_column('events_event', 'published_pl') - - # Deleting field 'Event.published_en' - db.delete_column('events_event', 'published_en') - - - models = { - 'events.event': { - 'Meta': {'ordering': "['date']", 'object_name': 'Event'}, - 'date': ('django.db.models.fields.DateTimeField', [], {'max_length': '255', 'db_index': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'link': ('django.db.models.fields.URLField', [], {'max_length': '200'}), - 'organizer_en': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'blank': 'True'}), - 'organizer_pl': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '255', 'blank': 'True'}), - 'place_en': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'place_pl': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'published_en': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'published_pl': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'title_en': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'title_pl': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) - } - } - - complete_apps = ['events'] \ No newline at end of file diff --git a/events/migrations/__init__.py b/events/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/events/models.py b/events/models.py deleted file mode 100644 index aa36591..0000000 --- a/events/models.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -# This file is part of PrawoKultury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. -# -from django.conf import settings -from django.core.exceptions import ValidationError -from django.db import models -from django.utils.translation import ugettext_lazy as _, ugettext -from fnpdjango.utils.models.translation import add_translatable - - -class Event(models.Model): - date = models.DateTimeField(_('date'), max_length=255, db_index=True) - link = models.URLField(_('link')) - - class Meta: - verbose_name = _('event') - verbose_name_plural = _('events') - ordering = ['date'] - - def __unicode__(self): - return self.title - - def clean(self): - for lc, ln in settings.LANGUAGES: - if (getattr(self, "published_%s" % lc) and - not getattr(self, "title_%s" % lc)): - raise ValidationError( - ugettext("Published event should have a title in relevant language (%s).") % lc) - - -add_translatable(Event, { - 'title': models.CharField(_('title'), max_length=255, blank=True), - 'organizer': models.CharField(_('organizer'), max_length=255, - db_index=True, blank=True), - 'place': models.CharField(_('place'), max_length=255, blank=True), - 'published': models.BooleanField(_('published'), default=False), -}) diff --git a/events/search_indexes.py b/events/search_indexes.py deleted file mode 100644 index 2fe31cb..0000000 --- a/events/search_indexes.py +++ /dev/null @@ -1,26 +0,0 @@ -from django.conf import settings -import datetime -from haystack import indexes -from events.models import Event -from fnpdjango.utils.models.translation import add_translatable_index - - -class EventIndex(indexes.RealTimeSearchIndex, indexes.Indexable): - def get_model(self): - return Event - - def index_queryset(self): - """Used when the entire index for model is updated.""" - return self.get_model().objects.all() - - -add_translatable_index(EventIndex, { -# Haystack needs a main field to be the same across all indexes -# so we treat title of the event as this main content, named 'body' - 'body': indexes.CharField(model_attr='title', null=True), - 'organizer': indexes.CharField(null=True), - 'place': indexes.CharField(null=True) - }) - - -getattr(EventIndex, "body_%s" % settings.LANGUAGE_CODE).document = True diff --git a/events/static/events/events.css b/events/static/events/events.css deleted file mode 100644 index e2bf881..0000000 --- a/events/static/events/events.css +++ /dev/null @@ -1,17 +0,0 @@ -.event { - margin-top: 2em; - padding-bottom: 2em; - border-bottom: 1px solid #8b8b87; } - .event h2 { - color: #01519a; - font-weight: normal; - font-size: 1.4em; - margin-bottom: 1.1em; } - .event a { - display: block; - color: #363a3b; } - .event .title { - font-size: 1.3em; } - .event .description { - font-size: 1.3em; - margin-top: 1.4em; } diff --git a/events/static/events/events.scss b/events/static/events/events.scss deleted file mode 100755 index 7fa58ed..0000000 --- a/events/static/events/events.scss +++ /dev/null @@ -1,28 +0,0 @@ -.event { - margin-top: 2em; - padding-bottom: 2em; - border-bottom: 1px solid #8b8b87; - - h2 { - color: #01519a; - font-weight: normal; - font-size: 1.4em; - margin-bottom: 1.1em; - } - - a { - display: block; - color: #363a3b; - } - - .title { - font-size: 1.3em; - } - - .description { - font-size: 1.3em; - margin-top: 1.4em; - } - - -} diff --git a/events/templates/events/event_list.html b/events/templates/events/event_list.html deleted file mode 100755 index ad2a92c..0000000 --- a/events/templates/events/event_list.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "base.html" %} -{% load url from future %} -{% load i18n pagination_tags fnp_prevnext %} -{% load events_tags %} - -{% block body %} -

{% trans "Events" %}

- -{% autopaginate object_list 10 %} -{% for event in object_list %} - {% event_short event %} -{% endfor %} - -

-{% next_page %} -{% if past %} - {% url "events" as prev_url %} - {% trans "see upcoming events" as prev_label %} - {% previous_page prev_url prev_label %} -{% else %} - {% url "events_past" as prev_url %} - {% trans "see past events" as prev_label %} - {% previous_page prev_url prev_label %} -{% endif %} -

- -{% endblock %} diff --git a/events/templates/events/snippets/event_short.html b/events/templates/events/snippets/event_short.html deleted file mode 100644 index 4e32ad9..0000000 --- a/events/templates/events/snippets/event_short.html +++ /dev/null @@ -1,13 +0,0 @@ -{% load i18n %} - - diff --git a/events/templates/events/snippets/events_box.html b/events/templates/events/snippets/events_box.html deleted file mode 100755 index 16de000..0000000 --- a/events/templates/events/snippets/events_box.html +++ /dev/null @@ -1,21 +0,0 @@ -{% load i18n %} -{% load url from future %} - - - diff --git a/events/templatetags/__init__.py b/events/templatetags/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/events/templatetags/events_tags.py b/events/templatetags/events_tags.py deleted file mode 100644 index cd3e7da..0000000 --- a/events/templatetags/events_tags.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -# This file is part of PrawoKultury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. -# -from django import template -from events import app_settings -from events.models import Event - -register = template.Library() -from datetime import datetime - - -@register.inclusion_tag('events/snippets/events_box.html', takes_context=True) -def events_box(context, limit=app_settings.BOX_LENGTH): - lang = context['request'].LANGUAGE_CODE - objects = Event.objects.filter(**{"published_%s" % lang: True}) - objects = objects.filter(date__gte=datetime.now())[:limit] - return {'objects': objects} - - -@register.inclusion_tag('events/snippets/event_short.html') -def event_short(event): - return {'event': event} diff --git a/events/tests.py b/events/tests.py deleted file mode 100644 index c4c2187..0000000 --- a/events/tests.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# This file is part of PrawoKultury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. -# -""" -This file demonstrates writing tests using the unittest module. These will pass -when you run "manage.py test". - -Replace this with more appropriate tests for your application. -""" - -from django.test import TestCase - - -class SimpleTest(TestCase): - def test_basic_addition(self): - """ - Tests that 1 + 1 always equals 2. - """ - self.assertEqual(1 + 1, 2) diff --git a/events/urls.py b/events/urls.py deleted file mode 100644 index ebec896..0000000 --- a/events/urls.py +++ /dev/null @@ -1,12 +0,0 @@ -# -*- coding: utf-8 -*- -# This file is part of PrawoKultury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. -# -from django.conf.urls import patterns, include, url -from django.utils.translation import string_concat, ugettext_lazy as _ - - -urlpatterns = patterns('events.views', - url(r'^$', 'events', name='events'), - url(string_concat('^', _('past'), '/$'), 'events_past', name='events_past'), -) diff --git a/events/views.py b/events/views.py deleted file mode 100644 index b2dccc7..0000000 --- a/events/views.py +++ /dev/null @@ -1,20 +0,0 @@ -from datetime import datetime -from django.shortcuts import render -from events.models import Event - - -def events(request): - events = Event.objects.filter(date__gte=datetime.now()) - events = events.filter(**{"published_%s" % request.LANGUAGE_CODE: True}) - return render(request, 'events/event_list.html', { - 'object_list': events, - }) - - -def events_past(request): - events = Event.objects.filter(date__lte=datetime.now()).order_by('-date') - events = events.filter(**{"published_%s" % request.LANGUAGE_CODE: True}) - return render(request, 'events/event_list.html', { - 'object_list': events, - 'past': True, - }) diff --git a/menu/helpers.py b/menu/helpers.py index e22bb97..64df72c 100755 --- a/menu/helpers.py +++ b/menu/helpers.py @@ -25,11 +25,22 @@ class ObjectMenuItem(MenuItem): If no url or title is provided, get_absolute_url and __unicode__ are used. You can also provide a reverse lookup dictionary, as in {model: field_name}. """ - def __init__(self, obj, url=None, rev_lookups=None, title=None, html_id=None): + def __init__(self, obj_lookup, url=None, rev_lookups=None, title=None, html_id=None): super(ObjectMenuItem, self).__init__(url=url, title=title, html_id=html_id) - self.obj = obj + self.obj_lookup = obj_lookup self.rev_lookups = rev_lookups + @property + def obj(self): + from migdal.models import Entry + try: + entry = Entry.objects.get(**self.obj_lookup) + except Entry.DoesNotExist: + return + if not entry.published: + return None + return entry + def get_title(self): return self.title or unicode(self.obj) diff --git a/menu/templates/menu/menu.html b/menu/templates/menu/menu.html index 56debe5..b2faa8a 100755 --- a/menu/templates/menu/menu.html +++ b/menu/templates/menu/menu.html @@ -1,7 +1,9 @@ {% load i18n %} {% for item in items %} + {% if item.obj %} {{ item.get_title }} + {% endif %} {% endfor %} diff --git a/prawokultury/menu_items.py b/prawokultury/menu_items.py index 3cc7695..d7fcb42 100644 --- a/prawokultury/menu_items.py +++ b/prawokultury/menu_items.py @@ -1,18 +1,12 @@ # -*- coding: utf-8 -*- -from migdal.models import Entry from menu.helpers import ObjectMenuItem ITEMS = [] def add_entry(**qs): - try: - entry = Entry.objects.get(**qs) - except Entry.DoesNotExist: - return - if not entry.published: - return - ITEMS.append(ObjectMenuItem(entry)) + ITEMS.append(ObjectMenuItem(qs)) + add_entry(slug_pl='co') add_entry(slug_pl='gdzie') diff --git a/prawokultury/settings.d/30-apps.py b/prawokultury/settings.d/30-apps.py index 5e2abf4..e2f08c0 100644 --- a/prawokultury/settings.d/30-apps.py +++ b/prawokultury/settings.d/30-apps.py @@ -2,7 +2,6 @@ INSTALLED_APPS = ( 'prawokultury', 'fnpdjango', - #'events', 'menu', 'migdal', 'contact', @@ -10,8 +9,7 @@ INSTALLED_APPS = ( 'sponsors', 'django_gravatar', - 'south', - 'django.contrib.comments', + 'django_comments', 'django_comments_xtd', 'pipeline', 'haystack', diff --git a/prawokultury/urls.py b/prawokultury/urls.py index 2dcdfb9..734ca7c 100644 --- a/prawokultury/urls.py +++ b/prawokultury/urls.py @@ -8,7 +8,6 @@ from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.utils.translation import ugettext_lazy as _, string_concat from fnpdjango.utils.urls import i18n_patterns -from events.urls import urlpatterns as events_urlpatterns from migdal.urls import urlpatterns as migdal_urlpatterns admin.autodiscover() @@ -22,8 +21,7 @@ urlpatterns = patterns('', (r'^accounts/login/$', 'django_cas.views.login'), (r'^accounts/logout/$', 'django_cas.views.logout'), -) + i18n_patterns('', - #url(string_concat(r'^', _('events'), r'/'), include('events.urls')), +) + i18n_patterns( url(r'^comments/', include('django_comments_xtd.urls')), url(r'^contact/', include('contact.urls')), ) + migdal_urlpatterns diff --git a/requirements.txt b/requirements.txt index c2c3916..3b6a21c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,20 +1,20 @@ --i https://py.mdrn.pl:8443/simple +-i https://py.mdrn.pl/simple -Django>=1.6,<1.7 -fnpdjango==0.2.4 +Django>=1.7,<1.8 +fnpdjango==0.3 django_cas>=2.1,<2.2 -South>=0.7.4 Pillow -sorl-thumbnail>=11.09,<12 +sorl-thumbnail==12.2 django-pagination -django-migdal==0.5.2 +django-migdal==0.8.5 pytz -jsonfield>=0.9.20 +jsonfield==1.0.3 -django-markupfield>=1.2,<1.3 +django-markupfield==1.4.3 django-gravatar2 -django-comments-xtd==1.3a1 +django-comments-xtd==1.4.0 # for migdal +django-contrib-comments==1.6.0 # for migdal django-pipeline>=1.3.23,<1.4 django-extensions six @@ -27,6 +27,9 @@ django-haystack>=2.1,<2.2 pysolr django-piwik -django-sponsors>=1.2.1,<2.0 +django-sponsors==2.1 -mailchimp3 \ No newline at end of file + +mailchimp3 + +python-slugify==1.2.2