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):
|
||||
"Run all hooks on the player object"
|
||||
super(UserAdmin, self).save_formset(request, form, formset, change)
|
||||
playerdb = form.instance.get_profile()
|
||||
userobj = form.instance
|
||||
playerobj = userobj.get_profile()
|
||||
if not change:
|
||||
create.create_player("", "", "",
|
||||
typeclass=playerdb.db_typeclass_path,
|
||||
create_character=False,
|
||||
player_dbobj=playerdb)
|
||||
if playerdb.db_obj:
|
||||
playerdb.db_obj.db_player = playerdb
|
||||
playerdb.db_obj.save()
|
||||
#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("","","",
|
||||
user=userobj,
|
||||
typeclass=typeclass,
|
||||
player_dbobj=playerobj,
|
||||
create_character=False)
|
||||
|
||||
# if playerdb.db_obj:
|
||||
# playerdb.db_obj.db_player = playerdb
|
||||
# playerdb.db_obj.save()
|
||||
|
||||
#assert False, (form.instance, form.instance.get_profile())
|
||||
|
||||
|
|
|
|||
|
|
@ -477,6 +477,7 @@ def create_player(name, email, password,
|
|||
# use the typeclass from this object
|
||||
typeclass = new_db_player.typeclass_path
|
||||
else:
|
||||
new_user = User.objects.get(username=new_user.username)
|
||||
new_db_player = _PlayerDB(db_key=name, user=new_user)
|
||||
new_db_player.save()
|
||||
# assign the typeclass
|
||||
|
|
@ -521,7 +522,7 @@ def create_player(name, email, password,
|
|||
player=new_player, report_to=report_to)
|
||||
return new_character
|
||||
return new_player
|
||||
except Exception, e:
|
||||
except Exception:
|
||||
# a failure in creating the character
|
||||
if not user:
|
||||
# in there was a failure we clean up everything we can
|
||||
|
|
@ -538,7 +539,7 @@ def create_player(name, email, password,
|
|||
del new_character
|
||||
except Exception:
|
||||
pass
|
||||
raise e
|
||||
raise
|
||||
|
||||
# alias
|
||||
player = create_player
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue