25 lines
812 B
Python
25 lines
812 B
Python
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['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):
|
|
self.request.user.set_password(self.request.POST['password'])
|
|
self.request.user.save()
|
|
login(self.request, self.request.user)
|
|
return self
|