Fix display of life events
This commit is contained in:
@ -13,6 +13,9 @@ class LifeEvent(ScrobblableMixin):
|
||||
|
||||
description = models.TextField(**BNULL)
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse(
|
||||
"life-events:life-event_detail", kwargs={"slug": self.uuid}
|
||||
|
||||
@ -1,14 +1,16 @@
|
||||
from django.urls import path
|
||||
from lifeevents import views
|
||||
|
||||
app_name = "events"
|
||||
app_name = "lifeevents"
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
path("events/", views.EventListView.as_view(), name="event_list"),
|
||||
path(
|
||||
"event/<slug:slug>/",
|
||||
views.EventDetailView.as_view(),
|
||||
name="event_detail",
|
||||
"lifeevents/", views.LifeEventListView.as_view(), name="lifeevent_list"
|
||||
),
|
||||
path(
|
||||
"lifeevent/<slug:slug>/",
|
||||
views.LifeEventDetailView.as_view(),
|
||||
name="life-event_detail",
|
||||
),
|
||||
]
|
||||
|
||||
@ -2,11 +2,11 @@ from django.views import generic
|
||||
from lifeevents.models import LifeEvent
|
||||
|
||||
|
||||
class EventListView(generic.ListView):
|
||||
class LifeEventListView(generic.ListView):
|
||||
model = LifeEvent
|
||||
paginate_by = 20
|
||||
|
||||
|
||||
class EventDetailView(generic.DetailView):
|
||||
class LifeEventDetailView(generic.DetailView):
|
||||
model = LifeEvent
|
||||
slug_field = "uuid"
|
||||
|
||||
@ -4,6 +4,16 @@ from dataclasses import dataclass, asdict
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class ScrobbleMetadataEncoder(json.JSONEncoder):
|
||||
def default(self, o):
|
||||
return o.__dict__
|
||||
|
||||
|
||||
class ScrobbleMetadataDecoder(json.JSONDecoder):
|
||||
def default(self, o):
|
||||
return o.__dict__
|
||||
|
||||
|
||||
class JSONMetadata(object):
|
||||
@property
|
||||
def asdict(self):
|
||||
|
||||
@ -38,6 +38,10 @@ from sports.models import SportEvent
|
||||
from videogames import retroarch
|
||||
from videogames.models import VideoGame
|
||||
from videos.models import Series, Video
|
||||
from scrobbles.dataclasses import (
|
||||
ScrobbleMetadataDecoder,
|
||||
ScrobbleMetadataEncoder,
|
||||
)
|
||||
from webpages.models import WebPage
|
||||
from lifeevents.models import LifeEvent
|
||||
|
||||
@ -526,7 +530,11 @@ class Scrobble(TimeStampedModel):
|
||||
|
||||
# Metadata
|
||||
source = models.CharField(max_length=255, **BNULL)
|
||||
log = models.JSONField(**BNULL)
|
||||
log = models.JSONField(
|
||||
**BNULL,
|
||||
encoder=ScrobbleMetadataEncoder,
|
||||
decoder=ScrobbleMetadataDecoder,
|
||||
)
|
||||
timezone = models.CharField(max_length=50, **BNULL)
|
||||
|
||||
# Fields for keeping track of book data
|
||||
|
||||
Reference in New Issue
Block a user