mirror of
https://github.com/evennia/evennia.git
synced 2026-03-20 23:06:31 +01:00
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:
|
||||
session.msg(string)
|
||||
session.disconnect()
|
||||
player.delete()
|
||||
user.delete()
|
||||
player.delete()
|
||||
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)
|
||||
|
||||
|
||||
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
|
||||
#
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue