forgotten stuff
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Thu, 3 Jan 2013 13:21:12 +0000 (14:21 +0100)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Thu, 3 Jan 2013 13:21:12 +0000 (14:21 +0100)
apps/poetry/models.py
apps/poetry/templates/poetry/contest.html [new file with mode: 0644]
apps/poetry/templates/poetry/main.html
apps/poetry/templates/poetry/poem.html
apps/poetry/templates/poetry/poet.html
apps/poetry/urls.py
apps/poetry/views.py
turniej/static/style.css
turniej/templates/home.html

index ef8bf94..63bf8f2 100644 (file)
@@ -53,6 +53,9 @@ class Poet(models.Model):
             p.save()
         return self.poem_set.filter(for_contest=True)
 
+    def contest_poems(self):
+        return self.poem_set.filter(in_contest=True)
+
 
 class Poem(models.Model):
     slug = models.SlugField(max_length=50, db_index=True)
@@ -68,8 +71,7 @@ class Poem(models.Model):
 
     def __unicode__(self):
         oneliner = u"%s, %s" % (self.poet.name, self.pretty_title())
-        if not self.title:
-            oneliner += u" [%s…]" % self.text[:20]
+        oneliner += u" [%s…]" % (u" ".join(self.text.split()[:5]))
         return oneliner
 
     def get_absolute_url(self):
diff --git a/apps/poetry/templates/poetry/contest.html b/apps/poetry/templates/poetry/contest.html
new file mode 100644 (file)
index 0000000..9f153b9
--- /dev/null
@@ -0,0 +1,39 @@
+{% extends "base.html" %}
+{% load url from future %}
+
+{% block "body" %}
+
+<h1>
+<a href='/'><img src="{{ STATIC_URL }}img/turniej-maly.png" style='float:left; margin-right: 10px; margin-top: -13px' /></a>
+Turniej Elektrybałtów: utwory wybrane do konkursu</h1>
+
+<div class="social">
+<span style="position:relative; top: -5px;" >
+    <div class="fb-like" data-href="http://turniej.wolnelektury.pl" data-send="false" data-layout="button_count" data-width="150" data-show-faces="false"></div>
+</span>
+<g:plusone annotation="bubble" href="http://turniej.wolnelektury.pl"></g:plusone>
+<script>
+  new nk_fajne({
+    url: "http://turniej.wolnelektury.pl",
+    type: 4,
+    color: 0,
+    title: "Turniej Elektrybałtów",
+    image: "http://turniej.wolnelektury.pl/turniej.png",
+    description: "Turniej Elektrybałtów - otwarty konkurs na najlepszego automatycznego poetę."
+  });
+</script>
+</div>
+
+<div style='clear: both'></div>
+
+{% for poet in poets %}
+    <h2><a href="{{ poet.get_absolute_url }}">{{ poet }}</a></h2>
+    <ul class='plain'>
+    {% for poem in poet.contest_poems %}
+        <li><a href="{{ poem.get_absolute_url }}">{{ poem }}</a></li>
+    {% endfor %}
+    </ul>
+{% endfor %}
+</ul>
+
+{% endblock %}
index 6e316e4..7d4c91d 100644 (file)
@@ -36,6 +36,15 @@ Turniej Elektrybałtów</h1>
 
 <a class='tworz' href="{% url 'poetry_new' %}">Twórz-że się!</a>
 
+<h2><a href="{% url 'poetry_contest' %}">Utwory do konkursu zostały wybrane!</a></h2>
+
+<p>Spośród wygenerowanych przz nas propozycji autorzy programów wybrali po trzy utwory.</p>
+<p><a href="{% url 'poetry_contest' %}">Zobacz wiersze startujące w konkursie!</a></p>
+</p>
+
+
+
+
 <h2>Ostatnio opublikowane utwory:</h2>
 <ul class='plain'>
 {% for poem in last %}
index f6a13e2..a98c170 100644 (file)
@@ -2,7 +2,7 @@
 <!doctype html>
 <html>
 <head>
-    <title>Turniej Elektrybałtów: {{ poem.poet.name }}, {% if poem.title %}{{ poem.title }}{% else %}***{% endif %}</title>
+    <title>Turniej Elektrybałtów: {{ poem }}</title>
     <meta charset="utf-8" />
 
     <link rel="shortcut icon" href="{{ STATIC_URL }}img/favicon.ico" />
index c8edb2f..a273779 100644 (file)
 
 <p><a href="{% url 'poetry_main' %}">Zobacz wszystkich autorów.</a></p>
 
+<div class="poet-description">
+
 <p>Autor programu: <strong>{{ poet.author }}</strong></p>
 
