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')
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")
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')
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/")
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}')
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')
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/')
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/')
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/')
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']));
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')