display fixes
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Mon, 30 Jan 2012 11:43:46 +0000 (12:43 +0100)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Mon, 30 Jan 2012 11:43:46 +0000 (12:43 +0100)
21 files changed:
apps/catalogue/templatetags/catalogue_tags.py
apps/search/forms.py
apps/social/forms.py
apps/social/templates/social/sets_form.html
apps/social/templates/social/shelf_tags.html
wolnelektury/locale/pl/LC_MESSAGES/django.mo
wolnelektury/locale/pl/LC_MESSAGES/django.po
wolnelektury/settings.py
wolnelektury/static/css/base.css
wolnelektury/static/css/catalogue.css
wolnelektury/static/css/cite.css
wolnelektury/static/css/dialogs.css
wolnelektury/static/css/header.css
wolnelektury/static/img/bg-header.png
wolnelektury/static/js/jquery.labelify.js [deleted file]
wolnelektury/static/js/search.js
wolnelektury/templates/base.html
wolnelektury/templates/catalogue/book_detail.html
wolnelektury/templates/catalogue/book_fragments.html
wolnelektury/templates/catalogue/fragment_short.html
wolnelektury/templates/catalogue/tagged_object_list.html

index cf80beb..e8bc138 100644 (file)
@@ -7,6 +7,7 @@ import feedparser
 
 from django import template
 from django.template import Node, Variable, Template, Context
 
 from django import template
 from django.template import Node, Variable, Template, Context
+from django.core.cache import cache
 from django.core.urlresolvers import reverse
 from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
 from django.utils.translation import ugettext as _
 from django.core.urlresolvers import reverse
 from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
 from django.utils.translation import ugettext as _
@@ -266,17 +267,14 @@ def latest_blog_posts(feed_url, posts_to_show=5):
 def tag_list(tags, choices=None):
     if choices is None:
         choices = []
 def tag_list(tags, choices=None):
     if choices is None:
         choices = []
-    if len(tags) == 1:
+    if len(tags) == 1 and tags[0].category not in [t.category for t in choices]:
         one_tag = tags[0]
     return locals()
 
         one_tag = tags[0]
     return locals()
 
+
 @register.inclusion_tag('catalogue/inline_tag_list.html')
 def inline_tag_list(tags, choices=None):
 @register.inclusion_tag('catalogue/inline_tag_list.html')
 def inline_tag_list(tags, choices=None):
-    if choices is None:
-        choices = []
-    if len(tags) == 1:
-        one_tag = tags[0]
-    return locals()
+    return tag_list(tags, choices)
 
 
 @register.inclusion_tag('catalogue/book_info.html')
 
 
 @register.inclusion_tag('catalogue/book_info.html')
@@ -348,14 +346,23 @@ def fragment_promo(arg=None):
 
 
 @register.inclusion_tag('catalogue/related_books.html')
 
 
 @register.inclusion_tag('catalogue/related_books.html')
-def related_books(book, limit=6):
-    related = list(Book.objects.filter(
-        common_slug=book.common_slug).exclude(pk=book.pk)[:limit])
-    limit -= len(related)
-    if limit:
-        related += Book.tagged.related_to(book,
-                Book.objects.exclude(common_slug=book.common_slug),
-                ignore_by_tag=book.book_tag())[:limit]
+def related_books(book, limit=6, random=1):
+    cache_key = "catalogue.related_books.%d.%d" % (book.id, limit - random)
+    related = cache.get(cache_key)
+    if related is None:
+        print 'not in cache'
+        related = list(Book.objects.filter(
+            common_slug=book.common_slug).exclude(pk=book.pk)[:limit])
+        limit -= len(related)
+        if limit > random:
+            related += Book.tagged.related_to(book,
+                    Book.objects.exclude(common_slug=book.common_slug),
+                    ignore_by_tag=book.book_tag())[:limit-random]
+        cache.set(cache_key, related, 1800)
+    if random:
+        related += list(Book.objects.exclude(
+                        pk__in=[b.pk for b in related] + [book.pk]
+                    ).order_by('?')[:random])
     return {
         'books': related,
     }
     return {
         'books': related,
     }
index 60521f9..9e0a078 100755 (executable)
@@ -9,7 +9,7 @@ from search.fields import JQueryAutoCompleteSearchField
 
 
 class SearchForm(forms.Form):
 
 
 class SearchForm(forms.Form):
-    q = JQueryAutoCompleteSearchField()  # {'minChars': 2, 'selectFirst': True, 'cacheLength': 50, 'matchContains': "word"})
+    q = JQueryAutoCompleteSearchField(label=_('Search'))  # {'minChars': 2, 'selectFirst': True, 'cacheLength': 50, 'matchContains': "word"})
 
     def __init__(self, source, *args, **kwargs):
         kwargs['auto_id'] = False
 
     def __init__(self, source, *args, **kwargs):
         kwargs['auto_id'] = False
