def resolve_value(self, value): if value: for history_row in value: history_row.value = resolve_object(history_row.value) if value is None: return fredtypes.Null() return value
def _set_value(self, value): if self.access: self._value = self.resolve_value(value) self.make_content() else: self._value = fredtypes.Null() #None self.make_content_no_access()
def __setattr__(self, name, value): if name == 'content': if value == None or value == fredtypes.Null(): super(WebWidget, self).__setattr__('content', []) else: super(WebWidget, self).__setattr__('content', list(value)) elif name in self.tattr_list: self.tattr[name] = value else: super(WebWidget, self).__setattr__(name, value)
def render_tattr(self): '''Returns space-separated list of widget's tag attributes''' rstr = '' for key, val in self.tattr.items(): if val is not None and val != fredtypes.Null(): val = escape(unicode(val), quote=True) if key in self.attr_translation.keys(): rstr += u' %s="%s"' % (self.attr_translation[key], val) else: rstr += u' %s="%s"' % (key, val) return rstr
def resolve_value(self, value): if value: for history_row in value: if isinstance(history_row.value, CORBA.Any): object_list = from_any(history_row.value, True) else: # this HistoryRecordList was transformed before (we got here after cache hit), so skip tranformation break new_obj_list = [] for obj in object_list: new_obj_list.append(resolve_object(obj)) history_row.value = new_obj_list if value is None: return fredtypes.Null() return value
def __init__(self, name='', label=None, nperm=None, *content, **kwd): super(DField, self).__init__(*content, **kwd) self.tag = '' self.name = name self.label = label self._nperm = nperm self.owner_form = None self._value = fredtypes.Null() #None self.access = True # if user have nperm for this field, then this will be set to False in Detail.build_fields() self.no_access_content = div(attr(cssc='no_access'), _('CENSORED')) # Increase the creation counter, and save our local copy. self.creation_counter = DField.creation_counter DField.creation_counter += 1
def _has_changed(self, initial, data): """ Returns True if data differs from initial. """ # For purposes of seeing whether something has changed, None is # the same as an empty string, if the data or inital value we get # is None, replace it w/ u''. if data is None: data_value = u'' else: data_value = data if initial is None or initial == fredtypes.Null(): initial_value = u'' else: initial_value = initial if unicode(initial_value).strip() != unicode(data_value).strip(): return True return False
def value_from_data(self, data): value = data.get(self.name) if value: if self.owner_detail.history and len( value) > 1 and not self.owner_detail.is_nested: self.displaying_history = True self.history_field.owner_detail = self.owner_detail self._assign_current_field(self.history_field) return value else: self.normal_field.owner_detail = self.owner_detail self._assign_current_field(self.normal_field) return recoder.c2u(from_any(value[0].value, True)) else: self.normal_field.owner_detail = self.owner_detail self._assign_current_field(self.normal_field) return fredtypes.Null()
def resolve_value(self, value): if value != fredtypes.Null(): value = _(value._n) value = super(CorbaEnumDField, self).resolve_value(value) return value
def value_from_data(self, data): if data.get(self.name) is None: return fredtypes.Null() else: return data.get(self.name)
def _get_value(self): if self.current_field: return self.current_field._value else: return fredtypes.Null()
def resolve_value(self, value): if value is None: return fredtypes.Null() else: return value
def make_content(self): self.content = [] if self._value == '' or self._value == fredtypes.Null(): self.add(div(attr(cssc='field_empty'))) else: self.add(self._value)
def resolve_value(self, value): if value != fredtypes.Null(): value = unicode(value) return value
def resolve_value(self, value): if value != fredtypes.Null(): value = editforms.payment_map[value] return value
def _set_value(self, value): if self.access: self._value = self.resolve_value(value) else: self._value = fredtypes.Null() # None
def resolve_value(self, value): if value != fredtypes.Null(): return value #recoder.corba_to_date(value) else: return fredtypes.NullDate()