fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix
[wolnelektury.git]
/
src
/
catalogue
/
views.py
diff --git
a/src/catalogue/views.py
b/src/catalogue/views.py
index
62d34bb
..
037345b
100644
(file)
--- a/
src/catalogue/views.py
+++ b/
src/catalogue/views.py
@@
-3,6
+3,7
@@
#
from collections import OrderedDict
import random
#
from collections import OrderedDict
import random
+import re
from django.conf import settings
from django.template.loader import render_to_string
from django.conf import settings
from django.template.loader import render_to_string
@@
-18,7
+19,7
@@
from django.views.decorators.cache import never_cache
from ajaxable.utils import AjaxableFormView
from club.forms import ScheduleForm
from ajaxable.utils import AjaxableFormView
from club.forms import ScheduleForm
-from club.models import Club
, Membership
+from club.models import Club
from annoy.models import DynamicTextInsert
from pdcounter import views as pdcounter_views
from picture.models import Picture, PictureArea
from annoy.models import DynamicTextInsert
from pdcounter import views as pdcounter_views
from picture.models import Picture, PictureArea
@@
-286,9
+287,14
@@
def book_detail(request, slug):
except Book.DoesNotExist:
return pdcounter_views.book_stub_detail(request, slug)
except Book.DoesNotExist:
return pdcounter_views.book_stub_detail(request, slug)
+ new_layout = request.EXPERIMENTS['layout']
+ # Not for preview books.
+ if new_layout.value and not book.is_accessible_to(request.user):
+ new_layout.override(None)
+
return render(
request,
return render(
request,
- 'catalogue/202
1/book_detail.html' if request.EXPERIMENTS['layout'] == 'new'
else 'catalogue/book_detail.html',
+ 'catalogue/202
2/book_detail.html' if new_layout.value
else 'catalogue/book_detail.html',
{
'book': book,
'book_children': book.children.all().order_by('parent_number', 'sort_key'),
{
'book': book,
'book_children': book.children.all().order_by('parent_number', 'sort_key'),
@@
-306,7
+312,7
@@
def player(request, slug):
if not book.has_media('mp3'):
raise Http404
if not book.has_media('mp3'):
raise Http404
- audiobooks, projects = book.get_audiobooks()
+ audiobooks, projects
, total_duration
= book.get_audiobooks()
return render(
request,
return render(
request,
@@
-322,7
+328,7
@@
def player(request, slug):
def book_text(request, slug):
book = get_object_or_404(Book, slug=slug)
def book_text(request, slug):
book = get_object_or_404(Book, slug=slug)
- if
book.preview and not Membership.is_active_for
(request.user):
+ if
not book.is_accessible_to
(request.user):
return HttpResponseRedirect(book.get_absolute_url())
if not book.has_html_file():
return HttpResponseRedirect(book.get_absolute_url())
if not book.has_html_file():
@@
-421,7
+427,7
@@
class CustomPDFFormView(AjaxableFormView):
def validate_object(self, obj, request):
book = obj
def validate_object(self, obj, request):
book = obj
- if
book.preview and not Membership.is_active_for
(request.user):
+ if
not book.is_accessible_to
(request.user):
return HttpResponseRedirect(book.get_absolute_url())
return super(CustomPDFFormView, self).validate_object(obj, request)
return HttpResponseRedirect(book.get_absolute_url())
return super(CustomPDFFormView, self).validate_object(obj, request)