@@ -18,4 +18,4 @@ class SearchForm(forms.Form):
         self.fields['q'].widget.attrs['autocomplete'] = 'off'
         self.fields['q'].widget.attrs['data-source'] = source
         if not 'q' in self.data:
         self.fields['q'].widget.attrs['autocomplete'] = 'off'
         self.fields['q'].widget.attrs['data-source'] = source
         if not 'q' in self.data:
-            self.fields['q'].widget.attrs['title'] = _('title, author, theme/topic, epoch, kind, genre, phrase')
+            self.fields['q'].widget.attrs['placeholder'] = _('title, author, theme/topic, epoch, kind, genre, phrase')
index bbdc43c..cfa9631 100755 (executable)
@@ -19,7 +19,8 @@ class UserSetsForm(forms.Form):
 
 
 class ObjectSetsForm(forms.Form):
 
 
 class ObjectSetsForm(forms.Form):
-    tags = forms.CharField(label=_('Tags (comma-separated)'), required=False)
+    tags = forms.CharField(label=_('Tags (comma-separated)'), required=False,
+                           widget=forms.Textarea())
 
     def __init__(self, obj, user, *args, **kwargs):
         self._obj = obj
 
     def __init__(self, obj, user, *args, **kwargs):
         self._obj = obj
index ab982fe..2ea1a86 100755 (executable)
@@ -6,7 +6,8 @@
     <input type="submit" value="{% trans "Remove from my shelf" %}"/>
 </form>
 
     <input type="submit" value="{% trans "Remove from my shelf" %}"/>
 </form>
 
-<form action="{{ request.get_full_path }}" method="post" accept-charset="utf-8" class="cuteform">
+<form action="{{ request.get_full_path }}" method="post" accept-charset="utf-8"
+       class="cuteform{% if placeholdize %} hidelabels{% endif %}">
 <ol>
     <div id="id___all__"></div>
     {{ form.as_ul }}
 <ol>
     <div id="id___all__"></div>
     {{ form.as_ul }}
index 70108eb..eabc961 100755 (executable)
@@ -1,4 +1,4 @@
-{% if tags %}
+{% if tags.exists %}
 <ul class='social-shelf-tags'>
     {% for tag in tags %}
         <li><a href="{{ tag.get_absolute_url }}">{{ tag.name }}</a></li>
 <ul class='social-shelf-tags'>
     {% for tag in tags %}
         <li><a href="{{ tag.get_absolute_url }}">{{ tag.name }}</a></li>
index 9bbf29f..a590c8c 100644 (file)
Binary files a/wolnelektury/locale/pl/LC_MESSAGES/django.mo and b/wolnelektury/locale/pl/LC_MESSAGES/django.mo differ
index c8c614b..d0d492a 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: WolneLektury\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: WolneLektury\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-27 15:26+0100\n"
-"PO-Revision-Date: 2012-01-27 16:30+0100\n"
+"POT-Creation-Date: 2012-01-30 12:37+0100\n"
+"PO-Revision-Date: 2012-01-30 12:39+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: pl\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: pl\n"
@@ -19,20 +19,20 @@ msgstr ""
 "X-Poedit-Language: Polish\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-Poedit-Language: Polish\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
 
-#: views.py:30
 #: views.py:31
 #: views.py:31
+#: views.py:32
 #: templates/base.html:56
 msgid "Sign in"
 msgstr "Zaloguj się"
 
 #: templates/base.html:56
 msgid "Sign in"
 msgstr "Zaloguj się"
 
-#: views.py:46
 #: views.py:47
 #: views.py:47
-#: views.py:72
+#: views.py:48
+#: views.py:73
 #: templates/base.html:60
 msgid "Register"
 msgstr "Załóż konto"
 
 #: templates/base.html:60
 msgid "Register"
 msgstr "Załóż konto"
 
-#: views.py:67
+#: views.py:68
 msgid "You have to be logged in to continue"
 msgstr "Zaloguj się, aby kontynuować"
 
 msgid "You have to be logged in to continue"
 msgstr "Zaloguj się, aby kontynuować"
 
@@ -89,15 +89,15 @@ msgid_plural ""
 "                    "
 msgstr[0] ""
 "\n"
 "                    "
 msgstr[0] ""
 "\n"
-"                    <a href='%(b)s'>%(c)s</a> darmowa lektura do której <a href='%(r)s'>masz prawo</a>\n"
+"                    <a href='%(b)s'>%(c)s</a> darmowy utwór do której <a href='%(r)s'>masz prawo</a>\n"
 "                    "
 msgstr[1] ""
 "\n"
 "                    "
 msgstr[1] ""
 "\n"
-"                    <a href='%(b)s'>%(c)s</a> darmowe lektury do których <a href='%(r)s'>masz prawo</a>\n"
+"                    <a href='%(b)s'>%(c)s</a> darmowe utwory do których <a href='%(r)s'>masz prawo</a>\n"
 "                    "
 msgstr[2] ""
 "\n"
 "                    "
 msgstr[2] ""
 "\n"
