def load_data(self, readonly=False): self.data = [] cols = len(self.hheaders) def blank_line(): return [BlankCell(self) for x in range(0, cols)] for cap in self.report.caps(): # add a blank line for the section header self.data.append(blank_line()) cap_cons_report = getattr(self.report, 'cons_%s_report' % cap) cap_order_report = getattr(self.report, 'order_%s_report' % cap) for icr in cap_cons_report.nutinput_reports: ior = InputOrderReport.filter(order_report=cap_order_report, nut_input=icr.nut_input).get() self.vheaders.append(icr.nut_input.name.upper()) cells = [] cells.append(ReportValueEditItem(self, icr, 'initial', None)) cells.append(ReportValueEditItem(self, icr, 'received', None)) cells.append(ReportConsUsedValueEditItem(self, icr, 'used', None)) cells.append(ReportValueEditItem(self, icr, 'lost', None)) cells.append(ReportAutoQuantitiesLeft(self, icr, 'left', None)) cells.append(ReportOrderValueEditItem(self, ior, 'quantity', None)) self.data.append(cells) # add total line self.data.append([ColumnSumItem(self, None, None) for x in range(0, cols)]) self.rows_for_cap('mam') self.rows_for_cap('sam')
def __init__(self, parent, report, order_report): super(CONSOTable, self).__init__(parent) for icr in report.nutinput_reports: ior = InputOrderReport.filter(order_report=order_report, nut_input=icr.nut_input).get() self.vheaders.append(icr.nut_input.name.upper()) self.data.append((icr.initial, icr.received, icr.used, icr.lost, icr.left, ior.quantity)) self.hheaders = [u"Début mois", u"Reçus", u"Utilisés", u"Perdus", u"Restants", u"Commandés"] self.refresh()