Files
django-maraudes/sujets/views.py
artus40 0be59a61a7 Navbar (#31)
* started workin on 'navbar' module

* changed bootstrap theme to bootswatch/Simplex

* big work on navbar logic

* starting creating menus using navbar

* converted app views to new Wepage decorator, updated navbar

* reimplemented DernieresMaraudes as a dropdown instead of ContextMixin

* reorganised static files, minor code cleanups

* turned Link.href into lazy-evaluated property

* collapsed 'navbar' module into 'website', dynamic building of ApplicationMenu subclasses

* minor cleanup

* blah blah blah

* added way to add admin/non-admin links

* minor style change : red border for active page instead of all dropdowns

* deleted file

* prepare adding removing menu templates files, being replaced by code

* essayé de généraliser le code pour les modaux bootstrap, non testé git status

* more preparation and thinking on navbar app_menus logic...

* added LinkManager and DropdownManager, getting closer...

* small fix in DropdownManager.__get__

* boosted up work: keep it simple so it can be merged fast, major layout changes

* added month filter on maraudes:liste

* added 'as_icon' filter to display boolean/null values as bootstrap icons

* remove inactive user from planning selection

* removed all unused 'menu' templates

* set up django_select2 to use static files

* small fix after review
2017-02-11 18:20:13 +01:00

46 lines
1.3 KiB
Python

from django.shortcuts import render, redirect
from django.views import generic
from .models import Sujet
from .forms import SujetCreateForm
### Webpage config
from utilisateurs.models import Maraudeur
from website.decorators import Webpage
sujets = Webpage( "suivi", menu=False, defaults={
'restricted': [Maraudeur],
'ajax': True,
}
)
### Views
@sujets.using(title=('{{object}}', 'details'))
class SujetDetailsView(generic.DetailView):
#DetailView
template_name = "sujets/sujet_details.html"
model = Sujet
@sujets
class SujetUpdateView(generic.edit.UpdateView):
#UpdateView
template_name = "sujets/sujet_update.html"
model = Sujet
fields = '__all__'
@sujets
class SujetCreateView(generic.edit.CreateView):
#CreateView
template_name = "sujets/sujet_create.html"
form_class = SujetCreateForm
def post(self, request, *args, **kwargs):
if 'next' in self.request.POST:
self.success_url = self.request.POST["next"]
return super().post(self, request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
try: context['next'] = self.request.GET['next']
except:context['next'] = None
return context