def edit_page_new(request, book_id): book = Book.objects.get(id=book_id) page = Page(book=book, subject="New Page") page.save() cache_clear(book) rearrange_page(book) return redirect("/edit/page/%s" % page.id)
def save_model(self, request, obj, form, change): obj.modify_time = datetime.now() obj.save() self.rearrange_page(obj.book) cache_clear(obj.book)
def edit_page_save(request): action = request.POST.get("action") page_id = request.POST.get("page_id") subject = request.POST.get("subject") content = request.POST.get("content") open_yn = request.POST.get("open_yn") parent_id = request.POST.get("parent") if parent_id: parent = Page.objects.get(id=parent_id) else: parent = None page = Page.objects.get(id=page_id) if request.user not in page.book.user.all(): request.session["error_message"] = u"수정권한이 없습니다" return redirect('/%s' % page.id) if action == "modify": form = PageEditForm(request.POST) if not form.is_valid(): request.session["error"] = form ret_json = {'success': False} return HttpResponse(json.dumps(ret_json)) else: # json response reversion_comments = [] if page.subject != subject: reversion_comments.append(u"제목") if page.content != content: reversion_comments.append(u"내용") if page.parent != parent: reversion_comments.append(u"부모페이지") if page.open_yn != open_yn: reversion_comments.append(u"공개여부") def is_toc_changed(): return page.parent != parent \ or page.open_yn != open_yn \ or page.subject != subject toc_changed = is_toc_changed() page.subject = subject page.content = content page.parent = parent page.open_yn = open_yn page.modify_time = datetime.datetime.now() page.save() if reversion_comments: reversion.set_comment(u"%s (이)가 변경되었습니다." % u", ".join(reversion_comments)) ret_json = {'success': not toc_changed, 'msg': u"페이지가 수정되었습니다"} cache_clear(page.book) rearrange_page(page.book) return HttpResponse(json.dumps(ret_json)) elif action == "add": page = Page(book=page.book, subject=subject, parent=parent, content=content, open_yn=open_yn) page.save() request.session["edit_message"] = u"페이지가 추가되었습니다" elif action == "delete": page.delete() request.session["edit_message"] = u"페이지가 삭제되었습니다" # page.book.modify_time = datetime.datetime.now() # page.book.save() cache_clear(page.book) rearrange_page(page.book) if action == "delete": return redirect("/edit/book/%s" % page.book.id) else: return redirect("/edit/page/%s" % page.id)
def edit_book_save(request): action = request.POST.get("action") book_id = request.POST.get("book_id") subject = request.POST.get("subject") summary = request.POST.get("content") open_yn = request.POST.get("open_yn") ccl_left = request.POST.get("ccl_left") ccl_right = request.POST.get("ccl_right") adv_yn = request.POST.get("adv_yn") adv_content = request.POST.get("adv_content") adv_mobile_content = request.POST.get("adv_mobile_content") book = Book.objects.get(id=book_id) if request.user not in book.user.all(): request.session["error_message"] = u"수정권한이 없습니다" return redirect('/book/%s' % book.id) if action == "modify": form = BookEditForm(request.POST) if not form.is_valid(): request.session["error"] = form else: reversion_comments = [] if book.subject != subject: reversion_comments.append(u"제목") if book.summary != summary: reversion_comments.append(u"책요약") if book.open_yn != open_yn: reversion_comments.append(u"공개여부") if book.ccl_left != ccl_left or book.ccl_right != ccl_right: reversion_comments.append(u"저작권") book.subject = subject book.summary = summary book.open_yn = open_yn book.ccl_left = ccl_left book.ccl_right = ccl_right book.adv_yn = adv_yn book.adv_content = adv_content book.adv_mobile_content = adv_mobile_content book.modify_time = datetime.datetime.now() if 'image' in request.FILES: file_content = ContentFile(request.FILES['image'].read()) book.image.save(request.FILES['image'].name, file_content) reversion_comments.append(u"이미지") resize_image(book.image.path, width=100, height=130) if reversion_comments: reversion.set_comment(u"%s (이)가 변경되었습니다." % u", ".join(reversion_comments)) book.save() request.session["edit_message"] = u"책이 수정되었습니다" elif action == "add": book = Book(subject=subject, summary=summary, open_yn=open_yn, ccl_left=ccl_left, ccl_right=ccl_right, creator=request.user) book.save() book.user.add(request.user) page = Page(book=book, subject="FrontPage") page.save() if 'image' in request.FILES: file_content = ContentFile(request.FILES['image'].read()) book.image.save(request.FILES['image'].name, file_content) request.session["edit_message"] = u"책이 추가되었습니다" elif action == "delete": book.delete() # request.session["edit_book_message"] = u"책이 삭제되었습니다" # rearrange_page(page.book) cache_clear(book) if action == "delete": return redirect("/") else: return redirect("/edit/book/%s" % book.id)
def edit_page_save(request): action = request.POST.get("action") page_id = request.POST.get("page_id") subject = request.POST.get("subject") content = request.POST.get("content") open_yn = request.POST.get("open_yn") parent_id = request.POST.get("parent") if parent_id: parent = Page.objects.get(id=parent_id) else:parent = None page = Page.objects.get(id=page_id) if request.user not in page.book.user.all() and not request.user.is_superuser: request.session["error_message"] = u"수정권한이 없습니다" return redirect('/%s' % page.id) if action == "modify": form = PageEditForm(request.POST) if not form.is_valid(): request.session["error"] = form ret_json = { 'success': False} return HttpResponse(json.dumps(ret_json )) else: # json response reversion_comments = [] if page.subject != subject: reversion_comments.append(u"제목") if page.content != content: reversion_comments.append(u"내용") if page.parent != parent: reversion_comments.append(u"부모페이지") if page.open_yn != open_yn: reversion_comments.append(u"공개여부") def is_toc_changed(): return page.parent != parent \ or page.open_yn != open_yn \ or page.subject != subject toc_changed = is_toc_changed() page.subject = subject page.content = content page.parent = parent page.open_yn = open_yn page.modify_time = datetime.datetime.now() page.save() if reversion_comments: reversion.set_comment(u"%s (이)가 변경되었습니다." % u", ".join(reversion_comments)) ret_json = { 'success': not toc_changed, 'msg': u"페이지가 수정되었습니다"} cache_clear(page.book) rearrange_page(page.book) return HttpResponse(json.dumps( ret_json )) elif action == "add": page = Page(book=page.book, subject=subject, parent=parent, content=content, open_yn=open_yn) page.save() request.session["edit_message"] = u"페이지가 추가되었습니다" elif action == "delete": page.delete() request.session["edit_message"] = u"페이지가 삭제되었습니다" # page.book.modify_time = datetime.datetime.now() # page.book.save() cache_clear(page.book) rearrange_page(page.book) if action == "delete": return redirect("/edit/book/%s" % page.book.id) else: return redirect("/edit/page/%s" % page.id)
def edit_book_save(request): action = request.POST.get("action") book_id = request.POST.get("book_id") subject = request.POST.get("subject") summary = request.POST.get("content") open_yn = request.POST.get("open_yn") ccl_left = request.POST.get("ccl_left") ccl_right = request.POST.get("ccl_right") adv_yn = request.POST.get("adv_yn") adv_content = request.POST.get("adv_content") adv_mobile_content = request.POST.get("adv_mobile_content") book = Book.objects.get(id=book_id) if request.user not in book.user.all() and not request.user.is_superuser: request.session["error_message"] = u"수정권한이 없습니다" return redirect('/book/%s' % book.id) if action == "modify": form = BookEditForm(request.POST) if not form.is_valid(): request.session["error"] = form else: reversion_comments = [] if book.subject != subject: reversion_comments.append(u"제목") if book.summary != summary: reversion_comments.append(u"책요약") if book.open_yn != open_yn: reversion_comments.append(u"공개여부") if book.ccl_left != ccl_left or book.ccl_right != ccl_right: reversion_comments.append(u"저작권") book.subject = subject book.summary = summary book.open_yn = open_yn book.ccl_left = ccl_left book.ccl_right = ccl_right book.adv_yn = adv_yn book.adv_content = adv_content book.adv_mobile_content = adv_mobile_content book.modify_time = datetime.datetime.now() if 'image' in request.FILES: file_content = ContentFile(request.FILES['image'].read()) book.image.save(request.FILES['image'].name, file_content) reversion_comments.append(u"이미지") resize_image(book.image.path, width=100, height=130) if reversion_comments: reversion.set_comment(u"%s (이)가 변경되었습니다." % u", ".join(reversion_comments)) book.save() request.session["edit_message"] = u"책이 수정되었습니다" elif action == "add": book = Book(subject=subject, summary=summary, open_yn=open_yn, ccl_left=ccl_left, ccl_right=ccl_right, creator=request.user) book.save() book.user.add(request.user) page = Page(book=book, subject="FrontPage") page.save() if 'image' in request.FILES: file_content = ContentFile(request.FILES['image'].read()) book.image.save(request.FILES['image'].name, file_content) request.session["edit_message"] = u"책이 추가되었습니다" elif action == "delete": book.delete() # request.session["edit_book_message"] = u"책이 삭제되었습니다" # rearrange_page(page.book) cache_clear(book) if action == "delete": return redirect("/") else: return redirect("/edit/book/%s" % book.id)