comparison roundup/xmlrpc.py @ 4449:3f251efd5f48

Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
author Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
date Fri, 29 Oct 2010 10:41:39 +0000
parents 261c9f913ff7
children c9b85ca1f985
comparison
equal deleted inserted replaced
4448:2784c239e6c8 4449:3f251efd5f48
97 result = cl.filter(search_matches, filterspec, sort=sort, group=group) 97 result = cl.filter(search_matches, filterspec, sort=sort, group=group)
98 check = security.hasPermission 98 check = security.hasPermission
99 x = [id for id in result if check('View', uid, classname, itemid=id)] 99 x = [id for id in result if check('View', uid, classname, itemid=id)]
100 return x 100 return x
101 101
102 def lookup(self, classname, key):
103 cl = self.db.getclass(classname)
104 uid = self.db.getuid()
105 prop = cl.getkey()
106 check = self.db.security.hasSearchPermission
107 if not check(uid, classname, 'id') or not check(uid, classname, prop):
108 raise Unauthorised('Permission to search %s denied'%classname)
109 return cl.lookup(key)
110
102 def display(self, designator, *properties): 111 def display(self, designator, *properties):
103 classname, itemid = hyperdb.splitDesignator(designator) 112 classname, itemid = hyperdb.splitDesignator(designator)
104 cl = self.db.getclass(classname) 113 cl = self.db.getclass(classname)
105 props = properties and list(properties) or cl.properties.keys() 114 props = properties and list(properties) or cl.properties.keys()
106 props.sort() 115 props.sort()

Roundup Issue Tracker: http://roundup-tracker.org/