summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksim A. Boyko <maksim.a.boyko@gmail.com>2012-08-25 16:50:28 -0400
committerMaksim A. Boyko <maksim.a.boyko@gmail.com>2012-08-25 16:50:28 -0400
commit6105c46a6221afdd2cc1539e2729039a5318d411 (patch)
tree77aa004dd0c3e6abc3d3469320acdfcda7bac5ae
parent6d7dc2b1a9075efabdde75874f7a550f48f6fe14 (diff)
Backend: Add api_video_like view
-rw-r--r--backend/views.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/backend/views.py b/backend/views.py
index 04d556d..0d50287 100644
--- a/backend/views.py
+++ b/backend/views.py
@@ -869,7 +869,7 @@ def api_video_view(request):
@require_POST
def api_video_like(request):
- """ Private API
+ """ Like video. Private API
"""
user = request.user
if not user.is_authenticated():
@@ -879,7 +879,21 @@ def api_video_like(request):
response = check_form_fields(request, form_fields)
if response:
return response
- return HttpResponse('Not implemented yet!\n')
+ try:
+ video = SJContent.objects.get(id=request.POST['video'], content_type='video')
+ settings = video.settings
+ if 'likes' not in settings:
+ settings['likes'] = 0
+ settings['likes'] += 1
+ video.settings = settings
+ video.save()
+ autor_profile = video.user.get_profile()
+ autor_profile.score += 1
+ autor_profile.save()
+ like = SJLike.objects.create(user=user, datetime=datetime.now(), content=video)
+ except:
+ return response_error('NO VIDEO')
+ return response_success('LIKED\t%s' % request.POST['video'])
@require_POST
def api_video_unlike(request):