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