if ( !aclService.canDataRead( user, program.getTrackedEntityType() ) ) errors.add( "User has no data read access to tracked entity type: " + program.getTrackedEntityType().getUid() );
if ( !aclService.canDataRead( user, program.getTrackedEntityType() ) ) errors.add( "User has no data read access to tracked entity type: " + program.getTrackedEntityType().getUid() );
private SetMap<Class<? extends IdentifiableObject>, IdentifiableObject> handleProgram( SetMap<Class<? extends IdentifiableObject>, IdentifiableObject> metadata, Program program ) { if ( program == null ) return metadata; metadata.putValue( Program.class, program ); handleAttributes( metadata, program ); handleCategoryCombo( metadata, program.getCategoryCombo() ); handleDataEntryForm( metadata, program.getDataEntryForm() ); handleTrackedEntityType( metadata, program.getTrackedEntityType() ); program.getNotificationTemplates().forEach( template -> handleNotificationTemplate( metadata, template ) ); program.getProgramStages().forEach( programStage -> handleProgramStage( metadata, programStage ) ); program.getProgramAttributes().forEach( programTrackedEntityAttribute -> handleProgramTrackedEntityAttribute( metadata, programTrackedEntityAttribute ) ); program.getProgramIndicators().forEach( programIndicator -> handleProgramIndicator( metadata, programIndicator ) ); List<ProgramRule> programRules = programRuleService.getProgramRule( program ); List<ProgramRuleVariable> programRuleVariables = programRuleVariableService.getProgramRuleVariable( program ); programRules.forEach( programRule -> handleProgramRule( metadata, programRule ) ); programRuleVariables.forEach( programRuleVariable -> handleProgramRuleVariable( metadata, programRuleVariable ) ); return metadata; }
if ( !aclService.canDataRead( user, program.getTrackedEntityType() ) ) errors.add( "User has no data read access to tracked entity type: " + program.getTrackedEntityType().getUid() );
if ( !aclService.canDataRead( user, program.getTrackedEntityType() ) ) errors.add( "User has no data read access to tracked entity type: " + program.getTrackedEntityType().getUid() );
@Override public ProgramInstance prepareProgramInstance( TrackedEntityInstance trackedEntityInstance, Program program, ProgramStatus programStatus, Date enrollmentDate, Date incidentDate, OrganisationUnit organisationUnit, String uid ) { if ( program.getTrackedEntityType() != null && !program.getTrackedEntityType().equals( trackedEntityInstance.getTrackedEntityType() ) ) { throw new IllegalQueryException( "Tracked entity instance must have same tracked entity as program: " + program.getUid() ); } ProgramInstance programInstance = new ProgramInstance(); programInstance.setUid( CodeGenerator.isValidUid( uid ) ? uid : CodeGenerator.generateUid() ); programInstance.setOrganisationUnit( organisationUnit ); programInstance.enrollTrackedEntityInstance( trackedEntityInstance, program ); if ( enrollmentDate != null ) { programInstance.setEnrollmentDate( enrollmentDate ); } else { programInstance.setEnrollmentDate( new Date() ); } if ( incidentDate != null ) { programInstance.setIncidentDate( incidentDate ); } else { programInstance.setIncidentDate( new Date() ); } programInstance.setStatus( programStatus ); return programInstance; }
trackedEntityInstance.setTrackedEntityType( trackedEntityTypeService.getTrackedEntityByName( smsCommand.getProgram().getTrackedEntityType().getName() ) ); Set<TrackedEntityAttributeValue> patientAttributeValues = new HashSet<>();
@Override public void decideAccess( TrackedEntityInstanceQueryParams params ) { User user = params.isInternalSearch() ? null : currentUserService.getCurrentUser(); if ( params.isOrganisationUnitMode( ALL ) && !currentUserService.currentUserIsAuthorized( Authorities.F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS.name() ) && !params.isInternalSearch() ) { throw new IllegalQueryException( "Current user is not authorized to query across all organisation units" ); } if ( params.hasProgram() ) { if ( !aclService.canDataRead( user, params.getProgram() ) ) { throw new IllegalQueryException( "Current user is not authorized to read data from selected program: " + params.getProgram().getUid() ); } if ( params.getProgram().getTrackedEntityType() != null && !aclService.canDataRead( user, params.getProgram().getTrackedEntityType() ) ) { throw new IllegalQueryException( "Current user is not authorized to read data from selected program's tracked entity type: " + params.getProgram().getTrackedEntityType().getUid() ); } } if ( params.hasTrackedEntityType() && !aclService.canDataRead( user, params.getTrackedEntityType() ) ) { throw new IllegalQueryException( "Current user is not authorized to read data from selected tracked entity type: " + params.getTrackedEntityType().getUid() ); } }
if ( params.hasProgram() && params.getProgram().getTrackedEntityType() != null ) trackedEntityTypes.put( params.getProgram().getTrackedEntityType().getUid(), params.getProgram().getTrackedEntityType() );