X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/3b7f8a9926c3de750443801404309a2aa8659d14..2093e5fc5be1b99b69dde50077134072d5de4de0:/apps/catalogue/views.py?ds=inline diff --git a/apps/catalogue/views.py b/apps/catalogue/views.py index a1a1ab3c..94710cab 100644 --- a/apps/catalogue/views.py +++ b/apps/catalogue/views.py @@ -21,10 +21,10 @@ from django.utils.translation import ugettext_lazy as _ from django.views.decorators.http import require_POST from django.template import RequestContext -from apiclient import NotAuthorizedError +from apiclient import NotAuthorizedError, ApiError from catalogue import forms from catalogue import helpers -from catalogue.helpers import active_tab +from catalogue.helpers import active_tab, ajax from catalogue.models import Book, Chunk, Project from fileupload.views import UploadView, PackageView @@ -485,7 +485,7 @@ def publish(request, slug): book.publish(request.user) except NotAuthorizedError: return http.HttpResponseRedirect(reverse('apiclient_oauth')) - except BaseException, e: + except ApiError, e: return http.HttpResponse(e) else: return http.HttpResponseRedirect(book.get_absolute_url()) @@ -517,3 +517,22 @@ class GalleryPackageView(GalleryMixin, PackageView): def get_redirect_url(self, slug): return reverse('catalogue_book_gallery', kwargs={'slug': slug}) + + +@ajax(method='get') +def lessons_for_cybernauts(request): + books = Book.objects.filter(for_cybernauts=True) + data = [] + for book in books: + try: + changes = book.get_current_changes() + time_changed = max(change.created_at for change in changes) + xml_url = reverse('catalogue_book_xml', args=[book.slug]) + data.append({ + 'slug': book.slug, + 'url': xml_url, + 'time_changed': time_changed.isoformat(), + }) + except Book.NoTextError: + pass + return {'lessons': data}