...
Anchor | ||||
---|---|---|---|---|
|
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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");
}
}
}
|
...