From 2b129a859658450046515cf1c9c792f7dd2f378d Mon Sep 17 00:00:00 2001 From: root Date: Mon, 29 Jul 2019 11:09:50 +0000 Subject: [PATCH] tweaks --- camp/settings.py | 4 +++- camp/static/css/app.css | 4 ++++ camp/static/js/jquery.bxslider.js | 3 ++- content/models.py | 17 ++++++++++++++- content/templates/base.html | 9 ++++---- content/templatetags/available_content.py | 25 +++++++++++++++++++++++ content/views.py | 1 + 7 files changed, 56 insertions(+), 7 deletions(-) diff --git a/camp/settings.py b/camp/settings.py index 1b655c2..3c804d7 100644 --- a/camp/settings.py +++ b/camp/settings.py @@ -63,7 +63,9 @@ ROOT_URLCONF = 'camp.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], + 'DIRS': [ + os.path.join(BASE_DIR, 'camp', 'templates') + ], 'APP_DIRS': False, 'OPTIONS': { 'context_processors': [ diff --git a/camp/static/css/app.css b/camp/static/css/app.css index e69de29..b2cb87b 100644 --- a/camp/static/css/app.css +++ b/camp/static/css/app.css @@ -0,0 +1,4 @@ + +.slider1 { + display: none; +} diff --git a/camp/static/js/jquery.bxslider.js b/camp/static/js/jquery.bxslider.js index 67ac4d8..6fdc374 100644 --- a/camp/static/js/jquery.bxslider.js +++ b/camp/static/js/jquery.bxslider.js @@ -1386,7 +1386,8 @@ } else { // if adaptiveHeight is true and next height is different from current height, animate to the new height if (slider.settings.adaptiveHeight && slider.viewport.height() !== getViewportHeight()) { - slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed); + // fails with slow connections + //slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed); } // if carousel and not infinite loop if (!slider.settings.infiniteLoop && slider.carousel && slider.active.last) { diff --git a/content/models.py b/content/models.py index 91f0f09..70a3e16 100644 --- a/content/models.py +++ b/content/models.py @@ -143,10 +143,25 @@ class Content(models.Model): def typefilter(self): return self.type + def admin_thumbnail_(self): + src = None + if self.photo: + src = self.photo.get_thumbnail_url() + if self.image: + if self.image.startswith('http') or self.image.startswith('/'): + src = self.image + else: + src = settings.IMAGE_PREFIX + self.image + if src: + return mark_safe(u''.format(self.get_absolute_url(), src)) + @property def image_url(self): if self.photo: - return self.photo.get_display_url() + url = self.photo.image.url + if not url.lower().endswith('.gif'): + url = self.photo.get_display_url() + return url if self.image: if self.image.startswith('http') or self.image.startswith('/'): return self.image diff --git a/content/templates/base.html b/content/templates/base.html index 73f7ac5..6cad77c 100644 --- a/content/templates/base.html +++ b/content/templates/base.html @@ -51,8 +51,8 @@ {% block end %} {% endblock %} diff --git a/content/templatetags/available_content.py b/content/templatetags/available_content.py index 126472f..74cf4e1 100644 --- a/content/templatetags/available_content.py +++ b/content/templatetags/available_content.py @@ -1,5 +1,6 @@ from django import template from django.urls import reverse +from django.utils.html import mark_safe from ..models import Content @@ -18,3 +19,27 @@ def available_content(): type.upper() ]) return sections + +@register.filter +def admin_thumbnail(row): + from photologue.models import Photo + p = None + if 'for="id_photos_' in row.get('label_for'): + try: + p = Photo.objects.get(pk=row['option_value']) + except: + pass + elif 'for="id_related_content_' in row.get('label_for'): + try: + p = Content.objects.get(pk=row['option_value']) + except: + pass + else: + print(row) + + if p: + try: + return mark_safe(p.admin_thumbnail() + ' ') + except: + pass + return '' diff --git a/content/views.py b/content/views.py index aebd250..97e5991 100644 --- a/content/views.py +++ b/content/views.py @@ -150,6 +150,7 @@ def get_related_content(types, current=None, max_length=10): latest_content_list = Content.objects.filter(type__name__in=types).order_by('-datestart') if current: latest_content_list = latest_content_list.exclude(pk=current.pk) + latest_content_list = latest_content_list.exclude(pk__in=current.related_content.all()) latest_content_list = latest_content_list.filter(published=True) more = latest_content_list.count() > max_length latest_content_list = latest_content_list[:max_length]