[lifeevents] Clean up life event status with details
This commit is contained in:
@ -58,6 +58,7 @@ class BoardGameMetadata(JSONMetadata):
|
|||||||
difficulty: Optional[int] = None
|
difficulty: Optional[int] = None
|
||||||
solo: Optional[bool] = None
|
solo: Optional[bool] = None
|
||||||
two_handed: Optional[bool] = None
|
two_handed: Optional[bool] = None
|
||||||
|
location: Optional[str] = None
|
||||||
|
|
||||||
def geo_location(self):
|
def geo_location(self):
|
||||||
return GeoLocation.objects.filter(id=self.geo_location_id).first()
|
return GeoLocation.objects.filter(id=self.geo_location_id).first()
|
||||||
@ -80,11 +81,22 @@ class BookMetadata(JSONMetadata):
|
|||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class LifeEventMetadata(JSONMetadata):
|
class LifeEventMetadata(JSONMetadata):
|
||||||
|
details = Optional[str]
|
||||||
participant_user_ids: Optional[list[int]] = None
|
participant_user_ids: Optional[list[int]] = None
|
||||||
|
participant_names: Optional[list[str]] = None
|
||||||
location: Optional[str] = None
|
location: Optional[str] = None
|
||||||
geo_location_id: Optional[int] = 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 = []
|
participants = []
|
||||||
if self.participant_user_ids:
|
if self.participant_user_ids:
|
||||||
for id in self.participant_user_ids:
|
for id in self.participant_user_ids:
|
||||||
|
|||||||
@ -104,6 +104,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
<hr />
|
||||||
<h3>Sporting</h3>
|
<h3>Sporting</h3>
|
||||||
<div class="sporting">
|
<div class="sporting">
|
||||||
{% if sporting %}
|
{% if sporting %}
|
||||||
@ -118,6 +119,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
<hr />
|
||||||
<h3>Browsing</h3>
|
<h3>Browsing</h3>
|
||||||
<div class="browsing">
|
<div class="browsing">
|
||||||
{% if browsing %}
|
{% if browsing %}
|
||||||
@ -132,12 +134,13 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
<hr />
|
||||||
<h3>Participating</h3>
|
<h3>Participating</h3>
|
||||||
<div class="participating">
|
<div class="participating">
|
||||||
{% if participating %}
|
{% if participating %}
|
||||||
<div class="titles">
|
<div class="titles">
|
||||||
<p><a href="{{participating.media_obj.get_absolute_url}}">{{participating.media_obj}}</a></p>
|
<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>
|
</div>
|
||||||
<p><small>{{participating.timestamp|naturaltime}} from {{participating.source}}</small></p>
|
<p><small>{{participating.timestamp|naturaltime}} from {{participating.source}}</small></p>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|||||||
Reference in New Issue
Block a user