def build_fieldsets_from_schema_plain(self, include_inlines=False, inlines=()): """ Builds fieldsets using SchemaModel.get_fields(). """ # pylint: disable-msg=E1101 verify_subclass(self.model, SchemaModel) exclusion_list = set(self.get_excluded_fields() + self.get_hidden_fields() + self.get_non_editable_fields()) # pylint: disable-msg=E1101 _fields = self.model.get_fields_flat() _visible_fields = [] for _field_name in _fields: if self.is_visible_as_normal_field(_field_name, exclusion_list): _visible_fields.append(_field_name) elif self.is_visible_as_inline(_field_name, include_inlines, inlines): _visible_fields.append(encode_as_inline(_field_name)) _fieldsets = ((None, { 'fields': _visible_fields + list(self.get_hidden_fields()) }), ) return _fieldsets
def build_fieldsets_from_schema_tabbed(self, include_inlines=False, inlines=()): """ Builds fieldsets using SchemaModel.get_fields(), for tabbed viewing (required/recommended/optional). """ # pylint: disable-msg=E1101 verify_subclass(self.model, SchemaModel) exclusion_list = () if hasattr(self, 'exclude') and self.exclude is not None: exclusion_list += tuple(self.exclude) _hidden_fields = getattr(self, 'hidden_fields', None) # hidden fields are also excluded if _hidden_fields: for _hidden_field in _hidden_fields: if _hidden_field not in exclusion_list: exclusion_list += (_hidden_field, ) _readonly_fields = getattr(self, 'readonly_fields', None) # readonly fields are also excluded if _readonly_fields: for _readonly_field in _readonly_fields: if _readonly_field not in exclusion_list: exclusion_list += (_readonly_field, ) _fieldsets = [] # pylint: disable-msg=E1101 _fields = self.model.get_fields() for _field_status in ('required', 'recommended', 'optional'): _visible_fields = [] _visible_fields_verbose_names = [] for _field_name in _fields[_field_status]: if self.is_visible_as_normal_field(_field_name, exclusion_list): _visible_fields.append(_field_name) is_visible = True elif self.is_visible_as_inline(_field_name, include_inlines, inlines): _visible_fields.append(encode_as_inline(_field_name)) is_visible = True else: is_visible = False if is_visible: _visible_fields_verbose_names.append(self.model.get_verbose_name(_field_name)) if len(_visible_fields) > 0: _detail = ', '.join(_visible_fields_verbose_names) _caption = '{0} information: {1}'.format(_field_status.capitalize(), _detail) _fieldset = {'fields': _visible_fields} _fieldsets.append((_caption, _fieldset)) if _hidden_fields: _fieldsets.append((None, {'fields': _hidden_fields, 'classes':('display_none', )})) return _fieldsets
def build_fieldsets_from_schema_tabbed(self, include_inlines=False, inlines=()): """ Builds fieldsets using SchemaModel.get_fields(), for tabbed viewing (required/recommended/optional). """ # pylint: disable-msg=E1101 verify_subclass(self.model, SchemaModel) exclusion_list = set(self.get_excluded_fields() + self.get_hidden_fields() + self.get_non_editable_fields()) _fieldsets = [] # pylint: disable-msg=E1101 _fields = self.model.get_fields() for _field_status in ('required', 'recommended', 'optional'): _visible_fields = [] _visible_fields_verbose_names = [] for _field_name in _fields[_field_status]: if self.is_visible_as_normal_field(_field_name, exclusion_list): _visible_fields.append(_field_name) is_visible = True elif self.is_visible_as_inline(_field_name, include_inlines, inlines): _visible_fields.append(encode_as_inline(_field_name)) is_visible = True else: is_visible = False if is_visible: _visible_fields_verbose_names.append( self.model.get_verbose_name(_field_name)) if len(_visible_fields) > 0: _detail = ', '.join(_visible_fields_verbose_names) _caption = '{0} information: {1}'.format( _field_status.capitalize(), _detail) _fieldset = {'fields': _visible_fields} _fieldsets.append((_caption, _fieldset)) _hidden_fields = self.get_hidden_fields() if _hidden_fields: _fieldsets.append((None, { 'fields': _hidden_fields, 'classes': ('display_none', ) })) return _fieldsets
def build_fieldsets_from_schema_plain(self, include_inlines=False): """ Builds fieldsets using SchemaModel.get_fields(). """ # pylint: disable-msg=E1101 verify_subclass(self.model, SchemaModel) exclusion_list = () if hasattr(self, 'exclude') and self.exclude is not None: exclusion_list += tuple(self.exclude) _hidden_fields = getattr(self, 'hidden_fields', None) _hidden_fields = _hidden_fields or [] # hidden fields are also excluded for _hidden_field in _hidden_fields: if _hidden_field not in exclusion_list: exclusion_list += _hidden_field _readonly_fields = getattr(self, 'readonly_fields', None) # readonly fields are also excluded if _readonly_fields: for _readonly_field in _readonly_fields: if _readonly_field not in exclusion_list: exclusion_list += (_readonly_field, ) # pylint: disable-msg=E1101 _fields = self.model.get_fields_flat() _visible_fields = [] for _field_name in _fields: # Two possible reasons why a field might be encoded as an inline: # - either it's a OneToOneField and we have put # it into tht eexclusion list; # - or it's a reverse foreigh key, so it is not a field. # In both cases, we only include it in visible fields if # include_inlines is requested. _is_visible = False if self.is_field(_field_name) and _field_name not in exclusion_list: _is_visible = True _fieldname_to_append = _field_name elif include_inlines: _is_visible = True _fieldname_to_append = encode_as_inline(_field_name) if _is_visible: _visible_fields.append(_fieldname_to_append) _fieldsets = ((None, {'fields': _visible_fields + list(_hidden_fields)} ),) return _fieldsets
def build_fieldsets_from_schema_plain(self, include_inlines=False, inlines=()): """ Builds fieldsets using SchemaModel.get_fields(). """ # pylint: disable-msg=E1101 verify_subclass(self.model, SchemaModel) exclusion_list = () if hasattr(self, 'exclude') and self.exclude is not None: exclusion_list += tuple(self.exclude) _hidden_fields = getattr(self, 'hidden_fields', None) _hidden_fields = _hidden_fields or [] # hidden fields are also excluded for _hidden_field in _hidden_fields: if _hidden_field not in exclusion_list: exclusion_list += _hidden_field _readonly_fields = getattr(self, 'readonly_fields', None) # readonly fields are also excluded if _readonly_fields: for _readonly_field in _readonly_fields: if _readonly_field not in exclusion_list: exclusion_list += (_readonly_field, ) # pylint: disable-msg=E1101 _fields = self.model.get_fields_flat() _visible_fields = [] for _field_name in _fields: if self.is_visible_as_normal_field(_field_name, exclusion_list): _visible_fields.append(_field_name) elif self.is_visible_as_inline(_field_name, include_inlines, inlines): _visible_fields.append(encode_as_inline(_field_name)) _fieldsets = ((None, {'fields': _visible_fields + list(_hidden_fields)} ),) return _fieldsets
def build_fieldsets_from_schema_plain(self, include_inlines=False, inlines=()): """ Builds fieldsets using SchemaModel.get_fields(). """ # pylint: disable-msg=E1101 verify_subclass(self.model, SchemaModel) exclusion_list = set(self.get_excluded_fields() + self.get_hidden_fields() + self.get_non_editable_fields()) # pylint: disable-msg=E1101 _fields = self.model.get_fields_flat() _visible_fields = [] for _field_name in _fields: if self.is_visible_as_normal_field(_field_name, exclusion_list): _visible_fields.append(_field_name) elif self.is_visible_as_inline(_field_name, include_inlines, inlines): _visible_fields.append(encode_as_inline(_field_name)) _fieldsets = ((None, {'fields': _visible_fields + list(self.get_hidden_fields())} ),) return _fieldsets
def build_fieldsets_from_schema(self, include_inlines=False, inlines=()): """ Builds fieldsets using SchemaModel.get_fields(). """ # pylint: disable-msg=E1101 verify_subclass(self.model, SchemaModel) exclusion_list = () if hasattr(self, 'exclude') and self.exclude is not None: exclusion_list += tuple(self.exclude) _hidden_fields = getattr(self, 'hidden_fields', None) # hidden fields are also excluded if _hidden_fields: for _hidden_field in _hidden_fields: if _hidden_field not in exclusion_list: exclusion_list += (_hidden_field, ) _readonly_fields = getattr(self, 'readonly_fields', None) # readonly fields are also excluded if _readonly_fields: for _readonly_field in _readonly_fields: if _readonly_field not in exclusion_list: exclusion_list += (_readonly_field, ) _fieldsets = [] _content_fieldsets = [] # pylint: disable-msg=E1101 _fields = self.model.get_fields() _has_content_fields = hasattr(self, 'content_fields') for _field_status in ('required', 'recommended', 'optional'): _visible_fields = [] _visible_fields_verbose_names = [] _visible_content_fields = [] # pylint: disable-msg=C0103 _visible_content_fields_verbose_names = [] for _field_name in _fields[_field_status]: _is_visible = False if self.is_visible_as_normal_field(_field_name, exclusion_list): _is_visible = True _fieldname_to_append = _field_name elif self.is_visible_as_inline(_field_name, include_inlines, inlines): _is_visible = True _fieldname_to_append = encode_as_inline(_field_name) # Now, where to show the field: in administrative or in content fieldset: if _has_content_fields and _field_name in self.content_fields: _relevant_fields = _visible_content_fields _verbose_names = _visible_content_fields_verbose_names else: _relevant_fields = _visible_fields _verbose_names = _visible_fields_verbose_names # And now put the field where it belongs: if _is_visible: _relevant_fields.append(_fieldname_to_append) _verbose_names.append(self.model.get_verbose_name(_field_name)) if len(_visible_fields) > 0: _detail = ', '.join(_visible_fields_verbose_names) _caption = '{0} administration information: {1}'.format(_field_status.capitalize(), _detail) _fieldset = {'fields': _visible_fields} _fieldsets.append((_caption, _fieldset)) if len(_visible_content_fields) > 0: _caption = '{0} content information: {1}'.format(_field_status.capitalize(), '') _fieldset = {'fields': _visible_content_fields} _content_fieldsets.append((_caption, _fieldset)) _fieldsets += _content_fieldsets if _hidden_fields: _fieldsets.append((None, {'fields': _hidden_fields, 'classes':('display_none', )})) return _fieldsets
def build_fieldsets_from_schema_tabbed(self, include_inlines): """ Builds fieldsets using SchemaModel.get_fields(), for tabbed viewing (required/recommended/optional). """ # pylint: disable-msg=E1101 verify_subclass(self.model, SchemaModel) exclusion_list = () if hasattr(self, 'exclude') and self.exclude is not None: exclusion_list += tuple(self.exclude) _hidden_fields = getattr(self, 'hidden_fields', None) # hidden fields are also excluded if _hidden_fields: for _hidden_field in _hidden_fields: if _hidden_field not in exclusion_list: exclusion_list += (_hidden_field, ) _readonly_fields = getattr(self, 'readonly_fields', None) # readonly fields are also excluded if _readonly_fields: for _readonly_field in _readonly_fields: if _readonly_field not in exclusion_list: exclusion_list += (_readonly_field, ) _fieldsets = [] # pylint: disable-msg=E1101 _fields = self.model.get_fields() for _field_status in ('required', 'recommended', 'optional'): _visible_fields = [] _visible_fields_verbose_names = [] for _field_name in _fields[_field_status]: # Two possible reasons why a field might be encoded as an inline: # - either it's a OneToOneField and we have put # it into tht eexclusion list; # - or it's a reverse foreigh key, so it is not a field. # In both cases, we only include it in visible fields if # include_inlines is requested. _is_visible = False if self.is_field(_field_name) and _field_name not in exclusion_list: _is_visible = True _fieldname_to_append = _field_name elif include_inlines: _is_visible = True _fieldname_to_append = encode_as_inline(_field_name) _relevant_fields = _visible_fields _verbose_names = _visible_fields_verbose_names # And now put the field where it belongs: if _is_visible: _relevant_fields.append(_fieldname_to_append) _verbose_names.append(self.model.get_verbose_name(_field_name)) if len(_visible_fields) > 0: _detail = ', '.join(_visible_fields_verbose_names) _caption = '{0} information: {1}'.format(_field_status.capitalize(), _detail) _fieldset = {'fields': _visible_fields} _fieldsets.append((_caption, _fieldset)) if _hidden_fields: _fieldsets.append((None, {'fields': _hidden_fields, 'classes':('display_none', )})) return _fieldsets