Reverted previous merge, instead solving the issue by the metaclass making sure to add cmd:all() to the exit command only if the object itself does not specify it.
This commit is contained in:
parent
b41761f60c
commit
3cf01ce711
3 changed files with 5 additions and 4 deletions
|
|
@ -48,7 +48,7 @@ def _init_command(mcs, **kwargs):
|
||||||
if not hasattr(mcs, 'locks'):
|
if not hasattr(mcs, 'locks'):
|
||||||
# default if one forgets to define completely
|
# default if one forgets to define completely
|
||||||
mcs.locks = "cmd:all()"
|
mcs.locks = "cmd:all()"
|
||||||
elif not "cmd:" in mcs.locks:
|
if not "cmd:" in mcs.locks:
|
||||||
mcs.locks = "cmd:all();" + mcs.locks
|
mcs.locks = "cmd:all();" + mcs.locks
|
||||||
for lockstring in mcs.locks.split(';'):
|
for lockstring in mcs.locks.split(';'):
|
||||||
if lockstring and not ':' in lockstring:
|
if lockstring and not ':' in lockstring:
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ class Migration(DataMigration):
|
||||||
"Write your forwards methods here."
|
"Write your forwards methods here."
|
||||||
|
|
||||||
# we need to add a default lock string to all objects, then a separate set to Characters.
|
# we need to add a default lock string to all objects, then a separate set to Characters.
|
||||||
|
|
||||||
lockstring1 = 'control:id(1);get:all();edit:perm(Wizards);examine:perm(Builders);call:true();puppet:id(#4) or perm(Immortals) or pperm(Immortals);delete:id(1) or perm(Wizards)'
|
lockstring1 = 'control:id(1);get:all();edit:perm(Wizards);examine:perm(Builders);call:true();puppet:id(#4) or perm(Immortals) or pperm(Immortals);delete:id(1) or perm(Wizards)'
|
||||||
lockstring2 = 'control:id(#3) or perm(Immortals);get:perm(Wizards);edit:perm(Wizards);examine:perm(Builders);call:false();puppet:id(%i) or pid(%i) or perm(Immortals) or pperm(Immortals);delete:perm(Wizards)'
|
lockstring2 = 'control:id(#3) or perm(Immortals);get:perm(Wizards);edit:perm(Wizards);examine:perm(Builders);call:false();puppet:id(%i) or pid(%i) or perm(Immortals) or pperm(Immortals);delete:perm(Wizards)'
|
||||||
|
|
||||||
|
|
@ -21,10 +21,10 @@ class Migration(DataMigration):
|
||||||
for obj in orm.ObjectDB.objects.filter(db_player__isnull=False):
|
for obj in orm.ObjectDB.objects.filter(db_player__isnull=False):
|
||||||
obj.db_lock_storage = lockstring2 % (obj.id, obj.db_player.id)
|
obj.db_lock_storage = lockstring2 % (obj.id, obj.db_player.id)
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
except utils.DatabaseError:
|
except utils.DatabaseError:
|
||||||
# running from scatch. In this case we just ignore this.
|
# running from scatch. In this case we just ignore this.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def backwards(self, orm):
|
def backwards(self, orm):
|
||||||
"Write your backwards methods here."
|
"Write your backwards methods here."
|
||||||
|
|
|
||||||
|
|
@ -911,6 +911,7 @@ class Exit(Object):
|
||||||
# create an exit command.
|
# create an exit command.
|
||||||
cmd = ExitCommand(key=exidbobj.db_key.strip().lower(),
|
cmd = ExitCommand(key=exidbobj.db_key.strip().lower(),
|
||||||
aliases=exidbobj.aliases,
|
aliases=exidbobj.aliases,
|
||||||
|
locks=str(exidbobj.locks),
|
||||||
auto_help=False,
|
auto_help=False,
|
||||||
destination=exidbobj.db_destination,
|
destination=exidbobj.db_destination,
|
||||||
obj=exidbobj)
|
obj=exidbobj)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue