Exemplo n.º 1
0
    def post(self, request, doc_id):
        """
        Paste pages (within document view).
        NO new document is created.
        Code for pasting document in changelist view (i.e. when
        a NEW document is created) is in
        papermerge.core.views.documents.paste_pages
        """
        before = request.POST.get('before', False)
        after = request.POST.get('after', False)

        try:
            document = Document.objects.get(id=doc_id)
        except Document.DoesNotExist:
            raise Http404("Document does not exists")

        Document.paste_pages(user=request.user,
                             parent_id=document.parent,
                             dst_document=document,
                             doc_pages=request.pages.all(),
                             before=before,
                             after=after)

        request.pages.clear()

        return Response(status=status.HTTP_204_NO_CONTENT)
Exemplo n.º 2
0
def paste_pages(request):
    """
    Paste pages in a changelist view.
    This means a new document instance
    is created.
    """
    if request.method == 'GET':
        return redirect('boss:core_basetreenode_changelist')

    parent_id = request.POST.get('parent_id', False)

    clipboard = PagesClipboard(request)
    doc_pages = clipboard.get()

    Document.paste_pages(user=request.user,
                         parent_id=parent_id,
                         doc_pages=doc_pages)

    clipboard.reset()

    if parent_id:
        return redirect(
            reverse('boss:core_basetreenode_changelist_obj',
                    args=(parent_id, )))

    return redirect('boss:core_basetreenode_changelist')
Exemplo n.º 3
0
    def post(self, request, doc_id):
        """
        Paste pages (within document view).
        NO new document is created.
        Code for pasting document in changelist view (i.e. when
        a NEW document is created) is in
        papermerge.core.views.documents.paste_pages
        """
        before = request.POST.get('before', False)
        after = request.POST.get('after', False)

        try:
            document = Document.objects.get(id=doc_id)
        except Document.DoesNotExist:
            raise Http404("Document does not exists")

        if request.user.has_perm(Access.PERM_WRITE, document):
            Document.paste_pages(user=request.user,
                                 parent_id=document.parent,
                                 dst_document=document,
                                 doc_pages=request.pages.all(),
                                 before=before,
                                 after=after)

            request.pages.clear()

            return Response(status=status.HTTP_204_NO_CONTENT)

        return Response(status=status.HTTP_403_FORBIDDEN,
                        data={
                            'msg':
                            _("You don't have permissions to paste pages"
                              " in this document.")
                        })
Exemplo n.º 4
0
def paste_pages(request):
    """
    Paste pages in a changelist view.
    This means a new document instance
    is created.
    """
    data = json.loads(request.body)
    parent_id = data.get('parent_id', None)

    if parent_id:
        parent_id = int(parent_id)

    Document.paste_pages(user=request.user,
                         parent_id=parent_id,
                         doc_pages=request.pages.all())

    request.pages.clear()

    return HttpResponse(
        json.dumps({'msg': 'OK'}),
        content_type="application/json",
    )