diff --git a/django_web_galleries/web_galleries/views.py b/django_web_galleries/web_galleries/views.py index 7ebce7c..1df280c 100644 --- a/django_web_galleries/web_galleries/views.py +++ b/django_web_galleries/web_galleries/views.py @@ -6,9 +6,26 @@ from django.shortcuts import render, redirect from django.urls import reverse from .forms import ImageUploadForm -from .models import Image +from .models import ( + Image, + Visitor +) -class ImageUploadView(View): +class VisitorSessionMixin(View): + def get_visitor(self): + if self.request.session: + if 'visitor_session' in self.request.session: + if Visitor.objects.get(session_id=self.request.session['visitor_session']).exists(): + return Visitor.objects.get(session_id=self.request.session['visitor_session']) + else: + visitor = Visitor.objects.create() + self.request.session['visitor_session'] = visitor.session_id + return visitor + else: + return None + + +class ImageUploadView(VisitorSessionMixin, View): def get(self, request): form = ImageUploadForm() return render( @@ -31,6 +48,8 @@ class ImageUploadView(View): if image.private: image.access_code = secrets.token_hex(32) + image.uploaded_by = self.get_visitor() + print(image.uploaded_by) image.save() return redirect( reverse('home')