diff --git a/billing/views.py b/billing/views.py index 2a75ab7..af6beb3 100644 --- a/billing/views.py +++ b/billing/views.py @@ -606,6 +606,8 @@ class AdminTopupCreateView(StaffEditorPermissionMixin, generics.CreateAPIView): data = request.data user_id = data.get("user_id") amount = data.get("amount") + topup_description = "" + admin_description = data.get("description", "") if not getattr(request.user, "is_admin", False): return Response( {"message": "You are not authorized to perform this action."}, @@ -635,8 +637,12 @@ class AdminTopupCreateView(StaffEditorPermissionMixin, generics.CreateAPIView): payment_type="CASH", status="PAID", ) - description = f"Topup of {amount} MVR (Cash)" - user.add_wallet_funds(amount, description, topup.id) + default_description = f"Topup of {amount} MVR (Cash)" + if admin_description and admin_description.strip() != "": + topup_description = admin_description.strip() + else: + topup_description = default_description + user.add_wallet_funds(amount, topup_description, topup.id) serializer = TopupSerializer(topup) return Response(serializer.data, status=status.HTTP_201_CREATED) diff --git a/devices/views.py b/devices/views.py index ff3adb7..0b59ba9 100644 --- a/devices/views.py +++ b/devices/views.py @@ -76,7 +76,8 @@ class DeviceListCreateAPIView( {"message": "Device name is too long."}, status=400, ) - mac = request.data.get("mac", None) + raw_mac = request.data.get("mac", None) + mac = raw_mac.strip() if raw_mac else None MAC_REGEX = re.compile(r"^([0-9A-Fa-f]{2}([.:-]?)){5}[0-9A-Fa-f]{2}$") NORMALIZE_MAC_REGEX = re.compile(r"[^0-9A-Fa-f]") if not isinstance(mac, str) or not MAC_REGEX.match(mac):