X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/c01328ac5559b3d335a1689599c70aca2781a892..7c8d3ac9807cf36af4c16aa26841104914c2033e:/apps/api/handlers/library_handlers.py diff --git a/apps/api/handlers/library_handlers.py b/apps/api/handlers/library_handlers.py old mode 100644 new mode 100755 index 5eb5202c..0a45a0b1 --- a/apps/api/handlers/library_handlers.py +++ b/apps/api/handlers/library_handlers.py @@ -207,8 +207,8 @@ class DiffHandler(BaseHandler): @hglibrary def read(self, request, source_revision, target_revision, lib): '''Return diff between source_revision and target_revision)''' - source_document = lib.document_for_rev(source_revision) - target_document = lib.document_for_rev(target_revision) + source_document = lib.document_for_revision(source_revision) + target_document = lib.document_for_revision(target_revision) print source_document, print target_document diff = difflib.unified_diff( @@ -261,7 +261,7 @@ class DocumentHandler(BaseHandler): elif is_prq(user): prq = prq_for_user(user) # commiter's document - prq_doc = lib.document_for_rev(prq.source_revision) + prq_doc = lib.document_for_revision(prq.source_revision) doc = prq_doc.take(user) else: return response.EntityNotFound().django_response({ @@ -310,7 +310,7 @@ class DocumentHTMLHandler(BaseHandler): try: revision = form.cleaned_data['revision'] user = form.cleaned_data['user'] or request.user.username - document = lib.document_for_rev(revision) + document = lib.document_for_revision(revision) if document.id != docid: return response.BadRequest().django_response({ @@ -328,7 +328,7 @@ class DocumentHTMLHandler(BaseHandler): return error return librarian.html.transform(document.data('xml'), is_file=False, \ - parse_dublincore=False, stylesheet=stylesheet,\ + parse_dublincore=False, stylesheet='full',\ options={ "with-paths": 'boolean(1)', }) @@ -336,6 +336,9 @@ class DocumentHTMLHandler(BaseHandler): except (EntryNotFound, RevisionNotFound), e: return response.EntityNotFound().django_response({ 'reason': 'not-found', 'message': e.message}) + except librarian.ValidationError, e: + return response.InternalError().django_response({ + 'reason': 'xml-non-valid', 'message': e.message }) except librarian.ParseError, e: return response.InternalError().django_response({ 'reason': 'xml-parse-error', 'message': e.message }) @@ -409,7 +412,7 @@ class DocumentGalleryHandler(BaseHandler): # if revision == 'latest': # doc = lib.document(docid) # else: -# doc = lib.document_for_rev(revision) +# doc = lib.document_for_revision(revision) # # # if document.id != docid: @@ -434,7 +437,7 @@ class DocumentGalleryHandler(BaseHandler): # msg = u"$AUTO$ Dublin core update." # # current = lib.document(docid, request.user.username) -# orig = lib.document_for_rev(revision) +# orig = lib.document_for_revision(revision) # # if current != orig: # return response.EntityConflict().django_response({ @@ -479,7 +482,7 @@ class MergeHandler(BaseHandler): doc = lib.document(docid) # fetch the base document - user_doc = lib.document_for_rev(revision) + user_doc = lib.document_for_revision(revision) base_doc = user_doc.latest() if base_doc != user_doc: @@ -509,9 +512,11 @@ class MergeHandler(BaseHandler): "message": "You must first update your branch to the latest version." }) - if base_doc.parentof(doc) or base_doc.has_parent_from(doc): + anwser, info = base_doc.would_share() + + if not anwser: return response.SuccessAllOk().django_response({ - "result": "no-op" + "result": "no-op", "message": info }) # check for unresolved conflicts