Beispiel #1
0
def details(request, user):
    return render_to_response('profiles/details.html',
                              context_instance=RequestContext(
                                  request, {
                                      'profile': user,
                                      'tab': 'details',
                                  }))
Beispiel #2
0
def posts(request, user, page=0):
    queryset = user.post_set.filter(
        forum_id__in=Forum.objects.readable_forums(request.acl)).filter(
            deleted=False).filter(moderated=False).select_related(
                'thread', 'forum').order_by('-id')
    count = queryset.count()
    try:
        pagination = make_pagination(page, count, 12)
    except Http404:
        return redirect(
            reverse('user_posts',
                    kwargs={
                        'user': user.id,
                        'username': user.username_slug
                    }))

    return request.theme.render_to_response(
        'profiles/posts.html',
        context_instance=RequestContext(
            request, {
                'profile': user,
                'tab': 'posts',
                'items_total': count,
                'items': queryset[pagination['start']:pagination['stop']],
                'pagination': pagination,
            }))
Beispiel #3
0
def followers(request, user, page=0):
    queryset = user.follows_set.order_by('username_slug')
    count = queryset.count()
    try:
        pagination = make_pagination(page, count, 24)
    except Http404:
        return redirect(reverse('user_followers', kwargs={'user': user.id, 'username': user.username_slug}))
    
    return render_to_response('profiles/followers.html',
                              context_instance=RequestContext(request, {
                                  'profile': user,
                                  'tab': 'followers',
                                  'items_total': count,
                                  'items': queryset[pagination['start']:pagination['stop']],
                                  'pagination': pagination,}));
Beispiel #4
0
def posts(request, user, page=0):
    queryset = user.post_set.filter(
        forum_id__in=Forum.objects.readable_forums(request.acl)).filter(
            deleted=False).filter(moderated=False)
    count = queryset.count()
    try:
        pagination = make_pagination(page, count, 12)
    except Http404:
        return redirect(
            reverse('user_posts',
                    kwargs={
                        'user': user.id,
                        'username': user.username_slug
                    }))

    cache_key = 'user_profile_posts_graph_%s' % user.pk
    graph = cache.get(cache_key, 'nada')
    if graph == 'nada':
        if user.posts:
            graph = user.timeline(
                queryset.filter(date__gte=timezone.now() -
                                timedelta(days=100)))
        else:
            graph = [0 for x in range(100)]
        cache.set(cache_key, graph, 14400)

    return render_to_response(
        'profiles/posts.html',
        context_instance=RequestContext(
            request, {
                'profile':
                user,
                'tab':
                'posts',
                'graph_max':
                max(graph),
                'graph': (str(i) for i in graph),
                'items_total':
                count,
                'items':
                queryset.select_related('thread', 'forum').order_by('-id')
                [pagination['start']:pagination['stop']],
                'pagination':
                pagination,
            }))
Beispiel #5
0
def warnings(request, user, page=0):
    request.acl.warnings.allow_member_warns_view(request.user, user)

    queryset = user.warning_set
    count = queryset.count()
    try:
        pagination = make_pagination(page, count, 12)
    except Http404:
        return redirect(reverse('user_warnings', kwargs={'user': user.id, 'username': user.username_slug}))

    return render_to_response('profiles/warnings.html',
                              context_instance=RequestContext(request, {
                                  'profile': user,
                                  'tab': 'warnings',
                                  'items_total': count,
                                  'warning_level': user.get_current_warning_level(),
                                  'warnings_tracker': WarningsTracker(user.warning_level - pagination['start']),
                                  'items': queryset.order_by('-id')[pagination['start']:pagination['stop']],
                                  'pagination': pagination,
                                  }));