--- /dev/null
+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
--- /dev/null
+# 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: 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 <kjaklukowski@gmail.com>\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"
--- /dev/null
+# 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: 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 <xxx>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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"
--- /dev/null
+# 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: 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 <aniajopp@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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"
--- /dev/null
+# 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: 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 <amarillis5@wp.pl>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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"
--- /dev/null
+# 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: 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 <LL@li.org>\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"
--- /dev/null
+# 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.
+#
+#, 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 <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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 ""
--- /dev/null
+# 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: 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 <LL@li.org>\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"
--- /dev/null
+# 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: 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 <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"http://txstyle.org/\">Textile</a> syntax."
+msgstr "Użyj składni <a href=\"http://txstyle.org/\">Textile</a>."
+
+#: 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"
--- /dev/null
+# 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: 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 <xxx>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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 "приложения"
--- /dev/null
+# 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: 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 <xxx>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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 "додатки"
--- /dev/null
+# -*- 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
--- /dev/null
+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 <a href="http://txstyle.org/">Textile</a> 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
--- /dev/null
+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 ''
+
+
'migdal',
'questions',
'shop',
+ 'chunks',
'gravatar',
'south',
{% load static from staticfiles %}
{% load fnp_common menu_tags migdal_tags events_tags fnp_share fnp_lang %}
{% load compressed %}
+{% load chunks %}
<html prefix="og: http://ogp.me/ns#">
<head>
<title>{% block "titleextra" %}{% endblock %}{% trans "Right to Culture" %}</title>
{% events_box %}
</div>
<div class="sidebar-box" style="text-align: center">
- <a href="/pierwsza-pomoc"><img src="{% static 'img/ask-a-lawyer.png' %}" alt="{% trans "Ask a lawyer" %}" /></a>
+ {% chunk 'side_promo' %}
</div>
<div id="sidebar-box-categories" class="sidebar-box">
{% categories 'topics' %}
'approved',
'edited_question',
'answer',
+ 'answered_by',
'tags',
('answered', 'answered_at'),
('published', 'published_at'),
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-14 15:57+0100\n"
-"PO-Revision-Date: 2013-01-14 15:59+0100\n"
+"POT-Creation-Date: 2013-11-26 13:59+0100\n"
+"PO-Revision-Date: 2013-11-26 14:00+0100\n"
"Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"X-Generator: Poedit 1.5.4\n"
-#: models.py:11
+#: models.py:16
+msgid "Name"
+msgstr "Nazwa"
+
+#: models.py:17
+msgid "Slug"
+msgstr "Slug"
+
+#: models.py:20
+msgid "Tag Category"
+msgstr "Kategoria tagów"
+
+#: models.py:21
+msgid "Tag Categories"
+msgstr "Kategorie tagów"
+
+#: models.py:38
+msgid "Tag"
+msgstr "Tag"
+
+#: models.py:39
+msgid "Tags"
+msgstr "Tagi"
+
+#: models.py:47
msgid "contact e-mail"
msgstr "e-mail kontaktowy"
-#: models.py:12
-#: models.py:29
+#: models.py:48 models.py:68
msgid "question"
msgstr "pytanie"
-#: models.py:13
+#: models.py:49
msgid "created at"
msgstr "utworzone"
-#: models.py:14
+#: models.py:50
msgid "changed at"
msgstr "zmienione"
-#: models.py:15
+#: models.py:51
msgid "approved"
msgstr "potwierdzone"
-#: models.py:16
+#: models.py:52
msgid "edited question"
msgstr "zmienione pytanie"
-#: models.py:17
+#: models.py:53
msgid "Leave empty if question doesn't need editing."
msgstr "Zostaw puste, jeśli pytanie nie wymaga zmian."
-#: models.py:18
+#: models.py:54
msgid "answer"
msgstr "odpowiedź"
-#: models.py:19
-msgid "Use <a href=\"http://textile.thresholdstate.com/\">Textile</a> syntax."
-msgstr ""
+#: models.py:55
+msgid "Use <a href=\"http://txstyle.org/\">Textile</a> syntax."
+msgstr "Użyj składni <a href=\"http://txstyle.org/\">Textile</a>."
-#: models.py:20
+#: models.py:56
+msgid "answered by"
+msgstr "odpowiedzi udzielił/a"
+
+#: models.py:57
msgid "answered"
msgstr "udzielono odpowiedzi"
-#: models.py:21
+#: models.py:58
msgid "Check to send the answer to user."
msgstr "Zaznacz, by wysłać odpowiedź użytkownikowi."
-#: models.py:22
+#: models.py:59
msgid "answered at"
msgstr "udzielono odpowiedzi"
-#: models.py:23
+#: models.py:60
msgid "published"
msgstr "opublikowane"
-#: models.py:24
+#: models.py:61
msgid "Check to display answered question on site."
msgstr "Zaznaczy, by odpowiedź ukazała się na stronie."
-#: models.py:25
+#: models.py:62
msgid "published at"
msgstr "opublikowane"
-#: models.py:30
+#: models.py:69
msgid "questions"
msgstr "pytania"
-
--- /dev/null
+# -*- 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):
+ # Removing unique constraint on 'Tag', fields ['name']
+ db.delete_unique('questions_tag', ['name'])
+
+ # Adding field 'Question.answered_by'
+ db.add_column('questions_question', 'answered_by',
+ self.gf('django.db.models.fields.CharField')(max_length=127, null=True, blank=True),
+ keep_default=False)
+
+ if not db.dry_run:
+ orm.Question.objects.filter(answered=True).update(answered_by=u"dr Krzysztof Siewicz")
+
+
+ def backwards(self, orm):
+ # Adding unique constraint on 'Tag', fields ['name']
+ db.create_unique('questions_tag', ['name'])
+
+ # Deleting field 'Question.answered_by'
+ db.delete_column('questions_question', 'answered_by')
+
+
+ models = {
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'questions.question': {
+ 'Meta': {'ordering': "['-created_at']", 'object_name': 'Question'},
+ '_answer_rendered': ('django.db.models.fields.TextField', [], {}),
+ 'answer': ('markupfield.fields.MarkupField', [], {'rendered_field': 'True', 'blank': 'True'}),
+ 'answer_markup_type': ('django.db.models.fields.CharField', [], {'default': "'textile_pl'", 'max_length': '30', 'blank': 'True'}),
+ 'answered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
+ 'answered_at': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'answered_by': ('django.db.models.fields.CharField', [], {'max_length': '127', 'null': 'True', 'blank': 'True'}),
+ 'approved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'changed_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'edited_question': ('django.db.models.fields.TextField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'published': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
+ 'published_at': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
+ 'question': ('django.db.models.fields.TextField', [], {'db_index': 'True'})
+ },
+ 'questions.tag': {
+ 'Meta': {'object_name': 'Tag'},
+ 'category': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'tags'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['questions.TagCategory']"}),
+ 'click_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'questions.tagcategory': {
+ 'Meta': {'object_name': 'TagCategory'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
+ 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '100'})
+ },
+ 'questions.tagitem': {
+ 'Meta': {'object_name': 'TagItem'},
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions_tagitem_tagged_items'", 'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'object_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}),
+ 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'to': "orm['questions.Tag']"})
+ }
+ }
+
+ complete_apps = ['questions']
edited_question = models.TextField(_('edited question'), db_index=True, null=True, blank=True,
help_text=_("Leave empty if question doesn't need editing."))
answer = MarkupField(_('answer'), markup_type='textile_pl', blank=True,
- help_text=_('Use <a href="http://textile.thresholdstate.com/">Textile</a> syntax.'))
+ help_text=_('Use <a href="http://txstyle.org/">Textile</a> syntax.'))
+ answered_by = models.CharField(_('answered by'), max_length=127, null=True, blank=True)
answered = models.BooleanField(_('answered'), db_index=True, default=False,
help_text=_('Check to send the answer to user.'))
answered_at = models.DateTimeField(_('answered at'), null=True, blank=True, db_index=True)
-{% load i18n %}{% language 'pl' %}
+{% load i18n chunks %}{% language 'pl' %}
<p>{{ question.created_at }} zarejestrowaliśmy w serwisie PrawoKultury.pl Twoje pytanie:</p>
<blockquote>{{ question.question|linebreaks }}</blockquote>
-<p>Dyżur prawnika w serwisie Prawo Kultury odbywa się w środy, prosimy więc
-o cierpliwość. Możemy nie być w stanie odpowiedzieć na wszystkie pytania.
-Odpowiedzi są wysyłane e-mailem, ale zachęcamy też do śledzenia strony
-<a href="http://prawokultury.pl">http://PrawoKultury.pl</a>.</p>
+{% chunk 'questions_ack_mail_html' %}
<p>Dziękujemy za skontaktowanie się z nami!</p>
-{% load i18n %}{% language 'pl' %}{{ question.created_at }} zarejestrowaliśmy w serwisie PrawoKultury.pl Twoje pytanie:
+{% load i18n chunks %}{% language 'pl' %}{{ question.created_at }} zarejestrowaliśmy w serwisie PrawoKultury.pl Twoje pytanie:
{{ question.question|safe }}
-Dyżur prawnika w serwisie Prawo Kultury odbywa się w środy, prosimy więc
-o cierpliwość. Możemy nie być w stanie odpowiedzieć na wszystkie pytania.
-Odpowiedzi są wysyłane e-mailem, ale zachęcamy też do śledzenia strony
-http://PrawoKultury.pl
+{% chunk 'questions_ack_mail_txt' raw=1 %}
Dziękujemy za skontaktowanie się z nami!
{{ question.answer }}
-<p>dr Krzysztof Siewicz</p>
+<p>{{ question.answered_by }}</p>
<p><a href="{% url 'questions' %}">Wróć do listy pytań.</a></p>
{% extends "base.html" %}
{% load url from future %}
+{% load chunks %}
{% block "titleextra" %}Pierwsza pomoc w prawie autorskim: pytanie do prawnika :: {% endblock %}
{% block "body" %}
<div class="normal">
-<p>Poniżej znajduje się formularz, za pomocą którego możesz zadać pytanie prawnikowi. Wybrane
-pytania (w razie potrzeby odpowiednio przeformułowane) oraz odpowiedzi na te pytania będą
-publikowane na stronie <a href="{% url 'questions' %}">prawokultury.pl</a>. Możesz zostawić swoje dane kontaktowe (adres e-mail),
-jeżeli chcesz, żebyśmy wysłali Ci odpowiedź bezpośrednio lub skontaktowali się z Tobą w przypadku
-wątpliwości co do Twojego pytania. Dane kontaktowe nie będą publikowane.
-</p>
-
-<p>Możemy nie być w stanie odpowiedzieć na wszystkie pytania,
-a w przypadku podobnych pytań możemy odsyłać do <a href="{% url 'questions' %}">wcześniejszych odpowiedzi</a>.
-Odpowiedzi na pytania nie należy traktować jak porad prawnych. Nie prowadzimy indywidualnych konsultacji prawnych.</p>
-
-<p>Administratorem danych osobowych przetwarzanych w związku z funkcjonowaniem
-tego serwisu jest Fundacja Nowoczesna Polska [ul. Marszałkowska 84/92 lok. 125,
-00-514 Warszawa]. Podanie danych osobowych jest dobrowolne. Dane są przetwarzane
-w zakresie niezbędnym do prowadzenia serwisu. Osobom, których dane są zbierane,
-przysługuje prawo dostępu do treści swoich danych oraz ich poprawiania.</p>
-
+{% chunk 'questions_form_info' %}
</div>
<form class="submit-form" method="post" action="">
{% load url from future %}
{% load pagination_tags fnp_prevnext %}
{% load compressed %}
+{% load chunks %}
{% block "titleextra" %}Pierwsza pomoc w prawie autorskim :: {% endblock %}
{% block "body" %}
<h1>Pierwsza pomoc w prawie autorskim: zapytaj prawnika</h1>
<div class="normal">
-<h2>Zadaj nam pytanie!</h2>
-<p>Jeżeli masz pytanie dotyczące prawa autorskiego, którego nie ma na poniższej liście, i na które nie znalazłeś/znalazłaś
-odpowiedzi w <strong><a href="{% url 'migdal_entry_publications' 'pierwsza-pomoc' %}">przewodniku
-po prawie autorskim</a></strong>, możesz je nam zadać dzwoniąc w każdą środę w godz. 15-17 pod numer +48 516 519 697 lub
-<strong><a href="{% url 'questions_form' %}">za pomocą specjalnego formularza.</a></strong>.
-
-<p>Na pytania odpowiada dr Krzysztof Siewicz, prawnik
-specjalizujący się w prawnych aspektach przetwarzania informacji. Dr
-Siewicz jest pracownikiem Centrum Otwartej Nauki ICM UW, adiunktem w
-Katedrze Prawa Informatycznego WPiA UKSW oraz of counsel kancelarii
-prawnej GWW LEGAL.</p>
-
-<p>Dr Krzysztof Siewicz ukończył Wydział Prawa i Administracji
-Uniwersytetu Warszawskiego oraz uzyskał dyplom LLM Central European
-University w Budapeszcie. Doktorat o ochronie wolności użytkowników
-oprogramowania obronił na Uniwersytecie w Lejdzie (Holandia). Jest
-autorem szeregu publikacji naukowych poświęconych korzystaniu z
-technologii informacyjno-komunikacyjnych oraz posiada wieloletnie
-doświadczenie doradcze w tej tematyce.</p>
+{% chunk 'questions_list_info' %}
<div id="questions-filter">
<h2>Filtruj pytania</h2>