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.
k4ever/k4ever/main/admin.py

42 lines
1.3 KiB

from models import UserProfile, Plugin, PluginPermission
from django.contrib import admin
from django import forms
from django.contrib.auth.models import User, Group
from filters import *
class PluginAdminForm(forms.ModelForm):
""" Form made to require that the user of a plugin is in the plugin group """
class Meta:
model = Plugin
def clean_user(self):
user = self.cleaned_data['user']
group = Group.objects.get(name="Plugin")
if not group in user.groups.all():
raise forms.ValidationError("The user for a plugin has to be a member of the 'Plugin' group")
return self.cleaned_data['user']
class PluginAdmin(admin.ModelAdmin):
form = PluginAdminForm
list_display = ('name','version','author','descr')
list_filter = ['author',]
class PluginPermissionAdmin(admin.ModelAdmin):
list_display = ('user','plugin')
list_filter = ('user','plugin')
class UserProfileAdmin(admin.ModelAdmin):
list_display = ('user','balance')
search_fields = ['user_username','user__first_name','user__last_name']
list_filter = ('balance',)
# def queryset(self, request):
# return UserProfile.
# list_filter = ['balance__gt=0',]
# admin_order_field = 'balance'
admin.site.register(UserProfile, UserProfileAdmin)
admin.site.register(Plugin, PluginAdmin)
admin.site.register(PluginPermission, PluginPermissionAdmin)