示例#1
0
 def formatter(self):
     if self.config['table_card_group_by'] == 'group_name':
         return TableCardDataGroupsIndividualFormatter(
             TableDataFormat(self.columns, no_value=self.no_value))
     else:
         return TableCardDataIndividualFormatter(
             TableDataFormat(self.columns, no_value=self.no_value))
示例#2
0
 def format_rows(self, rows):
     formatter = TableCardDataIndividualFormatter(
         TableDataFormat(self.columns, no_value=self.no_value))
     formatted_rows = formatter.format(rows,
                                       keys=self.keys,
                                       group_by=self.group_by,
                                       domain=self.domain)
     formatter = TableCardDataGroupsFormatter(
         TableDataFormat(self.columns, no_value=self.no_value))
     return formatter.format(list(formatted_rows),
                             keys=self.keys,
                             group_by=self.group_by)
示例#3
0
 def rows(self):
     formatter = DataFormatter(
         TableDataFormat(self.data_provider.columns,
                         no_value=self.data_provider.no_value))
     return formatter.format(self.data_provider.data,
                             keys=self.data_provider.keys,
                             group_by=self.data_provider.group_by)
示例#4
0
 def rows(self):
     formatter = DataFormatter(
         TableDataFormat(self.columns, no_value=self.no_value))
     rows = list(
         formatter.format(self.data, keys=self.keys,
                          group_by=self.group_by))
     return rows
 def rows(self):
     formatter = CareDataFormatter(
         TableDataFormat(self.data_provider.columns,
                         no_value=self.data_provider.no_value))
     return formatter.format(self.data_provider.data,
                             keys=self.data_provider.keys,
                             group_by=self.data_provider.group_by,
                             domain=self.domain,
                             chunk_size=self.chunk_size)
示例#6
0
    def rows(self):
        formatter = DataFormatter(TableDataFormat(self.columns, no_value=self.no_value))
        rows = list(formatter.format(self.data, keys=self.keys, group_by=self.group_by))

        #Months are displayed in chronological order
        if 'month' in self.group_by:
            from custom.intrahealth.reports import get_localized_months
            return sorted(rows, key=lambda row: get_localized_months().index(row[0]))

        return rows
示例#7
0
 def format_rows(self, rows):
     formatter = self.formatter
     formatted_rows = formatter.format(
         rows,
         keys=self.keys,
         group_by=self.config['table_card_group_by'],
         domain=self.domain,
         practices=list(self.flat_practices))
     formatter = TableCardDataGroupsFormatter(
         TableDataFormat(self.columns, no_value=self.no_value))
     return formatter.format(list(formatted_rows),
                             keys=self.keys,
                             group_by=self.group_by)
示例#8
0
    def get_report_context(self, data_provider):
        headers = DataTablesHeader(
            *[c.data_tables_column for c in data_provider.columns])

        if self.needs_filters:
            rows = []
            charts = []
            total_row = []
        else:
            formatter = DataFormatter(
                TableDataFormat(data_provider.columns, no_value=self.no_value))
            rows = list(
                formatter.format(data_provider.data,
                                 keys=data_provider.keys,
                                 group_by=data_provider.group_by))
            charts = list(
                self.get_chart(
                    rows,
                    data_provider.columns,
                    x_label=data_provider.chart_x_label,
                    y_label=data_provider.chart_y_label,
                    has_total_column=data_provider.has_total_column))

            total_row = list(calculate_total_row(rows))
            if total_row:
                total_row[0] = 'Total'

        context = dict(report_table=dict(title=data_provider.title,
                                         headers=headers,
                                         rows=rows,
                                         total_row=total_row,
                                         default_rows=self.default_rows,
                                         datatables=True),
                       charts=charts,
                       chart_span=12)

        return context
示例#9
0
 def format_rows(self, rows):
     formatter = TableCardDataGroupsFormatter(TableDataFormat(self.columns, no_value=self.no_value))
     return formatter.format(rows, keys=self.keys, group_by=self.group_by)