-"                    <a href='%(b)s'>%(c)s</a> darmowych lektur do których <a href='%(r)s'>masz prawo</a>\n"
+"                    <a href='%(b)s'>%(c)s</a> darmowych utworów do których <a href='%(r)s'>masz prawo</a>\n"
 "                    "
 
 #: templates/base.html:47
 "                    "
 
 #: templates/base.html:47
@@ -116,7 +116,7 @@ msgstr "Administracja"
 msgid "Logout"
 msgstr "Wyloguj"
 
 msgid "Logout"
 msgstr "Wyloguj"
 
-#: templates/base.html:81
+#: templates/base.html:82
 #: templates/catalogue/search_multiple_hits.html:5
 #: templates/catalogue/search_no_hits.html:5
 #: templates/catalogue/search_no_hits.html:10
 #: templates/catalogue/search_multiple_hits.html:5
 #: templates/catalogue/search_no_hits.html:5
 #: templates/catalogue/search_no_hits.html:10
@@ -126,11 +126,11 @@ msgstr "Wyloguj"
 msgid "Search"
 msgstr "Szukaj"
 
 msgid "Search"
 msgstr "Szukaj"
 
-#: templates/base.html:104
+#: templates/base.html:105
 msgid "Language versions"
 msgstr "Wersje językowe"
 
 msgid "Language versions"
 msgstr "Wersje językowe"
 
-#: templates/base.html:134
+#: templates/base.html:135
 msgid ""
 "\n"
 "\t\t\t\tWolne Lektury is a project lead by <a href=\"http://nowoczesnapolska.org.pl/\">Modern Poland Foundation</a>.\n"
 msgid ""
 "\n"
 "\t\t\t\tWolne Lektury is a project lead by <a href=\"http://nowoczesnapolska.org.pl/\">Modern Poland Foundation</a>.\n"
@@ -143,7 +143,7 @@ msgstr ""
 "Reprodukcje cyfrowe wykonane przez <a href=\"http://www.bn.org.pl/\">Bibliotekę Narodową</a>, <a href=\"http://www.bs.katowice.pl/\">Bibliotekę Śląską</a> i <a href=\"http://www.bibliotekaelblaska.pl/\">Bibliotekę Elbląską</a> z egzemplarzy pochodzących ze zbiorów BN, BŚ i BE.\n"
 "Hosting: <a href=\"http://www.icm.edu.pl/\">ICM</a>."
 
 "Reprodukcje cyfrowe wykonane przez <a href=\"http://www.bn.org.pl/\">Bibliotekę Narodową</a>, <a href=\"http://www.bs.katowice.pl/\">Bibliotekę Śląską</a> i <a href=\"http://www.bibliotekaelblaska.pl/\">Bibliotekę Elbląską</a> z egzemplarzy pochodzących ze zbiorów BN, BŚ i BE.\n"
 "Hosting: <a href=\"http://www.icm.edu.pl/\">ICM</a>."
 
-#: templates/base.html:141
+#: templates/base.html:142
 msgid ""
 "\n"
 "\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 lok. 125, tel/fax: (22) 621-30-17\n"
 msgid ""
 "\n"
 "\t\t\t\tModern Poland Foundation, 00-514 Warsaw, ul. Marszałkowska 84/92 lok. 125, tel/fax: (22) 621-30-17\n"
@@ -153,11 +153,11 @@ msgstr ""
 "\n"
 "Fundacja Nowoczesna Polska, 00-514 Warszawa, ul. Marszałkowska 84/92 lok. 125, tel/fax: (22) 621-30-17, e-mail: <a href=\"mailto:fundacja@nowoczesnapolska.org.pl\">fundacja@nowoczesnapolska.org.pl</a>"
 
 "\n"
 "Fundacja Nowoczesna Polska, 00-514 Warszawa, ul. Marszałkowska 84/92 lok. 125, tel/fax: (22) 621-30-17, e-mail: <a href=\"mailto:fundacja@nowoczesnapolska.org.pl\">fundacja@nowoczesnapolska.org.pl</a>"
 
-#: templates/base.html:157
+#: templates/base.html:158
 msgid "Close"
 msgstr "Zamknij"
 
 msgid "Close"
 msgstr "Zamknij"
 
-#: templates/base.html:159
+#: templates/base.html:160
 msgid "Loading"
 msgstr "Ładowanie"
 
 msgid "Loading"
 msgstr "Ładowanie"
 
@@ -170,24 +170,20 @@ msgid "Report a bug or suggestion"
 msgstr "Zgłoś błąd lub sugestię"
 
 #: templates/main_page.html:45
 msgstr "Zgłoś błąd lub sugestię"
 
 #: templates/main_page.html:45
-msgid "Mobile app"
-msgstr "Aplikacja mobilna"
-
-#: templates/main_page.html:46
 msgid "Widget"
 msgstr "Widget"
 
 msgid "Widget"
 msgstr "Widget"
 
-#: templates/main_page.html:47
+#: templates/main_page.html:46
 msgid "Missing a book?"
 msgstr "Nie znalazłeś/-aś utworu?"
 
 msgid "Missing a book?"
 msgstr "Nie znalazłeś/-aś utworu?"
 
