[lifeevents] Clean up life event status with details
This commit is contained in:
@ -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:
|
||||
|
||||
@ -104,6 +104,7 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<hr />
|
||||
<h3>Sporting</h3>
|
||||
<div class="sporting">
|
||||
{% if sporting %}
|
||||
@ -118,6 +119,7 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<hr />
|
||||
<h3>Browsing</h3>
|
||||
<div class="browsing">
|
||||
{% if browsing %}
|
||||
@ -132,12 +134,13 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<hr />
|
||||
<h3>Participating</h3>
|
||||
<div class="participating">
|
||||
{% if participating %}
|
||||
<div class="titles">
|
||||
<p><a href="{{participating.media_obj.get_absolute_url}}">{{participating.media_obj}}</a></p>
|
||||
{% if participating.media_obj.subtitle %}<p><em><a href="{{participating.media_obj.subtitle.get_absolute_url}}">{{participaing.media_obj.subtitle}}</a></em></p>{% endif %}
|
||||
{% if participating.metadata.details %}<p><em>{{participaing.media_obj.details }}</em></p>{% endif %}
|
||||
</div>
|
||||
<p><small>{{participating.timestamp|naturaltime}} from {{participating.source}}</small></p>
|
||||
{% else %}
|
||||
|
||||
Reference in New Issue
Block a user