Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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))