def authenticate_user_cookie(nick, token): user = api.actor_get_safe(api.ROOT, nick) if not user: return None # user's authenticated via cookie have full access user.access_level = api.DELETE_ACCESS cached_token = lookup_user_auth_token(user.nick, token) if not cached_token: return None if user.password != cached_token: return None return user
def actor_direct_messages(request, inbox='inbox'): logging.info('actor_direct_messages inbox: %s' % inbox) if not request.user: redirect_to = '/login?redirect_to=/inbox' if inbox == 'sent': redirect_to = '/login?redirect_to=/inbox/sent' return http.HttpResponseRedirect(redirect_to) view = request.user logging.info('View is: %s' % view) handled = common_views.handle_view_action( request, { 'dm': '/inbox/sent', 'dm_delete': request.path, } ) if handled: return handled per_page = ENTRIES_PER_PAGE offset, prev = util.page_offset(request) if inbox == 'inbox': inbox_inbox = api.inbox_get_actor_inbox(request.user, request.user.nick, limit=(per_page + 1), offset=offset) elif inbox == 'sent': inbox_inbox = api.inbox_get_actor_sent(request.user, request.user.nick, limit=(per_page + 1), offset=offset) actor_streams = api.stream_get_actor_safe(request.user, request.user.nick) entries, more = helper.get_inbox_entries(request, inbox_inbox, True) entries = api.inbox_mark_unreaded(request.user, entries) contacts, channels, streams, entries = helper.assemble_inbox_data(request, entries, actor_streams, request.user) friends_keys = api.actor_get_followers(view, view.nick, limit=200) friends_refs = api.actor_get_actors(view, friends_keys) fs = friends_refs.items() fs.sort() reply = request.REQUEST.get('reply', None) reply = clean.nick(reply) try: reply_ref = api.actor_get_safe(api.ROOT, reply) except: reply_ref = None if reply in friends_keys: let_send = True else: let_send = False friends = [value for key, value in fs] green_top = True sidebar_green_top = True subtab = 'dm' # for sidebar info channels_count = view.extra.get('channel_count', 0) channels_more = channels_count > CHANNELS_PER_PAGE followers_count = view.extra.get('follower_count', 0) contacts_count = view.extra.get('contact_count', 0) contacts_more = contacts_count > CONTACTS_PER_PAGE c = template.RequestContext(request, locals()) t = loader.get_template('actor/templates/direct_messages.html') return http.HttpResponse(t.render(c))