mirror of
https://github.com/evennia/evennia.git
synced 2026-03-27 10:16:32 +01:00
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:
|
||||
@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
|
||||
if not self.args:
|
||||
string = "Usage: @name <obj> = <newname>[;alias;alias;...]"
|
||||
caller.msg(string)
|
||||
caller.msg("Usage: @name <obj> = <newname>[;alias;alias;...]")
|
||||
return
|
||||
|
||||
if self.lhs_objs:
|
||||
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)
|
||||
if not obj:
|
||||
return
|
||||
|
|
@ -1125,6 +1144,9 @@ class CmdName(ObjManipCommand):
|
|||
if not newname and not aliases:
|
||||
caller.msg("No names or aliases defined!")
|
||||
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:
|
||||
if newname:
|
||||
obj.name = newname
|
||||
|
|
|
|||
|
|
@ -1536,7 +1536,7 @@ def at_search_result(matches, caller, query="", quiet=False, **kwargs):
|
|||
error = ""
|
||||
if not matches:
|
||||
# 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
|
||||
elif len(matches) > 1:
|
||||
error = kwargs.get("multimatch_string", None)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue