Example #1
0
def list(request, board_name):
    server = warara_middleware.get_server()
    sess, r = warara.check_logged_in(request)
    r['mode'] = 'board'
    r['board_name'] = board_name
    get_article_list(request, r, 'list')
    fake_author(r['article_list'], False)

    rendered = render_to_string('mobile/board/list.html', r)
    return HttpResponse(rendered)
Example #2
0
def list(request, board_name):
    server = warara_middleware.get_server()
    sess, r = warara.check_logged_in(request)
    r['mode'] = 'board'
    r['board_name'] = board_name
    get_article_list(request, r, 'list')
    fake_author(r['article_list'], False)

    rendered = render_to_string('mobile/board/list.html', r)
    return HttpResponse(rendered)
Example #3
0
def list(request):
    server = warara_middleware.get_server()
    sess, r = warara.check_logged_in(request)
    # board_name 이 없기 때문에 사용한 Hack.
    r['board_name'] = u'All Articles'
    r['mode'] = 'all'
    warara.mobile.board.views.get_article_list(request, r, 'total_list')
    fake_author(r['article_list'], False)

    rendered = render_to_string('mobile/board/list.html', r)
    return HttpResponse(rendered)
Example #4
0
def read(request, board_name, article_id):
    '''
    주어진 게시판의 주어진 글을 읽어온다.

    @type  request: Django Request
    @param request: Request
    @type  board_name: string
    @param board_name: 읽고자 하는 글이 있는 Board Name
    @type  article_id: string (int)
    @param article_id: 읽고자 하는 글의 번호
    '''
    server = warara_middleware.get_server()
    sess, r = warara.check_logged_in(request)

    r['mode'] = 'board'
    # 글의 정보를 r 에 저장
    _read(request, r, sess, board_name, article_id)

    # 화면 하단의 글목록의 정보를 r 에 저장
    if filter(lambda x: x.board_name == board_name,
              r['board_list']):  # 게시판 통폐합으로 인해 기존 링크가 깨지는 것을 방지
        get_article_list(request, r, 'read')
        fake_author(r['article_list'], False)

    fake_author(r['article_read_list'])

    # 계층형 Reply 구조를 위해 reply를 미리 render
    rendered_reply = render_reply(board_name, r['article_read_list'][1:],
                                  '/board/%s/' % board_name)
    r['rendered_reply'] = rendered_reply
    r['article'] = r['article_read_list'][0]

    # 만약 REFERER가 Board의 LIST이면 backlink를 해당 페이지로 설정.
    # 그렇지 않으면 해당 Board의 첫 페이지로 설정
    referer = request.META.get('HTTP_REFERER') or '/'
    prev_path = urlparse(referer)

    if IS_ARTICLE_LIST_PAGE.match(prev_path.path) is not None:
        r['backlink'] = prev_path.path + '?' + prev_path.query
    else:
        r['backlink'] = '/mobile/board/%s/' % board_name

    rendered = render_to_string('mobile/board/read.html', r)
    return HttpResponse(rendered)
Example #5
0
def read(request, board_name, article_id):
    '''
    주어진 게시판의 주어진 글을 읽어온다.

    @type  request: Django Request
    @param request: Request
    @type  board_name: string
    @param board_name: 읽고자 하는 글이 있는 Board Name
    @type  article_id: string (int)
    @param article_id: 읽고자 하는 글의 번호
    '''
    server = warara_middleware.get_server()
    sess, r = warara.check_logged_in(request)

    r['mode'] = 'board'
    # 글의 정보를 r 에 저장
    _read(request, r, sess, board_name, article_id)

    # 화면 하단의 글목록의 정보를 r 에 저장
    if filter(lambda x: x.board_name == board_name, r['board_list']):   # 게시판 통폐합으로 인해 기존 링크가 깨지는 것을 방지
        get_article_list(request, r, 'read')
        fake_author(r['article_list'], False)

    fake_author(r['article_read_list'])

    # 계층형 Reply 구조를 위해 reply를 미리 render
    rendered_reply = render_reply(board_name, r['article_read_list'][1:], '/board/%s/' % board_name)
    r['rendered_reply'] = rendered_reply
    r['article'] = r['article_read_list'][0]

    # 만약 REFERER가 Board의 LIST이면 backlink를 해당 페이지로 설정.
    # 그렇지 않으면 해당 Board의 첫 페이지로 설정
    referer = request.META.get('HTTP_REFERER') or '/'
    prev_path = urlparse(referer)

    if IS_ARTICLE_LIST_PAGE.match(prev_path.path) is not None:
        r['backlink'] = prev_path.path + '?' + prev_path.query
    else:
        r['backlink'] = '/mobile/board/%s/' % board_name

    rendered = render_to_string('mobile/board/read.html', r)
    return HttpResponse(rendered)
Example #6
0
def read(request, article_id):
    '''
    모든 게시판의 주어진 글을 읽어온다.

    @type  request: Django Request
    @param request: Request
    @type  article_id: string (int)
    @param article_id: 읽고자 하는 글의 번호
    '''
    server = warara_middleware.get_server()
    sess, r = warara.check_logged_in(request)
    
    # 글의 정보를 r 에 저장
    warara.mobile.board.views._read(request, r, sess, u'', article_id)

    # 화면 하단의 글목록의 정보를 r 에 저장
    warara.mobile.board.views.get_article_list(request, r, 'total_read')

    # board_name 이 없기 때문에 사용한 Hack.
    r['board_name'] = u'All Articles'
    r['mode'] = 'all'

    fake_author(r['article_read_list'])
    fake_author(r['article_list'], False)

    # 계층형 Reply 구조를 위해 reply를 미리 render
    rendered_reply = warara.mobile.board.views.render_reply(u'All Articles', r['article_read_list'][1:], '/all/', 'all')
    r['rendered_reply'] = rendered_reply
    r['article'] = r['article_read_list'][0]

    # 만약 REFERER가 All의 LIST이면 backlink를 해당 페이지로 설정.
    # 그렇지 않으면 All의 첫 페이지로 설정
    referer = request.META.get('HTTP_REFERER') or '/'
    prev_path = urlparse(referer)

    if IS_ARTICLE_LIST_PAGE.match(prev_path.path) is not None:
        r['backlink'] = prev_path.path + '?' + prev_path.query
    else:
        r['backlink'] = '/mobile/all/'

    rendered = render_to_string('mobile/board/read.html', r)
    return HttpResponse(rendered)