- if value:
- if name == 'Name':
- if not self.sp.is_valid_name(value):
- raise InvalidValueFormat(
- 'Invalid name! Use only numbers and'
- ' letters'
- )
- self.sp.name = value
- self.url = '%s/sp/%s' % (self.parent.url, value)
- self.parent.rename_sp(option.get_value(), value)
- elif name == 'User Owner':
- self.sp.owner = value
- elif name == 'Default NameID':
- self.sp.default_nameid = value
- elif name == 'Allowed NameIDs':
- self.sp.allowed_nameids = value
- elif name == 'Attribute Mapping':
- self.sp.attribute_mappings = value
- elif name == 'Allowed Attributes':
- self.sp.allowed_attributes = value
+ # A value of None means remove from the data store
+ if value is False or value == []:
+ continue
+ if name == 'Name':
+ if not self.sp.is_valid_name(value):
+ raise InvalidValueFormat(
+ 'Invalid name! Use only numbers and'
+ ' letters'
+ )
+ self.sp.name = value
+ self.url = '%s/sp/%s' % (self.parent.url, value)
+ self.parent.rename_sp(option.get_value(), value)
+ elif name == 'User Owner':
+ self.sp.owner = value
+ elif name == 'Default NameID':
+ self.sp.default_nameid = value
+ elif name == 'Allowed NameIDs':
+ self.sp.allowed_nameids = value
+ elif name == 'Attribute Mapping':
+ self.sp.attribute_mappings = value
+ elif name == 'Allowed Attributes':
+ self.sp.allowed_attributes = value