-#: templates/main_page.html:48
+#: templates/main_page.html:47
 #: templates/publish_plan.html:4
 #: templates/publish_plan.html.py:8
 msgid "Publishing plan"
 msgstr "Plan publikacji"
 
 #: templates/publish_plan.html:4
 #: templates/publish_plan.html.py:8
 msgid "Publishing plan"
 msgstr "Plan publikacji"
 
-#: templates/main_page.html:74
+#: templates/main_page.html:73
 msgid "Image used:"
 msgstr "Użyto obrazu:"
 
 msgid "Image used:"
 msgstr "Użyto obrazu:"
 
@@ -241,28 +237,21 @@ msgstr ""
 "Audiobooki nagrywają znani aktorzy, wśród nich Danuta Stenka i Jan Peszek."
 
 #: templates/catalogue/book_detail.html:18
 "Audiobooki nagrywają znani aktorzy, wśród nich Danuta Stenka i Jan Peszek."
 
 #: templates/catalogue/book_detail.html:18
-#: templates/catalogue/tagged_object_list.html:80
+#: templates/catalogue/tagged_object_list.html:72
+#: templates/catalogue/tagged_object_list.html:102
 msgid "See also"
 msgstr "Zobacz też"
 
 #: templates/catalogue/book_fragments.html:5
 msgid "See also"
 msgstr "Zobacz też"
 
 #: templates/catalogue/book_fragments.html:5
-#: templates/catalogue/book_fragments.html:10
+#: templates/catalogue/book_fragments.html:11
 msgid "Theme"
 msgstr "Motyw"
 
 #: templates/catalogue/book_fragments.html:5
 msgid "Theme"
 msgstr "Motyw"
 
 #: templates/catalogue/book_fragments.html:5
-#: templates/catalogue/book_fragments.html:10
+#: templates/catalogue/book_fragments.html:13
 msgid "in work "
 msgstr "w utworze"
 
 msgid "in work "
 msgstr "w utworze"
 
-#: templates/catalogue/book_fragments.html:23
-msgid "See description"
-msgstr "Zobacz opis"
-
-#: templates/catalogue/book_fragments.html:23
-msgid "of the book "
-msgstr "utworu"
-
 #: templates/catalogue/book_info.html:6
 msgid "This work is licensed under:"
 msgstr "Utwór jest udostępniony na licencji:"
 #: templates/catalogue/book_info.html:6
 msgid "This work is licensed under:"
 msgstr "Utwór jest udostępniony na licencji:"
@@ -317,33 +306,33 @@ msgstr "Nie posiadasz żadnych półek. Jeśli chcesz, możesz utworzyć nową p
 msgid "Put on the shelf!"
 msgstr "Wrzuć na półkę"
 
 msgid "Put on the shelf!"
 msgstr "Wrzuć na półkę"
 
-#: templates/catalogue/book_short.html:49
+#: templates/catalogue/book_short.html:51
 #: templates/catalogue/picture_detail.html:54
 #: templates/picture/picture_short.html:22
 msgid "Epoch"
 msgstr "Epoka"
 
 #: templates/catalogue/picture_detail.html:54
 #: templates/picture/picture_short.html:22
 msgid "Epoch"
 msgstr "Epoka"
 
-#: templates/catalogue/book_short.html:56
+#: templates/catalogue/book_short.html:58
 #: templates/catalogue/picture_detail.html:60
 #: templates/picture/picture_short.html:29
 msgid "Kind"
 msgstr "Rodzaj"
 
 #: templates/catalogue/picture_detail.html:60
 #: templates/picture/picture_short.html:29
 msgid "Kind"
 msgstr "Rodzaj"
 
-#: templates/catalogue/book_short.html:63
+#: templates/catalogue/book_short.html:65
 msgid "Genre"
 msgstr "Gatunek"
 
 msgid "Genre"
 msgstr "Gatunek"
 
-#: templates/catalogue/book_short.html:77
+#: templates/catalogue/book_short.html:80
 msgid "Read online"
 msgstr "Czytaj online"
 
 msgid "Read online"
 msgstr "Czytaj online"
 
-#: templates/catalogue/book_short.html:81
+#: templates/catalogue/book_short.html:84
 #: templates/catalogue/book_wide.html:53
 #: templates/lessons/ajax_document_detail.html:3
 msgid "Download"
 msgstr "Pobierz"
 
 #: templates/catalogue/book_wide.html:53
 #: templates/lessons/ajax_document_detail.html:3
 msgid "Download"
 msgstr "Pobierz"
 
-#: templates/catalogue/book_short.html:99
+#: templates/catalogue/book_short.html:102
 msgid "Listen"
 msgstr "Słuchaj"
 
 msgid "Listen"
 msgstr "Słuchaj"
 
