From 80b56e4c5f668a8011bdf859504d45b7b7f6d914 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aleksander=20=C5=81ukasz?= Date: Fri, 10 May 2013 10:48:01 +0200 Subject: [PATCH] View for list of catalogs --- .../libraries/locale/pl/LC_MESSAGES/django.mo | Bin 795 -> 850 bytes .../libraries/locale/pl/LC_MESSAGES/django.po | 20 +++++++---- apps/libraries/models.py | 6 +++- .../templates/libraries/library_view.html | 22 ++++++++++++ .../templates/libraries/main_view.html | 33 +++++++----------- apps/libraries/urls.py | 5 ++- apps/libraries/views.py | 9 +++-- wolnelektury/urls.py | 2 +- 8 files changed, 65 insertions(+), 32 deletions(-) create mode 100644 apps/libraries/templates/libraries/library_view.html diff --git a/apps/libraries/locale/pl/LC_MESSAGES/django.mo b/apps/libraries/locale/pl/LC_MESSAGES/django.mo index a29a7b08d7b8a126e69de54e5167727901a43e6a..4aa3d522ee02cfcf14c40925184abdc87f8aa4b6 100644 GIT binary patch delta 284 zcmbQuc8RV2o)F7a1|Z-9Vi_RL0b*Vt-UGxS@BxU0f%qeoW@ThxUQfjAI|1%dqUObiS{3=ByOoIqKSfigfEWS|O= z25Hm<(jZ3}L1|kc%?jju0BIm%@B\n" "Language-Team: LANGUAGE \n" @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -#: models.py:8 models.py:22 +#: models.py:8 models.py:26 msgid "name" msgstr "nazwa" @@ -35,22 +35,28 @@ msgstr "katalog" msgid "catalogs" msgstr "katalogi" -#: models.py:24 +#: models.py:28 msgid "url" msgstr "url" -#: models.py:25 +#: models.py:29 msgid "description" msgstr "opis" -#: models.py:28 +#: models.py:32 msgid "library" msgstr "biblioteka" -#: models.py:29 +#: models.py:33 msgid "libraries" msgstr "biblioteki" -#: templates/libraries/main_view.html:4 templates/libraries/main_view.html:8 +#: templates/libraries/library_view.html:4 +#: templates/libraries/library_view.html:8 msgid "Libraries directory" msgstr "Katalog bibliotek" + +#: templates/libraries/main_view.html:4 templates/libraries/main_view.html:8 +msgid "Library directories" +msgstr "Katalogi bibliotek" + diff --git a/apps/libraries/models.py b/apps/libraries/models.py index db6c6a5c5..1ed43ad77 100644 --- a/apps/libraries/models.py +++ b/apps/libraries/models.py @@ -15,7 +15,11 @@ class Catalog(models.Model): def __unicode__(self): return self.name - + @models.permalink + def get_absolute_url(self): + return ('library_view', [self.slug]) + + class Library(models.Model): """Represent a single library in the libraries dictionary""" diff --git a/apps/libraries/templates/libraries/library_view.html b/apps/libraries/templates/libraries/library_view.html new file mode 100644 index 000000000..b109fa1b3 --- /dev/null +++ b/apps/libraries/templates/libraries/library_view.html @@ -0,0 +1,22 @@ +{% extends "base.html" %} +{% load i18n %} + +{% block titleextra %}{% trans 'Libraries directory' %}{% endblock %} + + +{% block body %} +

{% trans 'Libraries directory' %}: {{ catalog.name }}

+ +
+ {% for library in catalog.libraries.all %} +
+ +
+ + {% autoescape off %}{{library.description}}{% endautoescape%} +
+
+ {% endfor %} +
+ +{% endblock %} \ No newline at end of file diff --git a/apps/libraries/templates/libraries/main_view.html b/apps/libraries/templates/libraries/main_view.html index b109fa1b3..f732a2a1a 100644 --- a/apps/libraries/templates/libraries/main_view.html +++ b/apps/libraries/templates/libraries/main_view.html @@ -1,22 +1,15 @@ -{% extends "base.html" %} -{% load i18n %} - -{% block titleextra %}{% trans 'Libraries directory' %}{% endblock %} - - -{% block body %} -

{% trans 'Libraries directory' %}: {{ catalog.name }}

- -
- {% for library in catalog.libraries.all %} -
- -
- - {% autoescape off %}{{library.description}}{% endautoescape%} -
-
+{% extends "base.html" %} +{% load i18n %} + +{% block titleextra %}{% trans 'Library directories' %}{% endblock %} + + +{% block body %} +

{% trans 'Library directories' %}

+
    + {% for catalog in catalogs %} +
  • {{catalog}}
  • {% endfor %} -
- + + {% endblock %} \ No newline at end of file diff --git a/apps/libraries/urls.py b/apps/libraries/urls.py index b4af54be7..92621144b 100644 --- a/apps/libraries/urls.py +++ b/apps/libraries/urls.py @@ -1,6 +1,9 @@ from django.conf.urls.defaults import patterns, url +from django.http import HttpResponseRedirect urlpatterns = patterns('libraries.views', - url(r'^(?P[a-zA-Z0-9_-]+)$', 'main_view', name='libraries_main_view'), + url(r'^$', 'main_view', name='libraries_main_view'), + url(r'^/$', lambda x: HttpResponseRedirect(x.path[:-1])), + url(r'^/(?P[a-zA-Z0-9_-]+)$', 'library_view', name='library_view'), ) \ No newline at end of file diff --git a/apps/libraries/views.py b/apps/libraries/views.py index 45e60ddbf..baf7baaf4 100644 --- a/apps/libraries/views.py +++ b/apps/libraries/views.py @@ -4,7 +4,12 @@ from django.template import RequestContext, Template, TemplateSyntaxError from libraries.models import Catalog -def main_view(request, slug): +def main_view(request): + context = RequestContext(request) + context['catalogs'] = Catalog.objects.all() + return render_to_response('libraries/main_view.html', context_instance = context) + +def library_view(request, slug): context = RequestContext(request) context['catalog'] = get_object_or_404(Catalog.objects.filter(slug = slug).select_related()) - return render_to_response('libraries/main_view.html', context_instance = context) \ No newline at end of file + return render_to_response('libraries/library_view.html', context_instance = context) \ No newline at end of file diff --git a/wolnelektury/urls.py b/wolnelektury/urls.py index 980173371..e99b0816a 100644 --- a/wolnelektury/urls.py +++ b/wolnelektury/urls.py @@ -35,7 +35,7 @@ urlpatterns += patterns('', url(r'^ludzie/', include('social.urls')), url(r'^uzytkownik/', include('allauth.urls')), url(r'^czekaj/', include('waiter.urls')), - url(r'^biblioteki/', include('libraries.urls')), + url(r'^biblioteki', include('libraries.urls')), # Admin panel url(r'^admin/catalogue/book/import$', 'catalogue.views.import_book', name='import_book'), -- 2.20.1