[scrobbles] Fix how we get our redirect url
This commit is contained in:
@ -624,6 +624,20 @@ class Scrobble(TimeStampedModel):
|
|||||||
|
|
||||||
return metadata_cls.from_dict(self.log)
|
return metadata_cls.from_dict(self.log)
|
||||||
|
|
||||||
|
def redirect_url(self, user_id) -> str:
|
||||||
|
user = User.objects.filter(id=user_id).first()
|
||||||
|
redirect_url = self.media_obj.get_absolute_url()
|
||||||
|
|
||||||
|
if (
|
||||||
|
self.media_type == self.MediaType.WEBPAGE
|
||||||
|
and user
|
||||||
|
and user.profile.redirect_to_webpage
|
||||||
|
):
|
||||||
|
logger.info(f"Redirecting to {self.media_obj.url}")
|
||||||
|
redirect_url = self.media_obj.url
|
||||||
|
|
||||||
|
return redirect_url
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def tzinfo(self):
|
def tzinfo(self):
|
||||||
return pytz.timezone(self.timezone)
|
return pytz.timezone(self.timezone)
|
||||||
|
|||||||
@ -67,12 +67,10 @@ class RecentScrobbleList(ListView):
|
|||||||
user = self.request.user
|
user = self.request.user
|
||||||
if user.is_authenticated:
|
if user.is_authenticated:
|
||||||
if scrobble_url := self.request.GET.get("scrobble_url"):
|
if scrobble_url := self.request.GET.get("scrobble_url"):
|
||||||
scrobble = manual_scrobble_webpage(scrobble_url, self.request.user.id)
|
scrobble = manual_scrobble_webpage(
|
||||||
if self.request.user.profile.redirect_to_webpage:
|
scrobble_url, self.request.user.id
|
||||||
logger.info(f"Redirecting to {scrobble.media_obj} detail page")
|
)
|
||||||
return HttpResponseRedirect(scrobble.media_obj.get_absolute_url())
|
return HttpResponseRedirect(scrobble.redirect_url(user.id))
|
||||||
else:
|
|
||||||
return HttpResponseRedirect(reverse_lazy("vrobbler-home"))
|
|
||||||
return super().get(*args, **kwargs)
|
return super().get(*args, **kwargs)
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
@ -237,11 +235,9 @@ class ManualScrobbleView(FormView):
|
|||||||
scrobble_fn = MANUAL_SCROBBLE_FNS[key]
|
scrobble_fn = MANUAL_SCROBBLE_FNS[key]
|
||||||
scrobble = eval(scrobble_fn)(item_id, self.request.user.id)
|
scrobble = eval(scrobble_fn)(item_id, self.request.user.id)
|
||||||
|
|
||||||
if self.request.user.profile.redirect_to_webpage and key == "-w":
|
return HttpResponseRedirect(
|
||||||
logger.info(f"Redirecting to {scrobble.media_obj} detail page")
|
scrobble.redirect_url(self.request.user.id)
|
||||||
return HttpResponseRedirect(scrobble.media_obj.get_absolute_url())
|
)
|
||||||
|
|
||||||
return HttpResponseRedirect(self.request.META.get("HTTP_REFERER"))
|
|
||||||
|
|
||||||
|
|
||||||
class JsonableResponseMixin:
|
class JsonableResponseMixin:
|
||||||
@ -473,7 +469,8 @@ def scrobble_start(request, uuid):
|
|||||||
and media_obj.__class__.__name__ == Scrobble.MediaType.WEBPAGE
|
and media_obj.__class__.__name__ == Scrobble.MediaType.WEBPAGE
|
||||||
):
|
):
|
||||||
logger.info(f"Redirecting to {media_obj} detail apge")
|
logger.info(f"Redirecting to {media_obj} detail apge")
|
||||||
return HttpResponseRedirect(media_obj.get_absolute_url())
|
return HttpResponseRedirect(media_obj.url)
|
||||||
|
|
||||||
return HttpResponseRedirect(success_url)
|
return HttpResponseRedirect(success_url)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user