def get_csv_rows(self, queryset, type, model): data = [self.get_csv_header()] total = queryset.count() processed = 0 job = get_current_job() for asset in queryset: row = [ 'part', ] if asset.part_info else [ 'device', ] for item in self.columns: field = item.field if field: nested_field_name = item.foreign_field_name if nested_field_name == type: cell = self.get_cell(getattr(asset, type), field, model) elif nested_field_name == 'part_info': cell = self.get_cell(asset.part_info, field, PartInfo) elif nested_field_name == 'venture': cell = self.get_cell(asset.venture, field, Venture) elif nested_field_name == 'is_discovered': cell = unicode(asset.is_discovered) else: cell = self.get_cell(asset, field, Asset) row.append(unicode(cell)) data.append(row) processed += 1 set_progress(job, processed / total) set_progress(job, 1) return data
def get_csv_rows(self, queryset, type, model): data = [self.get_csv_header()] total = queryset.count() processed = 0 job = get_current_job() for asset in queryset: row = ['part'] if asset.part_info else ['device'] for item in self.columns: field = item.field if field: nested_field_name = item.foreign_field_name if nested_field_name == type: cell = self.get_cell( getattr(asset, type), field, model ) elif nested_field_name == 'part_info': cell = self.get_cell(asset.part_info, field, PartInfo) elif nested_field_name == 'venture': cell = self.get_cell(asset.venture, field, Venture) elif nested_field_name == 'is_discovered': cell = unicode(asset.is_discovered) else: cell = self.get_cell(asset, field, Asset) row.append(unicode(cell)) data.append(row) processed += 1 set_progress(job, processed / total) set_progress(job, 1) return data
def get_result(self, request, *args, **kwargs): self.kwargs = kwargs if not self.user_allowed(): messages.error( self.request, _("You don't have permission to view this."), ) return HttpResponseRedirect('..') query = self.get_queryset() rows = [ [ 'Id', 'Name', 'Venture', 'Role', 'Model', 'Data Center', 'Rack', 'Position', 'Barcode', 'SN', 'Margin', 'Deprecation', 'Price', 'Monthly Cost', 'Addresses', 'Management', 'Created', 'Last Seen', 'Purchased', 'Warranty Expiration', 'Support Expiration', 'Support Kind', 'Remarks' ], ] job = get_current_job() total = query.count() processed = 0 for dev in query.all(): show_tabs = set(_get_show_tabs(self.request, None, dev)) row = [ str(dev.id), dev.name or '' if 'info' in show_tabs else '', (dev.venture.symbol if dev.venture and 'info' in show_tabs else ''), (dev.venture_role.full_name if dev.venture_role and 'info' in show_tabs else ''), dev.get_model_name() or '' if 'info' in show_tabs else '', dev.dc or '' if 'info' in show_tabs else '', dev.rack or '' if 'info' in show_tabs else '', dev.get_position() if 'info' in show_tabs else '', dev.barcode or '' if 'info' in show_tabs else '', dev.sn or '' if 'info' in show_tabs else '', str(dev.get_margin()) + '%' if 'prices' in show_tabs else '', (dev.deprecation_kind.name if dev.deprecation_kind and 'prices' in show_tabs else ''), str(dev.cached_price) if 'prices' in show_tabs else '', str(dev.cached_cost) if 'costs' in show_tabs else '', ' '.join(ip.address for ip in dev.ipaddress_set.all()) if 'info' in show_tabs else '', dev.management or '' if 'info' in show_tabs else '', dev.created or '' if 'history' in show_tabs else '', dev.last_seen or '' if 'history' in show_tabs else '', dev.purchase_date or '' if 'purchase' in show_tabs else '', (dev.warranty_expiration_date or '' if 'purchase' in show_tabs else ''), (dev.support_expiration_date or '' if 'purchase' in show_tabs else ''), dev.support_kind or '' if 'purchase' in show_tabs else '', dev.remarks or '' if 'info' in show_tabs else '', ] rows.append([unicode(r) for r in row]) processed += 1 set_progress(job, processed / total) set_progress(job, 1) return rows
def get_result(self, request, *args, **kwargs): self.kwargs = kwargs if not self.user_allowed(): messages.error( self.request, _("You don't have permission to view this."), ) return HttpResponseRedirect('..') query = self.get_queryset() rows = [ ['Id', 'Name', 'Venture', 'Role', 'Model', 'Data Center', 'Rack', 'Position', 'Barcode', 'SN', 'Margin', 'Deprecation', 'Price', 'Monthly Cost', 'Addresses', 'Management', 'Created', 'Last Seen', 'Purchased', 'Warranty Expiration', 'Support Expiration', 'Support Kind', 'Remarks'], ] job = get_current_job() total = query.count() processed = 0 for dev in query.all(): show_tabs = set(_get_show_tabs(self.request, None, dev)) row = [ str(dev.id), dev.name or '' if 'info' in show_tabs else '', ( dev.venture.symbol if dev.venture and 'info' in show_tabs else '' ), (dev.venture_role.full_name if dev.venture_role and 'info' in show_tabs else ''), dev.get_model_name() or '' if 'info' in show_tabs else '', dev.dc or '' if 'info' in show_tabs else '', dev.rack or '' if 'info' in show_tabs else '', dev.get_position() if 'info' in show_tabs else '', dev.barcode or '' if 'info' in show_tabs else '', dev.sn or '' if 'info' in show_tabs else '', str(dev.get_margin()) + '%' if 'prices' in show_tabs else '', (dev.deprecation_kind.name if dev.deprecation_kind and 'prices' in show_tabs else ''), str(dev.cached_price) if 'prices' in show_tabs else '', str(dev.cached_cost) if 'costs' in show_tabs else '', ' '.join( ip.address for ip in dev.ipaddress_set.all() ) if 'info' in show_tabs else '', dev.management or '' if 'info' in show_tabs else '', dev.created or '' if 'history' in show_tabs else '', dev.last_seen or '' if 'history' in show_tabs else '', dev.purchase_date or '' if 'purchase' in show_tabs else '', ( dev.warranty_expiration_date or '' if 'purchase' in show_tabs else '' ), ( dev.support_expiration_date or '' if 'purchase' in show_tabs else '' ), dev.support_kind or '' if 'purchase' in show_tabs else '', dev.remarks or '' if 'info' in show_tabs else '', ] rows.append([unicode(r) for r in row]) processed += 1 set_progress(job, processed / total) set_progress(job, 1) return rows