Don't allow Groupable to add itself as a child.
omg what an oversight
This commit is contained in:
parent
3db5c77c2c
commit
e9f567ffc9
2 changed files with 6 additions and 0 deletions
|
@ -109,6 +109,9 @@ class UserExists(Exists):
|
||||||
|
|
||||||
|
|
||||||
# TAG ERRORS
|
# TAG ERRORS
|
||||||
|
class CantGroupSelf(EtiquetteException):
|
||||||
|
error_message = 'Cannot group {} into itself.'
|
||||||
|
|
||||||
class CantSynonymSelf(EtiquetteException):
|
class CantSynonymSelf(EtiquetteException):
|
||||||
error_message = 'Cannot apply synonym to self.'
|
error_message = 'Cannot apply synonym to self.'
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,9 @@ class GroupableMixin:
|
||||||
def add_child(self, member, *, commit=True):
|
def add_child(self, member, *, commit=True):
|
||||||
self.assert_same_type(member)
|
self.assert_same_type(member)
|
||||||
|
|
||||||
|
if member == self:
|
||||||
|
raise exceptions.CantGroupSelf(self)
|
||||||
|
|
||||||
if self.has_child(member):
|
if self.has_child(member):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue