def core_index(request): sites = Site.objects.all() def width_helper(text): return len(text) * 8 # hackhackhack def get_security_zone(network): kv = network.keyvalue_set.filter(key='security_zone') if kv: return to_a(kv[0].value, kv[0]) else: return '' table_meta_template = { 'caption': '', 'vlans': None, 'sites': None, 'headers': [('name', lambda v: to_a(v.name, v)), ('number', lambda v: to_a(v.number, v))], 'network_data': [ # This will be applied per network in a vlan and # wll be the stored in the td ('security_zone', get_security_zone), ('network', lambda n: to_a(n.network_str, n)) ] } tables = [] all_names = (Site.objects.order_by('name').values_list( 'name', flat=True).distinct()) def make_table(caption, sites): nets = [] for site in sites: nets.append( site.network_set.filter(site=site).filter(~Q(vlan=None))) flat_nets = list(itertools.chain(*nets)) vlans = set(map(lambda n: n.vlan, flat_nets)) table = table_meta_template.copy() table['caption'] = caption table['vlans'] = vlans table['sites'] = sites return table for site_name in all_names: sites = Site.objects.filter(name=site_name) tables.append(make_table(site_name.title(), sites)) return render(request, 'core/core_index.html', { 'sites': sites, 'tables': tables, 'width_helper': width_helper })
def details(self): details = [ ('Name', self.full_name), ] if self.parent: details.append( ('Parent Site', to_a(self.parent.full_name, self.parent))) else: details.append(('All sites', to_a('Global Site View', reverse('site-list'), use_absolute_url=False))) return details
def details(self): details = [ ('Network', self.network_str), ] if self.vlan: details.append( ('Vlan', to_a("{0}:{1}".format(self.vlan.name, self.vlan.number), self.vlan))) if self.site: details.append(('Site', to_a(self.site.full_name, self.site))) return details
def details(self): r = [ # Name and site are always present ('Name', self.name), ( 'Site', to_a(self.site.full_name, self.site) if self.site else "No site" ) ] if self.alias: r.append(('Alias', self.get_attr('alias'))) if self.impact: r.append(('Impact', self.get_attr('impact'))) if self.used_by: r.append(('Used By', self.get_attr('used_by'))) if self.category: r.append(('Category', self.get_attr('category'))) if self.tech_owner: r.append(('Tech Owner', mozillian_a(self.get_attr('tech_owner')))) if self.business_owner: r.append(( 'Business Owner', mozillian_a(self.get_attr('business_owner')) )) if self.description: r.append(('Description', self.get_attr('description'))) if self.parent_service: r.append(( 'Parent Service', to_a(self.parent_service.name, self.parent_service) )) if self.providers.exists(): providers = ', '.join([ to_a(str(d.provider), d.provider) for d in self.providers.all() ]) r.append(('Depends on', providers)) if self.dependants.exists(): dependants = ', '.join([ to_a(str(d.dependant), d.dependant) for d in self.dependants.all() ]) r.append(('Depended on by', dependants)) if self.allocations.exists(): r.append(('IT Owners', self.get_allocations_str())) return r
def details(self): details = [ ('Name', self.full_name), ] if self.parent: details.append( ('Parent Site', to_a(self.parent.full_name, self.parent)) ) else: details.append( ('All sites', to_a('Global Site View', reverse('site-list'), use_absolute_url=False)) ) return details
def details(self): details = [("Network", self.network_str), ("Reserved", self.is_reserved)] if self.vlan: details.append(("Vlan", to_a("{0}:{1}".format(self.vlan.name, self.vlan.number), self.vlan))) else: details.append(("Vlan", "None")) if self.site: details.append(("Site", to_a(self.site.full_name, self.site))) else: details.append(("Site", "None")) details.append(("DHCP Scope Name", self.calc_dhcp_scope_name() or "No Valid Scope")) return details
def core_index(request): sites = Site.objects.all() def width_helper(text): return len(text) * 8 # hackhackhack def get_security_zone(network): kv = network.keyvalue_set.filter(key="security_zone") if kv: return to_a(kv[0].value, kv[0]) else: return "" table_meta_template = { "caption": "", "vlans": None, "sites": None, "headers": [("name", lambda v: to_a(v.name, v)), ("number", lambda v: to_a(v.number, v))], "network_data": [ # This will be applied per network in a vlan and # wll be the stored in the td ("security_zone", get_security_zone), ("network", lambda n: to_a(n.network_str, n)), ], } tables = [] all_names = Site.objects.order_by("name").values_list("name", flat=True).distinct() def make_table(caption, sites): nets = [] for site in sites: nets.append(site.network_set.filter(site=site).filter(~Q(vlan=None))) flat_nets = list(itertools.chain(*nets)) vlans = set(map(lambda n: n.vlan, flat_nets)) table = table_meta_template.copy() table["caption"] = caption table["vlans"] = vlans table["sites"] = sites return table for site_name in all_names: sites = Site.objects.filter(name=site_name) tables.append(make_table(site_name.title(), sites)) return render(request, "core/core_index.html", {"sites": sites, "tables": tables, "width_helper": width_helper})
def details(self): r = [ # Name and site are always present ('Name', self.name), ('Site', to_a(self.site.full_name, self.site) if self.site else "No site") ] if self.alias: r.append(('Alias', self.get_attr('alias'))) if self.impact: r.append(('Impact', self.get_attr('impact'))) if self.used_by: r.append(('Used By', self.get_attr('used_by'))) if self.category: r.append(('Category', self.get_attr('category'))) if self.tech_owner: r.append(('Tech Owner', mozillian_a(self.get_attr('tech_owner')))) if self.business_owner: r.append(('Business Owner', mozillian_a(self.get_attr('business_owner')))) if self.description: r.append(('Description', self.get_attr('description'))) if self.parent_service: r.append(('Parent Service', to_a(self.parent_service.name, self.parent_service))) if self.providers.exists(): providers = ', '.join([ to_a(str(d.provider), d.provider) for d in self.providers.all() ]) r.append(('Depends on', providers)) if self.dependants.exists(): dependants = ', '.join([ to_a(str(d.dependant), d.dependant) for d in self.dependants.all() ]) r.append(('Depended on by', dependants)) if self.allocations.exists(): r.append(('IT Owners', self.get_allocations_str())) return r
def details(self): details = [ ('Network', self.network_str), ('Reserved', str(self.is_reserved)), ] if self.vlan: details.append( ('Vlan', to_a("{0}:{1}".format(self.vlan.name, self.vlan.number), self.vlan))) else: details.append(('Vlan', 'None')) if self.site: details.append(('Site', to_a(self.site.full_name, self.site))) else: details.append(('Site', 'None')) return details
def details(self): details = [ ('Network', self.network_str), ('Reserved', self.is_reserved), ] if self.vlan: details.append( ('Vlan', to_a("{0}:{1}".format(self.vlan.name, self.vlan.number), self.vlan))) else: details.append(('Vlan', 'None')) if self.site: details.append(('Site', to_a(self.site.full_name, self.site))) else: details.append(('Site', 'None')) details.append(( 'DHCP Scope Name', self.calc_dhcp_scope_name() or 'No Valid Scope' )) return details
def get_security_zone(network): kv = network.keyvalue_set.filter(key="security_zone") if kv: return to_a(kv[0].value, kv[0]) else: return ""
def get_security_zone(network): kv = network.keyvalue_set.filter(key='security_zone') if kv: return to_a(kv[0].value, kv[0]) else: return ''
def details(self): details = [("Name", self.full_name)] if self.parent: details.append(("Parent Site", to_a(self.parent.full_name, self.parent))) return details