Skip to content

Commit 2665115

Browse files
committed
Update share code booking up and add owner name display
1 parent 697f619 commit 2665115

1 file changed

Lines changed: 18 additions & 3 deletions

File tree

backend/gsr_booking/serializers.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,11 @@ class Meta:
8585
class GSRShareCodeSerializer(serializers.ModelSerializer):
8686
status = serializers.SerializerMethodField()
8787
expires_at = serializers.SerializerMethodField()
88-
booking_id = serializers.PrimaryKeyRelatedField(
89-
source="booking", queryset=GSRBooking.objects.all(), write_only=True
88+
booking_id = serializers.SlugRelatedField(
89+
slug_field="booking_id",
90+
source="booking",
91+
queryset=GSRBooking.objects.all(),
92+
write_only=True,
9093
)
9194

9295
class Meta:
@@ -126,11 +129,23 @@ class SharedGSRBookingSerializer(serializers.ModelSerializer):
126129

127130
building = serializers.CharField(source="gsr.name")
128131
is_valid = serializers.SerializerMethodField()
132+
owner_name = serializers.SerializerMethodField()
129133

130134
class Meta:
131135
model = GSRBooking
132-
fields = ["room_name", "building", "start", "end", "is_valid"]
136+
fields = ["room_name", "building", "start", "end", "is_valid", "owner_name"]
133137
read_only_fields = fields
134138

139+
def get_owner_name(self, obj):
140+
user = obj.reservation.creator if obj.reservation else obj.user
141+
if not user:
142+
return "Unknown"
143+
144+
full_name = f"{user.first_name} {user.last_name}".strip()
145+
if full_name:
146+
return full_name
147+
148+
return user.username
149+
135150
def get_is_valid(self, obj):
136151
return obj.end and obj.end > timezone.now()

0 commit comments

Comments
 (0)