示例#1
0
文件: views.py 项目: pahkey/wikidocs
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)
示例#2
0
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)
示例#3
0
文件: views.py 项目: pahkey/wikidocs
def edit_book_new(request):
    book = Book(subject="New Book", ccl_left="by", ccl_right="-", summary="", open_yn = "N", creator=request.user)
    book.save()
    book.user.add(request.user)

    page = Page(book=book, subject="FrontPage")
    page.save()

    return redirect("/edit/book/%s" % book.id)
示例#4
0
def edit_book_new(request):
    book = Book(subject="New Book",
                ccl_left="by",
                ccl_right="-",
                summary="",
                open_yn="N",
                creator=request.user)
    book.save()
    book.user.add(request.user)

    page = Page(book=book, subject="FrontPage")
    page.save()

    return redirect("/edit/book/%s" % book.id)
示例#5
0
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)
示例#6
0
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)
示例#7
0
文件: views.py 项目: pahkey/wikidocs
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)
示例#8
0
文件: views.py 项目: pahkey/wikidocs
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)