diff --git a/pyconbalkan/about/views.py b/pyconbalkan/about/views.py index 4151f009..ee7b7f7a 100644 --- a/pyconbalkan/about/views.py +++ b/pyconbalkan/about/views.py @@ -3,7 +3,6 @@ from pyconbalkan.about.models import About from pyconbalkan.about.serializers import AboutSerializer -from pyconbalkan.conference.models import Conference class AboutViewSet(viewsets.ModelViewSet): @@ -12,10 +11,8 @@ class AboutViewSet(viewsets.ModelViewSet): def about_view(request): - conference = Conference.objects.filter(active=True) about = About.objects.filter(active=True) context = { 'about': about.first() if about else None, - 'conference': conference.first() if conference else None, } return render(request, 'about.html', context) diff --git a/pyconbalkan/cfp/views.py b/pyconbalkan/cfp/views.py index f67a31df..df2e3ba8 100644 --- a/pyconbalkan/cfp/views.py +++ b/pyconbalkan/cfp/views.py @@ -1,6 +1,6 @@ from django.contrib.auth.decorators import login_required from django.core.mail import EmailMessage -from django.db.models import F, Subquery, OuterRef +from django.db.models import Subquery, OuterRef from django.shortcuts import render, get_object_or_404 from rest_framework import viewsets from rest_framework.permissions import DjangoModelPermissions @@ -8,7 +8,6 @@ from pyconbalkan.cfp.forms import CfpForm, RateForm from pyconbalkan.cfp.models import Cfp, CFPRating from pyconbalkan.cfp.serializers import CfpSerializer -from pyconbalkan.conference.models import Conference class CfpViewSet(viewsets.ModelViewSet): @@ -18,10 +17,7 @@ class CfpViewSet(viewsets.ModelViewSet): def cfp_view(request): - conference = Conference.objects.filter(active=True) - context = { - 'conference': conference.first() if conference else None, - } + context = {} if request.method == 'POST': form = CfpForm(request.POST) if form.is_valid(): @@ -45,25 +41,21 @@ def cfp_view(request): @login_required def cfp_list(request): - conference = Conference.objects.filter(active=True) cfps = Cfp.objects.annotate( my_rating=Subquery(CFPRating.objects.filter(cfp=OuterRef('pk'), user=request.user).values('mark')) ) context = { 'cfps': cfps, - 'conference': conference.first() if conference else None, } return render(request, 'cfp_list.html', context) @login_required def cfp_detail(request, slug): - conference = Conference.objects.filter(active=True) cfp = get_object_or_404(Cfp, slug=slug) context = { 'cfp': cfp, - 'conference': conference.first() if conference else None, } initial = { diff --git a/pyconbalkan/coc/views.py b/pyconbalkan/coc/views.py index 2de330e3..6974fe56 100644 --- a/pyconbalkan/coc/views.py +++ b/pyconbalkan/coc/views.py @@ -3,7 +3,6 @@ from .models import CodeOfConduct, ResponseGuide from .serializers import CodeOfConductSerializer -from pyconbalkan.conference.models import Conference class CodeOfConductViewSet(viewsets.ModelViewSet): @@ -12,13 +11,11 @@ class CodeOfConductViewSet(viewsets.ModelViewSet): def coc_view(request): - conference = Conference.objects.filter(active=True) coc = CodeOfConduct.objects.filter(active=True) r_guide = ResponseGuide.objects.filter(active=True) context = { 'coc': coc.first() if coc else None, 'response_guide': r_guide.first() if r_guide else None, - 'conference': conference.first() if conference else None, } return render(request, 'coc.html', context) diff --git a/pyconbalkan/contact/views.py b/pyconbalkan/contact/views.py index a1e9e6af..2887c01e 100644 --- a/pyconbalkan/contact/views.py +++ b/pyconbalkan/contact/views.py @@ -1,15 +1,10 @@ -from email.header import Header -from email.mime.text import MIMEText - +from django.core.mail import EmailMessage +from django.shortcuts import render from rest_framework import viewsets from rest_framework.permissions import AllowAny -from pyconbalkan.conference.models import Conference -from pyconbalkan.contact.serializers import ContactSerializer from pyconbalkan.contact.models import Contact -from django.core.mail import EmailMessage -from django.shortcuts import render - +from pyconbalkan.contact.serializers import ContactSerializer from .models import ContactForm @@ -20,10 +15,7 @@ class ContactViewSet(viewsets.ModelViewSet): def contact_view(request): - conference = Conference.objects.filter(active=True) - context = { - 'conference': conference.first() if conference else None, - } + context = {} if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): diff --git a/pyconbalkan/core/context_processors.py b/pyconbalkan/core/context_processors.py new file mode 100644 index 00000000..aac64d4f --- /dev/null +++ b/pyconbalkan/core/context_processors.py @@ -0,0 +1,9 @@ +from pyconbalkan.conference.models import Conference + + +def conference(request): + conference = Conference.objects.filter(active=True) + + return { + 'conference': conference.first() if conference else None + } \ No newline at end of file diff --git a/pyconbalkan/core/views.py b/pyconbalkan/core/views.py index 150f8b44..11f82c68 100644 --- a/pyconbalkan/core/views.py +++ b/pyconbalkan/core/views.py @@ -25,7 +25,6 @@ def home(request): 'gold_sponsors': gold_sponsors, 'silver_sponsors': silver_sponsors, 'partners': partners, - 'conference': conference.first() if conference else None, 'count_down': count_down.first() if count_down else None, 'mission_statement': mission_statement.first() if mission_statement else None, 'meta': conference.first().as_meta(), diff --git a/pyconbalkan/news/views.py b/pyconbalkan/news/views.py index f571ce18..ba77eb07 100644 --- a/pyconbalkan/news/views.py +++ b/pyconbalkan/news/views.py @@ -16,17 +16,14 @@ class PostViewSet(viewsets.ModelViewSet): def news_view(request): - conference = Conference.objects.filter(active=True) posts = Post.objects.filter(active=True, published_date__lte=timezone.now()) context = { 'news': posts, - 'conference': conference.first() if conference else None, } return render(request, 'news.html', context) def post_detail(request, slug): - conference = Conference.objects.filter(active=True) post = get_object_or_404(Post, active=True, slug=slug) meta = Meta( title=strip_tags(post.title), @@ -39,7 +36,6 @@ def post_detail(request, slug): ) context = { - 'conference': conference.first() if conference else None, 'post': post, 'meta': meta, } diff --git a/pyconbalkan/organizers/views.py b/pyconbalkan/organizers/views.py index 88ef294d..e0b11c0e 100644 --- a/pyconbalkan/organizers/views.py +++ b/pyconbalkan/organizers/views.py @@ -1,7 +1,6 @@ from django.shortcuts import render, get_object_or_404 from rest_framework import viewsets -from pyconbalkan.conference.models import Conference from pyconbalkan.organizers.models import Volunteer from pyconbalkan.organizers.serializers import VolunteerSerializer @@ -12,11 +11,9 @@ class VolunteerViewSet(viewsets.ModelViewSet): def organizer_view(request, slug): - conference = Conference.objects.filter(active=True) organizer = get_object_or_404(Volunteer, slug=slug) context = { 'organizer': organizer, - 'conference': conference.first() if conference else None, } return render(request, 'organizer.html', context) @@ -24,10 +21,8 @@ def organizer_view(request, slug): def organizers_listview(request): volunteers = Volunteer.objects.filter(type=Volunteer.VOLUNTEER, active=True) organizers = Volunteer.objects.filter(type=Volunteer.ORGANIZER, active=True) - conference = Conference.objects.filter(active=True) context = { 'volunteers': volunteers, 'organizers': organizers, - 'conference': conference.first() if conference else None, } return render(request, 'organizers.html', context) \ No newline at end of file diff --git a/pyconbalkan/settings.py b/pyconbalkan/settings.py index 71edaca0..3c4276ee 100644 --- a/pyconbalkan/settings.py +++ b/pyconbalkan/settings.py @@ -85,6 +85,7 @@ 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', + 'pyconbalkan.core.context_processors.conference', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], diff --git a/pyconbalkan/speaker/views.py b/pyconbalkan/speaker/views.py index 22ac6932..a570f581 100644 --- a/pyconbalkan/speaker/views.py +++ b/pyconbalkan/speaker/views.py @@ -1,7 +1,6 @@ from django.shortcuts import render, get_object_or_404 from rest_framework import viewsets -from pyconbalkan.conference.models import Conference from pyconbalkan.speaker.models import Speaker from pyconbalkan.speaker.serializers import SpeakerSerializer @@ -12,10 +11,8 @@ class SpeakerViewSet(viewsets.ModelViewSet): def speaker_detail(request, slug): - conference = Conference.objects.filter(active=True) speaker = get_object_or_404(Speaker, active=True, slug=slug) context = { 'speaker': speaker, - 'conference': conference.first() if conference else None, } return render(request, 'speaker.html', context) \ No newline at end of file diff --git a/pyconbalkan/sponsors/views.py b/pyconbalkan/sponsors/views.py index c58087b2..2466329f 100644 --- a/pyconbalkan/sponsors/views.py +++ b/pyconbalkan/sponsors/views.py @@ -1,8 +1,6 @@ -from django.shortcuts import render -from rest_framework import viewsets from django.shortcuts import render, get_object_or_404 +from rest_framework import viewsets -from pyconbalkan.conference.models import Conference from pyconbalkan.sponsors.models import Sponsor from pyconbalkan.sponsors.serializers import SponsorSerializer @@ -13,14 +11,13 @@ class SponsorsViewSet(viewsets.ModelViewSet): def sponsor_view(request, id): - conference = Conference.objects.filter(active=True) sponsor = get_object_or_404(Sponsor, id=id) context = { 'sponsor': sponsor, - 'conference': conference.first() if conference else None, } return render(request, 'sponsor.html', context) + def sponsors_view(request): sponsors = Sponsor.objects.all() context = {