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

31 lines
981 B

from models import UserProfile, Plugin, PluginPermission
from django.contrib import admin
from django import forms
from django.contrib.auth.models import User, Group
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')
admin.site.register(UserProfile)
admin.site.register(Plugin, PluginAdmin)
admin.site.register(PluginPermission, PluginPermissionAdmin)