Skip to content

Commit

Permalink
modify allowDoubleCounting function to be more accurate
Browse files Browse the repository at this point in the history
  • Loading branch information
benjamin-shen committed Jan 8, 2022
1 parent 0333c45 commit 03f3840
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 7 deletions.
6 changes: 4 additions & 2 deletions src/components/Requirements/IncompleteSelfCheck.vue
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,8 @@ export default defineComponent({
this.selfCheckCourses[option].uniqueID,
store.state.groupedRequirementFulfillmentReport,
store.state.toggleableRequirementChoices,
store.state.userRequirementsMap
store.state.userRequirementsMap,
store.state.onboardingData.major
),
}));
},
Expand All @@ -177,7 +178,8 @@ export default defineComponent({
newCourse.uniqueID,
store.state.groupedRequirementFulfillmentReport,
store.state.toggleableRequirementChoices,
store.state.userRequirementsMap
store.state.userRequirementsMap,
store.state.onboardingData.major
),
}),
this.$gtag
Expand Down
3 changes: 2 additions & 1 deletion src/components/Semester/Semester.vue
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,8 @@ export default defineComponent({
uniqueID,
store.state.groupedRequirementFulfillmentReport,
store.state.toggleableRequirementChoices,
store.state.userRequirementsMap
store.state.userRequirementsMap,
store.state.onboardingData.major
).filter(it => it !== requirementID);
choices[uniqueID] = { ...choice, optOut };
});
Expand Down
7 changes: 5 additions & 2 deletions src/requirements/requirement-frontend-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,8 @@ export function getAllEligibleRelatedRequirementIds(
uniqueId: number,
groupedRequirements: readonly GroupedRequirementFulfillmentReport[],
toggleableRequirementChoices: AppToggleableRequirementChoices,
userRequirementsMap: Readonly<Record<string, RequirementWithIDSourceType>>
userRequirementsMap: Readonly<Record<string, RequirementWithIDSourceType>>,
majors: readonly string[]
): readonly string[] {
const requirements = groupedRequirements
.flatMap(it => it.reqs)
Expand All @@ -465,7 +466,9 @@ export function getAllEligibleRelatedRequirementIds(
const constraintViolations = getConstraintViolationsForSingleCourse(
{ uniqueId },
requirements,
requirementID => userRequirementsMap[requirementID].allowCourseDoubleCounting || false
requirementID =>
!!userRequirementsMap[requirementID] &&
requirementAllowDoubleCounting(userRequirementsMap[requirementID], majors)
);
if (constraintViolations) {
const { constraintViolationsGraph } = constraintViolations;
Expand Down
6 changes: 4 additions & 2 deletions src/requirements/requirement-graph-builder-from-user-data.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { CREDITS_COURSE_ID } from './data/constants';
import { getUserRequirements } from './requirement-frontend-utils';
import { getUserRequirements, requirementAllowDoubleCounting } from './requirement-frontend-utils';
import RequirementFulfillmentGraph from './requirement-graph';
import {
BuildRequirementFulfillmentGraphParameters,
Expand Down Expand Up @@ -114,7 +114,9 @@ export default function buildRequirementFulfillmentGraphFromUserData(
const safeRequirementFulfillmentGraph = dangerousRequirementFulfillmentGraph.copy();
const { doubleCountedCourseUniqueIDSet } = removeIllegalEdgesFromRequirementFulfillmentGraph(
safeRequirementFulfillmentGraph,
requirementID => userRequirementsMap[requirementID].allowCourseDoubleCounting || false
requirementID =>
!!userRequirementsMap[requirementID] &&
requirementAllowDoubleCounting(userRequirementsMap[requirementID], onboardingData.major)
);

return {
Expand Down

0 comments on commit 03f3840

Please sign in to comment.