where.append( ('parent_id','=',self.object.id) )
where.append( ('res_id','=',False) )
if nodename:
- where.append( (fobj._rec_name,'=',nodename) )
+ where.append( (fobj._rec_name,'=like',nodename) )
ids = fobj.search(self.cr, self.uid, where+[ ('parent_id','=',self.object and self.object.id or False) ], context=self.context)
if self.object and self.root and (self.object.type=='ressource'):
ids += fobj.search(self.cr, self.uid, where+[ ('parent_id','=',False) ], context=self.context)
pool = pooler.get_pool(self.cr.dbname)
where = []
if nodename:
- where.append(('name','=',nodename))
+ where.append(('name','=like',nodename))
if (self.object and self.object.type=='directory') or not self.object2:
where.append(('parent_id','=',self.object and self.object.id or False))
else:
fobj = pool.get('ir.attachment')
vargs = [('parent_id','=',False),('res_id','=',False)]
if nodename:
- vargs.append(('name','=',nodename))
+ vargs.append(('name','=like',nodename))
file_ids=fobj.search(self.cr,self.uid,vargs)
res = fobj.browse(self.cr, self.uid, file_ids, context=self.context)
for invalid in INVALID_CHARS:
if nodename.find(INVALID_CHARS[invalid]) :
nodename=nodename.replace(INVALID_CHARS[invalid],invalid)
- where.append(('name','=',nodename))
+ where.append(('name','=like',nodename))
ids = obj.search(self.cr, self.uid, where, self.context)
res = obj.browse(self.cr, self.uid, ids,self.context)
for r in res:
def _get_childs(self, cr, uid, node, nodename=False, context={}):
where = []
if nodename:
- where.append(('name','=',nodename))
+ where.append(('name','=like',nodename))
if object:
where.append(('parent_id','=',object.id))
ids = self.search(cr, uid, where, context)
# Ok
def fs2ftp(self, node):
- res = node and ('/' + node.cr.dbname + '/' + node.path) or '/'
+ res = node and ('/' + node.cr.dbname + '/' + node.path.encode('ascii','replace').replace('?','_')) or '/'
return res
# Ok
# formatting is matched with proftpd ls output
yield "%s %3s %-8s %-8s %8s %s %s\r\n" %(perms, nlinks, uname, gname,
- size, mtime, file.path.encode('ascii','replace').split('/')[-1])
+ size, mtime, file.path.encode('ascii','replace').replace('?','_').split('/')[-1])
# Ok
def format_mlsx(self, basedir, listing, perms, facts, ignore_err=True):