mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-09 19:40:19 +00:00
Basic group view and permissions management on the pages
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
from .user import *
|
||||
from .page import *
|
||||
from .site import *
|
||||
from .group import *
|
||||
|
@ -4,7 +4,7 @@ from django.contrib.auth import logout, login, authenticate
|
||||
from django.forms import CheckboxSelectMultiple
|
||||
import logging
|
||||
|
||||
from core.models import User, Page
|
||||
from core.models import User, Page, Group
|
||||
|
||||
class RegisteringForm(UserCreationForm):
|
||||
error_css_class = 'error'
|
||||
@ -33,3 +33,13 @@ class UserGroupsForm(forms.ModelForm):
|
||||
'user_permissions': CheckboxSelectMultiple,
|
||||
}
|
||||
|
||||
class GroupEditForm(forms.ModelForm):
|
||||
error_css_class = 'error'
|
||||
required_css_class = 'required'
|
||||
class Meta:
|
||||
model = Group
|
||||
fields = ['name', 'permissions',]
|
||||
widgets = {
|
||||
'permissions': CheckboxSelectMultiple,
|
||||
}
|
||||
|
||||
|
19
core/views/group.py
Normal file
19
core/views/group.py
Normal file
@ -0,0 +1,19 @@
|
||||
from django.views.generic.edit import UpdateView
|
||||
from django.views.generic import ListView
|
||||
|
||||
from core.models import Group
|
||||
from core.views.forms import GroupEditForm
|
||||
|
||||
class GroupListView(ListView):
|
||||
"""
|
||||
Displays the group list
|
||||
"""
|
||||
model = Group
|
||||
template_name = "core/group_list.html"
|
||||
|
||||
class GroupEditView(UpdateView):
|
||||
model = Group
|
||||
pk_url_kwarg = "group_id"
|
||||
template_name = "core/group_edit.html"
|
||||
form_class = GroupEditForm
|
||||
|
@ -2,6 +2,8 @@
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.views.generic import ListView, DetailView
|
||||
from django.views.generic.edit import UpdateView
|
||||
from django.contrib.auth.decorators import login_required, permission_required
|
||||
from django.utils.decorators import method_decorator
|
||||
|
||||
from core.models import Page
|
||||
|
||||
@ -15,6 +17,10 @@ class PageListView(ListView):
|
||||
class PageView(DetailView):
|
||||
model = Page
|
||||
|
||||
@method_decorator(permission_required('core.can_view'))
|
||||
def dispatch(self, *args, **kwargs):
|
||||
return super(PageView, self).dispatch(*args, **kwargs)
|
||||
|
||||
def get_object(self):
|
||||
self.page = Page.get_page_by_full_name(self.kwargs['page_name'])
|
||||
return self.page
|
||||
|
Reference in New Issue
Block a user