Versions Compared

Key

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

...

Anchor
departmentChangeRoleValidator-anchor
departmentChangeRoleValidator-anchor
departmentChangeRoleValidator
Questa validazione opera sull'elemento internalOrganizationUnit figlio dell'oggetto radice.
Se l'utente è in visione dipartimentale per il dipartimento X e tenta di modificare il ruolo del dipartimento X nell'oggetto radice, viene sollevato un errore se il nuovo ruolo prevede diritti inferiori.
Questa operazione viene impedita in quanto la modifica del ruolo porterebbe l'utente a non potere più operare su quell'oggetto.
Ad esempio se un utente accede in visione dipartimentale ad un progetto e cambia il ruolo del suo dipartimento da "Principale" ad "Aggregato", l'operazione viene impedita perché il ruolo "Aggregato" prevede diritti inferiori.
Questa operazione è consentita in visione completa per i team abilitati.
Per maggiori dettagli cfr. modello dati dell'entità in questione
Code Block
languagejs
linenumberstrue
collapsetrue
	
			var ouIdToCheck = object.getIntegerMap().get("ouIdPreviousValue");		
			var ouRoleToCheck = object.getIntegerMap().get("roleIdPreviousValue");
			if(ouRoleToCheck != null){
				if (ouIdToCheck == null){
					ouIdToCheck = object.getOrganizationUnitMap().get("ouId").getId();
				}						
				if (ouRoleToCheck == null){
					if (object.getWfDictionaryMap().get("roleId") != null){
						ouRoleToCheck = object.getWfDictionaryMap().get("roleId").getId();
					} 			
				}
				if (GaUtil.isCurrentUserInDepartmentView(gaAuthorizationService)){
					if (WfUtil.isOrganizationUnitBindedWithTask(gaService.getOrganizationUnit(ouIdToCheck), request.getParameter("wfTaskId"), wfTaskService)){
						object.getOrganizationUnitMap().put("ouId",gaService.getOrganizationUnit(ouIdToCheck));
						object.getWfDictionaryMap().put("roleId",wfService.getWfDictionary(ouRoleToCheck));
						wfService.saveOrUpdate(object);						 	
						errors.reject("error.operation.headOfDepartment.changeRole");
					}
				}	
			}			
		

...