more tests
This commit is contained in:
@ -93,18 +93,8 @@ class TiramisuOptionOption:
|
||||
raise Exception('unsupported type {}'.format(self.schema['type']))
|
||||
|
||||
def properties(self) -> List[str]:
|
||||
props = []
|
||||
model = self.model.get(self._path, {})
|
||||
if model.get('required'):
|
||||
# FIXME 'empty', 'needs_len'
|
||||
props.append('mandatory')
|
||||
if model.get('readOnly'):
|
||||
props.append('frozen')
|
||||
if self.config.get_hidden(self._path):
|
||||
props.append('hidden')
|
||||
if self.form.get(self._path, {}).get('clearable'):
|
||||
props.append('clearable')
|
||||
return props
|
||||
return self.config.get_properties(self.model, self._path)
|
||||
|
||||
def requires(self) -> None:
|
||||
# FIXME
|
||||
@ -121,25 +111,13 @@ class TiramisuOptionProperty:
|
||||
self.model = model
|
||||
|
||||
def get(self, only_raises=False):
|
||||
# FIXME if slave:
|
||||
#if not isslave and childapi.option.ismulti():
|
||||
# if 'empty' in props:
|
||||
# obj['required'] = True
|
||||
# props.remove('empty')
|
||||
# if 'mandatory' in props:
|
||||
# obj['needs_len'] = True
|
||||
# props.remove('mandatory')
|
||||
if not only_raises:
|
||||
properties = self.model.get('properties', [])[:]
|
||||
if self.model.get('required', False):
|
||||
properties.append('mandatory')
|
||||
if self.model.get('readOnly', False):
|
||||
properties.append('frozen')
|
||||
props = self.config.get_properties(self.model, self.path, only_raises)
|
||||
else:
|
||||
properties = []
|
||||
props = []
|
||||
if self.config.get_hidden(self.path):
|
||||
properties.append('hidden')
|
||||
return properties
|
||||
props.append('hidden')
|
||||
return props
|
||||
|
||||
|
||||
class _Value:
|
||||
@ -216,6 +194,9 @@ class TiramisuOptionOwner:
|
||||
def isdefault(self) -> Any:
|
||||
return self.config.get_owner(self.path) == 'default'
|
||||
|
||||
def get(self) -> str:
|
||||
return self.config.get_owner(self.path)
|
||||
|
||||
|
||||
class TiramisuOptionValue(_Value):
|
||||
# config.option(path).value
|
||||
@ -572,6 +553,26 @@ class Config:
|
||||
remote,
|
||||
None)
|
||||
|
||||
def get_properties(self,
|
||||
model,
|
||||
path,
|
||||
only_raises=True):
|
||||
props = model.get('properties', [])[:]
|
||||
if model.get('required'):
|
||||
if self.get_schema(path).get('isMulti', False):
|
||||
props.append('empty')
|
||||
else:
|
||||
props.append('mandatory')
|
||||
if model.get('needs_len'):
|
||||
props.append('mandatory')
|
||||
if model.get('readOnly'):
|
||||
props.append('frozen')
|
||||
if only_raises and self.get_hidden(path):
|
||||
props.append('hidden')
|
||||
if self.form.get(path, {}).get('clearable'):
|
||||
props.append('clearable')
|
||||
return props
|
||||
|
||||
def get_schema(self,
|
||||
path):
|
||||
root_path = self.root
|
||||
|
Reference in New Issue
Block a user