[scrobbles] Fix display of task notes
This commit is contained in:
@ -792,6 +792,7 @@ class ScrobbleDetailView(DetailView):
|
||||
model = Scrobble
|
||||
slug_field = "uuid"
|
||||
slug_url_kwarg = "uuid"
|
||||
paginate_by = 100
|
||||
|
||||
def get_form_class(self):
|
||||
return self.object.media_obj.logdata_cls().form()
|
||||
@ -830,10 +831,55 @@ class ScrobbleDetailView(DetailView):
|
||||
context = self.get_context_data(log_form=form)
|
||||
return self.render_to_response(context)
|
||||
|
||||
MEDIA_FK_MAP = {
|
||||
"Video": "video",
|
||||
"Track": "track",
|
||||
"PodcastEpisode": "podcast_episode",
|
||||
"Book": "book",
|
||||
"Paper": "paper",
|
||||
"VideoGame": "video_game",
|
||||
"BoardGame": "board_game",
|
||||
"Beer": "beer",
|
||||
"Food": "food",
|
||||
"Puzzle": "puzzle",
|
||||
"Trail": "trail",
|
||||
"GeoLocation": "geo_location",
|
||||
"Task": "task",
|
||||
"WebPage": "web_page",
|
||||
"LifeEvent": "life_event",
|
||||
"Mood": "mood",
|
||||
"BrickSet": "brick_set",
|
||||
}
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
if "log_form" not in context:
|
||||
context["log_form"] = self.get_form()
|
||||
|
||||
media_obj = self.object.media_obj
|
||||
user = self.object.user
|
||||
media_type = self.object.media_type
|
||||
|
||||
fk_field = self.MEDIA_FK_MAP.get(media_type)
|
||||
if fk_field:
|
||||
related_scrobbles = (
|
||||
Scrobble.objects.filter(user=user)
|
||||
.filter(**{fk_field: media_obj})
|
||||
.exclude(id=self.object.id)
|
||||
.order_by("-timestamp")
|
||||
)
|
||||
else:
|
||||
related_scrobbles = Scrobble.objects.none()
|
||||
|
||||
page = self.request.GET.get("page")
|
||||
paginator = Paginator(related_scrobbles, self.paginate_by)
|
||||
try:
|
||||
context["related_scrobbles"] = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
context["related_scrobbles"] = paginator.page(1)
|
||||
except EmptyPage:
|
||||
context["related_scrobbles"] = paginator.page(paginator.num_pages)
|
||||
|
||||
return context
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user