diff --git a/app/views.py b/app/views.py index 167f7c1c9f8fac5a7464ae085ab10853a48727e4..532239f9b6056087256b4f8c1d48937f69a1375a 100644 --- a/app/views.py +++ b/app/views.py @@ -19,6 +19,7 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from administration.models import VerificationReport from app.forms import SuntingProfilForm, UploadMateriForm from app.models import Category, Comment, Materi, Like, ViewStatistics, DownloadStatistics, ReqMaterial +from app.utils.fileManagementUtil import get_random_filename, remove_image_exifdata from authentication.models import User import django @@ -340,11 +341,26 @@ class SuntingProfilView(TemplateView): raise PermissionDenied(request) current_user = self.request.user + form = SuntingProfilForm( request.POST, request.FILES, instance=current_user) if form.is_valid(): current_user.default_profile_picture = True - form.save() + + # Removing exifdata from profile picture on upload + if request.FILES: + f_name = request.FILES['profile_picture'].name + f_name = get_random_filename(f_name) + f_path = settings.MEDIA_ROOT + "/" + f_name + request.FILES['profile_picture'].name = f_name + + form = SuntingProfilForm( + request.POST, request.FILES, instance=current_user) + form.save() + + remove_image_exifdata(f_path) + else: + form.save() return HttpResponseRedirect("/profil/") else: context = self.get_context_data(**kwargs) @@ -379,11 +395,26 @@ class SuntingProfilAdminView(TemplateView): raise PermissionDenied(request) current_user = self.request.user + form = SuntingProfilForm( request.POST, request.FILES, instance=current_user) if form.is_valid(): current_user.default_profile_picture = True - form.save() + + # Removing exifdata from profile picture on upload + if request.FILES: + f_name = request.FILES['profile_picture'].name + f_name = get_random_filename(f_name) + f_path = settings.MEDIA_ROOT + "/" + f_name + request.FILES['profile_picture'].name = f_name + + form = SuntingProfilForm( + request.POST, request.FILES, instance=current_user) + form.save() + + remove_image_exifdata(f_path) + else: + form.save() return HttpResponseRedirect("/profil-admin/") else: context = self.get_context_data(**kwargs)