k4ever/k4ever/main/admin.py

49 lines
1.6 KiB
Python
Raw Normal View History

2012-01-21 00:21:29 +01:00
# This file is part of k4ever, a point-of-sale system
# Contact............ <k4ever@lists.someserver.de>
# Website............ http://k4ever.someserver.de/
# Bug tracker........ http://k4ever.someserver.de/report
#
# Licensed under GNU Affero General Public License v3 or later
2011-09-30 17:22:26 +02:00
from models import UserProfile, Plugin, PluginPermission
2010-10-16 17:33:18 +02:00
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')
2010-10-16 17:33:18 +02:00
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)
2010-10-16 17:33:18 +02:00