Some fixes to the way the admin initiates new player objects.
This commit is contained in:
parent
0b4c4feb6e
commit
a1dc7451ef
2 changed files with 49 additions and 41 deletions
|
|
@ -133,15 +133,22 @@ class UserAdmin(BaseUserAdmin):
|
||||||
def save_formset(self, request, form, formset, change):
|
def save_formset(self, request, form, formset, change):
|
||||||
"Run all hooks on the player object"
|
"Run all hooks on the player object"
|
||||||
super(UserAdmin, self).save_formset(request, form, formset, change)
|
super(UserAdmin, self).save_formset(request, form, formset, change)
|
||||||
playerdb = form.instance.get_profile()
|
userobj = form.instance
|
||||||
|
playerobj = userobj.get_profile()
|
||||||
if not change:
|
if not change:
|
||||||
|
#uname, passwd, email = str(request.POST.get(u"username")), \
|
||||||
|
# str(request.POST.get(u"password1")), str(request.POST.get(u"email"))
|
||||||
|
typeclass = str(request.POST.get(u"playerdb_set-0-db_typeclass_path"))
|
||||||
|
|
||||||
create.create_player("","","",
|
create.create_player("","","",
|
||||||
typeclass=playerdb.db_typeclass_path,
|
user=userobj,
|
||||||
create_character=False,
|
typeclass=typeclass,
|
||||||
player_dbobj=playerdb)
|
player_dbobj=playerobj,
|
||||||
if playerdb.db_obj:
|
create_character=False)
|
||||||
playerdb.db_obj.db_player = playerdb
|
|
||||||
playerdb.db_obj.save()
|
# if playerdb.db_obj:
|
||||||
|
# playerdb.db_obj.db_player = playerdb
|
||||||
|
# playerdb.db_obj.save()
|
||||||
|
|
||||||
#assert False, (form.instance, form.instance.get_profile())
|
#assert False, (form.instance, form.instance.get_profile())
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -477,6 +477,7 @@ def create_player(name, email, password,
|
||||||
# use the typeclass from this object
|
# use the typeclass from this object
|
||||||
typeclass = new_db_player.typeclass_path
|
typeclass = new_db_player.typeclass_path
|
||||||
else:
|
else:
|
||||||
|
new_user = User.objects.get(username=new_user.username)
|
||||||
new_db_player = _PlayerDB(db_key=name, user=new_user)
|
new_db_player = _PlayerDB(db_key=name, user=new_user)
|
||||||
new_db_player.save()
|
new_db_player.save()
|
||||||
# assign the typeclass
|
# assign the typeclass
|
||||||
|
|
@ -521,7 +522,7 @@ def create_player(name, email, password,
|
||||||
player=new_player, report_to=report_to)
|
player=new_player, report_to=report_to)
|
||||||
return new_character
|
return new_character
|
||||||
return new_player
|
return new_player
|
||||||
except Exception, e:
|
except Exception:
|
||||||
# a failure in creating the character
|
# a failure in creating the character
|
||||||
if not user:
|
if not user:
|
||||||
# in there was a failure we clean up everything we can
|
# in there was a failure we clean up everything we can
|
||||||
|
|
@ -538,7 +539,7 @@ def create_player(name, email, password,
|
||||||
del new_character
|
del new_character
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
raise e
|
raise
|
||||||
|
|
||||||
# alias
|
# alias
|
||||||
player = create_player
|
player = create_player
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue