From fcde237b5506714d73f6da1310501637c69a3200 Mon Sep 17 00:00:00 2001 From: Michael Ziegler Date: Sat, 14 Nov 2009 11:28:54 +0100 Subject: [PATCH] if linking unknown accounts, create the models in MD's db. see #56 --- pyweb/mumble/forms.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pyweb/mumble/forms.py b/pyweb/mumble/forms.py index caadd69..23fec7c 100644 --- a/pyweb/mumble/forms.py +++ b/pyweb/mumble/forms.py @@ -126,10 +126,15 @@ class MumbleUserLinkForm( MumbleUserForm ): return pw; def clean( self ): - if 'linkacc' not in self.data: + if 'linkacc' not in self.data or self.mumbleid <= 0: return self.cleaned_data; - mUser = MumbleUser.objects.get( server=self.server, mumbleid=self.mumbleid ); + try: + mUser = MumbleUser.objects.get( server=self.server, mumbleid=self.mumbleid ); + except MumbleUser.DoesNotExist: + mUser = MumbleUser( server=self.server, name=self.cleaned_data['name'], mumbleid=self.mumbleid ); + mUser.save( dontConfigureMurmur=True ); + if mUser.getAdmin() and not settings.ALLOW_ACCOUNT_LINKING_ADMINS: raise forms.ValidationError( "Linking Admin accounts is not allowed." ); self.instance = mUser;