diff --git a/src/ralph/admin/helpers.py b/src/ralph/admin/helpers.py index 61a20e1981..0a71986064 100644 --- a/src/ralph/admin/helpers.py +++ b/src/ralph/admin/helpers.py @@ -108,5 +108,5 @@ def generate_html_link(base_url, params, label): return '{label}'.format( base_url=base_url, params=urlencode(params), - label=label + label=str(label).replace(' ', ' ') ) diff --git a/src/ralph/data_center/admin.py b/src/ralph/data_center/admin.py index c8c8315b71..819f6c763f 100644 --- a/src/ralph/data_center/admin.py +++ b/src/ralph/data_center/admin.py @@ -225,7 +225,7 @@ def localization(self, obj): data center, server_room, rack, position (if is blade) """ base_url = reverse('admin:data_center_datacenterasset_changelist') - position = '{}'.format(obj.position) + position = obj.position if obj.is_blade: position = generate_html_link( base_url, @@ -234,13 +234,11 @@ def localization(self, obj): 'position__start': obj.position, 'position__end': obj.position }, - position + position, ) - return ( - '{data_center}/{server_room}/{rack}/{position}' - ).format( - data_center=generate_html_link( + result = [ + generate_html_link( base_url, { 'rack__server_room__data_center': @@ -248,18 +246,24 @@ def localization(self, obj): }, obj.rack.server_room.data_center.name ), - server_room=generate_html_link( + generate_html_link( base_url, {'rack__server_room': obj.rack.server_room_id}, obj.rack.server_room.name ), - rack=generate_html_link( + generate_html_link( base_url, {'rack': obj.rack_id}, obj.rack.name - ), - position=position if obj.position else '' - ) if obj.rack else '—' + ) + ] if obj.rack else [] + + if obj.position: + result.append(str(position)) + if obj.slot_no: + result.append(str(obj.slot_no)) + + return ' / '.join(result) if obj.rack else '—' localization.short_description = _('Localization') localization.allow_tags = True