Exemple #1
0
def write_one(request):

    # 인증
    authuser = request.session.get('authuser')
    if authuser is None:
        return HttpResponseRedirect('/board')

    board = Board()
    board.title = request.POST['title']
    board.content = request.POST['content']
    # max groupno
    value = Board.objects.aggregate(max_groupno=Max('groupno'))
    max_groupno = 0 if value['max_groupno'] is None else value['max_groupno']
    board.groupno = max_groupno + 1
    board.orderno = 1
    board.depth = 1
    board.user_id = request.session['authuser']['id']
    board.save()

    # 기본 1페이지로 이동
    return HttpResponseRedirect('/board')
Exemple #2
0
def add(request):
    if request.method == 'POST':
        board = Board()

        board.name = request.session['authuser']['name']
        board.title = request.POST['title']
        board.content = request.POST['content']
        board_list = Board.objects.all()
        board.no = len(board_list) + 1

        g_no = Board.objects.aggregate(Max('group_no'))
        if (g_no['group_no__max'] == None):
            board.group_no = 1
        else:
            board.group_no = g_no['group_no__max'] + 1
        board.order_no = 1
        board.depth = 0

        board.save()

        return HttpResponseRedirect("/board/list")
Exemple #3
0
def reply(request):
    parent_no = request.POST['parent']
    if request.session.get('authuser') is not None:
        parent = Board.objects.filter(id=parent_no)[0]

        post = Board()
        post.title = request.POST['title']
        post.contents = request.POST['contents']
        post.user = User.objects.get(id=request.session['authuser']['id'])

        Board.objects.filter(order_no__gte=parent.order_no +
                             1).update(order_no=F('order_no') + 1)

        post.group_no = parent.group_no
        post.order_no = parent.order_no + 1
        post.depth = parent.depth + 1
        post.save()

        return HttpResponseRedirect('/board/list')

    return HttpResponseRedirect(f'/board/replyform/{parent_no}?result=fail')
Exemple #4
0
def reple(request):
    new = Board()
    if request.method == 'POST':
        id = request.GET['id']
        board = Board.objects.get(id=id)

        new.group_no = board.group_no
        new.title = request.POST['title']
        new.content = request.POST['content']
        new.order_no = board.order_no + 1
        new.depth = board.depth + 1

        authuser = request.session['authuser']
        auth_username = authuser.get('name')
        auth_user_id = authuser.get('id')

        new.user_name = auth_username
        new.user_id = auth_user_id
        new.save()

    return HttpResponseRedirect("/board/")
Exemple #5
0
def writereply(request, id):
    if "authuser" not in request.session:
        return render(request, "user/loginform.html")

    try:
        parent_board = Board.objects.get(id=id)
        board = Board()
        board.groupno = parent_board.groupno
        board.orderno = parent_board.orderno + 1
        board.depth = parent_board.depth + 1
        board.title = request.POST["title"]
        board.content = request.POST["content"]
        board.user = User.objects.get(id=request.session["authuser"]["id"])
        board.save()
        Board.objects.filter(groupno=board.groupno).filter(
            orderno__gte=board.orderno).update(orderno=F('orderno') + 1)
        global totalCount, listnumber
        totalCount += 1
        listnumber = getListNumber(totalCount)
    except ObjectDoesNotExist:
        pass
    return HttpResponseRedirect(f'/board/view/{board.pk}')
Exemple #6
0
def rewrite_one(request):

    # 인증
    authuser = request.session.get('authuser')
    if authuser is None:
        return HttpResponseRedirect('/board')

    board = Board()
    board.title = request.POST['title']
    board.content = request.POST['content']
    # parent
    parent = Board.objects.get(id=request.POST['parentid'])
    # 같은 그룹 내 update orderno
    Board.objects.filter(groupno=parent.groupno).filter(
        orderno__gte=parent.orderno + 1).update(orderno=F('orderno') + 1)

    # 답글 저장
    board.groupno = parent.groupno
    board.orderno = parent.orderno + 1
    board.depth = parent.depth + 1
    board.user_id = request.session['authuser']['id']
    board.save()
    return HttpResponseRedirect('/board')
Exemple #7
0
def write(request):
    if "authuser" not in request.session:
        return render(request, "user/loginform.html")

    board = Board()
    board.title = request.POST["title"]
    board.content = request.POST['content']
    board.depth = 0
    board.orderno = 1
    try:
        value = Board.objects.aggregate(max_groupno=Max('groupno'))
        board.groupno = 1 if value[
            "max_groupno"] is None else value["max_groupno"] + 1
        board.user = User.objects.get(id=request.session["authuser"]["id"])
        board.save()
        global totalCount, listnumber
        totalCount += 1
        listnumber = getListNumber(totalCount)

    except ObjectDoesNotExist:
        return HttpResponseRedirect('/board')

    return HttpResponseRedirect(f'/board/view/{board.pk}')