@@ -411,7 +400,7 @@ msgstr "Pobierz wszystkie audiobooki tego utworu"
 
 #: templates/catalogue/book_wide.html:63
 msgid "Download a custom PDF"
 
 #: templates/catalogue/book_wide.html:63
 msgid "Download a custom PDF"
-msgstr "Pobierz własny plik PDF"
+msgstr "Stwórz własny plik PDF"
 
 #: templates/catalogue/catalogue.html:6
 #: templates/catalogue/catalogue.html:11
 
 #: templates/catalogue/catalogue.html:6
 #: templates/catalogue/catalogue.html:11
@@ -485,11 +474,11 @@ msgstr "Nie posiadasz żadnych półek. Jeśli chcesz, możesz utworzyć nową p
 msgid "Save all shelves"
 msgstr "Zapisz półki"
 
 msgid "Save all shelves"
 msgstr "Zapisz półki"
 
-#: templates/catalogue/fragment_short.html:11
+#: templates/catalogue/fragment_short.html:12
 msgid "Expand fragment"
 msgstr "Rozwiń fragment"
 
 msgid "Expand fragment"
 msgstr "Rozwiń fragment"
 
-#: templates/catalogue/fragment_short.html:21
+#: templates/catalogue/fragment_short.html:22
 msgid "Hide fragment"
 msgstr "Zwiń fragment"
 
 msgid "Hide fragment"
 msgstr "Zwiń fragment"
 
@@ -587,24 +576,24 @@ msgstr "Audiobooki przygotowane w ramach projektu %(cs)s."
 msgid "Did you mean"
 msgstr "Czy chodziło Ci o"
 
 msgid "Did you mean"
 msgstr "Czy chodziło Ci o"
 
-#: templates/catalogue/search_multiple_hits.html:19
+#: templates/catalogue/search_multiple_hits.html:18
 msgid "Results by authors"
 msgstr "Znalezieni autorzy"
 
 msgid "Results by authors"
 msgstr "Znalezieni autorzy"
 
-#: templates/catalogue/search_multiple_hits.html:36
+#: templates/catalogue/search_multiple_hits.html:35
 msgid "Results by title"
 msgstr "Znalezione w tytułach"
 
 msgid "Results by title"
 msgstr "Znalezione w tytułach"
 
-#: templates/catalogue/search_multiple_hits.html:53
+#: templates/catalogue/search_multiple_hits.html:52
 msgid "Results in text"
 msgstr "Znalezione w treści"
 
 msgid "Results in text"
 msgstr "Znalezione w treści"
 
-#: templates/catalogue/search_multiple_hits.html:70
+#: templates/catalogue/search_multiple_hits.html:69
 msgid "Other results"
 msgstr "Inne wyniki"
 
 #: templates/catalogue/search_no_hits.html:19
 msgid "Other results"
 msgstr "Inne wyniki"
 
 #: templates/catalogue/search_no_hits.html:19
-#: templates/catalogue/tagged_object_list.html:122
+#: templates/catalogue/tagged_object_list.html:144
 msgid "Sorry! Search cirteria did not match any resources."
 msgstr "Przepraszamy! Brak wyników spełniających kryteria podane w zapytaniu."
 
 msgid "Sorry! Search cirteria did not match any resources."
 msgstr "Przepraszamy! Brak wyników spełniających kryteria podane w zapytaniu."
 
@@ -618,11 +607,13 @@ msgstr "Wyszukiwarka obsługuje takie kryteria jak tytuł, autor, motyw/temat, e
 msgid "Sorry! Search query must have at least two characters."
 msgstr "Przepraszamy! Zapytanie musi zawierać co najmniej dwa znaki."
 
 msgid "Sorry! Search query must have at least two characters."
 msgstr "Przepraszamy! Zapytanie musi zawierać co najmniej dwa znaki."
 
-#: templates/catalogue/tagged_object_list.html:84
+#: templates/catalogue/tagged_object_list.html:76
+#: templates/catalogue/tagged_object_list.html:106
 msgid "in Lektury.Gazeta.pl"
 msgstr "w serwisie Lektury.Gazeta.pl"
 
 msgid "in Lektury.Gazeta.pl"
 msgstr "w serwisie Lektury.Gazeta.pl"
 
-#: templates/catalogue/tagged_object_list.html:89
+#: templates/catalogue/tagged_object_list.html:81
+#: templates/catalogue/tagged_object_list.html:111
 msgid "in Wikipedia"
 msgstr "w Wikipedii"
 
 msgid "in Wikipedia"
 msgstr "w Wikipedii"
 
@@ -757,6 +748,15 @@ msgstr "Zaloguj się do Wolnych Lektur"
 msgid "Login"
 msgstr "Zaloguj się"
 
 msgid "Login"
 msgstr "Zaloguj się"
 
+#~ msgid "Mobile app"
+#~ msgstr "Aplikacja mobilna"
+
+#~ msgid "See description"
+#~ msgstr "Zobacz opis"
+
+#~ msgid "of the book "
+#~ msgstr "utworu"
+
 #~ msgid ""
 #~ "Internet Explorer cannot display this site properly. Click here to read "
 #~ "more..."
 #~ msgid ""
 #~ "Internet Explorer cannot display this site properly. Click here to read "
 #~ "more..."
