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