lessons for cybernauts (ajax view)
authorJan Szejko <jan.szejko@gmail.com>
Fri, 1 Apr 2016 15:04:39 +0000 (17:04 +0200)
committerJan Szejko <jan.szejko@gmail.com>
Fri, 1 Apr 2016 15:04:39 +0000 (17:04 +0200)
apps/catalogue/urls.py
apps/catalogue/views.py

index e74f916..ec43053 100644 (file)
@@ -51,4 +51,6 @@ urlpatterns = patterns('catalogue.views',
         'chunk_mass_edit', name='catalogue_chunk_mass_edit'),
 
     url(r'^track/(?P<slug>[^/]*)/$', PublishTrackFeed()),
+
+    url(r'^cybernauci/$', 'lessons_for_cybernauts'),
 )
index a1a1ab3..d07303f 100644 (file)
@@ -24,7 +24,7 @@ from django.template import RequestContext
 from apiclient import NotAuthorizedError
 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
 
@@ -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}