from django.contrib.auth import login from BaseLib.BaseView import BaseView from BaseLib.minio import minio_client class ProfileView(BaseView): required_login = True endpoint = 'profile' view_file = 'profile.html' def get(self): self.context['err'] = 'err' in self.request.GET self.context['owner'] = not hasattr(self, 'customUser') or self.customUser == self.request.user self.context['account'] = getattr(self, 'customUser', None) or self.request.user def post_upload_photo(self): minio_client.put_object(self.request.FILES["file"].read(), f"profile_photos/{self.request.user.id}") return self def post_change_password(self): if self.request.POST['password'] != self.request.POST['repeat']: return '/profile?err=true' self.request.user.set_password(self.request.POST['password']) self.request.user.save() login(self.request, self.request.user) return self