diff --git a/vrobbler/apps/scrobbles/dataclasses.py b/vrobbler/apps/scrobbles/dataclasses.py index cfbffe1..cfc58c8 100644 --- a/vrobbler/apps/scrobbles/dataclasses.py +++ b/vrobbler/apps/scrobbles/dataclasses.py @@ -58,6 +58,7 @@ class BoardGameMetadata(JSONMetadata): difficulty: Optional[int] = None solo: Optional[bool] = None two_handed: Optional[bool] = None + location: Optional[str] = None def geo_location(self): return GeoLocation.objects.filter(id=self.geo_location_id).first() @@ -80,11 +81,22 @@ class BookMetadata(JSONMetadata): @dataclass class LifeEventMetadata(JSONMetadata): + details = Optional[str] participant_user_ids: Optional[list[int]] = None + participant_names: Optional[list[str]] = None location: Optional[str] = None geo_location_id: Optional[int] = None - def participants(self) -> list[User]: + def participants(self) -> list[str]: + participants = [] + if self.participant_user_ids: + participants += [u.full_name for u in self.participant_users] + if self.participant_names: + participants += self.participant_names + return participants + + @property + def participant_users(self) -> list[User]: participants = [] if self.participant_user_ids: for id in self.participant_user_ids: diff --git a/vrobbler/templates/scrobbles/status.html b/vrobbler/templates/scrobbles/status.html index 350b3d0..f7cfeb6 100644 --- a/vrobbler/templates/scrobbles/status.html +++ b/vrobbler/templates/scrobbles/status.html @@ -104,6 +104,7 @@ {% endif %} +

Sporting

{% if sporting %} @@ -118,6 +119,7 @@
{% endif %} +

Browsing

{% if browsing %} @@ -132,12 +134,13 @@
{% endif %} +

Participating

{% if participating %}

{{participating.media_obj}}

- {% if participating.media_obj.subtitle %}

{{participaing.media_obj.subtitle}}

{% endif %} + {% if participating.metadata.details %}

{{participaing.media_obj.details }}

{% endif %}

{{participating.timestamp|naturaltime}} from {{participating.source}}

{% else %}