Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Anchor
isYearGreaterOrEqualThanConfigurationProject-anchor
isYearGreaterOrEqualThanConfigurationProject-anchor
isYearGreaterOrEqualThanConfigurationProject
Questa è un'applicability rule che viene valutata prima di eseguire altre validazioni.
Se ritorna true allora vengono eseguite le altre validazioni altrimenti no.
Verifica anche che il progetto in questione sia relativo ad un anno maggiore o uguale a quello definito nella configurazione ap.prj.year.validation.threashold.
Se la configurazione NON è definita o non può essere convertita in un numero intero valido viene settato uguale a 0.
Questo approccio serve per evitare lo scatenarsi delle validazioni su vecchi progetti che non rispettano nuove e più stringenti validazioni, ed evitare quindi di dovere fare una bonifica a tappeto.
Code Block
languagejs
linenumberstrue
collapsetrue
			var yearTreasholdConf=Packages.it.cilea.core.configuration.util.ConfigurationUtil.getConfigValue("ap.prj.year.validation.threashold");			
			var year=new Packages.java.lang.Integer(0);			
			if (yearTreasholdConf!=null){
				try{
				year=new Packages.java.lang.Integer(Packages.org.apache.commons.lang.StringUtils.trim(yearTreasholdConf));
				}catch (e){}
			}
			
			(
				object.getYear()!=null 
				&&
				object.getYear().compareTo(year)>=0
			)			
		

Anchor
isCallProjectLinkValidationEnabled-anchor
isCallProjectLinkValidationEnabled-anchor
isCallProjectLinkValidationEnabled
Questa è un'applicability rule che viene valutata prima di eseguire la validazione relativa alla presenza di dei bandi di finanziamento.
Ritorna true se il progetto in questione ha proposalStartDate successiva alla data configurata in configuration: ap.prj.callProjectLink.validation.threashold.
Ritorna true anche se la configurazione NON è definita o non può essere convertita in una data oppure la proposalStartDate non esiste.
Ritorna false in tutti gli altri casi.
Il formato della data è il seguente dd/MM/yyyy HH:mm:ss
Code Block
languagejs
linenumberstrue
collapsetrue
						
			var dateTreasholdConf=Packages.it.cilea.core.configuration.util.ConfigurationUtil.getConfigValue("ap.prj.callProjectLink.validation.threashold");			
			var date=null;
			
			if (dateTreasholdConf!=null){
				try{
					SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
					date = formatter.parse(StringUtils.trim(dateTreasholdConf));
				}catch (e){}
			}				
			(	
				object.getDateMap().get("proposalStartDate")==null
				||				
				dateTreasholdConf==null
				||
				date==null
				||
				(		
					dateTreasholdConf!=null
					&&
					date!=null
					&&
					object.getDateMap().get("proposalStartDate")!=null
					&&
					(object.getDateMap().get("proposalStartDate").after(date) || object.getDateMap().get("proposalStartDate").equals(date))
				)
				
			)
						
		

Anchor
areWarningEnabledProject-anchor
areWarningEnabledProject-anchor
areWarningEnabledProject
Questa è un'applicability rule che pilota i messaggi di warning per i progetti.
Se la variabile ap.prj.warningAcknowlegement.validation.enabled è settata a true o non è valorizzata i messaggi di warning sono abilitati
Se la variabile ap.prj.warningAcknowlegement.validation.enabled è settata a false i messaggi di warning NON sono abilitati
Code Block
languagejs
linenumberstrue
collapsetrue
			var warningAcknowlegementFlagConf=Packages.it.cilea.core.configuration.util.ConfigurationUtil.getConfigValue("ap.prj.warningAcknowlegement.validation.enabled");			
			warningAcknowlegementFlagConf=Packages.org.apache.commons.lang.StringUtils.trim(warningAcknowlegementFlagConf);
			(!Packages.org.apache.commons.lang.StringUtils.equalsIgnoreCase("false",warningAcknowlegementFlagConf))
		

Anchor
isExternalDmsEnabledProject-anchor
isExternalDmsEnabledProject-anchor
isExternalDmsEnabledProject
Questa è un'applicability rule che pilota le validazioni relative fascicolo del DMS di Ateneo (Document Management System).
Se la variabile ap.prj.externalDmsIdentifier.enabled validazione è abilitata
Se la variabile ap.prj.externalDmsIdentifier.enabled è settata a false la validazione NON è abilitata
Code Block
languagejs
linenumberstrue
collapsetrue
			var flagConf=Packages.it.cilea.core.configuration.util.ConfigurationUtil.getConfigValue("ap.prj.externalDmsIdentifier.enabled");			
			flagConf=Packages.org.apache.commons.lang.StringUtils.trim(flagConf);
			(!Packages.org.apache.commons.lang.StringUtils.equalsIgnoreCase("false",flagConf))
		

Anchor
isCupRequiredProject-anchor
isCupRequiredProject-anchor
isCupRequiredProject
Questa è un'applicability rule che pilota le validazioni di obbligatorietà relative al CUP (cup).
Se la variabile ap.prj.cup.required è settata a true o non è valorizzata la validazione è abilitata
Se la variabile ap.prj.cup.required è settata a false la validazione NON è abilitata
Code Block
languagejs
linenumberstrue
collapsetrue

			var flagConf=Packages.it.cilea.core.configuration.util.ConfigurationUtil.getConfigValue("ap.prj.cup.required");			
			flagConf=Packages.org.apache.commons.lang.StringUtils.trim(flagConf);
			(!Packages.org.apache.commons.lang.StringUtils.equalsIgnoreCase("false",flagConf))
		

...

Anchor
financingSumProjectValidator-anchor
financingSumProjectValidator-anchor
financingSumProjectValidator
Questa validazione controlla che la somma dei campi Contributo totale Ateneo e Cofinanziamento Ateneo coincida con il valore del Costo totale del progetto per l'Ateneo.
Viene attivata dalla configurazione ap.prj.financing.sum.validation.enabled
Code Block
languagejs
linenumberstrue
collapsetrue
	
			if (ConfigurationUtil.getConfigValue("ap.prj.financing.sum.validation.enabled").equalsIgnoreCase("true")){
				var cost = wfItem.getNumberMap().get("internalCost") != null ? wfItem.getNumberMap().get("internalCost") : BigDecimal.ZERO; 
				var contribution = wfItem.getNumberMap().get("internalContribution") != null ? wfItem.getNumberMap().get("internalContribution") : BigDecimal.ZERO; 
				var cofinancing = wfItem.getNumberMap().get("internalCofinancing") != null ? wfItem.getNumberMap().get("internalCofinancing") : BigDecimal.ZERO; 
					
				if(!cost.stripTrailingZeros().equals(contribution.add(cofinancing).stripTrailingZeros())){
					errors.reject("error.project.financing.sum");	
				}				
			}				
		

...