Exemple #1
0
def index(request):
    if "p" in request.GET:
        try:
            user_id = int(request.GET["p"])
        except ValueError:
            raise Http404
        else:
            try:
                user = User.objects.get(pk=user_id)
            except User.DoesNotExist:
                raise Http404
        friendships = None
    else:
        user = request.user
        # Displaying the waiting friendships...
        NotificationSystem.receipt(request.user, const.NotifConst.FRIEND_REQ)
        friendships = Friends.objects.filter(Q(friend=request.user)).filter(accepted=False).filter(ignored=False)

    prof.start("profile-stats")
    total_friends = Friends.objects.filter(Q(friend=user) | Q(user=user)).filter(accepted=True).count()
    total_women = (
        Friends.objects.filter(friend=user).filter(accepted=True).filter(user__profile__gender=1).count()
        + Friends.objects.filter(user=user).filter(accepted=True).filter(friend__profile__gender=1).count()
    )
    total_waiting = (
        Friends.objects.filter(Q(friend=user) | Q(user=user)).filter(accepted=False).filter(ignored=False).count()
    )
    total_ignored = Friends.objects.filter(Q(friend=user) | Q(user=user)).filter(ignored=True).count()
    prof.stop("profile-stats")

    return render_to_response(
        "friends/index.html",
        {
            "js": ("friends.js", "news.js", "jquery-multifile.js", "jquery-ui.js", "jquery-form.js"),
            "css": ("ui/ui.css",),
            "curr_page": "friends-index",
            "stats": {
                "total": total_friends,
                "women": total_women,
                "men": total_friends - total_women,
                "waiting": total_waiting,
                "ignored": total_ignored,
            },
            "req_user": user,
            "form_add_news": AddNewsInlineForm(),
            "friendships": friendships,
        },
        context_instance=RequestContext(request),
    )
Exemple #2
0
def index(request):
  req_news = False
  if 'n' in request.GET:
    try:
      int(request.GET['n'])
    except ValueError:
      pass
    else:
      try:
        req_news = News.objects.get(id=request.GET['n'].strip())
        req_news.images = Image.objects.filter(news=req_news)
      except News.DoesNotExist:
        pass
      else:
        if 'facebookexternalhit' in request.META['HTTP_USER_AGENT']:
          return render_to_response('profile/for_facebook.html',
                                    {'req_news': req_news},
                                    context_instance=RequestContext(request))
  if request.user.is_authenticated():
    form_add_news = AddNewsInlineForm()
    profile = request.user.get_profile()
    NotificationSystem.receipt(request.user, const.NotifConst.NEW_GOSSIP_ME)
    return render_to_response('profile/index.html',
                              {'profile': profile,
                              'app_url': const.FbConst.APP_URL,
                              'curr_page': 'profile-index',
                              'add_news_about': True,
                              'form_add_news': form_add_news,
                              'js': ('news.js',
                              'jquery-multifile.js', 'jquery-ui.js',
                              'jquery-form.js'),
                              'css': ('ui/ui.css', ),
                              'req_news': req_news, },
                              context_instance=RequestContext(request))
  else:
    redirect_to = '/profile/login?next=/profile'
    if req_news:
      redirect_to += '?n=' + request.GET['n']
    return HttpResponseRedirect(redirect_to)