Django 1.7, add Makefile
authorRadek Czajka <rczajka@rczajka.pl>
Wed, 25 Sep 2019 09:08:01 +0000 (11:08 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Wed, 25 Sep 2019 09:08:01 +0000 (11:08 +0200)
30 files changed:
Makefile [new file with mode: 0644]
chunks/migrations/0001_initial.py
contact/migrations/0001_initial.py
contact/migrations/0002_auto__add_attachment.py [deleted file]
contact/migrations/0003_auto__add_field_contact_key.py [deleted file]
events/__init__.py [deleted file]
events/admin.py [deleted file]
events/locale/pl/LC_MESSAGES/django.mo [deleted file]
events/locale/pl/LC_MESSAGES/django.po [deleted file]
events/migrations/0001_initial.py [deleted file]
events/migrations/0002_auto__add_field_event_published_pl__add_field_event_published_en.py [deleted file]
events/migrations/__init__.py [deleted file]
events/models.py [deleted file]
events/search_indexes.py [deleted file]
events/static/events/events.css [deleted file]
events/static/events/events.scss [deleted file]
events/templates/events/event_list.html [deleted file]
events/templates/events/snippets/event_short.html [deleted file]
events/templates/events/snippets/events_box.html [deleted file]
events/templatetags/__init__.py [deleted file]
events/templatetags/events_tags.py [deleted file]
events/tests.py [deleted file]
events/urls.py [deleted file]
events/views.py [deleted file]
menu/helpers.py
menu/templates/menu/menu.html
prawokultury/menu_items.py
prawokultury/settings.d/30-apps.py
prawokultury/urls.py
requirements.txt

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
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
+
index 1fd5e1d..0b78bae 100644 (file)
@@ -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 <a href="http://textile.thresholdstate.com/">Textile</a> syntax.', verbose_name='content', blank=True)),
+                ('content_en', markupfield.fields.MarkupField(help_text='Use <a href="http://textile.thresholdstate.com/">Textile</a> 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,),
+        ),
+    ]
index d16bf4c..4aefcd2 100644 (file)
@@ -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 (file)
index 8dc031d..0000000
+++ /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 (file)
index abe2ac1..0000000
+++ /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 (file)
index 300aa93..0000000
+++ /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 (file)
index b584b6f..0000000
+++ /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 (file)
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 (file)
index 51d5de2..0000000
+++ /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 <EMAIL@ADDRESS>, 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 <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
-"Language-Team: FNP <fundacja@nowoczesnapolska.org.pl>\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 (file)
index 1230887..0000000
+++ /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 (file)
index a960391..0000000
+++ /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 (file)
index e69de29..0000000
diff --git a/events/models.py b/events/models.py
deleted file mode 100644 (file)
index aa36591..0000000
+++ /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 (file)
index 2fe31cb..0000000
+++ /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 (file)
index e2bf881..0000000
+++ /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 (executable)
index 7fa58ed..0000000
+++ /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 (executable)
index ad2a92c..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-{% extends "base.html" %}
-{% load url from future %}
-{% load i18n pagination_tags fnp_prevnext %}
-{% load events_tags %}
-
-{% block body %}
-<h1>{% trans "Events" %}</h1>
-
-{% autopaginate object_list 10 %}
-{% for event in object_list %}
-  {% event_short event %}
-{% endfor %}
-
-<p class="prevnext">
-{% 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 %}
-</p>
-
-{% endblock %}
diff --git a/events/templates/events/snippets/event_short.html b/events/templates/events/snippets/event_short.html
deleted file mode 100644 (file)
index 4e32ad9..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{% load i18n %}
-    <div class="event">
-    <a href="{{ event.link }}">
-        <h2>{{ event.date }}</h2>{# just date #}
-        <strong class="title">{{ event.title }}</strong>
-
-        <div class="description">
-        {{ event.date }}, {{ event.place }}<br/>
-        {% trans "Organizer" %}: {{ event.organizer }}<br/>
-        </div>
-    </a>
-    </div>
-
diff --git a/events/templates/events/snippets/events_box.html b/events/templates/events/snippets/events_box.html
deleted file mode 100755 (executable)
index 16de000..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{% load i18n %}
-{% load url from future %}
-
-<ul class="event-list">
-{% for event in objects %}
-    <li class="event-list-item">
-        <a target="_blank" href="{{ event.link }}">
-            <div class="date">
-                <div class="day">{{ event.date|date:"j" }}</div>
-                <div class="mon">{{ event.date|date:"b" }}</div>
-            </div>
-            <div class="description">
-                {{ event.title }}
-                ({{ event.organizer }}, {{ event.place }})
-            </div>
-            <div style="clear: both"></div>
-        </a>
-    </li>
-{% endfor %}
-</ul>
-<!--p class="more"><a href="{% url 'events' %}">{% trans "more events" %}</a></p-->
diff --git a/events/templatetags/__init__.py b/events/templatetags/__init__.py
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/events/templatetags/events_tags.py b/events/templatetags/events_tags.py
deleted file mode 100644 (file)
index cd3e7da..0000000
+++ /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 (file)
index c4c2187..0000000
+++ /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 (file)
index ebec896..0000000
+++ /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 (file)
index b2dccc7..0000000
+++ /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,
-    })
index e22bb97..64df72c 100755 (executable)
@@ -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)
 
index 56debe5..b2faa8a 100755 (executable)
@@ -1,7 +1,9 @@
 {% load i18n %}
 {% for item in items %}
+  {% if item.obj %}
     <li{% if item.active %} 
         class="active"{%endif %} {% if item.html_id %}
         id="{{ item.html_id}}"{% endif %}>
         <a href="{{ item.get_url }}">{{ item.get_title }}</a></li>
+  {% endif %}
 {% endfor %}
index 3cc7695..d7fcb42 100644 (file)
@@ -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')
index 5e2abf4..e2f08c0 100644 (file)
@@ -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',
index 2dcdfb9..734ca7c 100644 (file)
@@ -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 
index c2c3916..3b6a21c 100644 (file)
@@ -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