Versions Compared

Key

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

...

Anchor
ownerRoleValidator-anchor
ownerRoleValidator-anchor
ownerRoleValidator
Questa validazione opera sugli elementi owner (responsabile scientifico) e contributor (partecipante) figli dell'oggetto radice.
Viene verificato che per ogni owner e contributor, sia specificata la data di inizio validità specificato il ruolo (attributo startDate) roleId) se attivato dalla configuration "ap.prj.owner.role.enabled"
Per maggiori dettagli cfr. modello dati dell'entità in questione
Code Block
languagejs
linenumberstrue
collapsetrue
	
			if (!Packages.java.lang.Boolean.TRUE.equals(wfItem.getBooleanMap().get("legacy"))){		
				if (Packages.it.cilea.core.configuration.util.ConfigurationUtil.getConfigValue("ap.prj.owner.role.enabled").equalsIgnoreCase("true")){
					var elementSet = Packages.it.cilea.core.fragment.util.FragmentUtil.getCurrentFragmentSetByParentAndDiscriminator(object, "getWfItemElementSet", "it.cilea.wf.model.WfItemElement", "owner", wfService);
					if (elementSet.size() > 0){
						var elementSetIterator = elementSet.iterator();				
						var elementToEdit = [];
									
						while (elementSetIterator.hasNext()){										
							var element = elementSetIterator.next();												
							var wfItemElementRoleId = element.getWfDictionaryMap().get("roleId");
							
							if(wfItemElementRoleId == null && !wfItemElementRoleId){
								var discriminator = element.getDiscriminator();
								if(element.getDiscriminator().contains(".")){
								 	discriminator = element.getDiscriminator().substring(0, element.getDiscriminator().indexOf("."))
								}
								elementToEdit.push(element.getPersonMap().get("ownerId").getDisplayValue());
							}								
						}
						
						if (elementToEdit.length > 0){
							errors.reject("error.owner.role.required", [elementToEdit.toString()], "error.owner.role.required");
						}			
					}			
				}				
			}
		

...