Skip to content

Commit 62400a6

Browse files
committed
Restrict user creation rights in XMLRPC frontend.
1 parent ee4d003 commit 62400a6

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

roundup/xmlrpc.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ def display(self, designator, *properties):
9090
return dict(result)
9191

9292
def create(self, classname, *args):
93+
9394
if not self.db.security.hasPermission('Create', self.db.getuid(), classname):
9495
raise Unauthorised('Permission to create %s denied'%classname)
9596

@@ -103,6 +104,11 @@ def create(self, classname, *args):
103104
if key and not props.has_key(key):
104105
raise UsageError, 'you must provide the "%s" property.'%key
105106

107+
for key in props:
108+
if not self.db.security.hasPermission('Edit', self.db.getuid(), classname,
109+
property=key):
110+
raise Unauthorised('Permission to create %s denied'%classname)
111+
106112
# do the actual create
107113
try:
108114
result = cl.create(**props)
@@ -129,7 +135,7 @@ def set(self, designator, *args):
129135
builtin_actions = {'retire': actions.Retire}
130136

131137
def action(self, name, *args):
132-
""""""
138+
"""Execute a named action."""
133139

134140
if name in self.actions:
135141
action_type = self.actions[name]

0 commit comments

Comments
 (0)