diff --git a/work.py b/work.py index 4436fe6bc1..b90d971ff5 100644 --- a/work.py +++ b/work.py @@ -151,6 +151,21 @@ class Work(ModelSQL, ModelView): else: return self.name + @classmethod + def search_rec_name(cls, name, clause): + if isinstance(clause[2], basestring): + values = clause[2].split('\\') + values.reverse() + domain = [] + field = 'name' + for name in values: + domain.append((field, clause[1], name.strip())) + field = 'parent.' + field + else: + domain = [('name',) + tuple(clause[1:])] + ids = [w.id for w in cls.search(domain, order=[])] + return [('parent', 'child_of', ids)] + @classmethod def copy(cls, works, default=None): if default is None: