====== AIRS-1060 Attachment handling for POE ====== https://tasks.supplyon.de/browse/AIRS-1060\\ https://doc.supplyon.de/pages/viewpage.action?pageId=52438472 ===== Spec ===== ==== Meine Definition ==== === Prüfungen beim Hochladen des Deklarativen Dokuments für eine "Airbus-NCR" === - In dieser NCR sind keine anderen ungelöschten deklarativen Dokumente vorhanden - Die hochzuladende Datei hat Erweiterung PDF (Cast nicht vergessen) === Prüfungen beim Versand einer "Airbus-NCR" === - Exakt ein deklaratives Dokument vorhanden ==== Definition aus Confluence ==== === Nur ein "declarative document" pro NCR Objekt === Only one attachment of document type "Declarative Document" can be attached to a NCR object. Trying to add a second attachment of this document type shall throw an error-message to the user (exact wording of the error-message to be defined). Only in case of Airbus NCR process (seescmdb0.torganization_scd.cncrcustomerconfigtype = Airbus) === "Declarative document" muss ein PDF Dokument sein === An attachment of document type "Declarative Document" must only be a file of filetype extension *.pdf (trying to add an attachment as document type "Declarative Document" that has a different file-type extension shall throw an error-message to the user, exact wording of this message to be defined). Only in case of Airbus NCR process (seescmdb0.torganization_scd.cncrcustomerconfigtype = Airbus) === "Declarative document" kann gelöscht werden === An existing "Declarative Document" can be deleted and a new "Declarative Document" can be added (Update process). === Beliebig viele "Informative documents" === One or many attachments of document type "Informative Document" can additionally be attached to the NCR without restriction (neither on the amount of attached documents, nor on the file-type extension). Only in case of Airbus NCR process (seescmdb0.torganization_scd.cncrcustomerconfigtype = Airbus) === Versenden von POE ohne "declarative document" nicht möglich === In case of sending a concession of type "Equipment" the validation shall fail and present an error message to the user, in case no declarative document has been attached. (exact wording of the error-message to be defined). Only in case of Airbus NCR process (seescmdb0.torganization_scd.cncrcustomerconfigtype = Airbus) ===== Implementierung ===== ==== Implementierungsidee von Stefan Röck ==== (10:00:07) Roeck, Stefan: man könnte den NCRProcessDefinition erweitern analog zu den FieldDefinitionValidator einen AttachmentValidator Mechanismus bereitstellen\\ (10:00:20) Roeck, Stefan: der wird dann immer generisch aufgerufen beim hochladen\\ (10:00:51) Roeck, Stefan: und pro Prozess (Subklassen von CommonProcessDefinitionBuilder) die korrekte Implementierung bereitstellen\\