From fcba2baf42e90bff787e0aa8e066895a4920794d Mon Sep 17 00:00:00 2001 From: hellerve Date: Fri, 24 Jan 2020 08:45:55 +0100 Subject: [PATCH 1/3] dcim: fix #3982 by readding reserved tooltip --- netbox/dcim/models/__init__.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/netbox/dcim/models/__init__.py b/netbox/dcim/models/__init__.py index 1c9c8682d..92cec5729 100644 --- a/netbox/dcim/models/__init__.py +++ b/netbox/dcim/models/__init__.py @@ -414,7 +414,7 @@ class RackElevationHelperMixin: drawing.add(drawing.text(str(device), insert=text)) @staticmethod - def _draw_empty(drawing, rack, start, end, text, id_, face_id, class_): + def _draw_empty(drawing, rack, start, end, text, id_, face_id, class_, reservation): link = drawing.add( drawing.a( href='{}?{}'.format( @@ -424,6 +424,10 @@ class RackElevationHelperMixin: target='_top' ) ) + if reservation: + link.set_desc('{} — {} · {}'.format( + reservation.description, reservation.user, reservation.created + )) link.add(drawing.rect(start, end, class_=class_)) link.add(drawing.text("add device", insert=text, class_='add-device')) @@ -453,12 +457,13 @@ class RackElevationHelperMixin: else: # Draw shallow devices, reservations, or empty units class_ = 'slot' + reservation = reserved_units.get(unit["id"]) if device: class_ += ' occupied' - if unit["id"] in reserved_units: + if reservation: class_ += ' reserved' self._draw_empty( - drawing, self, start_cordinates, end_cordinates, text_cordinates, unit["id"], face, class_ + drawing, self, start_cordinates, end_cordinates, text_cordinates, unit["id"], face, class_, reservation ) unit_cursor += height @@ -493,7 +498,7 @@ class RackElevationHelperMixin: height of the elevation """ elevation = self.merge_elevations(face) - reserved_units = self.get_reserved_units().keys() + reserved_units = self.get_reserved_units() return self._draw_elevations(elevation, reserved_units, face, unit_width, unit_height) From d3463b596ae5f196af922e72225a68f7f56f6b1c Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 24 Jan 2020 12:00:24 -0500 Subject: [PATCH 2/3] Closes #4005: Include timezone context in webhook timestamps --- docs/release-notes/version-2.7.md | 1 + netbox/extras/webhooks.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-2.7.md b/docs/release-notes/version-2.7.md index 5ca486137..c8e47fa15 100644 --- a/docs/release-notes/version-2.7.md +++ b/docs/release-notes/version-2.7.md @@ -4,6 +4,7 @@ * [#3310](https://github.com/netbox-community/netbox/issues/3310) - Pre-select site/rack for B side when creating a new cable * [#3509](https://github.com/netbox-community/netbox/issues/3509) - Add IP address variables for custom scripts +* [#4005](https://github.com/netbox-community/netbox/issues/4005) - Include timezone context in webhook timestamps ## Bug Fixes diff --git a/netbox/extras/webhooks.py b/netbox/extras/webhooks.py index 04eca4dfe..cfa05d0f6 100644 --- a/netbox/extras/webhooks.py +++ b/netbox/extras/webhooks.py @@ -3,6 +3,7 @@ import hashlib import hmac from django.contrib.contenttypes.models import ContentType +from django.utils import timezone from extras.models import Webhook from utilities.api import get_serializer_for_model @@ -62,7 +63,7 @@ def enqueue_webhooks(instance, user, request_id, action): serializer.data, instance._meta.model_name, action, - str(datetime.datetime.now()), + str(timezone.now()), user.username, request_id ) From f24e7652a867c748d4848c5df5978256786c7d78 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 24 Jan 2020 12:10:38 -0500 Subject: [PATCH 3/3] Add changelog for #3982 --- docs/release-notes/version-2.7.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/version-2.7.md b/docs/release-notes/version-2.7.md index c8e47fa15..afa43cade 100644 --- a/docs/release-notes/version-2.7.md +++ b/docs/release-notes/version-2.7.md @@ -8,6 +8,7 @@ ## Bug Fixes +* [#3982](https://github.com/netbox-community/netbox/issues/3982) - Restore tooltip for reservations on rack elevations * [#3983](https://github.com/netbox-community/netbox/issues/3983) - Permit the creation of multiple unnamed devices * [#3989](https://github.com/netbox-community/netbox/issues/3989) - Correct HTTP content type assignment for webhooks * [#3999](https://github.com/netbox-community/netbox/issues/3999) - Do not filter child results by null if non-required parent fields are blank