class NewSPAdminPage(Page):
def __init__(self, site, parent):
- super(NewSPAdminPage, self).__init__(site)
+ super(NewSPAdminPage, self).__init__(site, form=True)
self.parent = parent
self.title = 'New Service Provider'
self.backurl = parent.url
return self.form_new(message, message_type)
- def root(self, *args, **kwargs):
- op = getattr(self, cherrypy.request.method, self.GET)
- if callable(op):
- return op(*args, **kwargs)
-
class InvalidValueFormat(Exception):
pass
class SPAdminPage(Page):
def __init__(self, sp, site, parent):
- super(SPAdminPage, self).__init__(site)
+ super(SPAdminPage, self).__init__(site, form=True)
self.parent = parent
self.sp = sp
self.title = sp.name
self._debug("Replacing %s: %s -> %s" % (key,
self.sp.default_nameid,
value))
+ if not self.sp.is_valid_nameid(value):
+ raise InvalidValueFormat('Invalid default nameid value')
return {'default_nameid': value}
else:
raise UnauthorizedUser("Unauthorized to set default nameid value")
self._debug("Replacing %s: %s -> %s" % (key,
self.sp.allowed_nameids,
list(v)))
+ for x in v:
+ if not self.sp.is_valid_nameid(x):
+ l = ', '.join(self.sp.valid_nameids())
+ err = 'Invalid nameid [%s]. Available [%s].' % (x, l)
+ raise InvalidValueFormat(err)
return {'allowed_nameids': list(v)}
else:
raise UnauthorizedUser("Unauthorized to set alowed nameids values")
return self.form_standard(message, message_type)
- def root(self, *args, **kwargs):
- op = getattr(self, cherrypy.request.method, self.GET)
- if callable(op):
- return op(*args, **kwargs)
-
def delete(self):
self.parent.del_sp(self.sp.name)
self.sp.permanently_delete()