Zum Hauptinhalt springen

Callbacks für Workflow

Dieses Skript enthält Callbacks für den Workflow.

tipp

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?​

  • beforeSendSignalStart
  • afterSendSignalStart
  • beforeCheckAfterRelease
  • afterCheckAfterRelease
  • beforeIncomingEvent
  • afterIncomingEvent
  • beforeGuardBackTo
  • afterGuardBackTo
  • beforeGuardRejected
  • afterGuardRejected
  • beforeToVerificationUser
  • afterToVerificationUser
  • beforeToNextVerificationUser
  • afterToNextVerificationUser
  • beforeToRelease
  • afterToRelease

Callbacks​

beforeSendSignalStart​

Dieser Callback wird getriggert bevor Workflowstart ( ou.spc.ptpREQ.workflow.sendsignal.start ) ausgeführt wird.

beforeSendSignalStart: (): false | void;
tipp

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;
tipp

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;
tipp

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;
tipp

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;
tipp

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;
tipp

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;
tipp

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;
tipp

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");
}