Callbacks für Workflow
Dieses Skript enthält Callbacks für den Workflow.
Zum Aktivieren der Callbacks muss das Skript ou.tmpl.ptpREQ.callbacks.workflow in ou.cust.ptpREQ.callbacks.workflow umbenannt werden.
Verwendung
Für was kann ich diese Callbacks verwenden?
- Wenn man das Standard-Verhalten im Workflow ersetzen möchte
Welche Callbacks sind definiert?
beforeSendSignalStartafterSendSignalStartbeforeCheckAfterReleaseafterCheckAfterReleasebeforeIncomingEventafterIncomingEventbeforeGuardBackToafterGuardBackTobeforeGuardRejectedafterGuardRejectedbeforeToVerificationUserafterToVerificationUserbeforeToNextVerificationUserafterToNextVerificationUserbeforeToReleaseafterToRelease
Callbacks
beforeSendSignalStart
Dieser Callback wird getriggert bevor Workflowstart ( ou.spc.ptpREQ.workflow.sendsignal.start ) ausgeführt wird.
beforeSendSignalStart: (): false | void;
Gibt man false zurück, so wird die Standard-Logik umgangen und nicht ausgeführt.
beforeSendSignalStart: function() {
/**
* @type {ptpRequest}
*/
var docFile = context.file;
logger.info("beforeSendSignalStart callback here");
// Eigene Logik hier
// Mit return false; kann die vorhandene Logik übersprungen werden.
return false;
}
afterSendSignalStart
Dieser Callback wird getriggert nachdem Workflowstart ( ou.spc.ptpREQ.workflow.sendsignal.start ) ausgeführt wurde.
afterSendSignalStart: (): void;
afterSendSignalStart: function() {
/**
* @type {ptpRequest}
*/
var docFile = context.file;
logger.info("afterSendSignalStart callback here");
// Initiales Befüllen des Mappenklassenschutzes.
var success = access.setInitialAccess(docFile, {
// Ausgewählter Buchungskreis. Ist der String leer, wird die Rechnungskreissuche übersprungen.
recipient: docFile.recipient || "",
// Soll der fileOwner in die Zugriffsliste aufgenommen werden? (Standard `true`, Wert: `%fileOwner.login%`)
fileOwner: true,
// Fügt Zugriffsprofil 'ptpInvoiceAdmin' in die Zugriffsliste. Ist der Wert null, wird der Wert `ptpInvoiceAdmin` hinterlegt.
adminProfile: "ptpRequestAdmin",
// Soll die adminGroup aus der Rechnungskreismappe hinzugefügt werden?
adminGroup: true,
// Soll die accountingGroup aus der Rechnungskreismappe hinzugefügt werden?
accountingGroup: false,
// Soll die indexGroup aus der Rechnungskreismappe hinzugefügt werden?
indexGroup: true,
// Soll die responsibleGroup aus der Rechnungskreismappe hinzugefügt werden?
responsibleGroup: false
// Weitere Zugriffsprofile, welche in die Zugriffsliste sollen
// additionalAccessProfiles: ["ptpRequestSupervisor"],
});
}
beforeCheckAfterRelease
Dieser Callback wird getriggert bevor Freigabegrenze nicht erreicht ( ou.spc.ptpREQ.workflow.decision.checkAfterRelease ) ausgeführt wird.
beforeCheckAfterRelease: (): 1 | 0 | void;
Gibt man einen Wert zurück, so wird die Standard-Logik umgangen und der Wert zurückgegeben.
logger.info("beforeCheckAfterRelease callback here");
// Eigene Logik hier
// Mit return 1; oder return 0; kann die vorhandene Logik übersprungen werden.
// return 1;
afterCheckAfterRelease
Dieser Callback wird getriggert nachdem Freigabegrenze nicht erreicht ( ou.spc.ptpREQ.workflow.decision.checkAfterRelease ) ausgeführt wurde.
afterCheckAfterRelease: (): void;
afterCheckAfterRelease: function() {
logger.info("afterCheckAfterRelease callback here");
}
beforeIncomingEvent
Dieser Callback wird getriggert bevor Bei Eingang ( ou.spc.ptpREQ.workflow.action.incomingEvent ) ausgeführt wird.
Das incomingEvent wird bei folgenden Shapes verwendet:
- Start
- Ende
- Prüfung der Anforderung / Bestellung
- Prüfung und Freigabe
- Manuelle Anlage
beforeIncomingEvent: (): false | void;
Gibt man false zurück, so wird die Standard-Logik umgangen und nicht ausgeführt.
beforeIncomingEvent: function() {
logger.info("beforeIncomingEvent callback here");
}
afterIncomingEvent
Dieser Callback wird getriggert nachdem Bei Eingang ( ou.spc.ptpREQ.workflow.action.incomingEvent ) ausgeführt wurde.
Das incomingEvent wird bei folgenden Shapes verwendet:
- Start
- Ende
- Prüfung der Anforderung / Bestellung
- Prüfung und Freigabe
- Manuelle Anlage
afterIncomingEvent: (): void;
afterIncomingEvent: function() {
logger.info("afterIncomingEvent callback here");
}
beforeGuardBackTo
Dieser Callback wird getriggert bevor Zur Nachbearbeitung / Rückfrage ( ou.spc.ptpREQ.workflow.guard.backTo ) ausgeführt wird.
beforeGuardBackTo: (): number | void;
Gibt man einen Wert zurück, so wird die Standard-Logik umgangen und der Wert zurückgegeben.
beforeGuardBackTo: function() {
logger.info("beforeGuardBackTo callback here");
return -1;
}
afterGuardBackTo
Dieser Callback wird getriggert nachdem Zur Nachbearbeitung / Rückfrage ( ou.spc.ptpREQ.workflow.guard.backTo ) ausgeführt wurde.
afterGuardBackTo: (): void;
afterGuardBackTo: function() {
logger.info("afterGuardBackTo callback here");
},
beforeGuardRejected
Dieser Callback wird getriggert bevor Abgelehnt ( ou.spc.ptpREQ.workflow.guard.rejected ) ausgeführt wird.
beforeGuardRejected: (): number | void;
Gibt man einen Wert zurück, so wird die Standard-Logik umgangen und der Wert zurückgegeben.
beforeGuardRejected: function() {
logger.info("beforeGuardRejected callback here");
return 1;
}
afterGuardRejected
Dieser Callback wird getriggert nachdem Abgelehnt ( ou.spc.ptpREQ.workflow.guard.rejected ) ausgeführt wurde.
afterGuardRejected: (): void;
afterGuardRejected: function() {
logger.info("afterGuardRejected callback here");
}
beforeToVerificationUser
Dieser Callback wird getriggert bevor Zur Prüfung ( ou.spc.ptpREQ.workflow.guard.toVerificationUser ) ausgeführt wird.
beforeToVerificationUser: (): number | void;
Gibt man einen Wert zurück, so wird die Standard-Logik umgangen und der Wert zurückgegeben.
beforeToVerificationUser: function() {
logger.info("beforeToVerificationUser callback here");
return 1;
}
afterToVerificationUser
Dieser Callback wird getriggert nachdem Zur Prüfung ( ou.spc.ptpREQ.workflow.guard.toVerificationUser ) ausgeführt wurde.
afterToVerificationUser: (): void;
afterToVerificationUser: function() {
logger.info("afterToVerificationUser callback here");
}
beforeToNextVerificationUser
Dieser Callback wird getriggert bevor Zur Prüfung ( ou.spc.ptpREQ.workflow.guard.toNextVerificationUser ) ausgeführt wird.
beforeToNextVerificationUser: (): number | void;
Gibt man einen Wert zurück, so wird die Standard-Logik umgangen und der Wert zurückgegeben.
beforeToNextVerificationUser: function() {
logger.info("beforeToNextVerificationUser callback here");
return 1;
}
afterToNextVerificationUser
Dieser Callback wird getriggert nachdem Zur Prüfung ( ou.spc.ptpREQ.workflow.guard.toNextVerificationUser ) ausgeführt wurde.
afterToNextVerificationUser: (): void;
afterToNextVerificationUser: function() {
logger.info("afterToNextVerificationUser callback here");
}
beforeToRelease
Dieser Callback wird getriggert bevor zur Freigabe ( ou.spc.ptpREQ.workflow.guard.toRelease ) ausgeführt wird.
beforeToRelease: (data: { validationsFields: string[] }): number | void;
Gibt man einen Wert zurück, so wird die Standard-Logik umgangen und der Wert zurückgegeben.
beforeToRelease: function(data) {
logger.info("beforeToRelease callback here");
return 1;
}
afterToRelease
Dieser Callback wird getriggert nachdem zur Freigabe ( ou.spc.ptpREQ.workflow.guard.toRelease ) ausgeführt wurde.
afterToRelease: (): void;
afterToRelease: () => {
logger.info("afterToRelease callback here");
}