index f5c9cf2..f69ba2e 100644 (file)
@@ -240,8 +240,6 @@ COMPRESS_JS = {
             'js/pdcounter.js',
 
             'js/search.js',
             'js/pdcounter.js',
 
             'js/search.js',
-
-            'js/jquery.labelify.js',
             ),
         'output_filename': 'js/base?.min.js',
     },
             ),
         'output_filename': 'js/base?.min.js',
     },
index b6395e5..ecb461a 100755 (executable)
@@ -160,30 +160,6 @@ h2 {
 }
 
 
 }
 
 
-.see-also {
-    margin-left: 8em;
-    float: left;
-    width: 14.3em;
-}
-.download {
-    margin-left: 2em;
-    float: left;
-}
-
-.see-also, .download {
-    margin-top: 2em;
-    margin-bottom: 2em;
-}
-.see-also h2, .download h2 {
-    font-size: 1.1em;
-}
-.see-also ul, .download ul {
-    list-style: none;
-    padding: 0;
-    margin: 0;
-    font-size: 1.1em;
-}
-
 .pagination {
        display: block;
        font-size: 1.2em;
 .pagination {
        display: block;
        font-size: 1.2em;
index 1f19669..5e27405 100755 (executable)
@@ -76,6 +76,7 @@
 
 #description {
        margin-bottom: 2em;
 
 #description {
        margin-bottom: 2em;
+       cursor: pointer;
 }
 #description dl {
        margin-top: 0;
 }
 #description dl {
        margin-top: 0;
@@ -89,6 +90,9 @@
        display: inline;
        margin: 0;
 }
        display: inline;
        margin: 0;
 }
+#description p {
+       margin-top: 0;
+}
 #description .meta {
        list-style: none;
        padding: 0;
 #description .meta {
        list-style: none;
        padding: 0;
        display: inline;
        margin-right: 1em;
 }
        display: inline;
        margin-right: 1em;
 }
+
+
+.see-also {
+    margin-left: 8em;
+    float: left;
+    width: 14.3em;
+}
+.download {
+    margin-left: 2em;
+    float: left;
+}
+
+.see-also, .download {
+    margin-top: 2em;
+    margin-bottom: 2em;
+}
+.see-also h2, .download h2 {
+    font-size: 1.1em;
+}
+.see-also ul, .download ul {
+    list-style: none;
+    padding: 0;
+    margin: 0;
+    font-size: 1.1em;
+}
+
+.left-column .see-also {
+       margin-left: 0;
+}
index 2067f47..5f6bb1c 100755 (executable)
 }
 .Fragment-item {
        margin-bottom: 2em;
 }
 .Fragment-item {
        margin-bottom: 2em;
+       /* white-box */
+       border: 1px solid #ddd;
+    background: #fff;
+    -moz-box-shadow: 2px 2px 2px #ddd;
+    -webkit-box-shadow: 2px 2px 2px #ddd;
+    box-shadow: 2px 2px 2px #ddd;
 }
 }
index 08255d3..d83116b 100755 (executable)
@@ -74,6 +74,7 @@
 }
 
 .hidelabels label {
 }
 
 .hidelabels label {
+       display: block;
        width: 1px;
        height: 1px;
        overflow:hidden;
        width: 1px;
        height: 1px;
        overflow:hidden;
index 3fe0edd..73cc6a9 100755 (executable)
@@ -74,7 +74,7 @@
     width: 63.1em;
     padding-left: .5em;
     padding-right: 0;
     width: 63.1em;
     padding-left: .5em;
     padding-right: 0;
-    padding-top: 0.6em;
+    padding-top: 0.5em;
     padding-bottom: 0;
 }
 
     padding-bottom: 0;
 }
 
     background-color: #fff;
     color: #000;
 }
     background-color: #fff;
     color: #000;
 }
-#search.blur {
+
+#search:-webkit-input-placeholder
+{
+    font-family: Georgia;
+    font-style: italic;
+    color: #888;
+}
+
+#search:-moz-placeholder
+{
     font-family: Georgia;
     font-style: italic;
     color: #888;
     font-family: Georgia;
     font-style: italic;
     color: #888;
@@ -186,6 +195,10 @@ a.menu span {
     background: #f7f7f7;
 }
 
     background: #f7f7f7;
 }
 
+#lang-menu-items {
+       z-index: 9999;
+}
+
 #lang-menu-items button {
     display: none;
     background: #f7f7f7;
 #lang-menu-items button {
     display: none;
     background: #f7f7f7;
