From: Radek Czajka Date: Tue, 26 Nov 2013 13:06:52 +0000 (+0100) Subject: Allow setting author for questions and editing some text chunks. X-Git-Url: https://git.mdrn.pl/prawokultury.git/commitdiff_plain/71e8973b1dfead567e58ec8e3e7b80a64865ba5f Allow setting author for questions and editing some text chunks. --- diff --git a/chunks/__init__.py b/chunks/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/chunks/admin.py b/chunks/admin.py new file mode 100644 index 0000000..fc45cb7 --- /dev/null +++ b/chunks/admin.py @@ -0,0 +1,17 @@ +from django.contrib import admin +from fnpdjango.utils.models.translation import translated_fields +from .models import Chunk, Attachment + + +class ChunkAdmin(admin.ModelAdmin): + list_display = ('key', 'description',) + search_fields = ('key', ) + translated_fields(('content',)) + +admin.site.register(Chunk, ChunkAdmin) + + +class AttachmentAdmin(admin.ModelAdmin): + list_display = ('key',) + search_fields = ('key',) + +admin.site.register(Attachment, AttachmentAdmin) \ No newline at end of file diff --git a/chunks/locale/de/LC_MESSAGES/django.mo b/chunks/locale/de/LC_MESSAGES/django.mo new file mode 100644 index 0000000..be5f8ae Binary files /dev/null and b/chunks/locale/de/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/de/LC_MESSAGES/django.po b/chunks/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..7fbf84e --- /dev/null +++ b/chunks/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,74 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-07-19 11:39+0200\n" +"PO-Revision-Date: 2012-04-11 22:56+0100\n" +"Last-Translator: Kamil \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: models.py:11 models.py:33 +msgid "key" +msgstr "Schlüssel" + +#: models.py:11 +msgid "A unique name for this chunk of content" +msgstr "Die einzigartige Bezeichnung für dieses Chunk von Inhalten" + +#: models.py:12 +msgid "description" +msgstr "Beschreibung" + +#: models.py:13 +msgid "content" +msgstr "Inhalt" + +#: models.py:17 +msgid "chunk" +msgstr "Chunk" + +#: models.py:18 +msgid "chunks" +msgstr "Chunks" + +#: models.py:33 +msgid "A unique name for this attachment" +msgstr "Die einzigartige Bezeichnung für diese Beilage" + +#: models.py:38 +msgid "attachment" +msgstr "Beilage" + +#: models.py:38 +msgid "attachments" +msgstr "Beilagen" + +#~ msgid "title" +#~ msgstr "Titel" + +#~ msgid "slug" +#~ msgstr "Slug" + +#~ msgid "file" +#~ msgstr "Datei" + +#~ msgid "author" +#~ msgstr "Autor" + +#~ msgid "slideshare ID" +#~ msgstr "Dia-ID" + +#~ msgid "HTML" +#~ msgstr "HTML" + +#~ msgid "document" +#~ msgstr "Dokument" diff --git a/chunks/locale/en/LC_MESSAGES/django.mo b/chunks/locale/en/LC_MESSAGES/django.mo new file mode 100644 index 0000000..a81e430 Binary files /dev/null and b/chunks/locale/en/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/en/LC_MESSAGES/django.po b/chunks/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..e81d48a --- /dev/null +++ b/chunks/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,53 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-07-19 11:39+0200\n" +"PO-Revision-Date: 2012-03-04 20:05+0100\n" +"Last-Translator: xxx \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: models.py:11 models.py:33 +msgid "key" +msgstr "key" + +#: models.py:11 +msgid "A unique name for this chunk of content" +msgstr "A unique name for this piece of content" + +#: models.py:12 +msgid "description" +msgstr "description" + +#: models.py:13 +msgid "content" +msgstr "content" + +#: models.py:17 +msgid "chunk" +msgstr "piece" + +#: models.py:18 +msgid "chunks" +msgstr "pieces" + +#: models.py:33 +msgid "A unique name for this attachment" +msgstr "A unique name for this attachment" + +#: models.py:38 +msgid "attachment" +msgstr "attachment" + +#: models.py:38 +msgid "attachments" +msgstr "attachments" diff --git a/chunks/locale/es/LC_MESSAGES/django.mo b/chunks/locale/es/LC_MESSAGES/django.mo new file mode 100644 index 0000000..83f03fb Binary files /dev/null and b/chunks/locale/es/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/es/LC_MESSAGES/django.po b/chunks/locale/es/LC_MESSAGES/django.po new file mode 100644 index 0000000..4130ea1 --- /dev/null +++ b/chunks/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,53 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-07-19 11:39+0200\n" +"PO-Revision-Date: 2012-02-18 13:02+0100\n" +"Last-Translator: Anna Jopp \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: models.py:11 models.py:33 +msgid "key" +msgstr "clave" + +#: models.py:11 +msgid "A unique name for this chunk of content" +msgstr "El nombre único para este elemento del contenido" + +#: models.py:12 +msgid "description" +msgstr "descripción" + +#: models.py:13 +msgid "content" +msgstr "contenido" + +#: models.py:17 +msgid "chunk" +msgstr "elemento" + +#: models.py:18 +msgid "chunks" +msgstr "elementos" + +#: models.py:33 +msgid "A unique name for this attachment" +msgstr "El nombre único para este archivo adjunto" + +#: models.py:38 +msgid "attachment" +msgstr "archivo adjunto" + +#: models.py:38 +msgid "attachments" +msgstr "archivos adjuntos" diff --git a/chunks/locale/fr/LC_MESSAGES/django.mo b/chunks/locale/fr/LC_MESSAGES/django.mo new file mode 100644 index 0000000..1ef6af2 Binary files /dev/null and b/chunks/locale/fr/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/fr/LC_MESSAGES/django.po b/chunks/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 0000000..150a92c --- /dev/null +++ b/chunks/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,53 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-07-19 11:39+0200\n" +"PO-Revision-Date: 2012-02-22 20:52+0100\n" +"Last-Translator: Ela Janota \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: models.py:11 models.py:33 +msgid "key" +msgstr "clé" + +#: models.py:11 +msgid "A unique name for this chunk of content" +msgstr "Un nom unique pour ce fragment du contenu" + +#: models.py:12 +msgid "description" +msgstr "description" + +#: models.py:13 +msgid "content" +msgstr "contenu" + +#: models.py:17 +msgid "chunk" +msgstr "fragment" + +#: models.py:18 +msgid "chunks" +msgstr "fragments" + +#: models.py:33 +msgid "A unique name for this attachment" +msgstr "Un nom unique pour cette pièce jointe" + +#: models.py:38 +msgid "attachment" +msgstr "pièce jointe" + +#: models.py:38 +msgid "attachments" +msgstr "pièces jointes" diff --git a/chunks/locale/it/LC_MESSAGES/django.mo b/chunks/locale/it/LC_MESSAGES/django.mo new file mode 100644 index 0000000..a07410f Binary files /dev/null and b/chunks/locale/it/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/it/LC_MESSAGES/django.po b/chunks/locale/it/LC_MESSAGES/django.po new file mode 100644 index 0000000..4598d53 --- /dev/null +++ b/chunks/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,54 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-07-19 11:39+0200\n" +"PO-Revision-Date: 2012-02-21 16:52+0100\n" +"Last-Translator: xxx\n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#: models.py:11 models.py:33 +msgid "key" +msgstr "Chiave" + +#: models.py:11 +msgid "A unique name for this chunk of content" +msgstr "un nome unico per questo allegato" + +#: models.py:12 +msgid "description" +msgstr "descrizione" + +#: models.py:13 +msgid "content" +msgstr "contenuto" + +#: models.py:17 +msgid "chunk" +msgstr "blocco" + +#: models.py:18 +msgid "chunks" +msgstr "blocchi" + +#: models.py:33 +msgid "A unique name for this attachment" +msgstr "Un nome unico per questo allegato" + +#: models.py:38 +msgid "attachment" +msgstr "allegato" + +#: models.py:38 +msgid "attachments" +msgstr "allegati" diff --git a/chunks/locale/jp/LC_MESSAGES/django.mo b/chunks/locale/jp/LC_MESSAGES/django.mo new file mode 100644 index 0000000..ad2faa7 Binary files /dev/null and b/chunks/locale/jp/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/jp/LC_MESSAGES/django.po b/chunks/locale/jp/LC_MESSAGES/django.po new file mode 100644 index 0000000..dcc303c --- /dev/null +++ b/chunks/locale/jp/LC_MESSAGES/django.po @@ -0,0 +1,54 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-07-19 11:39+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: models.py:11 models.py:33 +msgid "key" +msgstr "" + +#: models.py:11 +msgid "A unique name for this chunk of content" +msgstr "" + +#: models.py:12 +msgid "description" +msgstr "" + +#: models.py:13 +msgid "content" +msgstr "" + +#: models.py:17 +msgid "chunk" +msgstr "" + +#: models.py:18 +msgid "chunks" +msgstr "" + +#: models.py:33 +msgid "A unique name for this attachment" +msgstr "" + +#: models.py:38 +msgid "attachment" +msgstr "" + +#: models.py:38 +msgid "attachments" +msgstr "" diff --git a/chunks/locale/lt/LC_MESSAGES/django.mo b/chunks/locale/lt/LC_MESSAGES/django.mo new file mode 100644 index 0000000..6131fd5 Binary files /dev/null and b/chunks/locale/lt/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/lt/LC_MESSAGES/django.po b/chunks/locale/lt/LC_MESSAGES/django.po new file mode 100644 index 0000000..a78804a --- /dev/null +++ b/chunks/locale/lt/LC_MESSAGES/django.po @@ -0,0 +1,54 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-07-19 11:39+0200\n" +"PO-Revision-Date: 2012-03-01 16:13+0100\n" +"Last-Translator: Aneta\n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Translated-Using: django-rosetta 0.5.3\n" + +#: models.py:11 models.py:33 +msgid "key" +msgstr "raktas" + +#: models.py:11 +msgid "A unique name for this chunk of content" +msgstr "Unikalus šio turinio gabalo pavadnimas" + +#: models.py:12 +msgid "description" +msgstr "aprašymas" + +#: models.py:13 +msgid "content" +msgstr "turinys" + +#: models.py:17 +msgid "chunk" +msgstr "gabalas" + +#: models.py:18 +msgid "chunks" +msgstr "gabalai" + +#: models.py:33 +msgid "A unique name for this attachment" +msgstr "Unikalus šio priedo pavadnimas" + +#: models.py:38 +msgid "attachment" +msgstr "priedas" + +#: models.py:38 +msgid "attachments" +msgstr "priedai" diff --git a/chunks/locale/pl/LC_MESSAGES/django.mo b/chunks/locale/pl/LC_MESSAGES/django.mo new file mode 100644 index 0000000..2cc4840 Binary files /dev/null and b/chunks/locale/pl/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/pl/LC_MESSAGES/django.po b/chunks/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 0000000..4e0416a --- /dev/null +++ b/chunks/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,58 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-26 14:00+0100\n" +"PO-Revision-Date: 2013-11-26 14:01+0100\n" +"Last-Translator: Radek Czajka \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Translated-Using: django-rosetta 0.5.3\n" +"X-Generator: Poedit 1.5.4\n" + +#: models.py:13 models.py:39 +msgid "key" +msgstr "klucz" + +#: models.py:13 +msgid "A unique name for this chunk of content" +msgstr "Unikalna nazwa dla tego kawałka treści" + +#: models.py:14 +msgid "description" +msgstr "opis" + +#: models.py:18 +msgid "chunk" +msgstr "kawałek" + +#: models.py:19 +msgid "chunks" +msgstr "kawałki" + +#: models.py:33 +msgid "content" +msgstr "zawartość" + +#: models.py:34 +msgid "Use Textile syntax." +msgstr "Użyj składni Textile." + +#: models.py:39 +msgid "A unique name for this attachment" +msgstr "Unikalna nazwa dla tego załącznika" + +#: models.py:44 +msgid "attachment" +msgstr "załącznik" + +#: models.py:44 +msgid "attachments" +msgstr "załączniki" diff --git a/chunks/locale/ru/LC_MESSAGES/django.mo b/chunks/locale/ru/LC_MESSAGES/django.mo new file mode 100644 index 0000000..e1d650c Binary files /dev/null and b/chunks/locale/ru/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/ru/LC_MESSAGES/django.po b/chunks/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 0000000..593521f --- /dev/null +++ b/chunks/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,53 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-07-19 11:39+0200\n" +"PO-Revision-Date: 2012-03-04 22:10+0100\n" +"Last-Translator: xxx \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: models.py:11 models.py:33 +msgid "key" +msgstr "ключ" + +#: models.py:11 +msgid "A unique name for this chunk of content" +msgstr "Уникальное имя для этого фрагмента содержания" + +#: models.py:12 +msgid "description" +msgstr "описание" + +#: models.py:13 +msgid "content" +msgstr "содержание" + +#: models.py:17 +msgid "chunk" +msgstr "фрагмент" + +#: models.py:18 +msgid "chunks" +msgstr "фрагменты" + +#: models.py:33 +msgid "A unique name for this attachment" +msgstr "Уникальное имя для этого приложения" + +#: models.py:38 +msgid "attachment" +msgstr "приложение" + +#: models.py:38 +msgid "attachments" +msgstr "приложения" diff --git a/chunks/locale/uk/LC_MESSAGES/django.mo b/chunks/locale/uk/LC_MESSAGES/django.mo new file mode 100644 index 0000000..7c5388e Binary files /dev/null and b/chunks/locale/uk/LC_MESSAGES/django.mo differ diff --git a/chunks/locale/uk/LC_MESSAGES/django.po b/chunks/locale/uk/LC_MESSAGES/django.po new file mode 100644 index 0000000..edb9b06 --- /dev/null +++ b/chunks/locale/uk/LC_MESSAGES/django.po @@ -0,0 +1,53 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-07-19 11:39+0200\n" +"PO-Revision-Date: 2012-03-04 17:29+0100\n" +"Last-Translator: xxx \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: models.py:11 models.py:33 +msgid "key" +msgstr "ключ" + +#: models.py:11 +msgid "A unique name for this chunk of content" +msgstr "Унікальна назва для цієї частини змісту" + +#: models.py:12 +msgid "description" +msgstr "опис" + +#: models.py:13 +msgid "content" +msgstr "зміст" + +#: models.py:17 +msgid "chunk" +msgstr "частина" + +#: models.py:18 +msgid "chunks" +msgstr "частини" + +#: models.py:33 +msgid "A unique name for this attachment" +msgstr "Унікальна назва для цього додатку" + +#: models.py:38 +msgid "attachment" +msgstr "додаток" + +#: models.py:38 +msgid "attachments" +msgstr "додатки" diff --git a/chunks/migrations/0001_initial.py b/chunks/migrations/0001_initial.py new file mode 100644 index 0000000..1fd5e1d --- /dev/null +++ b/chunks/migrations/0001_initial.py @@ -0,0 +1,59 @@ +# -*- 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 diff --git a/chunks/migrations/__init__.py b/chunks/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/chunks/models.py b/chunks/models.py new file mode 100644 index 0000000..f16af08 --- /dev/null +++ b/chunks/models.py @@ -0,0 +1,47 @@ +from django.core.cache import cache +from django.db import models +from django.utils.translation import ugettext_lazy as _ +from markupfield.fields import MarkupField +from fnpdjango.utils.models.translation import add_translatable + + +class Chunk(models.Model): + """ + A Chunk is a piece of content associated with a unique key that can be inserted into + any template with the use of a special template tag. + """ + key = models.CharField(_('key'), help_text=_('A unique name for this chunk of content'), primary_key=True, max_length=255) + description = models.CharField(_('description'), blank=True, max_length=255) + + class Meta: + ordering = ('key',) + verbose_name = _('chunk') + verbose_name_plural = _('chunks') + + def __unicode__(self): + return self.key + + def cache_key(self): + return 'chunk_' + self.key + + def save(self, *args, **kwargs): + ret = super(Chunk, self).save(*args, **kwargs) + cache.delete(self.cache_key()) + return ret + +add_translatable(Chunk, { + 'content': MarkupField(_('content'), blank=True, markup_type='textile_pl', + help_text=_('Use Textile syntax.')), +}) + + +class Attachment(models.Model): + key = models.CharField(_('key'), help_text=_('A unique name for this attachment'), primary_key=True, max_length=255) + attachment = models.FileField(upload_to='chunks/attachment') + + class Meta: + ordering = ('key',) + verbose_name, verbose_name_plural = _('attachment'), _('attachments') + + def __unicode__(self): + return self.key diff --git a/chunks/templatetags/__init__.py b/chunks/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/chunks/templatetags/chunks.py b/chunks/templatetags/chunks.py new file mode 100644 index 0000000..6231e4f --- /dev/null +++ b/chunks/templatetags/chunks.py @@ -0,0 +1,38 @@ +from django import template +from django.db import models +from django.core.cache import cache +from ..models import Chunk, Attachment + + +register = template.Library() + + +@register.simple_tag +def chunk(key, cache_time=0, raw=False): + try: + cache_key = 'chunk_' + key + c = cache.get(cache_key) + if c is None: + c = Chunk.objects.get(key=key) + cache.set(cache_key, c, int(cache_time)) + content = c.content + except Chunk.DoesNotExist: + n = Chunk(key=key) + n.save() + return '' + return content.raw if raw else content + + +@register.simple_tag +def attachment(key, cache_time=0): + try: + cache_key = 'attachment_' + key + c = cache.get(cache_key) + if c is None: + c = Attachment.objects.get(key=key) + cache.set(cache_key, c, int(cache_time)) + return c.attachment.url + except Attachment.DoesNotExist: + return '' + + diff --git a/prawokultury/settings.d/30-apps.py b/prawokultury/settings.d/30-apps.py index 1e87f11..2acaaf9 100644 --- a/prawokultury/settings.d/30-apps.py +++ b/prawokultury/settings.d/30-apps.py @@ -6,6 +6,7 @@ INSTALLED_APPS = ( 'migdal', 'questions', 'shop', + 'chunks', 'gravatar', 'south', diff --git a/prawokultury/templates/base.html b/prawokultury/templates/base.html index 8260886..906871b 100755 --- a/prawokultury/templates/base.html +++ b/prawokultury/templates/base.html @@ -4,6 +4,7 @@ {% load static from staticfiles %} {% load fnp_common menu_tags migdal_tags events_tags fnp_share fnp_lang %} {% load compressed %} +{% load chunks %} {% block "titleextra" %}{% endblock %}{% trans "Right to Culture" %} @@ -67,7 +68,7 @@ {% events_box %}