50 lines
971 B
Python
50 lines
971 B
Python
|
|
from django.core.exceptions import PermissionDenied
|
|
from django.urls import reverse
|
|
from django.views import generic
|
|
|
|
from access.mixin import OrganizationPermission
|
|
|
|
from settings.models.user_settings import UserSettings
|
|
|
|
|
|
|
|
class View(generic.UpdateView):
|
|
|
|
context_object_name = "settings"
|
|
|
|
fields = [
|
|
'default_organization',
|
|
]
|
|
|
|
model = UserSettings
|
|
|
|
template_name = 'form.html.j2'
|
|
|
|
|
|
def form_valid(self, form):
|
|
|
|
if self.object.is_owner(self.request.user):
|
|
|
|
return super().form_valid(form)
|
|
|
|
raise PermissionDenied()
|
|
|
|
|
|
def get_success_url(self, **kwargs):
|
|
|
|
return reverse('_settings_user', args=(self.kwargs['pk'],))
|
|
|
|
|
|
def get_context_data(self, **kwargs):
|
|
|
|
if self.object.is_owner(self.request.user):
|
|
|
|
context = super().get_context_data(**kwargs)
|
|
|
|
context['content_title'] = 'User Settings'
|
|
|
|
return context
|
|
|
|
raise PermissionDenied()
|