Beispiel #1
0
    def build_report(self):
        metadata = Metadata()
        display_data = metadata.interrogateMetadata(self.page, 'display')
        display_names = display_data['col_attributes']
        table = HtmlTable(border=1, cellpadding=3)
        table.addHeader(['Field', 'Entry'])

        for column, display in display_names:
            if self.activity == 'view':
            # make a simple table, not a form
                for rec in self.recordData:
                    if rec[column]:
                        data = rec[column]
                    else:
                        data = self.show_blank
                table.addRow([display, data])                 

            else:
            #use methods to build form
                form = self.columns[column][0]['form_type']
#                type_method = {'text'        :' self.getTextField(column)',
#                               'drop_down'   : 'self.getDropDown(column)',
#                               'radio_static': 'self.getStaticRadio(column)',
#                               'autocomplete': 'self.getAutocomplete(column)'
#                              }

                if form == 'text':
                    form_field =self.getTextField(column)
                if form == 'drop_down':
                    form_field =self.getDropDown(column)
                if form == 'radio_static':
                    form_field =self.getStaticRadio(column)
                if form == 'autocomplete':
                    form_field =self.getAutocomplete(column)

                table.addRow([display, form_field])

        #push final product
        report = table.getTable()
        return report