2010-06-11 20:55:38 -04:00
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
|
from django.views.decorators.http import require_POST
|
2010-10-06 10:21:14 -04:00
|
|
|
from django.http import HttpResponseRedirect
|
|
|
|
from django.core.urlresolvers import reverse
|
|
|
|
from apps.reader.models import UserSubscription
|
|
|
|
|
2010-06-11 20:55:38 -04:00
|
|
|
from utils import json
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
@require_POST
|
|
|
|
@json.json_view
|
|
|
|
def set_preference(request):
|
2010-09-05 18:08:08 -07:00
|
|
|
code = 1
|
2010-06-11 20:55:38 -04:00
|
|
|
preference_name = request.POST['preference']
|
|
|
|
preference_value = request.POST['value']
|
|
|
|
|
2010-07-06 14:57:32 -04:00
|
|
|
preferences = json.decode(request.user.profile.preferences)
|
|
|
|
preferences[preference_name] = preference_value
|
|
|
|
request.user.profile.preferences = json.encode(preferences)
|
2010-06-11 20:55:38 -04:00
|
|
|
request.user.profile.save()
|
|
|
|
|
|
|
|
response = dict(code=code)
|
|
|
|
return response
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
@json.json_view
|
|
|
|
def get_preference(request):
|
2010-09-05 18:08:08 -07:00
|
|
|
code = 1
|
2010-06-11 20:55:38 -04:00
|
|
|
preference_name = request.POST['preference']
|
2010-07-06 14:57:32 -04:00
|
|
|
preferences = json.decode(request.user.profile.preferences)
|
|
|
|
|
|
|
|
response = dict(code=code, payload=preferences.get(preference_name))
|
|
|
|
return response
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
@require_POST
|
|
|
|
@json.json_view
|
|
|
|
def set_view_setting(request):
|
2010-09-05 18:08:08 -07:00
|
|
|
code = 1
|
2010-07-06 14:57:32 -04:00
|
|
|
feed_id = request.POST['feed_id']
|
|
|
|
feed_view_setting = request.POST['feed_view_setting']
|
|
|
|
|
|
|
|
view_settings = json.decode(request.user.profile.view_settings)
|
|
|
|
view_settings[feed_id] = feed_view_setting
|
|
|
|
request.user.profile.view_settings = json.encode(view_settings)
|
|
|
|
request.user.profile.save()
|
2010-06-11 20:55:38 -04:00
|
|
|
|
2010-07-06 14:57:32 -04:00
|
|
|
response = dict(code=code)
|
|
|
|
return response
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
@json.json_view
|
|
|
|
def get_view_setting(request):
|
2010-09-05 18:08:08 -07:00
|
|
|
code = 1
|
2010-07-06 14:57:32 -04:00
|
|
|
feed_id = request.POST['feed_id']
|
|
|
|
view_settings = json.decode(request.user.profile.view_settings)
|
2010-06-11 20:55:38 -04:00
|
|
|
|
2010-07-06 14:57:32 -04:00
|
|
|
response = dict(code=code, payload=view_settings.get(feed_id))
|
2010-09-05 18:08:08 -07:00
|
|
|
return response
|
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
@require_POST
|
|
|
|
@json.json_view
|
|
|
|
def set_collapsed_folders(request):
|
|
|
|
code = 1
|
|
|
|
collapsed_folders = request.POST['collapsed_folders']
|
|
|
|
|
|
|
|
request.user.profile.collapsed_folders = collapsed_folders
|
|
|
|
request.user.profile.save()
|
|
|
|
|
|
|
|
response = dict(code=code)
|
2010-10-06 10:21:14 -04:00
|
|
|
return response
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
def activate_premium(request):
|
|
|
|
request.user.profile.is_premium = True
|
|
|
|
request.user.profile.save()
|
|
|
|
|
|
|
|
subs = UserSubscription.objects.filter(user=request.user)
|
|
|
|
for sub in subs:
|
|
|
|
sub.feed.setup_feed_for_premium_subscribers()
|
|
|
|
|
|
|
|
return HttpResponseRedirect(reverse('index'))
|