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.