Force readonly on screen to override any states attributes

This commit is contained in:
Cédric Krier committed 2008-04-17 14:58:23 +02:00
1 parent 7177a4db88
commit 3de8a20907
3 files changed
+7 -5

No files matched your search

@@ -106,6 +106,8 @@ class CharField(object):
eval(state_changes[key], values)
elif key in self.attrs:
self.get_state_attrs(model)[key] = self.attrs[key]
if model.mgroup.readonly:
self.get_state_attrs(model)['readonly'] = True
if 'value' in state_changes:
value = eval(state_changes['value'], values)
if value:
+3 -1
View File
@@ -68,7 +68,8 @@ class ModelList(list):
class ModelRecordGroup(SignalEvent):
def __init__(self, resource, fields, window, ids=None, parent=None, context=None):
def __init__(self, resource, fields, window, ids=None, parent=None, context=None,
readonly=False):
super(ModelRecordGroup, self).__init__()
self.window = window
self.parent = parent
@@ -84,6 +85,7 @@ class ModelRecordGroup(SignalEvent):
self.load(ids)
self.model_removed = []
self.on_write = ''
self.readonly = readonly
@staticmethod
def mfields_load(fkeys, models):
+2 -4
View File
@@ -60,7 +60,8 @@ class Screen(SignalEvent):
self.parent = parent
self.window = window
models = ModelRecordGroup(model_name, self.fields, self.window,
parent=self.parent, context=self.context)
parent=self.parent, context=self.context,
readonly=readonly)
self.models_set(models)
self.current_model = None
self.screen_container = ScreenContainer()
@@ -69,7 +70,6 @@ class Screen(SignalEvent):
self.__current_view = 0
self.tree_saves = tree_saves
self.limit = limit
self.readonly = readonly
self.form = form
self.fields_view_tree = None
self.exclude_field = exclude_field
@@ -274,8 +274,6 @@ class Screen(SignalEvent):
attrs = node_attributes(node)
if attrs.get('widget', False):
attrs['type'] = attrs['widget']
if self.readonly:
attrs['readonly'] = 1
try:
fields[str(attrs['name'])].update(attrs)
except: