Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Grafico del flusso

Descrizione

Il flusso project-centralized-bis-flow è un flusso centralizzato che modella il ciclo di vita di un progetto di ricerca, dalla proposta, all'ottenimento del finanziamento e dei successivi risultati.

Questo flusso prevede i seguenti attori nelle diverse visioni.
  • Visione completa
    • Helpdesk - HD
      Team con profilo "Profilo Helpdesk per i Progetti (project)"
    • Divisione Ricerca - DR
      Team con profilo "Profilo Divisione Ricerca"
    • Contabilità - CO
      Team con profilo "Profilo Contabilità"
  • Visione dipartimentale
    • Organi dipartimentali - OD
      Team con la seguente naming convention "Profilo di dipartimento per XXX", dove XXX è il nome del dipartimento
      La completa operatività su un dato progetto è consentita solo per il dipartimento marcato come "Principale"
      I dipartimenti aggregati avranno accesso in sola lettura.
  • Visione personale
    • Responsabile scientifico - RS
      Persona appartenente al team "Utenti", che compare tra i responsabili del progetto. Cfr modello dati TAB Soggetti interni
    • Partecipante - PA
      Persona appartenente al team "Utenti", che compare tra i partecipanti del progetto. Cfr modello dati TAB Soggetti interni
    • Referente amministrativo - RA
      Persona appartenente al team "Utenti", che compare tra i referenti amministrativi del progetto. Cfr modello dati TAB Soggetti interni
Trattandosi di un flusso centralizzato, la creazione di un nuovo progetto è consentita SOLO all' HD, DR in visione completa e OD (Organi dipartimentali) in visione dipartimentale.
Questo flusso prevede delle logiche di calcolo dinamico delle permissions basate su opportune variabili di configurazioni.
I permessi calcolati dinamicamente sono individuabili dal simbolo "+" all'interno delle icone dei permessi (ellipse, square, rhombus).
In caso di presenza del simbolo "+", le icone presenti indicano i "massimi" permessi assegnabili
Questi permessi sono calcolati dalla seguente logica: I permessi calcolati da questa logica prevale su quelli indicati dall'icona relativa.
Gli stati in arancione sono gli stati di sincronizzazione con UGOV-PJ

Etichette Stati

I nomi degli stati possono essere personalizzati con la funzione di Gestione etichette.
Nella tabella sottostante vengono riportati tutti gli stati previsti dal flusso con relativa etichetta e valore di default.
Vengono anche fornite le etichette per i vari bottoni che consentono lo spostamento di stato.
Di default venegono utilizzate le etichette dei bottoni per lo stato successivo, è possibile configurare il flusso in maniera tale da utlizzare anche le etichette dei bottoni per lo stato precedente.
Esempio di utilizzo: l'oggetto si trova nello stato in attesa di essere validato, i possibili stati di cambio sono bozza e operativo. Il bottone per lo stato operativo utilizzerà l'etichetta per lo stato successivo, mentre il bottone per lo stato bozza utilizzerà l'etichetta per lo stato precedente.

