From 6305a82c5b7446e92b2ed86557972dee89de4993 Mon Sep 17 00:00:00 2001 From: Michael Ziegler Date: Tue, 16 Feb 2010 10:19:25 +0100 Subject: [PATCH] remove model's isAdmin field, and add a PropertyModelForm for the admin to set the aclAdmin property --- pyweb/mumble/admin.py | 4 +++- pyweb/mumble/forms.py | 7 +++++++ pyweb/mumble/models.py | 4 ---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pyweb/mumble/admin.py b/pyweb/mumble/admin.py index 4f29186..ea1b57f 100644 --- a/pyweb/mumble/admin.py +++ b/pyweb/mumble/admin.py @@ -17,7 +17,7 @@ from django.contrib import admin from django.utils.translation import ugettext_lazy as _ -from mumble.forms import MumbleAdminForm +from mumble.forms import MumbleAdminForm, MumbleUserAdminForm from mumble.models import Mumble, MumbleUser class MumbleAdmin(admin.ModelAdmin): @@ -82,6 +82,8 @@ class MumbleUserAdmin(admin.ModelAdmin): search_fields = [ 'owner__username', 'name' ]; ordering = [ 'owner__username' ]; + form = MumbleUserAdminForm + def get_acl_admin( self, obj ): return obj.aclAdmin diff --git a/pyweb/mumble/forms.py b/pyweb/mumble/forms.py index 4bdb84d..c67aadc 100644 --- a/pyweb/mumble/forms.py +++ b/pyweb/mumble/forms.py @@ -268,6 +268,13 @@ class MumbleUserLinkForm( MumbleUserForm ): return self.cleaned_data; +class MumbleUserAdminForm( PropertyModelForm ): + aclAdmin = forms.BooleanField( label=_('Admin on root channel'), required=False ); + + class Meta: + model = Mumble; + + class MumbleTextureForm( Form ): """ The form used to upload a new image to be set as texture. """ texturefile = forms.ImageField(); diff --git a/pyweb/mumble/models.py b/pyweb/mumble/models.py index 11d5492..cf7ffb5 100644 --- a/pyweb/mumble/models.py +++ b/pyweb/mumble/models.py @@ -266,7 +266,6 @@ class Mumble( models.Model ): playerinstance.name = playerdata.name; - playerinstance.isAdmin = playerinstance.getAdmin(); playerinstance.save( dontConfigureMurmur=True ); @@ -394,7 +393,6 @@ class MumbleUser( models.Model ): password = models.CharField( _('Login password'), max_length = 200, blank=True ); server = models.ForeignKey( Mumble, verbose_name=_('Server instance'), related_name="mumbleuser_set" ); owner = models.ForeignKey( User, verbose_name=_('Account owner'), related_name="mumbleuser_set", null=True, blank=True ); - isAdmin = models.BooleanField( _('Admin on root channel'), default = False ); class Meta: unique_together = ( ( 'server', 'owner' ), ( 'server', 'mumbleid' ) ); @@ -448,8 +446,6 @@ class MumbleUser( models.Model ): # Don't save the users' passwords, we don't need them anyway self.password = ''; - self.aclAdmin = self.isAdmin; - # Now allow django to save the record set return models.Model.save( self );