Ejemplo n.º 1
0
def show_board(request,board_id,board_name=""):

    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1
    try:
        group = request.user.groups.all()[0]
    except:
        group = auth.models.Group.objects.get(name='Gast')    
    board = Board.objects.get(pk=board_id)
    boards = Board.objects.filter(parent=None,boardrights__group=group,boardrights__can_view=True)
    rights = BoardRights.objects.get(board= board_id,group=get_group(request.user))
    
    if rights.can_view:
        threads = Thread.objects.raw('''SELECT t.`id`,`closed`,`moved_from_id`,`board_id`,`author_id`,`posts`,t.`name`, max(p.time_created) time
            FROM  `board_thread` t,  `board_post` p
            WHERE t.id = p.thread_id
            AND  (`board_id` =%s
            OR `moved_from_id` =%s)
            GROUP BY t.`id`,`closed`,`moved_from_id`,`board_id`,`author_id`,`posts`,t.`name`
            ORDER BY max(p.time_created) DESC
        ''',[board_id,board_id])
        pages = Paginator(list(threads), 10)
        return render_to_response('board.html',{'board':board,'threads':pages.page(page),'rights':rights,'boards':boards},context_instance=RequestContext(request))
    else:
        return HttpResponseForbidden
Ejemplo n.º 2
0
def show_thread(request,thread_id,thread_name=""):
    try:
        thread = Thread.objects.prefetch_related('author').get(pk=thread_id)
    except:
        raise Http404
    rights = BoardRights.objects.get(board= thread.board_id,group=get_group(request.user))
    mod_form = ThreadModForm()
    try:
        group = request.user.groups.all()[0]
    except:
        group = auth.models.Group.objects.get(name='Gast')
    boards = Board.objects.filter(parent=None,boardrights__group=group,boardrights__can_view=True)
    page = 1
    try:
        page = int(request.GET.get('page','1'))
    except Exception as e:
        page = 1
    #mod_form.initial = 
    if rights.can_view:
        thread.views = thread.views+1
        thread.save()
        _posts = Post.objects.select_related().filter(thread=thread_id).order_by('time_created')
        posts = Paginator(_posts,10)
        ppage = posts.page(page)
        
        mark_read(request, thread.board_id, False)
        return render_to_response('thread.html',{'thread':thread,
                                                 't_posts':ppage,
                                                 'rights':rights,
                                                 'moderation':mod_form,
                                                 'boards':boards}
                                  ,context_instance=RequestContext(request))
    else:
        return HttpResponseForbidden()
Ejemplo n.º 3
0
def show_thread(request,thread_id,thread_name=""):
    try:
        thread = Thread.objects.get(pk=thread_id)
    except:
        raise Http404
    rights = BoardRights.objects.get(board= thread.board_id,group=get_group(request.user))
    mod_form = ThreadModForm()
    try:
        group = request.user.groups.all()[0]
    except:
        group = auth.models.Group.objects.get(name='Gast')
    boards = Board.objects.filter(parent=None,boardrights__group=group,boardrights__can_view=True)
    page = 1
    try:
        page = int(request.GET.get('page','1'))
    except Exception,e:
        page = 1