Identificativo statoChiave etichetta statoValore default statoEtichetta del bottone stato successivoEtichetta del bottone stato precedenteValore etichetta del bottone stato successivoValore etichetta del bottone stato precedente
draftwfState.prj.draftBozzabutton.forward.to.prj.draftbutton.backward.to.prj.draftSalva e invia in "Bozza"Riporta in "Bozza"
addedwfState.prj.addedInseritobutton.forward.to.prj.addedbutton.backward.to.prj.addedSalva e invia in "Inserito"Salva e invia in "Inserito"
submittedwfState.prj.submittedPresentatobutton.forward.to.prj.submittedbutton.backward.to.prj.submittedSalva e invia in "Presentato"Salva e invia in "Presentato"
nonSubmittedwfState.prj.nonSubmittedNon Presentatobutton.forward.to.prj.nonSubmittedbutton.backward.to.prj.nonSubmittedSalva e invia in "Non Presentato"Salva e invia in "Non Presentato"
approvedUnderNegotiationwfState.prj.approvedUnderNegotiationApprovato in Negoziazionebutton.forward.to.prj.approvedUnderNegotiationbutton.backward.to.prj.approvedUnderNegotiationSalva e invia in "Approvato in Negoziazione"Salva e invia in "Approvato in Negoziazione"
excludedwfState.prj.excludedEsclusobutton.forward.to.prj.excludedbutton.backward.to.prj.excludedSalva e invia in "Escluso"Salva e invia in "Escluso"
hrValidationwfState.prj.hrValidationValidazione Risorse Umanebutton.forward.to.prj.hrValidationbutton.backward.to.prj.hrValidationSalva e invia in "Validazione Risorse Umane"Salva e invia in "Validazione Risorse Umane"
operativewfState.prj.operativeOperativobutton.forward.to.prj.operativebutton.backward.to.prj.operativeInvia in "Operativo"Riporta in "Operativo"
cancelledAfterOperativewfState.prj.cancelledAfterOperativeRevocato, Trasferito, Rinunciabutton.forward.to.prj.cancelledAfterOperativebutton.backward.to.prj.cancelledAfterOperativeSalva e invia in "Rinuncia, Trasferito, Revoca"Salva e invia in "Rinuncia, Trasferito, Revoca"
concludedwfState.prj.concludedConclusobutton.forward.to.prj.concludedbutton.backward.to.prj.concludedInvia in "Concluso"Riporta in "Concluso"
suspendedwfState.prj.suspendedSospesobutton.forward.to.prj.suspendedbutton.backward.to.prj.suspendedSalva e invia in "Sospeso"Salva e invia in "Sospeso"

Salti di stato

ATTENZIONE: Questo flusso prevede SALTI DI STATO.
Questo significa che esistono degli stati per i quali alcuni attori hanno abilitate TUTTE le transizioni di stato possibili: è cioè possibile spostare l'elemento in uno qualsiasi degli altri stati del flusso.
Questi spostamenti di stato saranno vincolati al superamento delle validazioni di ingresso dello specifico stato scelto.
Per leggibilità, queste transizioni "degeneri" NON vengono riportate nel grafico ma solo nella sezione Permessi.
Di seguito l'elenco degli attori con questa funzionalità:

  • Helpdesk - HD

Anchor
ModelloDati-anchor
ModelloDati-anchor

Modello Dati

Il dettaglio del modello dati associato a questo flusso è disponibile alla seguente pagina Produzione - Modello dati (project - PRJ)

Anchor
Permessi-anchor
Permessi-anchor

Permessi

Nella seguente sezione viene riportato il dettaglio dei permessi e delle transizioni di stato possibili per tutti gli attori del flusso.
Per quanto riguarda le transizioni di stato vengono riportati gli identificativi degli stati verso i quali è possibile effettuare la transizione.
Quando viene riportato il marcatore "__PREVIOUS_STATE__" significa che la transizione di stato è consentita verso lo stato precedente.
Di seguito la legenda dei permessi:

  • c: create (disponibile solo per il primo stato del flusso)
  • r: read
  • w: write
  • d: delete
Viene, inoltre, fornito dettaglio dei TAB disponibili (quelli in sola lettura presentano il suffisso readonly)

