def data_providers(self): config = self.report_config report_type = self.request.GET.get('report_type', None) if self.is_reporting_type(): self.split = True if self.is_rendered_as_email and self.is_rendered_as_print: return [ FacilityReportData(config), InventoryManagementData(config) ] elif self.is_rendered_as_email: return [ FacilityReportData(config) ] else: return [ FacilityReportData(config), StockLevelsLegend(config), InputStock(config), UsersData(config), InventoryManagementData(config), ProductSelectionPane(config, hide_columns=False) ] self.split = False if report_type == 'stockouts': config.update(self.stockouts_data()) return [ ProductSelectionPane(config=config, hide_columns=False), StockoutsProduct(config=config), StockoutTable(config=config) ] elif report_type == 'asi': config.update(self.data()) if self.is_rendered_as_email and not self.is_rendered_as_print: return [ ProductSelectionPane(config=config), MonthOfStockProduct(config=config), StockoutTable(config=config) ] return [ ProductSelectionPane(config=config), ProductAvailabilityData(config=config), MonthOfStockProduct(config=config), StockoutsProduct(config=config), StockoutTable(config=config) ] else: config.update(self.data()) providers = [ ProductSelectionPane(config=config), ProductAvailabilityData(config=config), MonthOfStockProduct(config=config) ] if self.is_rendered_as_email and not self.is_rendered_as_print: providers.pop(1) return providers
def data_providers(self): config = self.report_config if self.is_reporting_type(): self.split = True if self.is_rendered_as_email and self.is_rendered_as_print: return [ FacilityReportData(config), InventoryManagementData(config) ] elif self.is_rendered_as_email: return [FacilityReportData(config)] else: return [ FacilityReportData(config), StockLevelsLegend(config), InputStock(config), UsersData(config), InventoryManagementData(config), ProductSelectionPane(config, hide_columns=False) ] self.split = False config.update(self.reporting_rates()) if self.is_rendered_as_print: return self.print_providers elif self.is_rendered_as_email: return self.email_providers data_providers = [ AlertsData(config=config), ReportingRates(config=config), ReportingDetails(config=config) ] location = SQLLocation.objects.get(location_id=config['location_id']) if config['location_id'] and location.location_type.name.lower() in [ 'country', 'region' ]: data_providers.append(SummaryReportingRates(config=config)) data_providers.extend( [NonReporting(config=config), InCompleteReports(config=config)]) return data_providers
def data_providers(self): config = self.report_config location_types = [ loc_type.name for loc_type in filter( lambda loc_type: not loc_type.administrative, Domain.get_by_name(self.domain).location_types) ] if not self.needs_filters and Location.get( config['location_id']).location_type in location_types: if self.is_rendered_as_email: return [FacilityReportData(config)] else: return [ FacilityReportData(config), StockLevelsLegend(config), InputStock(config), UsersData(config), InventoryManagementData(config), ProductSelectionPane(config, hide_columns=False) ]
def data_providers(self): config = self.report_config if self.is_reporting_type(): self.emailable = True self.split = True if self.is_rendered_as_email: return [FacilityReportData(config)] else: return [ FacilityReportData(config), StockLevelsLegend(config), InputStock(config), UsersData(config), InventoryManagementData(config), ProductSelectionPane(config, hide_columns=False) ] self.split = False self.emailable = False config.update(self.data()) return [ ProductAvailabilityData(config=config), ReportingRates(config=config), ReportingDetails(config=config) ]