def xhr_claim_no(request): from main import claiming from common.views import json_response page_id = request.POST['page_id'] response = json_response({'success': True}) response.delete_cookie(claiming.make_claim_id_from_page_id(page_id)) return response
def pusher_auth(request): from common.views import response_403, json_response from main import permissions from main import pusher_helpers channel_name = request.POST['channel_name'] tokens = pusher_helpers.parse_channel_name(channel_name) if len(tokens) < 3: return response_403() channel_type, channel_model, model_id = tokens socket_id = request.POST['socket_id'] args = None if channel_model == 'page': page = get_object_or_404(Page, id=model_id) if not permissions.request_can_view(request, page): return response_403() if channel_type == 'presence': user_id = get_user_presence_id(request, page) args = dict(user_id=user_id) elif channel_model == 'user': user_id = int(model_id) user = request.user if not (user.is_authenticated() and user.id == user_id): return response_403() token = pusher_helpers.make_permission(channel_name, socket_id, args) return json_response(token)
def getrooms(request): """Gets info for the given rooms, from `rids` params.""" rids = json.loads(request.GET['rids']) result = {} for shortname in rids: room, _ = Room.get_or_create_by_shortname(shortname) result[room.shortname] = room.to_dict() return json_response(result)
def xhr_quick_page(request): from common.views import json_response from main import claiming page = _make_quick_page(request) response = json_response(_new_api_success({"pageUrl": page.get_absolute_url()})) if not request.user.is_authenticated(): claim_id = claiming.make_claim_id(page) response.set_signed_cookie(claim_id, '1') return response
def reddit_room_suggestions(request): top9 = (Room.objects .order_by('-subscribers') # only the best .exclude(subscribers__isnull=True) # Rooms that aren't subreddits .exclude(shortname='') # Already included by default .exclude(shortname__in=['blog', 'announcements']) # Lame! )[:9] #.exclude([:10]) top10 = [global_room] + list(top9) result = [r.to_dict() for r in top10] return json_response(result)
def getauth(request): from core.cookies import SECURE_SESSION_COOKIE # Get user info for response u = request.user if not u.is_authenticated(): response = None else: response = { 'remote_id': u.username } response = json_response(response) # Set session cookies request.session.set_test_cookie() # easy way to ensure session exists -- necessary? ss_val = tornado_cookies.generate_secure_cookie(SECURE_SESSION_COOKIE, request.session.session_key) response.set_cookie(SECURE_SESSION_COOKIE, ss_val) global_readable = get_permission(request, response, global_room, 'r') assert global_readable return response
def internal_auth(request): username = request.POST['username'] password = request.POST['password'] f = RedditLoginForm(request.POST) return json_response(f.is_valid())
def redditcode(request): code = ''.join([random.choice(CODE_CHARS) for x in xrange(16)]) return json_response({ 'code': code, 'sig': tornado_cookies.generate_secure_cookie('code', code) })
def getroom(request): """Gets info for the given room, from `title` param.""" shortname = request.GET['shortname'] room, _ = Room.get_or_create_by_shortname(shortname) return json_response(room.to_dict())