wBrowseEdit::createButtonRejectDocument
Weist ein Dokument aus dem Workflow zurück
Funktionsaufruf
String createButtonRejectDocument(String path = '', String icon = '', String caption = '', String title = '', Array options = array())
Parameter
- path
- Pfad zu der Datei, i.d.R. Pfad der Arbeitskopie
- icon
- Symbol
- caption
- Beschriftung der Schaltfläche
- title
- Titel der Schaltfläche
- attributes
- Weitere Attribute
- id => String
- ID der Schaltfläche
- class => String
- CSS Klasse
- style => String
- CSS Style
Beispiel: Button, um eine Datei aus dem Workflow zurückzuweisen (inkl. Freigabe-Button)
Quelltext
<?php
$documentPath = '<xsl:value-of select="$wDocumentPath"/>'; // Pfad zur freizugebenden Datei
$iconApprove = "approve_document"; // Symbol der Schaltfläche zum Freigeben
$iconReject = "reject_document"; // Symbol der Schaltfläche zum Zurückweisen
$captionApprove = "Freigeben"; // Bezeichnung der Schaltfläche zum Freigeben
$captionReject = "Zurückweisen"; // Bezeichnung der Schaltfläche zum Zurückweisen
$titleApprove = "Klicken Sie hier, um die Datei freizugeben"; // Titel der Schaltfläche
$titleReject = "Klicken Sie hier, um die Datei zurückzuweisen"; // Titel der Schaltfläche
if(wWorkflow::isInWorkflow($documentPath) && wWorkflow::canApproveCurrentLevel($documentPath)){
print '<div style="padding:8px;overflow:hidden;background-color:#e0e0e0;border-bottom:solid 1px #a0a0a0;">';
if(wPathName::isDraft($documentPath)){
print '<h1 style="color:red;font-size:14px;font-family:arial, helvetica;">Diese Version befindet sich im Workflow und ist noch nicht sichtbar.</h1>';
print '<p style="margin:0">'.wBrowseEdit::createButtonApproveDocument($documentPath, $iconApprove, $captionApprove, $titleApprove).' '.wBrowseEdit::createButtonRejectDocument($documentPath, $iconReject, $captionReject, $titleReject).'</p>';
}
else{
print '<h1 style="font-size:14px;font-family:arial, helvetica;">Eine neuere Version befindet sich im Workflow und kann von Ihnen freigegeben werden.</h1>';
print '<p style=""><a target="_blank" href="'.wPathName::getPathDraft($documentPath).'">Geänderte Version anzeigen</a></p>';
}
print '</div>';
}
?>Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.
FAQs
- Wozu dient wBrowseEdit::createButtonRejectDocument?
- Die Funktion **weist ein Dokument aus dem Workflow zurück** und erzeugt dafür eine Schaltfläche (Button).
- Wie lautet die Funktionssignatur von wBrowseEdit::createButtonRejectDocument?
- <code class="codeInline">String createButtonRejectDocument(String path = '', String icon = '', String caption = '', String title = '', Array options = array())</code>
- Welche Parameter sind für createButtonRejectDocument relevant?
- - **path**: Pfad zur Datei, i. d. R. der Pfad der Arbeitskopie - **icon**: Symbol der Schaltfläche - **caption**: Beschriftung des Buttons - **title**: Titel/Tooltip des Buttons - **options**: Weitere Optionen (z. B. **attributes**), darunter z. B. <code class="codeInline">id</code>/StringID sowie **CSS class** und **CSS style**
- Kann ich der Schaltfläche eigene HTML-Attribute wie ID oder CSS-Klasse geben?
- Ja. Über **options** können zusätzliche Einstellungen gesetzt werden, z. B. **attributes** mit <code class="codeInline">id</code> (StringID), sowie **class** (CSS Klasse) und **style** (CSS Style).
- Wie kann ich prüfen, ob ein Dokument im Workflow ist und zurückgewiesen werden darf?
- Im Beispiel wird geprüft: - <code class="codeInline">wWorkflow::isInWorkflow($documentPath)</code> (ist im Workflow) - <code class="codeInline">wWorkflow::canApproveCurrentLevel($documentPath)</code> (Berechtigung für die aktuelle Ebene)
- Was passiert im Beispiel, wenn die Version noch ein Draft ist?
- Wenn <code class="codeInline">wPathName::isDraft($documentPath)</code> wahr ist, wird eine Meldung angezeigt, dass die Version im Workflow ist, aber **noch nicht sichtbar** ist. Zusätzlich werden in der Oberfläche die Freigabe- und Zurückweisen-Buttons ausgegeben.
- Was passiert im Beispiel, wenn bereits eine neuere Version im Workflow ist?
- Wenn <code class="codeInline">wPathName::isDraft($documentPath)</code> falsch ist (d. h. eine neuere Version ist im Workflow), wird eine Meldung angezeigt, dass eine neuere Version freigegeben werden kann. Außerdem wird ein Link ausgegeben, um die **geänderte Version** anzuzeigen (<code class="codeInline">wPathName::getPathDraft($documentPath)</code>).
- Welche Icons und Texte werden im Beispieltypisch für Freigeben und Zurückweisen verwendet?
- Im Beispiel werden typischerweise gesetzt: - Icon Freigeben: <code class="codeInline">approve_document</code>, Caption: „Freigeben“, Title: „Klicken Sie hier, um die Datei freizugeben“ - Icon Zurückweisen: <code class="codeInline">reject_document</code>, Caption: „Zurückweisen“, Title: „Klicken Sie hier, um die Datei zurückzuweisen“
- Gibt es einen Hinweis zur Verwendung von Framework-Funktionen in eigenen Skripten?
- Ja. Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie den genannten Artikel. Zusätzlich: Wenn eine Funktion innerhalb einer Weblication® Seite z. B. über das **PHP-Quelltext**-Element oder in einem **XSL-Template** über <code class="codeInline">wsl:php</code> eingebunden wird, muss das Framework über die **grid.php** nicht mehr referenziert werden.