don't allow nesting things under filtered decks when manually renaming

5e74976 fixed it for drag and drop, but realized it was still possible
to do so by using the rename function manually.
This commit is contained in:
Soren I. Bjornstad 2014-08-10 14:32:10 -05:00
parent 9bb217f198
commit 1ea9fb3d4a

View file

@ -233,6 +233,11 @@ class DeckManager(object):
raise DeckRenameError(_("That deck already exists."))
# ensure we have parents
newName = self._ensureParents(newName)
# make sure we're not nesting under a filtered deck
if '::' in newName:
newParent = '::'.join(newName.split('::')[:-1])
if self.byName(newParent)['dyn']:
raise DeckRenameError(_("A filtered deck cannot have subdecks."))
# rename children
for grp in self.all():
if grp['name'].startswith(g['name'] + "::"):
@ -266,8 +271,6 @@ class DeckManager(object):
or self._isParent(ontoDeckName, draggedDeckName) \
or self._isAncestor(draggedDeckName, ontoDeckName):
return False
elif self.byName(ontoDeckName)['dyn']:
raise DeckRenameError(_("A filtered deck cannot have subdecks."))
else:
return True