add decorators 'webpage' decorator for 'website', rewrite views
This commit is contained in:
@@ -1,25 +1,20 @@
|
||||
from django.shortcuts import render
|
||||
|
||||
from django.views import generic
|
||||
from website import views
|
||||
from website import decorators as website
|
||||
|
||||
from .models import Sujet
|
||||
|
||||
from django.forms import ModelForm
|
||||
|
||||
|
||||
webpage = website.webpage(ajax=True, permissions=['sujets.view_sujets'])
|
||||
# Create your views here.
|
||||
|
||||
class SujetsView(views.WebsiteProtectedMixin):
|
||||
# TODO: deal with setting an active_app name other than module name
|
||||
|
||||
class PageInfo:
|
||||
title = "Sujets"
|
||||
|
||||
def get_active_app(self):
|
||||
return super(views.WebsiteProtectedMixin, self).get_active_app(app_name='suivi')
|
||||
|
||||
|
||||
|
||||
class SujetDetailsView(SujetsView, generic.DetailView):
|
||||
@webpage
|
||||
class SujetDetailsView(generic.DetailView):
|
||||
template_name = "sujets/sujet_details.html"
|
||||
model = Sujet
|
||||
|
||||
@@ -28,7 +23,8 @@ class SujetDetailsView(SujetsView, generic.DetailView):
|
||||
header = "{{ sujet }}"
|
||||
header_small = "suivi"
|
||||
|
||||
class SujetListView(SujetsView, generic.ListView):
|
||||
@webpage
|
||||
class SujetListView(generic.ListView):
|
||||
model = Sujet
|
||||
template_name = "sujets/sujet_liste.html"
|
||||
|
||||
@@ -36,8 +32,8 @@ class SujetListView(SujetsView, generic.ListView):
|
||||
title = "Sujet - Liste des sujets"
|
||||
header = "Liste des sujets"
|
||||
|
||||
|
||||
class SujetUpdateView(SujetsView, generic.edit.UpdateView):
|
||||
@webpage
|
||||
class SujetUpdateView(generic.edit.UpdateView):
|
||||
template_name = "sujets/sujet_update.html"
|
||||
model = Sujet
|
||||
fields = '__all__'
|
||||
@@ -55,8 +51,8 @@ class SujetCreateForm(ModelForm):
|
||||
fields = ['nom', 'surnom', 'prenom', 'genre', 'premiere_rencontre']
|
||||
|
||||
|
||||
|
||||
class SujetCreateView(views.WebsiteProtectedWithAjaxMixin, generic.edit.CreateView):
|
||||
@website.webpage(ajax=True, permissions=['sujets.add_sujet'])
|
||||
class SujetCreateView(generic.edit.CreateView):
|
||||
template_name = "sujets/sujet_create.html"
|
||||
form_class = SujetCreateForm
|
||||
|
||||
@@ -64,8 +60,6 @@ class SujetCreateView(views.WebsiteProtectedWithAjaxMixin, generic.edit.CreateVi
|
||||
title = "Nouveau sujet"
|
||||
header = "Nouveau sujet"
|
||||
|
||||
permissions = ['sujets.view_sujets', 'sujets.add_sujet']
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
if 'next' in self.request.POST:
|
||||
self.success_url = self.request.POST["next"]
|
||||
@@ -78,6 +72,3 @@ class SujetCreateView(views.WebsiteProtectedWithAjaxMixin, generic.edit.CreateVi
|
||||
except:
|
||||
context['next'] = None
|
||||
return context
|
||||
|
||||
#Hack
|
||||
get_active_app = SujetsView.get_active_app
|
||||
|
||||
Reference in New Issue
Block a user