StatoAttoriPermessiTransizioniTab
Bozza
(draft)
Helpdesk (helpdesk) c r w d all
Divisione Ricerca (researchDivision) c r w d added
Referente amministrativo (administrativeOwner) r w d added
Organi dipartimentali (headOfDepartment) c r w d added
Inserito
(added)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r w d draft,submitted,nonSubmitted
Referente amministrativo (administrativeOwner) r w d draft,submitted,nonSubmitted
Organi dipartimentali (headOfDepartment) r w d draft,submitted,nonSubmitted
Presentato
(submitted)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r w approvedUnderNegotiation,added,excluded
Referente amministrativo (administrativeOwner) r w approvedUnderNegotiation,added,excluded
Contabilita' (accountancy) r none
Organi dipartimentali (headOfDepartment) r w approvedUnderNegotiation,added,excluded
Non Presentato
(nonSubmitted)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r none
Referente amministrativo (administrativeOwner) r none
Contabilita' (accountancy) r none
Organi dipartimentali (headOfDepartment) r none
Approvato in Negoziazione
(approvedUnderNegotiation)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r w hrValidation,submitted
Referente amministrativo (administrativeOwner) r w hrValidation,submitted
Contabilita' (accountancy) r none
Organi dipartimentali (headOfDepartment) r w hrValidation,submitted
Escluso
(excluded)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r none
Referente amministrativo (administrativeOwner) r none
Contabilita' (accountancy) r none
Organi dipartimentali (headOfDepartment) r none
Validazione Risorse Umane
(hrValidation)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r w operative,approvedUnderNegotiation
Referente amministrativo (administrativeOwner) r operative,approvedUnderNegotiation
Contabilita' (accountancy) r none
Organi dipartimentali (headOfDepartment) r w operative,approvedUnderNegotiation
Responsabile/Proprietario (owner) r none
Operativo
(operative)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r w concluded,suspended,cancelledAfterOperative
Referente amministrativo (administrativeOwner) r w concluded,suspended,cancelledAfterOperative
Contabilita' (accountancy) r none
Organi dipartimentali (headOfDepartment) r w none
Responsabile/Proprietario (owner) r w none
Partecipante (contributor) r none
Revocato, Trasferito, Rinuncia
(cancelledAfterOperative)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r none
Referente amministrativo (administrativeOwner) r none
Contabilita' (accountancy) r none
Organi dipartimentali (headOfDepartment) r w none
Responsabile/Proprietario (owner) r none
Partecipante (contributor) r none
Concluso
(concluded)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r w none
Referente amministrativo (administrativeOwner) r w none
Contabilita' (accountancy) r none
Organi dipartimentali (headOfDepartment) r w none
Responsabile/Proprietario (owner) r w none
Partecipante (contributor) r none
Sospeso
(suspended)
Helpdesk (helpdesk) r w d all
Divisione Ricerca (researchDivision) r w operative
Referente amministrativo (administrativeOwner) r w operative
Contabilita' (accountancy) r none
Organi dipartimentali (headOfDepartment) r w none
Responsabile/Proprietario (owner) r none
Partecipante (contributor) r none

Validazioni

Nella seguente sezione viene riportato il dettaglio delle validazioni per tutte le coppie (attore, stato) del flusso.
Le validazioni sono distinte nei seguenti macrotipi e sono riferite, se non specificato altrimenti, all'oggetto radice.

  • enter: validazione applicata in ingresso nello stato
    La transizione in ingresso viene NEGATA se anche solo una validazione NON viene superata con successo.
  • save: validazione applicata ad ogni salvataggio e quindi anche per ogni spostamento di TAB
    Il salvataggio viene NEGATO se anche solo una validazione NON viene superata con successo.
  • delete: validazione applicata in fase di eliminazione di un oggetto radice
  • element: validazione applicata agli elementi figli di un oggetto radice
  • permissions: logiche di generazione dinamica dei permessi (rwfd) sull'oggetto radice che sovrascrive i permessi di flusso (rwfd)
Le validazioni sono ulteriormente distinte nei seguenti tipi.
  • required: validazione di obbligatorietà di un attributo sull'oggetto radice.
  • complex: validazione complessa applicabile sia all'oggetto radice che agli elementi.
    Per avere maggiori dettagli sulla validazione cliccare sull'identificativo della validazione
