Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

Commit 9b551d3

Browse files
authored
Merge pull request #182 from appirio-tech/dev
fix for registration phase dates and status when updating challenge
2 parents 59e0728 + 9cc218f commit 9b551d3

File tree

1 file changed

+13
-18
lines changed

1 file changed

+13
-18
lines changed

services/project_services/src/java/main/com/topcoder/project/service/impl/ProjectServicesImpl.java

+13-18
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,6 @@
426426
* <ul>
427427
* <li>updated on {@link #createProjectWithTemplate(Project, com.topcoder.project.phases.Project, Resource[], Date, Date, String)}</li>
428428
* <li>updated on {@link #updateProject(Project, String, com.topcoder.project.phases.Project, Resource[], Date, Date, String)}</li>
429-
* <li>added {@link #checkPrivateProjectPhase(Project, com.topcoder.project.phases.Project)}</li>
430429
* </ul>
431430
* <p>
432431
*
@@ -2080,10 +2079,21 @@ public FullProjectData updateProject(Project projectHeader, String projectHeader
20802079
// code with auto assigned review only requires one reviewer.
20812080
p.setAttribute("Reviewer Number", "2");
20822081
}
2082+
2083+
if (p.getPhaseType().getId() == PhaseType.REGISTRATION_PHASE.getId() && projectHeader.getProjectStatus().getId() == ProjectStatus.DRAFT.getId()) {
2084+
if (projectHeader.getProperty(ProjectPropertyType.PRIVATE_PROJECT) != null && projectHeader.getProperty(ProjectPropertyType.PRIVATE_PROJECT).equals("1")) {
2085+
if (p.getPhaseStatus().getId() != PhaseStatus.CLOSED.getId()) {
2086+
p.setPhaseStatus(PhaseStatus.CLOSED);
2087+
}
2088+
} else {
2089+
if (p.getPhaseStatus().getId() == PhaseStatus.CLOSED.getId()) {
2090+
p.setPhaseStatus(PhaseStatus.SCHEDULED);
2091+
}
2092+
}
2093+
}
20832094
}
20842095
}
20852096

2086-
checkPrivateProjectPhase(projectHeader, projectPhases);
20872097
setScorecards(projectHeader, projectPhases);
20882098
// call phaseManager.updatePhases(projectPhases,operator)
20892099
Util.log(logger, Level.DEBUG, "Starts calling PhaseManager#updatePhases method.");
@@ -2740,7 +2750,6 @@ public FullProjectData createProjectWithTemplate(Project projectHeader, com.topc
27402750
}
27412751

27422752
setNewPhasesProperties(projectHeader, newProjectPhases, (multiRoundEndDate != null), isStudio);
2743-
checkPrivateProjectPhase(projectHeader, newProjectPhases);
27442753

27452754
return this.createProject(projectHeader, newProjectPhases, projectResources, operator);
27462755

@@ -5151,25 +5160,11 @@ private void setNewPhasesProperties(Project projectHeader,
51515160
p.setAttribute(SCORECARD_ID_PHASE_ATTRIBUTE_KEY, String.valueOf(iterativeReviewTemplateId));
51525161
p.setAttribute("Reviewer Number", "1");
51535162
}
5154-
}
5155-
}
51565163

5157-
/**
5158-
* Helper to check project phase status. It must set to CLOSED for private project
5159-
*
5160-
* @param projectHeader Project
5161-
* @param projectPhases Project phases
5162-
* @since 2.3
5163-
*/
5164-
private void checkPrivateProjectPhase(Project projectHeader, com.topcoder.project.phases.Project projectPhases) {
5165-
for (Phase p : projectPhases.getAllPhases()) {
51665164
if (p.getPhaseType().getId() == PhaseType.REGISTRATION_PHASE.getId()) {
5167-
if (projectHeader.getProperty(ProjectPropertyType.PRIVATE_PROJECT) != null && projectHeader.getProperty(ProjectPropertyType.PRIVATE_PROJECT).equals("1")) {
5165+
if (projectHeader.getProperty(ProjectPropertyType.PRIVATE_PROJECT) != null && projectHeader.getProperty(ProjectPropertyType.PRIVATE_PROJECT).equals("1") && projectHeader.getProjectStatus().getId() == ProjectStatus.DRAFT.getId()) {
51685166
p.setPhaseStatus(PhaseStatus.CLOSED);
5169-
}else{
5170-
p.setPhaseStatus(PhaseStatus.SCHEDULED);
51715167
}
5172-
break;
51735168
}
51745169
}
51755170
}

0 commit comments

Comments
 (0)