|
|
|
@ -1,4 +1,4 @@ |
|
|
|
from django.views.generic import TemplateView, UpdateView |
|
|
|
from django.views.generic import TemplateView, UpdateView, CreateView, DetailView, DeleteView |
|
|
|
from django.urls import reverse_lazy, reverse |
|
|
|
from django.contrib.auth.mixins import PermissionRequiredMixin, LoginRequiredMixin |
|
|
|
from django.contrib.admin.views.decorators import staff_member_required |
|
|
|
@ -8,7 +8,7 @@ from django.contrib import messages |
|
|
|
|
|
|
|
from content.models import Category |
|
|
|
from users.models import School |
|
|
|
from .models import SiteSettings |
|
|
|
from .models import SiteSettings, StaticPage |
|
|
|
from .forms import SelectUserForm |
|
|
|
|
|
|
|
|
|
|
|
@ -23,8 +23,10 @@ class SettingsView(LoginRequiredMixin, PermissionRequiredMixin, TemplateView): |
|
|
|
context['schools'] = School.objects.all() |
|
|
|
context['settings'] = True |
|
|
|
context['administrators'] = User.objects.filter(is_staff=True) |
|
|
|
context['static_pages'] = StaticPage.objects.all() |
|
|
|
return context |
|
|
|
|
|
|
|
|
|
|
|
class EditSiteSettingsView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView): |
|
|
|
template_name = "edit.html" |
|
|
|
model = SiteSettings |
|
|
|
@ -42,6 +44,66 @@ class EditSiteSettingsView(LoginRequiredMixin, PermissionRequiredMixin, UpdateVi |
|
|
|
return context |
|
|
|
|
|
|
|
|
|
|
|
class CreateStaticPageView(LoginRequiredMixin, CreateView): |
|
|
|
template_name = "edit.html" |
|
|
|
model = StaticPage |
|
|
|
fields = '__all__' |
|
|
|
success_url = reverse_lazy('settings:index') |
|
|
|
|
|
|
|
def get_context_data(self, **kwargs): |
|
|
|
context = super().get_context_data(**kwargs) |
|
|
|
context["title"] = "Création de page statique" |
|
|
|
context["validate"] = "Créer" |
|
|
|
return context |
|
|
|
|
|
|
|
@classmethod |
|
|
|
def as_view(self, *args, **kwargs): |
|
|
|
view = super().as_view(*args, **kwargs) |
|
|
|
return staff_member_required(view) |
|
|
|
|
|
|
|
|
|
|
|
class StaticPageView(DetailView): |
|
|
|
template_name = "settings/static_page.html" |
|
|
|
model = StaticPage |
|
|
|
fields = '__all__' |
|
|
|
@classmethod |
|
|
|
def as_view(self, *args, **kwargs): |
|
|
|
view = super().as_view(*args, **kwargs) |
|
|
|
return staff_member_required(view) |
|
|
|
|
|
|
|
def get_context_data(self, **kwargs): |
|
|
|
context = super().get_context_data(**kwargs) |
|
|
|
context['page'] = self.object |
|
|
|
return context |
|
|
|
|
|
|
|
|
|
|
|
class DeleteStaticPageView(DeleteView): |
|
|
|
template_name = "confirm_delete.html" |
|
|
|
model = StaticPage |
|
|
|
success_url = reverse_lazy('settings:index') |
|
|
|
@classmethod |
|
|
|
def as_view(self, *args, **kwargs): |
|
|
|
view = super().as_view(*args, **kwargs) |
|
|
|
return staff_member_required(view) |
|
|
|
|
|
|
|
|
|
|
|
class EditStaticPageView(UpdateView): |
|
|
|
template_name = "edit.html" |
|
|
|
model = StaticPage |
|
|
|
success_url = reverse_lazy('settings:index') |
|
|
|
fields = '__all__' |
|
|
|
@classmethod |
|
|
|
def as_view(self, *args, **kwargs): |
|
|
|
view = super().as_view(*args, **kwargs) |
|
|
|
return staff_member_required(view) |
|
|
|
|
|
|
|
def get_context_data(self, **kwargs): |
|
|
|
context = super().get_context_data(**kwargs) |
|
|
|
context["title"] = "Édition de page statique" |
|
|
|
context["validate"] = "Éditer" |
|
|
|
return context |
|
|
|
|
|
|
|
|
|
|
|
@staff_member_required |
|
|
|
def degrade_user(request, pk): |
|
|
|
user = get_object_or_404(User, pk=pk) |
|
|
|
|