mirror of https://github.com/jumpserver/jumpserver
51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
# ~*~ coding: utf-8 ~*~
|
|
from django.conf import settings
|
|
from django.urls import reverse_lazy
|
|
from django.utils.translation import ugettext as _
|
|
from django.views.generic.base import TemplateView
|
|
from django.views.generic.edit import UpdateView
|
|
|
|
from common.utils import get_logger
|
|
from common.permissions import (
|
|
PermissionsMixin, IsValidUser,
|
|
)
|
|
from ... import forms
|
|
from ...models import User
|
|
|
|
|
|
__all__ = ['UserProfileView', 'UserProfileUpdateView']
|
|
logger = get_logger(__name__)
|
|
|
|
|
|
class UserProfileView(PermissionsMixin, TemplateView):
|
|
template_name = 'users/user_profile.html'
|
|
permission_classes = [IsValidUser]
|
|
|
|
def get_context_data(self, **kwargs):
|
|
mfa_setting = settings.SECURITY_MFA_AUTH
|
|
context = {
|
|
'action': _('Profile'),
|
|
'mfa_setting': mfa_setting if mfa_setting is not None else False,
|
|
}
|
|
kwargs.update(context)
|
|
return super().get_context_data(**kwargs)
|
|
|
|
|
|
class UserProfileUpdateView(PermissionsMixin, UpdateView):
|
|
template_name = 'users/user_profile_update.html'
|
|
model = User
|
|
permission_classes = [IsValidUser]
|
|
form_class = forms.UserProfileForm
|
|
success_url = reverse_lazy('users:user-profile')
|
|
|
|
def get_object(self, queryset=None):
|
|
return self.request.user
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = {
|
|
'app': _('User'),
|
|
'action': _('Profile setting'),
|
|
}
|
|
kwargs.update(context)
|
|
return super().get_context_data(**kwargs)
|