Adding the at_rename hook to the base Typeclass.
This commit is contained in:
parent
270037455a
commit
735416a16e
1 changed files with 26 additions and 0 deletions
|
|
@ -307,12 +307,26 @@ class TypedObject(SharedMemoryModel):
|
||||||
return self.key
|
return self.key
|
||||||
|
|
||||||
def __name_set(self, value):
|
def __name_set(self, value):
|
||||||
|
oldname = str(self.key)
|
||||||
self.key = value
|
self.key = value
|
||||||
|
self.at_rename(oldname, value)
|
||||||
|
|
||||||
def __name_del(self):
|
def __name_del(self):
|
||||||
raise Exception("Cannot delete name")
|
raise Exception("Cannot delete name")
|
||||||
name = property(__name_get, __name_set, __name_del)
|
name = property(__name_get, __name_set, __name_del)
|
||||||
|
|
||||||
|
# key property (overrides's the idmapper's db_key for the at_rename hook)
|
||||||
|
@property
|
||||||
|
def key(self):
|
||||||
|
return self.db_key
|
||||||
|
|
||||||
|
@key.setter
|
||||||
|
def key(self, value):
|
||||||
|
oldname = str(self.db_key)
|
||||||
|
self.db_key = value
|
||||||
|
self.save(update_fields=["db_key"])
|
||||||
|
self.at_rename(oldname, value)
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# TypedObject main class methods and properties
|
# TypedObject main class methods and properties
|
||||||
|
|
@ -677,3 +691,15 @@ class TypedObject(SharedMemoryModel):
|
||||||
if self.location == looker:
|
if self.location == looker:
|
||||||
return " (carried)"
|
return " (carried)"
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
def at_rename(self, oldname, newname):
|
||||||
|
"""
|
||||||
|
This Hook is called by @name on a successful rename.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
oldname (str): The instance's original name.
|
||||||
|
newname (str): The new name for the instance.
|
||||||
|
|
||||||
|
Returns: Nothing.
|
||||||
|
"""
|
||||||
|
pass
|
||||||
Loading…
Add table
Add a link
Reference in a new issue