comparison roundup/rest.py @ 5564:da6b5724314f REST-rebased

Added Partial PUT committer: Ralf Schlatterbeck <rsc@runtux.com>
author Chau Nguyen <dangchau1991@yahoo.com>
date Wed, 30 Jan 2019 10:26:34 +0100
parents 9a1614ff752d
children b3d5085dd04e
comparison
equal deleted inserted replaced
5563:9a1614ff752d 5564:da6b5724314f
87 87
88 def put_collection(self, class_name, input): 88 def put_collection(self, class_name, input):
89 raise Reject('Invalid request') 89 raise Reject('Invalid request')
90 90
91 def put_element(self, class_name, item_id, input): 91 def put_element(self, class_name, item_id, input):
92 raise NotImplementedError 92 class_obj = self.db.getclass(class_name)
93
94 input_data = ["%s=%s" % (item.name, item.value) for item in input.value]
95 props = xmlrpc.props_from_args(self.db, class_obj, input_data, item_id)
96 for p in props.iterkeys():
97 if not self.db.security.hasPermission('Edit', self.db.getuid(),
98 class_name, p, item_id):
99 raise Unauthorised('Permission to edit %s of %s%s denied' %
100 (p, class_name, item_id))
101 try:
102 result = class_obj.set(item_id, **props)
103 self.db.commit()
104 except (TypeError, IndexError, ValueError), message:
105 raise UsageError(message)
106
107 result['id'] = item_id
108 return result
93 109
94 def delete_collection(self, class_name, input): 110 def delete_collection(self, class_name, input):
95 if not self.db.security.hasPermission('Delete', self.db.getuid(), 111 if not self.db.security.hasPermission('Delete', self.db.getuid(),
96 class_name): 112 class_name):
97 raise Unauthorised('Permission to delete %s denied' % class_name) 113 raise Unauthorised('Permission to delete %s denied' % class_name)

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