Nel caso di validazioni di tipo element, oltre all'identificativo della validazione, viene riportato anche l'identificativo dell'elemento a cui è applicata e l'azione che l'ha scatenata:
  • salvataggio (save)
  • eliminazione (delete)

Ad esempio la seguente stringa
internalOrganizationUnit:delete departmentDeleteValidator indica che la validazione "departmentDeleteValidator" è applicata in eliminazione di un elemento di tipo internalOrganizationUnit dell'oggetto radice.

Per avere maggiori dettagli sui possibili elementi fare riferimento alla definizione del modello, disponibile nella sezione Modello Dati.

Infine è possibile applicare le validazioni, condizionalmente al soddisfacimento di determinate condizioni (opzionali).
Queste condizioni sono specificate nella colonna "Applicabilità": se è specificato always, la validazione è sempre attiva.

StatoAttoriMacroTipoTipoAttributo/IdentificativoApplicabilita'
Bozza
(draft)
allenterrequiredwfItemTypeIdalways
description isNotLegacy
dateMap[proposalStartDate] isNotLegacy
complex ownerValidatorProject isNotLegacy
checkCreationPermissionsValidator isNotLegacy
ownerWithSameDepartmentAsHeadValidator always
ownerPositionStartValidator always
saverequiredidentifieralways
complex sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
deletecomplex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) savecomplex notEditableByDepartmentValidator isNotLegacy
elementcomplexinternalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
permissionscomplex wfIdentityLogicHeadOfDepartmentProjectTruePermissionsJs always
Inserito
(added)
allenterrequiredwfItemTypeIdalways
description isNotLegacy
dateMap[proposalStartDate] isNotLegacy
complex ownerPositionStartValidator always
ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
administrativeOwnerValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
projectCallValidator isNotLegacy
saverequiredidentifieralways
complex sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
deletecomplex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) savecomplex notEditableByDepartmentValidator isNotLegacy
elementcomplexinternalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
permissionscomplex wfIdentityLogicHeadOfDepartmentProjectTruePermissionsJs always
Presentato
(submitted)
allenterrequiredwfItemTypeIdalways
description isNotLegacy
dateMap[proposalStartDate] isNotLegacy
complex ownerPositionStartValidator always
ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
administrativeOwnerValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
projectCallValidator isNotLegacy
saverequiredidentifieralways
complex sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
deletecomplex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) savecomplex notEditableByDepartmentValidator isNotLegacy
elementcomplexinternalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
permissionscomplex wfIdentityLogicHeadOfDepartmentProjectTruePermissionsJs always
Non Presentato
(nonSubmitted)
allenterrequiredstringMap[transitionComment] isNotLegacy
complex ownerPositionStartValidator always
saverequiredidentifieralways
complex changeItemTypeForNotSynchronizedItemValidator always
sameDefinitionForGenericItemValidator always
deletecomplex childAndParentDetectorDeleteValidator always
Approvato in Negoziazione
(approvedUnderNegotiation)
allenterrequiredwfItemTypeIdalways
description isNotLegacy
dateMap[proposalStartDate] isNotLegacy
booleanMap[warningAcknowlegement]
WARNING LABEL: warning.project.grantorAttachment.required
isNotLegacy areWarningEnabledProject
complex ownerPositionStartValidator always
ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
administrativeOwnerValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
projectCallValidator isNotLegacy
saverequiredidentifieralways
complex sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
deletecomplex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) savecomplex notEditableByDepartmentValidator isNotLegacy
elementcomplexinternalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
permissionscomplex wfIdentityLogicHeadOfDepartmentProjectTruePermissionsJs always
Escluso
(excluded)
allenterrequiredstringMap[transitionComment] isNotLegacy
complex ownerPositionStartValidator always
saverequiredidentifieralways
complex changeItemTypeForNotSynchronizedItemValidator always
sameDefinitionForGenericItemValidator always
deletecomplex childAndParentDetectorDeleteValidator always
Validazione Risorse Umane
(hrValidation)
allenterrequiredwfItemTypeIdalways
description isNotLegacy
dateMap[proposalStartDate] isNotLegacy
dateMap[startDate] isNotLegacy
dateMap[endDate] isNotLegacy
integerMap[durationInMonth] isNotLegacy
dateMap[expenditureStartDate] isNotLegacy
dateMap[expenditureEndDate] isNotLegacy
stringMap[cup] isNotLegacy isCupRequiredProject
stringMap[externalDmsIdentifier] isNotLegacy isYearGreaterOrEqualThanConfigurationProject isExternalDmsEnabledProject
booleanMap[warningAcknowlegement]
WARNING LABEL: warning.project.internalAssignmentLetter.required
isNotLegacy areWarningEnabledProject
wfDictionaryMap[currency] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCofinancing] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCost] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalContribution] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
complex projectEndDateAndExpenditureEndDateValidator isNotLegacy
ownerPositionStartValidator always
ownerValidatorProject always
organizationUnitValidatorProject isNotLegacy
administrativeOwnerValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
projectCallValidator isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkPartnerValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
internalOrganizationUnitCostRequiredValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkInconsistentFundingValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
partnerAndGlobalCostValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
saverequiredidentifieralways
dateMap[proposalStartDate] isNotLegacy
complex sameDefinitionForGenericItemValidator always
changeItemTypeForNotSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
deletecomplex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) savecomplex notEditableByDepartmentValidator isNotLegacy
elementcomplexinternalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
Operativo
(operative)
allenterrequiredwfItemTypeIdalways
description isNotLegacy
dateMap[proposalStartDate] isNotLegacy
dateMap[startDate] isNotLegacy
dateMap[endDate] isNotLegacy
integerMap[durationInMonth] isNotLegacy
dateMap[expenditureStartDate] isNotLegacy
dateMap[expenditureEndDate] isNotLegacy
stringMap[cup] isNotLegacy isCupRequiredProject
stringMap[externalDmsIdentifier] isNotLegacy isYearGreaterOrEqualThanConfigurationProject isExternalDmsEnabledProject
wfDictionaryMap[researchNature] isNotLegacy researchNatureValidatorProject
wfDictionaryMap[currency] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCofinancing] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCost] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalContribution] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
complex ownerPositionStartValidator always
expenditureStartDateAndExpenditureEndDateValidator isNotLegacy isYearGreaterOrEqualThanConfigurationProject
projectEndDateAndExpenditureEndDateValidator isNotLegacy
startDateAndEndDateValidator always
ownerValidatorWithStartEndDateProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
contributorAndOwnerStartDateValidator isNotLegacy isYearGreaterOrEqualThanConfigurationProject
contributorAndOwnerValidatorWithStartEndDate isNotLegacy isYearGreaterOrEqualThanConfigurationProject
dateCheckCoverageAndOverlap isNotLegacy
organizationUnitValidatorProject isNotLegacy
administrativeOwnerValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
projectCallValidator isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkPartnerValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
partnerAndGlobalCostValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
internalOrganizationUnitCostRequiredValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkDateExtensionValidator always
checkInconsistentFundingValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
uniqueIdentifierProject isNotLegacy
wfUgovPjSenderValidatorProject always
saverequiredidentifieralways
wfItemTypeId isNotLegacy
description isNotLegacy
dateMap[proposalStartDate] isNotLegacy
dateMap[startDate] isNotLegacy
dateMap[endDate] isNotLegacy
integerMap[durationInMonth] isNotLegacy
dateMap[expenditureStartDate] isNotLegacy
dateMap[expenditureEndDate] isNotLegacy
stringMap[cup] isNotLegacy isCupRequiredProject
stringMap[externalDmsIdentifier] isNotLegacy isYearGreaterOrEqualThanConfigurationProject isExternalDmsEnabledProject
wfDictionaryMap[researchNature] isNotLegacy researchNatureValidatorProject
wfDictionaryMap[currency] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCofinancing] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCost] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalContribution] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
complex ownerValidatorWithStartEndDateProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
contributorAndOwnerStartDateValidator isNotLegacy isYearGreaterOrEqualThanConfigurationProject
contributorAndOwnerValidatorWithStartEndDate isNotLegacy isYearGreaterOrEqualThanConfigurationProject
dateCheckCoverageAndOverlap isNotLegacy
expenditureStartDateAndExpenditureEndDateValidator isNotLegacy isYearGreaterOrEqualThanConfigurationProject
projectEndDateAndExpenditureEndDateValidator isNotLegacy
startDateAndEndDateValidator always
sameDefinitionForGenericItemValidator always
organizationUnitValidatorProject isNotLegacy
administrativeOwnerValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
projectCallValidator isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkPartnerValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
partnerAndGlobalCostValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
internalOrganizationUnitCostRequiredValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkDateExtensionValidator always
checkInconsistentFundingValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
changeItemTypeForSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
uniqueIdentifierProject isNotLegacy
wfUgovPjSenderValidatorProject always
deletecomplex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) savecomplex notEditableByDepartmentValidator isNotLegacy
elementcomplexinternalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
Responsabile/Proprietario (owner) savecomplex notEditableByOwnerValidator isNotLegacy
elementcomplexowner:delete  notEditableFragmentValidator isNotLegacy
owner:save  notEditableFragmentValidator isNotLegacy
contributor:delete  notEditableFragmentValidator isNotLegacy
contributor:save  notEditableFragmentValidator isNotLegacy
Revocato, Trasferito, Rinuncia
(cancelledAfterOperative)
allenterrequiredstringMap[transitionComment] isNotLegacy
complex ownerPositionStartValidator always
saverequiredidentifieralways
complex changeItemTypeForSynchronizedItemValidator always
sameDefinitionForGenericItemValidator always
deletecomplex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) savecomplex notEditableByDepartmentValidator isNotLegacy
elementcomplexinternalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
Concluso
(concluded)
allenterrequiredwfItemTypeIdalways
description isNotLegacy
dateMap[proposalStartDate] isNotLegacy
dateMap[startDate] isNotLegacy
dateMap[endDate] isNotLegacy
integerMap[durationInMonth] isNotLegacy
dateMap[expenditureStartDate] isNotLegacy
dateMap[expenditureEndDate] isNotLegacy
stringMap[cup] isNotLegacy isCupRequiredProject
stringMap[externalDmsIdentifier] isNotLegacy isYearGreaterOrEqualThanConfigurationProject isExternalDmsEnabledProject
wfDictionaryMap[researchNature] isNotLegacy researchNatureValidatorProject
wfDictionaryMap[currency] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCofinancing] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCost] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalContribution] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
booleanMap[warningAcknowlegement]
WARNING LABEL: warning.project.finalReport.required
isNotLegacy areWarningEnabledProject
complex expenditureStartDateAndExpenditureEndDateValidator isNotLegacy isYearGreaterOrEqualThanConfigurationProject
projectEndDateAndExpenditureEndDateValidator isNotLegacy
startDateAndEndDateValidator always
ownerPositionStartValidator always
ownerValidatorWithStartEndDateProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
contributorAndOwnerStartDateValidator isNotLegacy isYearGreaterOrEqualThanConfigurationProject
contributorAndOwnerValidatorWithStartEndDate isNotLegacy isYearGreaterOrEqualThanConfigurationProject
dateCheckCoverageAndOverlap isNotLegacy
organizationUnitValidatorProject isNotLegacy
administrativeOwnerValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
projectCallValidator isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkPartnerValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
partnerAndGlobalCostValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
internalOrganizationUnitCostRequiredValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkDateExtensionValidator always
checkInconsistentFundingValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
uniqueIdentifierProject isNotLegacy
wfUgovPjSenderValidatorProject always
internalOrganizationUnitCostRequiredValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
saverequiredidentifieralways
wfItemTypeId isNotLegacy
description isNotLegacy
dateMap[proposalStartDate] isNotLegacy
dateMap[startDate] isNotLegacy
dateMap[endDate] isNotLegacy
integerMap[durationInMonth] isNotLegacy
dateMap[expenditureStartDate] isNotLegacy
dateMap[expenditureEndDate] isNotLegacy
stringMap[cup] isNotLegacy isCupRequiredProject
stringMap[externalDmsIdentifier] isNotLegacy isYearGreaterOrEqualThanConfigurationProject isExternalDmsEnabledProject
wfDictionaryMap[researchNature] isNotLegacy researchNatureValidatorProject
wfDictionaryMap[currency] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCofinancing] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalCost] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
numberMap[internalContribution] isNotLegacy isYearGreaterOrEqualThanConfigurationProject
complex ownerValidatorWithStartEndDateProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
contributorAndOwnerStartDateValidator isNotLegacy isYearGreaterOrEqualThanConfigurationProject
contributorAndOwnerValidatorWithStartEndDate isNotLegacy isYearGreaterOrEqualThanConfigurationProject
dateCheckCoverageAndOverlap isNotLegacy
expenditureStartDateAndExpenditureEndDateValidator isNotLegacy isYearGreaterOrEqualThanConfigurationProject
projectEndDateAndExpenditureEndDateValidator isNotLegacy
startDateAndEndDateValidator always
sameDefinitionForGenericItemValidator always
organizationUnitValidatorProject isNotLegacy
administrativeOwnerValidatorProject isNotLegacy
grantorValidatorProject isNotLegacy
projectCallValidator isNotLegacy
currencyAndInternalContributionValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkPartnerValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
partnerAndGlobalCostValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
checkDateExtensionValidator always
checkInconsistentFundingValidatorProject isNotLegacy isYearGreaterOrEqualThanConfigurationProject
changeItemTypeForSynchronizedItemValidator always
uniquePeopleInOwnerAndContributorSetValidator isNotLegacy
uniqueIdentifierProject isNotLegacy
wfUgovPjSenderValidatorProject always
deletecomplex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) savecomplex notEditableByDepartmentValidator isNotLegacy
elementcomplexinternalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always
Responsabile/Proprietario (owner) savecomplex notEditableByOwnerValidator isNotLegacy
elementcomplexowner:delete  notEditableFragmentValidator isNotLegacy
owner:save  notEditableFragmentValidator isNotLegacy
contributor:delete  notEditableFragmentValidator isNotLegacy
contributor:save  notEditableFragmentValidator isNotLegacy
Sospeso
(suspended)
allenterrequiredstringMap[transitionComment] isNotLegacy
complex ownerPositionStartValidator always
saverequiredidentifieralways
complex changeItemTypeForSynchronizedItemValidator always
sameDefinitionForGenericItemValidator always
deletecomplex childAndParentDetectorDeleteValidator always
Organi dipartimentali (headOfDepartment) savecomplex notEditableByDepartmentValidator isNotLegacy
elementcomplexinternalOrganizationUnit:delete  departmentDeleteValidator always
internalOrganizationUnit:save  departmentChangeRoleValidator always

Logiche (action/start)

Nella seguente sezione vengono riportate le

  • START LOGICS
    Le start logics sono le "azioni" che vengono eseguite in fase di creazione di un nuovo oggetto radice
  • ACTION LOGICS
    Le action logics sono delle "azioni" che vengono eseguite al verificarsi di determinati eventi.
    Gli eventi contemplati sono:
    • enter: ingresso in uno stato
    • save: salvataggio dell'oggetto radice
Di seguito viene riportato il dettaglio delle logiche definite per questo flusso.

START LOGICS

ACTION LOGICS