Template refactors
En iets met de playlist-maker. URLs opnieuw ingedeeld.
This commit is contained in:
+30
-23
@@ -53,7 +53,7 @@ class NominateView(LoginRequiredMixin, View):
|
||||
def post(self, request):
|
||||
(profile,_) = Profile.objects.get_or_create(user=request.user)
|
||||
if profile.quota < 1:
|
||||
return TemplateResponse(request, "Nominate.html", {"error": "Nee nee nee, dat gaan we dus even niet doen."})
|
||||
return TemplateResponse(request, "Nominate.html", {"message_type": "error", "message": "Nee nee nee, dat gaan we dus even niet doen."})
|
||||
try:
|
||||
spotify_link = self.request.POST['spotify_link']
|
||||
|
||||
@@ -64,7 +64,7 @@ class NominateView(LoginRequiredMixin, View):
|
||||
m = re.match(r"^https:\/\/open.spotify.com\/track\/([a-zA-Z0-9]+)\??", spotify_link)
|
||||
spotify_id = m.group(1)
|
||||
except:
|
||||
return TemplateResponse(request, "Nominate.html", {"error": "Geef een geldige spotify link op!"})
|
||||
return TemplateResponse(request, "Nominate.html", {"message_type": "error", "message": "Geef een geldige spotify link op!"})
|
||||
try:
|
||||
track = Track.all_tracks.get(pk=spotify_id)
|
||||
|
||||
@@ -72,19 +72,21 @@ class NominateView(LoginRequiredMixin, View):
|
||||
track.old = False
|
||||
track.save()
|
||||
return TemplateResponse(request, "Nominate.html", {
|
||||
"warning": "Hey een klassieker.",
|
||||
"nominated": track
|
||||
"message_type": "warning",
|
||||
"message": "Hey een klassieker.",
|
||||
"message_title": str(track)
|
||||
})
|
||||
return TemplateResponse(request, "Nominate.html", {
|
||||
"error": "Deze is al genomineerd dit jaar, probeer eens iets anders.",
|
||||
"nominated": track
|
||||
"message_type": "error",
|
||||
"message_title": str(track),
|
||||
"message": "Deze is al genomineerd dit jaar, probeer eens iets anders.",
|
||||
})
|
||||
except Track.DoesNotExist:
|
||||
try:
|
||||
json = spt.get_song_info(spotify_id)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return TemplateResponse(request, "Nominate.html", {"error": "Fout bij het ophalen van het liedje."})
|
||||
return TemplateResponse(request, "Nominate.html", {"message_type": "error", "message": "Fout bij het ophalen van het liedje."})
|
||||
|
||||
# Album artists
|
||||
album_artists = []
|
||||
@@ -115,8 +117,9 @@ class NominateView(LoginRequiredMixin, View):
|
||||
if dup:
|
||||
track.delete()
|
||||
return TemplateResponse(request, "Nominate.html", {
|
||||
"error": f"Die hadden we al knul.",
|
||||
"nominated": dup
|
||||
"message_type": "error",
|
||||
"message": "Die hadden we al knul.",
|
||||
"message_title": str(dup)
|
||||
})
|
||||
track.album = album
|
||||
track.save()
|
||||
@@ -124,7 +127,7 @@ class NominateView(LoginRequiredMixin, View):
|
||||
profile.quota -= 1
|
||||
profile.save()
|
||||
|
||||
return TemplateResponse(request, "Nominate.html", {"nominated": track})
|
||||
return TemplateResponse(request, "Nominate.html", {"message_type": "nominated", "message_title": str(track), "message": "Genomineerd!"})
|
||||
|
||||
class SettingsView(LoginRequiredMixin, View):
|
||||
def get(self, request):
|
||||
@@ -196,14 +199,25 @@ class OverView(LoginRequiredMixin, View):
|
||||
}
|
||||
return TemplateResponse(request, "Overview.html", context)
|
||||
|
||||
class PlaylistMake(LoginRequiredMixin, View):
|
||||
class PlaylistListView(LoginRequiredMixin, View):
|
||||
def get(self, request, count=None):
|
||||
return TemplateResponse(request, "PlaylistList.html", context)
|
||||
def post(self, request):
|
||||
name = self.request.POST.get('name', None)
|
||||
if name:
|
||||
new_playlist = Playlist(name=name)
|
||||
return TemplateResponse(request, "PlaylistList.html", context)
|
||||
return self.get(request, count=count)
|
||||
|
||||
|
||||
class PlaylistDetailView(LoginRequiredMixin, View):
|
||||
def get(self, request, count=None):
|
||||
context = {}
|
||||
if count:
|
||||
#tracks = Track.objects.order_by('score')[count]
|
||||
tracks = Track.objects.annotate(average_points=Avg('vote__points')).order_by('-average_points')[:count]
|
||||
context["tracks"] = tracks
|
||||
return TemplateResponse(request, "PlaylistMaker.html", context)
|
||||
return TemplateResponse(request, "PlaylistDetail.html", context)
|
||||
def post(self, request):
|
||||
try:
|
||||
count = int(self.request.POST['count'])
|
||||
@@ -222,18 +236,11 @@ class SpotifyCallbackView(LoginRequiredMixin, View):
|
||||
error = self.request.GET.get('error')
|
||||
code = self.request.GET.get('code')
|
||||
if error:
|
||||
return TemplateResponse(request, "Nominate.html", {"error": "Je moet wel accepteren, pannenkoek."})
|
||||
return TemplateResponse(request, "Settings.html", {"message": "Je moet wel accepteren"})
|
||||
elif code:
|
||||
(profile,_) = Profile.objects.get_or_create(user=request.user)
|
||||
profile.init_spt(code)
|
||||
# data = spt.get_user_token(code)
|
||||
# access = data.get('access_token', None)
|
||||
# refresh = data.get('refresh_token', None)
|
||||
# expires = data.get('expires_in', 3600)
|
||||
|
||||
# if access and refresh:
|
||||
# profile.set_spotify(access, refresh, expires)
|
||||
# else:
|
||||
# return TemplateResponse(request, "Nominate.html", {"error": "No."})
|
||||
return HttpResponseRedirect(reverse('settings'))
|
||||
#return TemplateResponse(request, "Nominate.html", {"warning": code})
|
||||
else:
|
||||
url = spt.get_oauth_redirect()
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
Reference in New Issue
Block a user