mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-12 04:49:25 +00:00
Begin launderette
This commit is contained in:
62
launderette/views.py
Normal file
62
launderette/views.py
Normal file
@ -0,0 +1,62 @@
|
||||
from django.shortcuts import render
|
||||
from django.views.generic import ListView, DetailView, RedirectView, TemplateView
|
||||
from django.views.generic.edit import UpdateView, CreateView, DeleteView, ProcessFormView, FormMixin
|
||||
from django.forms.models import modelform_factory
|
||||
from django.forms import CheckboxSelectMultiple
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.conf import settings
|
||||
|
||||
from core.models import Page
|
||||
from core.views import CanViewMixin, CanEditMixin, CanEditPropMixin, CanCreateMixin
|
||||
from launderette.models import Launderette, Token, Machine, Slot
|
||||
|
||||
# For users
|
||||
|
||||
class LaunderetteMainView(TemplateView):
|
||||
"""Main presentation view"""
|
||||
template_name = 'launderette/launderette_main.jinja'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
""" Add page to the context """
|
||||
kwargs = super(LaunderetteMainView, self).get_context_data(**kwargs)
|
||||
kwargs['page'] = Page.objects.filter(name='launderette').first()
|
||||
return kwargs
|
||||
|
||||
class LaunderetteBookMainView(CanViewMixin, ListView):
|
||||
"""Choose which launderette to book"""
|
||||
model = Launderette
|
||||
template_name = 'launderette/launderette_book.jinja'
|
||||
|
||||
class LaunderetteBookView(TemplateView):
|
||||
"""Display the launderette schedule"""
|
||||
model = Launderette
|
||||
pk_url_kwarg = "launderette_id"
|
||||
template_name = 'launderette/launderette_book.jinja'
|
||||
|
||||
|
||||
# For admins
|
||||
|
||||
class LaunderetteListView(CanViewMixin, ListView):
|
||||
"""Choose which launderette to administer"""
|
||||
model = Launderette
|
||||
template_name = 'launderette/launderette_list.jinja'
|
||||
|
||||
class LaunderetteDetailView(CanViewMixin, DetailView):
|
||||
"""The admin page of the launderette"""
|
||||
model = Launderette
|
||||
pk_url_kwarg = "launderette_id"
|
||||
template_name = 'launderette/launderette_detail.jinja'
|
||||
|
||||
class LaunderetteEditView(CanViewMixin, UpdateView):
|
||||
"""Edit a launderette"""
|
||||
model = Launderette
|
||||
pk_url_kwarg = "launderette_id"
|
||||
form_class = modelform_factory(Launderette, fields=['name', 'sellers'],
|
||||
widgets={'sellers':CheckboxSelectMultiple})
|
||||
template_name = 'core/edit.jinja'
|
||||
|
||||
class LaunderetteCreateView(CanCreateMixin, CreateView):
|
||||
"""Create a new launderette"""
|
||||
model = Launderette
|
||||
fields = ['name', 'sellers']
|
||||
template_name = 'core/create.jinja'
|
Reference in New Issue
Block a user