477.1.2
by franku
corrected search of backlinks; added Django permissions to the admin site |
1 |
#!/usr/bin/env python
|
2 |
# -*- coding: utf-8 -*-
|
|
3 |
||
4 |
"""Get acces to additional models which are not set by Django by default.
|
|
5 |
||
6 |
So Djangos orm is used when changing things, e.g. delete a permission.
|
|
7 |
"""
|
|
8 |
||
9 |
from django.contrib import admin |
|
10 |
from django.contrib.auth.models import Permission |
|
11 |
admin.site.register(Permission) |
|
512.1.2
by franku
display users which are in a group to admin/auth/group |
12 |
|
13 |
||
512.1.8
by franku
display groups/permissions to admin/auth/user |
14 |
# Adjusted from: https://www.djangosnippets.org/snippets/1650/
|
15 |
"""Displays the users which are in a group to /admin/auth/group.
|
|
16 |
Displays groups and permissions to admin/auth/user."""
|
|
512.1.2
by franku
display users which are in a group to admin/auth/group |
17 |
|
512.1.8
by franku
display groups/permissions to admin/auth/user |
18 |
from django.contrib.auth.models import User, Group |
19 |
from django.contrib.auth.admin import UserAdmin, GroupAdmin |
|
512.1.2
by franku
display users which are in a group to admin/auth/group |
20 |
from django.core.urlresolvers import reverse |
21 |
||
22 |
||
512.1.8
by franku
display groups/permissions to admin/auth/user |
23 |
def roles(self): |
24 |
# Groups
|
|
25 |
text = [x.name for x in self.groups.all()] |
|
26 |
# Permissions
|
|
27 |
if self.user_permissions.count(): |
|
28 |
text += ['has perm.'] |
|
29 |
value = ', '.join(text) |
|
30 |
return value |
|
532.1.1
by franku
converted to python 3.6 using 2to3 script |
31 |
roles.short_description = 'Groups/Permissions' |
512.1.8
by franku
display groups/permissions to admin/auth/user |
32 |
|
33 |
||
512.1.2
by franku
display users which are in a group to admin/auth/group |
34 |
def persons(self): |
35 |
return ', '.join(['<a href="%s">%s</a>' % (reverse('admin:auth_user_change', args=(x.id,)), x.username) for x in self.user_set.all().order_by('username')]) |
|
36 |
persons.allow_tags = True |
|
37 |
||
512.1.8
by franku
display groups/permissions to admin/auth/user |
38 |
|
513.3.1
by franku
fix showing deleted username in search results |
39 |
def deleted(self): |
40 |
return '' if self.wlprofile.deleted==False else 'Yes' |
|
532.1.1
by franku
converted to python 3.6 using 2to3 script |
41 |
deleted.short_description = 'Deleted himself' |
513.3.1
by franku
fix showing deleted username in search results |
42 |
|
43 |
||
512.1.2
by franku
display users which are in a group to admin/auth/group |
44 |
class GroupAdmin(GroupAdmin): |
45 |
list_display = ['name', persons] |
|
46 |
list_display_links = ['name'] |
|
47 |
||
48 |
||
49 |
admin.site.unregister(Group) |
|
50 |
admin.site.register(Group, GroupAdmin) |
|
512.1.8
by franku
display groups/permissions to admin/auth/user |
51 |
|
52 |
||
53 |
class UserAdmin(UserAdmin): |
|
54 |
list_display = ('username', 'email', 'date_joined', 'last_login', |
|
513.3.1
by franku
fix showing deleted username in search results |
55 |
'is_active', deleted, 'is_staff', roles) |
512.1.8
by franku
display groups/permissions to admin/auth/user |
56 |
ordering = ('-date_joined',) |
57 |
||
58 |
||
59 |
admin.site.unregister(User) |
|
60 |
admin.site.register(User, UserAdmin) |