Source fixes: avoid race and wait a minute after uploading to prevent unnecessary...
[redakcja.git] / src / depot / views.py
index 91ea44a..5236adc 100644 (file)
@@ -1,3 +1,18 @@
-from django.shortcuts import render
+from django.contrib.auth.mixins import PermissionRequiredMixin
+from django.shortcuts import get_object_or_404, redirect
+from django.views import View
+from documents.models import Book
+from . import models
 
-# Create your views here.
+
+class SitePublishView(PermissionRequiredMixin, View):
+    permission_required = 'depot.add_sitebookpublish'
+
+    def post(self, request, site_id, book_id):
+        site = get_object_or_404(models.Site, pk=site_id)
+        book = get_object_or_404(Book, pk=book_id)
+        try:
+            publish = models.SiteBookPublish.create_for(book, request.user, site)
+        except AssertionError:
+            pass
+        return redirect(book.get_absolute_url())