def write(request):
    if request.method == "GET":
        return render(request, 'board/write.html')

    if request.method == "POST":
        board = Board()

        board.title = request.POST['title']
        board.contents = request.POST['contents']
        board.hit = request.POST['hit']
        board.group_no = request.POST['group_no']
        board.order_no = request.POST['order_no']
        board.depth = request.POST['depth']
        board.no = User.objects.get(no=request.session['authuser']['no'])
        if board.group_no == '':
            maxgroupno = Board.objects.aggregate(Max('group_no'))
            board.group_no = maxgroupno['group_no__max'] + 1
            print(board.group_no)
            board.save()
        else:
            board.save()

        return HttpResponseRedirect('/board/')
Exemple #9
0
def write(request):
    result = auth(request)

    if result == True:
        return HttpResponseRedirect("/")

    if request.method == 'GET':
        return render(request, 'board/write.html')

    else:
        board = Board()
        board.title = request.POST['title']
        board.content = request.POST['content']
        board.hit = 0
        groupno = Board.objects.aggregate(max_groupno=Max('groupno') + 1)

        if groupno['max_groupno'] is None:
            groupno['max_groupno'] = 1
        board.groupno = groupno['max_groupno']
        board.orderno = 1
        board.depth = 0
        board.user_id = request.session['authuser']['id']
        board.save()
        return HttpResponseRedirect('/board/list/')
Exemple #10
0
def reply(request, id):
    result = auth(request)

    if result == True:
        return HttpResponseRedirect("/")

    if request.method == 'GET':
        data = {'id': id}
        return render(request, 'board/replyform.html', data)

    else:
        board = Board()
        board.title = request.POST['title']
        board.content = request.POST['content']
        board.hit = 0
        parent_board = Board.objects.get(id=id)
        board.groupno = parent_board.groupno
        board.orderno = parent_board.orderno + 1
        board.depth = parent_board.depth + 1
        board.user_id = request.session['authuser']['id']
        Board.objects.filter(groupno=board.groupno).filter(
            orderno__gte=board.orderno).update(orderno=F('orderno') + 1)
        board.save()
        return HttpResponseRedirect('/board/list/')
Exemple #11
0
def reply(request):

    if logincheck(request) is False:
        return HttpResponseRedirect('/user/loginform')

    groupno = int(request.POST['groupno'])
    orderno = int(request.POST['orderno'])
    depth = int(request.POST['depth'])
    # 기존 order update
    Board.objects.filter(groupno=groupno).filter(orderno__gte=orderno).update(orderno=F('orderno')+1)
#     답글 등록
    board = Board()
    board.title = request.POST['title']
    board.content = request.POST['content']
    board.groupno = groupno
    board.orderno = orderno
    board.depth = depth
    board.user = Users(request.session['authuser']['id'])

    board.save()

    id = Board.objects.aggregate(max_id=Max('id'))

    return HttpResponseRedirect('/board/view/'+str(id['max_id']));
Exemple #12
0
def reply_write(request):

    if request.method == 'POST':
        title = request.POST['title']
        content = request.POST['content']

        if title == '' or content == '':
            data = {
                'result': 'fail',
                'message': '제목과 내용을 입력해 주세요',
                'title': title,
                'content': content,
            }
            return render(request, 'board/write.html', data)

        no = request.GET.get('no', -1)
        try:
            board = Board.objects.get(id=no)

            try:
                user = User.objects.get(id=request.session['authuser']['id'])

                Board.objects.filter(groupno=board.groupno).filter(
                    orderno__gt=board.orderno).update(orderno=F('orderno') + 1)

                reply_board = Board()
                reply_board.title = title
                reply_board.content = content
                reply_board.groupno = board.groupno
                reply_board.orderno = board.orderno + 1
                reply_board.depth = board.depth + 1
                reply_board.user = user
                reply_board.save()

                return HttpResponseRedirect(
                    f'/board?search={request.GET.get("search", "")}&page={request.GET.get("page", "")}'
                )
            except Exception as e:
                print(e)
                data = {
                    'result':
                    'fail',
                    'message':
                    '권한이 없습니다',
                    'url':
                    f'/board?search={request.GET.get("search", "")}&page={request.GET.get("page", "")}'
                }
                return render(request, 'main/redirect.html', data)

        except Exception as e:
            print(e)
            data = {
                'result':
                'fail',
                'message':
                '게시글이 존재하지 않습니다',
                'url':
                f'/board?search={request.GET.get("search", "")}&page={request.GET.get("page", "")}'
            }
            return render(request, 'main/redirect.html', data)
    else:
        return render(request, 'board/reply-write.html')