Änderungen von Dokument DiagramMacros
Zuletzt geändert von Daniel Herrmann am 2026/02/04 20:25
Von Version 1.1
bearbeitet von Daniel Herrmann
am 2025/06/22 19:09
am 2025/06/22 19:09
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros-confluence-bridges-ui/1.26.19]
Auf Version
3.1
bearbeitet von Daniel Herrmann
am 2025/07/19 16:57
am 2025/07/19 16:57
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros-confluence-bridges-ui/1.27.1]
Zusammenfassung
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -55,18 +55,32 @@ 55 55 ## Parameter for the drawio macro 56 56 #set($diagramName = $xcontext.macro.params.diagramName) 57 57 #end 58 + ## By default the diagramDocument should be the current doc 59 + #set ($diagramDocument = $doc) 58 58 ## Get original document 59 59 #set ($originalDoc = $xcontext.macro.params.originalDocumentRef) 60 60 #if ("$!originalDoc" != '') 61 - #set ($doc = $xwiki.getDocument($originalDoc)) 63 + #set ($diagramDocument = $xwiki.getDocument($originalDoc)) 62 62 #end 65 + ## Used for gliffy macros that include a diagram from another page. 66 + #set ($pageID = $xcontext.macro.params.pageid) 67 + #if ("$!pageID" != '' && "$!originalDoc" == '') 68 + #set ($reference = $services.gliffyscript.getReferenceFromConfluenceID($pageID)) 69 + ## When the reference is null we should display a warning. 70 + #if ($reference) 71 + #set ($diagramDocument = $xwiki.getDocument($reference)) 72 + #else 73 + #set ($displayWarning = true) 74 + #end 75 + #set ($originalDoc = $diagramDocument) 76 + #end 63 63 ## "Constants" 64 64 #set($previewImageName = "${diagramName}.png") 65 - #set($previewImage = $doc.getAttachment($previewImageName)) 79 + #set($previewImage = $diagramDocument.getAttachment($previewImageName)) 66 66 #if (!$previewImage) 67 67 ## In some cases, the drawio file name is not the same as the PNG one. 68 68 #set($previewImageName = $xcontext.macro.params.tempPreview) 69 - #set($previewImage = $doc.getAttachment($previewImageName)) 83 + #set($previewImage = $diagramDocument.getAttachment($previewImageName)) 70 70 #end 71 71 ## Variables 72 72 #set($displayDiagram = true) ... ... @@ -73,8 +73,8 @@ 73 73 #set($diagram = $NULL) 74 74 ## 75 75 ## Check if the diagram page exists 76 - #set($docReferenceSerialized = $services.model.serialize($doc.documentReference, 'local')) 77 - #set($diagrams = $services.query.xwql('from doc.object(Confluence.Macros.DiagramClass) as diagramObj where diagramObj.page = :page and diagramObj.diagramName = :diagramName').bindValue('page', $docReferenceSerialized).bindValue('diagramName', "$!diagramName").setLimit(1).execute()) 90 + #set($diagramDocumentReferenceSerialized = $services.model.serialize($diagramDocument.documentReference, 'local')) 91 + #set($diagrams = $services.query.xwql('from doc.object(Confluence.Macros.DiagramClass) as diagramObj where diagramObj.page = :page and diagramObj.diagramName = :diagramName').bindValue('page', $diagramDocumentReferenceSerialized).bindValue('diagramName', "$!diagramName").setLimit(1).execute()) 78 78 #if($diagrams.size() > 0) 79 79 #set($diagram = $diagrams.get(0)) 80 80 #end ... ... @@ -111,7 +111,7 @@ 111 111 #end 112 112 ## 113 113 ## Display a button allowing the user to create an XWiki diagram 114 - #if ($services.security.authorization.hasAccess('edit', $doc.documentReference) && $xcontext.action != 'export') 128 + #if ($services.security.authorization.hasAccess('edit', $diagramDocument.documentReference) && $xcontext.action != 'export') 115 115 (% class="caption" %)((( 116 116 {{translation key='confluencediagram.create'/}} 117 117 ... ... @@ -118,7 +118,7 @@ 118 118 {{html clean=false}} 119 119 <form action="" method="post"> 120 120 <input name="action" value="createDiagram" type="hidden" /> 121 - <input name="pageReferenceSerialized" class="create-diagram-page" value="$escapetool.xml($docReferenceSerialized)" type="hidden" /> 135 + <input name="pageReferenceSerialized" class="create-diagram-page" value="$escapetool.xml($diagramDocumentReferenceSerialized)" type="hidden" /> 122 122 <input name="diagramName" class="create-diagram-name" value="$escapetool.xml($diagramName)" type="hidden" /> 123 123 <input name="diagramPNGName" class="create-diagram-png-name" value="$escapetool.xml($previewImageName)" type="hidden" /> 124 124 <button type="submit" class="btn btn-primary create-diagram-btn">$escapetool.xml($services.localization.render('confluencediagram.create.confirm'))</button> ... ... @@ -127,6 +127,12 @@ 127 127 ))) 128 128 ))) 129 129 #end 144 + #elseif("$pageID" != "" && $displayWarning) 145 + ##If the display fails then show a warning. 146 + #set ($syntax = $services.rendering.resolveSyntax($xwiki.getCurrentContentSyntaxId())) 147 + #set ($message = $services.localization.render('confluencediagram.warning.notfound')) 148 + 149 + {{warning}}$message{{/warning}} 130 130 #end 131 131 ))) 132 132 #end