Changed so deleting a PlayerDB object will automatically also destroy its connected User object.
This commit is contained in:
parent
891dcbbf9c
commit
a2e7246d15
2 changed files with 13 additions and 2 deletions
|
|
@ -372,8 +372,8 @@ class CmdDelPlayer(MuxCommand):
|
||||||
for session in sessions:
|
for session in sessions:
|
||||||
session.msg(string)
|
session.msg(string)
|
||||||
session.disconnect()
|
session.disconnect()
|
||||||
player.delete()
|
|
||||||
user.delete()
|
user.delete()
|
||||||
|
player.delete()
|
||||||
caller.msg("Player %s was successfully deleted." % uname)
|
caller.msg("Player %s was successfully deleted." % uname)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -363,7 +363,18 @@ class PlayerDB(TypedObject):
|
||||||
"""
|
"""
|
||||||
return self.__class__.objects.swap_character(self, new_character, delete_old_character=delete_old_character)
|
return self.__class__.objects.swap_character(self, new_character, delete_old_character=delete_old_character)
|
||||||
|
|
||||||
|
def delete(self, *args, **kwargs):
|
||||||
|
"Make sure to delete user also when deleting player - the two may never exist separately."
|
||||||
|
try:
|
||||||
|
if self.user:
|
||||||
|
self.user.delete()
|
||||||
|
except AssertionError:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
super(PlayerDB, self).delete(*args, **kwargs)
|
||||||
|
except AssertionError:
|
||||||
|
# this means deleting the user already cleared out the Player object.
|
||||||
|
pass
|
||||||
#
|
#
|
||||||
# Execution/action methods
|
# Execution/action methods
|
||||||
#
|
#
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue