Пример #1
0
class ContentSchemaView(PageletDisplayForm):

    @property
    def fields(self):
        schema = self.schema
        data = schema.getSchemaData()

        fields = []
        for name, field in IOrder(schema).items():
            if data.get(name, field.missing_value) is not field.missing_value:
                fields.append(field)

        return Fields(*fields)

    def update(self):
        self.schema = IContentSchema(self.context)

        if self.schema is not None:
            super(ContentSchemaView, self).update()

    def getContent(self):
        return self.schema.getSchemaData()

    def render(self):
        if self.schema is None or not self.fields:
            return u''

        return super(ContentSchemaView, self).render()