Fixed a bug in search error reporting. Made accept to change a player's name. Closes PR: Resolves #820, Resolves #821, Resolves #822, Resolves #823.
This commit is contained in:
parent
7037ac2e5f
commit
0c7ee1bdfc
2 changed files with 26 additions and 4 deletions
|
|
@ -1093,7 +1093,8 @@ class CmdName(ObjManipCommand):
|
||||||
Usage:
|
Usage:
|
||||||
@name obj = name;alias1;alias2
|
@name obj = name;alias1;alias2
|
||||||
|
|
||||||
Rename an object to something new.
|
Rename an object to something new. Use *obj to
|
||||||
|
rename a player.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -1107,12 +1108,30 @@ class CmdName(ObjManipCommand):
|
||||||
|
|
||||||
caller = self.caller
|
caller = self.caller
|
||||||
if not self.args:
|
if not self.args:
|
||||||
string = "Usage: @name <obj> = <newname>[;alias;alias;...]"
|
caller.msg("Usage: @name <obj> = <newname>[;alias;alias;...]")
|
||||||
caller.msg(string)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.lhs_objs:
|
if self.lhs_objs:
|
||||||
objname = self.lhs_objs[0]['name']
|
objname = self.lhs_objs[0]['name']
|
||||||
|
if objname.startswith("*"):
|
||||||
|
# player mode
|
||||||
|
obj = caller.player.search(objname.lstrip("*"))
|
||||||
|
if obj:
|
||||||
|
if self.rhs_objs[0]['aliases']:
|
||||||
|
caller.msg("Players can't have aliases.")
|
||||||
|
return
|
||||||
|
newname = self.rhs
|
||||||
|
if not newname:
|
||||||
|
caller.msg("No name defined!")
|
||||||
|
return
|
||||||
|
if not obj.access(caller, "edit"):
|
||||||
|
caller.mgs("You don't have right to edit this player %s." % obj)
|
||||||
|
return
|
||||||
|
obj.username = newname
|
||||||
|
obj.save()
|
||||||
|
caller.msg("Player's name changed to '%s'." % newname)
|
||||||
|
return
|
||||||
|
# object search, also with *
|
||||||
obj = caller.search(objname)
|
obj = caller.search(objname)
|
||||||
if not obj:
|
if not obj:
|
||||||
return
|
return
|
||||||
|
|
@ -1125,6 +1144,9 @@ class CmdName(ObjManipCommand):
|
||||||
if not newname and not aliases:
|
if not newname and not aliases:
|
||||||
caller.msg("No names or aliases defined!")
|
caller.msg("No names or aliases defined!")
|
||||||
return
|
return
|
||||||
|
if not obj.access(caller, "edit"):
|
||||||
|
caller.msg("You don't have the right to edit %s." % obj)
|
||||||
|
return
|
||||||
# change the name and set aliases:
|
# change the name and set aliases:
|
||||||
if newname:
|
if newname:
|
||||||
obj.name = newname
|
obj.name = newname
|
||||||
|
|
|
||||||
|
|
@ -1536,7 +1536,7 @@ def at_search_result(matches, caller, query="", quiet=False, **kwargs):
|
||||||
error = ""
|
error = ""
|
||||||
if not matches:
|
if not matches:
|
||||||
# no results.
|
# no results.
|
||||||
error = kwargs.get("nofound_string", _("Could not find '%s'." % query))
|
error = kwargs.get("nofound_string") or _("Could not find '%s'." % query)
|
||||||
matches = None
|
matches = None
|
||||||
elif len(matches) > 1:
|
elif len(matches) > 1:
|
||||||
error = kwargs.get("multimatch_string", None)
|
error = kwargs.get("multimatch_string", None)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue