def rack(request, rack_id): ''' Rack view. It should display all non-authenticated user viewable data @type request: HTTPRequest @param request: Django HTTPRequest object @rtype: HTTPResponse @return: HTTPResponse object rendering corresponding HTML ''' template = 'rack.html' rack = get_object_or_404(Rack, pk=rack_id) try: rack.prev = Rack.objects.filter( rackposition__position__lt=rack.rackposition.position, rackposition__rr=rack.rackposition.rr ).order_by('-rackposition__position')[0] except (IndexError, RackPosition.DoesNotExist): rack.prev = None try: rack.next = Rack.objects.filter( rackposition__position__gt=rack.rackposition.position, rackposition__rr=rack.rackposition.rr ).order_by('rackposition__position')[0] except (IndexError, RackPosition.DoesNotExist): rack.next = None equipments = functions.search(str(rack.name)) equipments = functions.populate_tickets(equipments) equipments = functions.populate_hostnames(equipments) equipments = { 'hwdoc': functions.calculate_empty_units(rack, equipments), } return render(request, template, { 'rack': rack, 'equipments': equipments })
def rackrow(request, rackrow_id): ''' Rackrow view. It should display all non-authenticated user viewable data @type request: HTTPRequest @param request: Django HTTPRequest object @rtype: HTTPResponse @return: HTTPResponse object rendering corresponding HTML ''' template = 'rackrow.html' rackrow = get_object_or_404(RackRow, pk=rackrow_id) racks = rackrow.rackposition_set.select_related() for rack in racks: equipments = rack.rack.equipment_set.select_related('model__vendor', 'model') equipments = functions.populate_tickets(equipments) rack.equipments = functions.calculate_empty_units(rack.rack, equipments) return render(request, template, { 'rackrow': rackrow, 'racks': racks, })