2021-02-04 21:27:04 -07:00

45 lines
1.6 KiB
Python

import pytz
from django.shortcuts import render, reverse, redirect
from django.urls import reverse_lazy
from django.views.generic.edit import FormView, CreateView, UpdateView, DeleteView
from django.views.generic.detail import DetailView
from django.views.generic.list import ListView
from django.contrib.auth.decorators import login_required
from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth.models import User
from django.contrib.auth.forms import PasswordChangeForm
def set_timezone(request):
if request.method == 'POST':
request.session['django_timezone'] = request.POST['timezone']
return redirect('attendance-overview')
else:
return render(request, 'accounts/timezone.html', {'timezones': pytz.common_timezones})
class AccountListView(LoginRequiredMixin, ListView):
model = User
template_name = 'accounts/account_list.html'
class AccountCreateView(LoginRequiredMixin, CreateView):
model = User
fields = ['email', 'password']
template_name = 'accounts/account_form.html'
class AccountDetailView(LoginRequiredMixin, DetailView):
model = User
template_name = 'accounts/account_detail.html'
class AccountUpdateView(LoginRequiredMixin, UpdateView):
model = User
# form_class = PasswordChangeForm
fields = ['username', 'email']
template_name = 'accounts/account_form.html'
def get_success_url(self):
pk = self.kwargs["pk"]
return reverse('account-detail', kwargs={'pk': pk})
class AccountDeleteView(LoginRequiredMixin, DeleteView):
model = User
success_url = reverse_lazy('account-list')