mirror of
https://github.com/fergalmoran/dss.git
synced 2025-12-27 03:57:43 +00:00
Added favourite handler
This commit is contained in:
48
spa/ajax.py
48
spa/ajax.py
@@ -6,14 +6,12 @@ from django.shortcuts import render_to_response
|
||||
import json
|
||||
from django.utils import simplejson
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
import os
|
||||
from core.utils import live
|
||||
from dss import localsettings
|
||||
from spa.models import UserProfile
|
||||
from spa.models import UserProfile, MixFavourite
|
||||
from spa.models.Mix import Mix
|
||||
from spa.models.Comment import Comment
|
||||
from spa.models.MixLike import MixLike
|
||||
from PIL import Image
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -36,7 +34,8 @@ class AjaxHandler(object):
|
||||
url(r'^mix_stream_url/(?P<mix_id>\d+)/$', 'spa.ajax.get_mix_stream_url'),
|
||||
url(r'^release_player/(?P<release_id>\d+)/$', 'spa.ajax.release_player'),
|
||||
url(r'^live_now_playing/$', 'spa.ajax.live_now_playing'),
|
||||
url(r'^like/$', 'spa.ajax.like', name='ajax_mix-description'),
|
||||
url(r'^like/$', 'spa.ajax.like', name='ajax_mix_like'),
|
||||
url(r'^favourite/$', 'spa.ajax.favourite', name='ajax_mix_favourite'),
|
||||
url(r'^facebook_post_likes_allowed/$', 'spa.ajax.facebook_post_likes_allowed', name='ajax_facebook_post_likes_allowed'),
|
||||
url(r'^upload_avatar_image/$', 'spa.ajax.upload_avatar_image', name='ajax_upload_avatar_image'),
|
||||
]
|
||||
@@ -53,11 +52,11 @@ def _get_json(payload, key='value'):
|
||||
data = {
|
||||
key: payload
|
||||
}
|
||||
return data
|
||||
return simplejson.dumps(data)
|
||||
|
||||
|
||||
def get_mix_description(request, mix_id):
|
||||
return HttpResponse(json.dumps(_get_json('ArgleBargle')), mimetype="application/json")
|
||||
return HttpResponse(_get_json('ArgleBargle'), mimetype="application/json")
|
||||
|
||||
|
||||
@render_to('inc/header.html')
|
||||
@@ -104,9 +103,9 @@ def mix_add_comment(request):
|
||||
comment.time_index = request.POST['position']
|
||||
comment.save()
|
||||
|
||||
return HttpResponse(simplejson.dumps({'description': 'Hello Sailor'}))
|
||||
return HttpResponse(_get_json('Comment posted', 'description'))
|
||||
else:
|
||||
return HttpResponse(simplejson.dumps({'description': 'Error posting'}))
|
||||
return HttpResponse(_get_json('Error posting', 'description'))
|
||||
|
||||
@render_to('inc/comment_list.html')
|
||||
def mix_comments(request, mix_id):
|
||||
@@ -121,9 +120,30 @@ def like(request):
|
||||
if request.POST['dataMode'] == 'mix':
|
||||
mix = Mix.objects.get(pk = request.POST['dataId'])
|
||||
if mix is not None:
|
||||
mix.likes.add(MixLike(mix = mix, user = request.user))
|
||||
if mix.likes.count() == 0:
|
||||
mix.likes.add(MixLike(mix = mix, user = request.user))
|
||||
response = _get_json('Liked')
|
||||
else:
|
||||
mix.likes.all().delete()
|
||||
response = _get_json('Unliked')
|
||||
mix.save()
|
||||
return HttpResponse(simplejson.dumps(request.raw_post_data))
|
||||
return HttpResponse(response)
|
||||
|
||||
@login_required()
|
||||
def favourite(request):
|
||||
if request.is_ajax():
|
||||
if request.method == 'POST':
|
||||
if request.POST['dataMode'] == 'mix':
|
||||
mix = Mix.objects.get(pk = request.POST['dataId'])
|
||||
if mix is not None:
|
||||
if mix.favourites.count() == 0:
|
||||
mix.favourites.add(MixFavourite(mix = mix, user = request.user))
|
||||
response = _get_json('Favourited')
|
||||
else:
|
||||
mix.favourites.all().delete()
|
||||
response = _get_json('Unfavourited')
|
||||
mix.save()
|
||||
return HttpResponse(response)
|
||||
|
||||
@login_required()
|
||||
def facebook_post_likes_allowed(request):
|
||||
@@ -132,9 +152,9 @@ def facebook_post_likes_allowed(request):
|
||||
likes_allowed = profile.activity_sharing & UserProfile.ACTIVITY_SHARE_LIKES
|
||||
facebook_allowed = profile.activity_sharing_networks & UserProfile.ACTIVITY_SHARE_NETWORK_FACEBOOK
|
||||
|
||||
return HttpResponse(json.dumps(_get_json(bool(likes_allowed & facebook_allowed))), mimetype="application/json")
|
||||
return HttpResponse(_get_json(bool(likes_allowed & facebook_allowed)), mimetype="application/json")
|
||||
|
||||
return HttpResponse(json.dumps(_get_json(False)), mimetype="application/json")
|
||||
return HttpResponse(_get_json(False), mimetype="application/json")
|
||||
|
||||
@csrf_exempt
|
||||
def upload_avatar_image(request):
|
||||
@@ -144,7 +164,7 @@ def upload_avatar_image(request):
|
||||
if profile:
|
||||
profile.avatar_image = request.FILES['Filedata']
|
||||
profile.save()
|
||||
return HttpResponse(json.dumps(_get_json("Success")))
|
||||
return HttpResponse(_get_json("Success"))
|
||||
except Exception, ex:
|
||||
logger.exception("Error uploading avatar")
|
||||
return HttpResponse(json.dumps(_get_json("Failed")))
|
||||
return HttpResponse(_get_json("Failed"))
|
||||
Reference in New Issue
Block a user