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)
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)
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)
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)