index f7e572e..4e4cdf9 100644 (file)
Binary files a/wolnelektury/static/img/bg-header.png and b/wolnelektury/static/img/bg-header.png differ
diff --git a/wolnelektury/static/js/jquery.labelify.js b/wolnelektury/static/js/jquery.labelify.js
deleted file mode 100644 (file)
index 49b76a3..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * jQuery.labelify - Display in-textbox hints
- * Stuart Langridge, http://www.kryogenix.org/
- * Released into the public domain
- * Date: 25th June 2008
- * @author Stuart Langridge
- * @version 1.3
- *
- *
- * Basic calling syntax: $("input").labelify();
- * Defaults to taking the in-field label from the field's title attribute
- *
- * You can also pass an options object with the following keys:
- *   text
- *     "title" to get the in-field label from the field's title attribute
- *      (this is the default)
- *     "label" to get the in-field label from the inner text of the field's label
- *      (note that the label must be attached to the field with for="fieldid")
- *     a function which takes one parameter, the input field, and returns
- *      whatever text it likes
- *
- *   labelledClass
- *     a class that will be applied to the input field when it contains the
- *      label and removed when it contains user input. Defaults to blank.
- *
- */
-jQuery.fn.labelify = function(settings) {
-  settings = jQuery.extend({
-    text: "title",
-    labelledClass: ""
-  }, settings);
-  var lookups = {
-    title: function(input) {
-      return $(input).attr("title");
-    },
-    label: function(input) {
-      return $("label[for=" + input.id +"]").text();
-    }
-  };
-  var lookup;
-  var jQuery_labellified_elements = $(this);
-  return $(this).each(function() {
-    if (typeof settings.text === "string") {
-      lookup = lookups[settings.text]; // what if not there?
-    } else {
-      lookup = settings.text; // what if not a fn?
-    };
-    // bail if lookup isn't a function or if it returns undefined
-    if (typeof lookup !== "function") { return; }
-    var lookupval = lookup(this);
-    if (!lookupval) { return; }
-
-    // need to strip newlines because the browser strips them
-    // if you set textbox.value to a string containing them
-    $(this).data("label",lookup(this).replace(/\n/g,''));
-    $(this).focus(function() {
-      if (this.value === $(this).data("label")) {
-        this.value = this.defaultValue;
-        $(this).removeClass(settings.labelledClass);
-      }
-    }).blur(function(){
-      if (this.value === this.defaultValue) {
-        this.value = $(this).data("label");
-        $(this).addClass(settings.labelledClass);
-      }
-    });
-
-    var removeValuesOnExit = function() {
-      jQuery_labellified_elements.each(function(){
-        if (this.value === $(this).data("label")) {
-          this.value = this.defaultValue;
-          $(this).removeClass(settings.labelledClass);
-        }
-      })
-    };
-
-    $(this).parents("form").submit(removeValuesOnExit);
-    $(window).unload(removeValuesOnExit);
-
-    if (this.value !== this.defaultValue) {
-      // user already started typing; don't overwrite their work!
-      return;
-    }
-    // actually set the value
-    this.value = $(this).data("label");
-    $(this).addClass(settings.labelledClass);
-
-  });
-};
\ No newline at end of file
index 5951b8b..dc85dde 100644 (file)
@@ -41,9 +41,6 @@ var __bind = function (self, fn) {
 
        });
 
 
        });
 
