You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.9 KiB
52 lines
1.9 KiB
from django.views.generic import ListView, UpdateView, CreateView
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.utils.translation import gettext_lazy as _
|
|
from django.utils.decorators import method_decorator
|
|
from django.urls import reverse_lazy
|
|
from django.contrib import messages
|
|
from django.conf import settings
|
|
from . import models
|
|
from . import forms
|
|
|
|
|
|
@method_decorator(login_required, name='dispatch')
|
|
class GroupListView(ListView):
|
|
http_method_names = ('get',)
|
|
paginate_by = getattr(settings, 'PAGINATION_ITEMS_PER_PAGE', 10)
|
|
template_name = 'group_app/group_list.html'
|
|
model = models.Group
|
|
context_object_name = 'groups'
|
|
|
|
|
|
@method_decorator(login_required, name='dispatch')
|
|
class EditGroupView(UpdateView):
|
|
http_method_names = ('get', 'post')
|
|
template_name = 'group_app/edit_group.html'
|
|
form_class = forms.GroupForm
|
|
model = models.Group
|
|
pk_url_kwarg = 'group_id'
|
|
success_url = reverse_lazy('group_app:group_list')
|
|
|
|
def form_valid(self, form):
|
|
messages.success(self.request, _('Group changes has been saved'))
|
|
return super(EditGroupView, self).form_valid(form)
|
|
|
|
def form_invalid(self, form):
|
|
messages.success(self.request, _('Please fix form errors'))
|
|
return super(EditGroupView, self).form_invalid(form)
|
|
|
|
|
|
@method_decorator(login_required, name='dispatch')
|
|
class AddGroupView(CreateView):
|
|
http_method_names = ('get', 'post')
|
|
template_name = 'group_app/add_group.html'
|
|
form_class = forms.GroupForm
|
|
success_url = reverse_lazy('group_app:group_list')
|
|
|
|
def form_valid(self, form):
|
|
messages.success(self.request, _('New group are created'))
|
|
return super(AddGroupView, self).form_valid(form)
|
|
|
|
def form_invalid(self, form):
|
|
messages.success(self.request, _('Please fix form errors'))
|
|
return super(AddGroupView, self).form_invalid(form)
|