public String getTableName() { String name = baseName; if ( program != null ) { name += PartitionUtils.SEP + program.getUid().toLowerCase(); } return name; }
else if ( !program.equals( other.program ) )
public static Program createProgram( char uniqueCharacter, Set<ProgramStage> programStages, Set<TrackedEntityAttribute> attributes, Set<OrganisationUnit> organisationUnits, CategoryCombo categoryCombo ) Program program = new Program(); program.setAutoFields(); program.setName( "Program" + uniqueCharacter ); program.setCode( "ProgramCode" + uniqueCharacter ); program.setShortName( "ProgramShort" + uniqueCharacter ); program.setDescription( "Description" + uniqueCharacter ); program.setEnrollmentDateLabel( "DateOfEnrollmentDescription" ); program.setIncidentDateLabel( "DateOfIncidentDescription" ); program.setProgramType( ProgramType.WITH_REGISTRATION ); program.getProgramStages().add( programStage ); ptea.setAutoFields(); program.getProgramAttributes().add( ptea ); program.getOrganisationUnits().addAll( organisationUnits ); program.setCategoryCombo( categoryCombo ); program.setCategoryCombo( categoryService.getDefaultCategoryCombo() );
public MetadataItem( String name, Program program ) { this.name = name; if ( program == null ) { return; } this.uid = program.getUid(); this.code = program.getCode(); this.description = program.getDescription(); }
private void syncSharingForEventProgram( Program program ) { if ( ProgramType.WITH_REGISTRATION == program.getProgramType() || program.getProgramStages().isEmpty() ) { return; } ProgramStage programStage = program.getProgramStages().iterator().next(); AccessStringHelper.copySharing( program, programStage ); programStage.setUser( program.getUser() ); sessionFactory.getCurrentSession().update( programStage ); } }
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; }
errors.add( "User has no data write access to program: " + program.getUid() ); if ( !program.isWithoutRegistration() ) if ( !aclService.canDataRead( user, program.getTrackedEntityType() ) ) errors.add( "User has no data read access to tracked entity type: " + program.getTrackedEntityType().getUid() );
if ( program.hasCategoryCombo() ) List<Category> categories = program.getCategoryCombo().getCategories(); for ( DataElement dataElement : program.getDataElements() ) for ( DataElement dataElement : program.getDataElementsWithLegendSet() ) for ( TrackedEntityAttribute attribute : program.getNonConfidentialTrackedEntityAttributes() ) for ( TrackedEntityAttribute attribute : program.getNonConfidentialTrackedEntityAttributesWithLegendSet() ) columns.add( new AnalyticsTableColumn( quote( "oucode" ), "text", "ou.code" ) ); if ( program.isRegistration() )
programStage = programStage == null && program.isWithoutRegistration() ? program.getProgramStageByStage( 1 ) : programStage; if ( program.isRegistration() ) return new ImportSummary( ImportStatus.ERROR, "Tracked entity instance: " + entityInstance.getUid() + " is not enrolled in program: " + program.getUid() ).setReference( event.getEvent() ).incrementIgnored(); return new ImportSummary( ImportStatus.ERROR, "Tracked entity instance: " + entityInstance.getUid() + " has multiple active enrollments in program: " + program.getUid() ).setReference( event.getEvent() ).incrementIgnored(); String cacheKey = program.getUid() + "-" + ProgramStatus.ACTIVE; List<ProgramInstance> programInstances = getActiveProgramInstances( cacheKey, program ); return new ImportSummary( ImportStatus.ERROR, "Multiple active program instances exists for program: " + program.getUid() ) .setReference( event.getEvent() ).incrementIgnored(); if ( !programInstance.getProgram().hasOrganisationUnit( organisationUnit ) )
@Override public String allowDeleteProgram( Program program ) { String sql = "SELECT COUNT(*) FROM programstageinstance psi join programinstance pi on pi.programinstanceid=psi.programinstanceid where pi.programid = " + program.getId(); return jdbcTemplate.queryForObject( sql, Integer.class ) == 0 ? null : ERROR; } }
map.put( program.getUid(), new MetadataItem( program.getDisplayProperty( params.getDisplayProperty() ), includeMetadataDetails ? program : null ) ); for ( ProgramStage st : program.getProgramStages() )
@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; }
programCache.put( program.getUid(), program ); programStageCache.putAll( program.getProgramStages().stream().collect( Collectors.toMap( ProgramStage::getUid, ps -> ps ) ) ); for ( ProgramStage programStage : program.getProgramStages() )
if ( !program.isRegistration() ) importSummary.setDescription( "Provided program " + program.getUid() + " is a program without registration. An enrollment cannot be created into program without registration." ); importSummary.incrementIgnored(); + " already has an active enrollment in program " + program.getUid() ); importSummary.incrementIgnored(); if ( program.getOnlyEnrollOnce() ) + " already has an active or completed enrollment in program " + program.getUid() + ", and this program only allows enrolling one time" ); importSummary.incrementIgnored();
if ( !program.isRegistration() ) String descMsg = "Provided program " + program.getUid() + " is a program without registration. An enrollment cannot be created into program without registration."; if ( program.getDisplayIncidentDate() && programInstance.getIncidentDate() == null )
/** * Indicates whether the given organisation unit field is valid, i.e. * whether it matches the identifier of an attribute or data element of * organisation unit value type part of the query program. */ public boolean orgUnitFieldIsValid() { if ( orgUnitField == null ) { return true; } if ( program.getTrackedEntityAttributes().stream() .anyMatch( at -> at.getValueType().isOrganisationUnit() && orgUnitField.equals( at.getUid() ) ) ) { return true; } if ( program.getDataElements().stream() .anyMatch( at -> at.getValueType().isOrganisationUnit() && orgUnitField.equals( at.getUid() ) ) ) { return true; } return false; }
@Override public void deleteProgram( Program program ) { Iterator<ProgramStage> iterator = program.getProgramStages().iterator(); while ( iterator.hasNext() ) { ProgramStage programStage = iterator.next(); iterator.remove(); programStageService.deleteProgramStage( programStage ); } }
Assert.notNull( organisationUnit, "organisationUnit is required for org unit scope" ); if ( !program.getOrganisationUnits().contains( organisationUnit ) ) return "Organisation unit is not assigned to program " + program.getUid();
@Override public void grantTemporaryOwnership( TrackedEntityInstance entityInstance, Program program, User user, String reason ) { if ( canSkipOwnershipCheck( user, program ) || entityInstance == null ) { return; } if ( user != null && program.isProtected() ) { programTempOwnershipAuditService .addProgramTempOwnershipAudit( new ProgramTempOwnershipAudit( program, entityInstance, reason, user.getUsername() ) ); temporaryTrackerOwnershipCache.put( tempAccessKey( entityInstance.getUid(), program.getUid(), user.getUsername() ), true ); } }
if ( programInstance.getProgram().getFeatureType().equals( FeatureType.POINT ) ) enrollment.setLastUpdated( DateUtils.getIso8601NoTz( programInstance.getLastUpdated() ) ); enrollment.setLastUpdatedAtClient( DateUtils.getIso8601NoTz( programInstance.getLastUpdatedAtClient() ) ); enrollment.setProgram( programInstance.getProgram().getUid() ); enrollment.setStatus( EnrollmentStatus.fromProgramStatus( programInstance.getStatus() ) ); enrollment.setEnrollmentDate( programInstance.getEnrollmentDate() );