def test_generate_html_link(self): url = generate_html_link( 'http://test.com/', label='Name', params={'param': 1}, ) self.assertEqual(url, '<a href="http://test.com/?param=1">Name</a>')
def location(self): """ Additional column 'location' display filter by: data center, server_room, rack, position (if is blade) """ base_url = reverse('admin:data_center_datacenterasset_changelist') position = self.position if self.is_blade: position = generate_html_link( base_url, label=position, params={ 'rack': self.rack_id, 'position__start': self.position, 'position__end': self.position }, ) result = [ generate_html_link( base_url, label=self.rack.server_room.data_center.name, params={ 'rack__server_room__data_center': self.rack.server_room.data_center_id }, ), generate_html_link( base_url, label=self.rack.server_room.name, params={'rack__server_room': self.rack.server_room_id}, ), generate_html_link( base_url, label=self.rack.name, params={'rack': self.rack_id}, ) ] if self.rack and self.rack.server_room else [] if self.position: result.append(str(position)) if self.slot_no: result.append(str(self.slot_no)) return ' / '.join(result) if self.rack else '—'
def go_to_visualization(self, obj): if not obj.rack: return '—' url = '{}#/sr/{}/rack/{}'.format( reverse('dc_view'), obj.rack.server_room_id, obj.rack.id, ) label = ' / '.join(obj.get_location()) return generate_html_link(url, label=label, params={})
def _get_asset_hostname(self, obj): return generate_html_link( obj.baseobject.get_absolute_url(), label=obj.baseobject.asset.hostname, params={}, )
def _get_support_type(self, obj): return generate_html_link( obj.support.get_absolute_url(), label=obj.support.support_type, params={}, )