We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 595fdf3 commit f563df9Copy full SHA for f563df9
roundup/rest.py
@@ -89,7 +89,23 @@ def put_collection(self, class_name, input):
89
raise Reject('Invalid request')
90
91
def put_element(self, class_name, item_id, input):
92
- raise NotImplementedError
+ 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
109
110
def delete_collection(self, class_name, input):
111
if not self.db.security.hasPermission('Delete', self.db.getuid(),
0 commit comments