-<p>{{ poet.description }}</p>
+{{ poet.description|linebreaks }}
 
 <p>Kod źródłowy: <a href="{{ poet.url }}">{{ poet.url }}</a></p>
 
 <a class="tworz" href="{% url 'poetry_new' poet.slug %}">Twórz-że!</a>
 
-<p>Ostatnio opublikowane utwory:</p>
+</div>
+
+<h2>Utwory w konkursie (<a href="{% url 'poetry_contest' %}">zobacz wszystkie</a>)</h2>
+<ul class='plain'>
+{% for poem in in_contest %}
+    <li><a href="{{ poem.get_absolute_url }}">{{ poem }}</a></li>
+{% endfor %}
+</ul>
+
+<h2>Ostatnio opublikowane utwory:</h2>
 <ul class='plain'>
 {% for poem in last %}
     <li><a href="{{ poem.get_absolute_url }}">{{ poem }}</a></li>
index 8d0baeb..40bef6d 100644 (file)
@@ -5,6 +5,7 @@ urlpatterns = patterns('poetry.views',
 
     url(r"^$", "main", name="poetry_main"),
     url(r"^nowy/$", 'new', name="poetry_new"),
+    url(r"^konkurs/$", 'contest', name="poetry_contest"),
     url(r"^(?P<slug>[a-zA-Z0-9-]+)/$", "poet", name="poetry_poet"),
     url(r"^(?P<slug>[a-zA-Z0-9-]+)/nowy/$", 'new', name="poetry_new"),
 
index 06c95a2..71309d7 100644 (file)
@@ -20,6 +20,7 @@ def poem(request, slug):
 def poet(request, slug):
     poet = get_object_or_404(Poet, slug=slug)
     last = poet.poem_set.order_by('-created_at')[:20]
+    in_contest = poet.poem_set.filter(in_contest=True).order_by('created_at')
     return render(request, "poetry/poet.html", locals())
 
 
@@ -27,3 +28,9 @@ def main(request):
     poets = Poet.objects.all().order_by('?')
     last = Poem.objects.all().order_by('-created_at')[:20]
     return render(request, "poetry/main.html", locals())
+
+
+def contest(request):
+    poets = Poet.objects.all().order_by('?')
+    return render(request, "poetry/contest.html", locals())
+
index f26fe8e..2f775f4 100644 (file)
@@ -75,6 +75,9 @@ li {
     margin: 30px 13px;
     vertical-align: middle;
 }
+#footer a:hover {
+    border: none;
+}
 
 
 blockquote {
@@ -146,3 +149,8 @@ blockquote p {
 .poet-list li:before {
   content: "» ";
 }
+
+.poet-description {
+    max-width: 60em;
+}
+
index 5c1f02c..ebf7a5f 100644 (file)
@@ -8,7 +8,7 @@
 <h2>Ostatnie wiersze:</h2>
 <ul class="last">
 {% for poem in last %}
-    <li><a href="{{ poem.get_absolute_url }}">{{ poem }}</a></li>
+    <li><a href="{{ poem.get_absolute_url }}">{{ poem.poet.name}}, {{ poem.pretty_title }}</a><br/>{{ poem.text|truncatewords:5 }}</li>
 {% endfor %}    
 </ul>
 
 </div>
 
 
+<div class="uwaga">
+<p>Konkurs został rozstrzygnięty! Zakończenie odbyło się podczas <a href='http://domenapubliczna.org'>Dnia Domeny Publicznej 2012</a>.</p>
+
+<p>Zwycięzcą został <a href='/poezja/centonista/'><strong>Centonista</strong></a>. Gratulujemy!</p>
+
+<p>Dodatkowo, <a href='/poezja/ala/'>Ała!</a> otrzymał wyróżnienie.</p>
+</div>
+
 <p>Znacie <a href="http://www.wolnelektury.pl/lesmianator/">Leśmianatora</a>?
 To niewielki skrypt miksujący na życzenie wiersze z
 <a href="http://www.wolnelektury.pl">Wolnych Lektur</a>.
@@ -57,6 +65,9 @@ z <a href="{% url 'poetry_main' %}">programów-uczestników</a> napisze dla Cieb
 <a href="https://github.com/turniej">jest dostępny</a> na wolnej licencji
 – nic więc nie stoi na przeszkodzie, by rozwijać je dalej.</p>
 
+<p>Spośród wygenerowanych przz nas propozycji autorzy programów wybrali po trzy utwory.
+<a href="{% url 'poetry_contest' %}">Zobacz wiersze, które wystartowały w konkursie.</a></p>
+
 <p>Do zabawy zapraszamy wszystkich – i tych, którzy świetnie programują, i tych, którzy
 programować dopiero się uczą. Tych, którzy nie rozstają się z tomikiem
 wierszy, i tych, którzy na ten widok dostają gęsiej skórki. Chcemy wybrać