@Override protected ProgramStageInstance postProcessObject( ProgramStageInstance programStageInstance ) { return (programStageInstance == null || programStageInstance.isDeleted()) ? null : programStageInstance; } }
public boolean hasProgramStageInstance( ProgramStage programStage ) { for ( ProgramStageInstance programStageInstance : programStageInstances ) { if ( !programStageInstance.isDeleted() && programStageInstance.getProgramStage().getUid().equalsIgnoreCase( programStage.getUid() ) && programStageInstance.getStatus() != EventStatus.SKIPPED ) { return true; } } return false; }
public boolean hasActiveProgramStageInstance( ProgramStage programStage ) { for ( ProgramStageInstance programStageInstance : programStageInstances ) { if ( !programStageInstance.isDeleted() && programStageInstance.getProgramStage().getUid().equalsIgnoreCase( programStage.getUid() ) && programStageInstance.getStatus() == EventStatus.ACTIVE ) { return true; } } return false; }
private List<ImportConflict> isAllowedToDelete( User user, ProgramInstance pi ) { List<ImportConflict> importConflicts = new ArrayList<>(); Set<ProgramStageInstance> notDeletedProgramStageInstances = pi.getProgramStageInstances().stream() .filter( psi -> !psi.isDeleted() ) .collect( Collectors.toSet() ); if ( !notDeletedProgramStageInstances.isEmpty() && !user.isAuthorized( Authorities.F_ENROLLMENT_CASCADE_DELETE.getAuthority() ) ) { importConflicts.add( new ImportConflict( pi.getUid(), "Enrollment " + pi.getUid() + " cannot be deleted as it has associated events and user does not have authority: " + Authorities.F_ENROLLMENT_CASCADE_DELETE.getAuthority() ) ); } List<String> errors = trackerAccessManager.canWrite( user, pi ); if ( !errors.isEmpty() ) { errors.forEach( error -> importConflicts.add( new ImportConflict( pi.getUid(), error ) ) ); } return importConflicts; } }
event.setLastUpdatedAtClient( DateUtils.getIso8601NoTz( programStageInstance.getLastUpdatedAtClient() ) ); event.setGeometry( programStageInstance.getGeometry() ); event.setDeleted( programStageInstance.isDeleted() );
if ( programStageInstance != null && ( programStageInstance.isDeleted() || importOptions.getImportStrategy().isCreate() ) )
if ( (params.isIncludeDeleted() || !programStageInstance.isDeleted()) && trackerAccessManager.canRead( user, programStageInstance ).isEmpty() )