-    $(function() {
-        $("#search").search().labelify({labelledClass: "blur"});
-
        $(".search-result .see-more-snippets").click(function() {
            $(this).closest('.search-result').find('.snippets').removeClass('ui-helper-hidden');
            });
        $(".search-result .see-more-snippets").click(function() {
            $(this).closest('.search-result').find('.snippets').removeClass('ui-helper-hidden');
            });
index 4c2c575..6a8bf8f 100644 (file)
 
 
 
 
 
 
-            <form id="search-area" action="/fullsearch/">
+            <form id="search-area" action="/fullsearch/" class="hidelabels">
                 
                 <div id="search-field" class="grid-line">
                 
                 <div id="search-field" class="grid-line">
+                       <label for="search">{{search_form.q.label}}</label>
                  {{search_form.q}}
 <!--                    <input title="np. Leśmian" name="q" autocomplete="off" data-source="/fullsearch/hint/">-->
                 </div><div id="search-button">
                  {{search_form.q}}
 <!--                    <input title="np. Leśmian" name="q" autocomplete="off" data-source="/fullsearch/hint/">-->
                 </div><div id="search-button">
index a1a62fe..f2beb77 100644 (file)
@@ -16,8 +16,6 @@
 
 
 <h2 class="main-last"><span class="mono">{% trans "See also" %}:</span></h2>
 
 
 <h2 class="main-last"><span class="mono">{% trans "See also" %}:</span></h2>
-{% cache 1800 book-detail-related book.slug %}
-    {% related_books book %}
-{% endcache %}
+{% related_books book %}
 
 {% endblock %}
 
 {% endblock %}
index 3ec3ad2..d46f869 100644 (file)
@@ -1,29 +1,20 @@
 {% extends "base.html" %}
 {% load i18n %}
 {% extends "base.html" %}
 {% load i18n %}
-{% load catalogue_tags pagination_tags %}
+{% load work_list from catalogue_tags %}
 
 {% block titleextra %}{% trans "Theme" %} {{ theme }} {% trans "in work " %} {{ book }}{% endblock %}
 
 {% block bodyid %}tagged-object-list{% endblock %}
 
 {% block body %}
 
 {% block titleextra %}{% trans "Theme" %} {{ theme }} {% trans "in work " %} {{ book }}{% endblock %}
 
 {% block bodyid %}tagged-object-list{% endblock %}
 
 {% block body %}
-    <h1>{% trans "Theme" %} {{ theme }} {% trans "in work " %} {{ book }} </h1>
-
-    {% autopaginate fragments 10 %}
-    <div id="books-list">
-        <ol>
-        {% for fragment in fragments %}
-            <li>{{ fragment.short_html }}</li>
-        {% endfor %}
-        </ol>
-        {% paginate %}
+    <div class="left-column">
+    <h1>{% trans "Theme" %}
+       <a href="{{ theme.get_absolute_url }}">{{ theme }}</a>
+       <br/>{% trans "in work " %}
+       <a href="{{ book.get_absolute_url }}">{{ book }}</a></h1>
     </div>
     </div>
-    <div id="tags-list">
-        <div id="categories-list">
-            {% trans "See description" %} <a href="{{ book.get_absolute_url }}">{% trans "of the book "%} {{ book }}</a>
-        </div>
-        <div id="themes-list">
-        </div>
-        <div class="clearboth"></div>
+
+    <div class="right-column">
+        {% work_list fragments %}
     </div>
     </div>
-{% endblock %}
\ No newline at end of file
+{% endblock %}
index 9fbe0cb..b5921f2 100644 (file)
@@ -1,4 +1,5 @@
 {% load i18n %}
 {% load i18n %}
+{% load book_title_html from catalogue_tags %} 
 
 <div class="cite {% if fragment.short_text %}fragment-with-short{% endif %}">
        {% if fragment.short_text %}
 
 <div class="cite {% if fragment.short_text %}fragment-with-short{% endif %}">
        {% if fragment.short_text %}
                <a href="#" class="toggle mono">↑ {% trans "Hide fragment" %} ↑</a>
                {% endif %}
     </div>
                <a href="#" class="toggle mono">↑ {% trans "Hide fragment" %} ↑</a>
                {% endif %}
     </div>
-<p class="mono source">{{ fragment.book.pretty_title }}</p>
+<p class="mono source">{% book_title_html fragment.book %}</p>
 </div>
 </div>
-
-
-
-
-
-{% comment %}
-{% load catalogue_tags %}
-<div class="fragment">
-    {% if fragment.short_text %}
-    <div class='fragment-short-text'>
-        {{ fragment.short_text|safe }}
-        <a href="#">↓ {% trans "Expand fragment" %} ↓</a>
-    </div>
-    {% endif %}
-    <div class="fragment-text" {% if fragment.short_text %}style="display:none;"{% endif %}>
-        {{ fragment.text|safe }}
-        {% if fragment.short_text %}
-            <a href="#">↑ {% trans "Hide fragment" %} ↑</a>
-        {% endif %}
-    </div>
-    <div class="fragment-metadata">
-        <p>{% book_title_html fragment.book %}
-           <a href="{{ fragment.get_absolute_url }}">({% trans "See in a book" %})</a></p>
-    </div>
-    <div class="clearboth"></div>
-</div>
-{% endcomment %}
index c7898d5..8d53005 100644 (file)
@@ -14,7 +14,7 @@
     {% with tags|last as last_tag %}
     {% if last_tag.has_description %}
         <div id="description" class="normal-text">
     {% with tags|last as last_tag %}
     {% if last_tag.has_description %}
         <div id="description" class="normal-text">
-            <div id='description-long' style="diplay:none">{{ last_tag.description|safe }}</div>
+            <div id='description-long' style="display:none">{{ last_tag.description|safe }}</div>
             <div id='description-short'>{{ last_tag.description|safe|truncatewords_html:40 }}</div>
         </div>
     {% endif %}
             <div id='description-short'>{{ last_tag.description|safe|truncatewords_html:40 }}</div>
         </div>
     {% endif %}
         </div>
     {% endif %}
 
         </div>
     {% endif %}
 
+
+       {% if theme_is_set %}
+        <div class="see-also">
+            {% if last_tag.gazeta_link or last_tag.wiki_link %}
+            <h2 class='mono'>{% trans "See also" %}:</h2>
+            <ul>
+        {% if last_tag.gazeta_link %}
+        <li><a href="{{ last_tag.gazeta_link }}">
+               {% trans "in Lektury.Gazeta.pl" %}
+        </a></li>
+        {% endif %}
+        {% if last_tag.wiki_link %}
+        <li><a href="{{ last_tag.wiki_link }}">
+                       {% trans "in Wikipedia" %}
+        </a></li>
+        {% endif %}
+            </ul>
+            {% endif %}
+        </div>
+    {% endif %}
+
+
     </div>
     </div>
 
     </div>
     </div>