removed automatic change for subject to inactive if all assignments are completed
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
import { defaultStyles } from '@/constants/defaultStyles';
|
import { defaultStyles } from '@/constants/defaultStyles';
|
||||||
import * as AsyncStorage from '@/lib/asyncStorage';
|
import * as AsyncStorage from '@/lib/asyncStorage';
|
||||||
import { CheckSubjectCompletion } from '@/lib/progress';
|
|
||||||
import { supabase } from '@/lib/supabase';
|
import { supabase } from '@/lib/supabase';
|
||||||
import * as Notifications from 'expo-notifications';
|
import * as Notifications from 'expo-notifications';
|
||||||
import { router, Stack, useLocalSearchParams } from 'expo-router';
|
import { router, Stack, useLocalSearchParams } from 'expo-router';
|
||||||
@@ -189,12 +188,6 @@ export default function UpsertAssignment() {
|
|||||||
savedAssignment.isCompleted
|
savedAssignment.isCompleted
|
||||||
);
|
);
|
||||||
|
|
||||||
try {
|
|
||||||
await CheckSubjectCompletion(subjectId);
|
|
||||||
} catch {
|
|
||||||
Alert.alert('Failed to update subject status');
|
|
||||||
}
|
|
||||||
|
|
||||||
SetIsSaving(false);
|
SetIsSaving(false);
|
||||||
|
|
||||||
if (!isEditMode && isSetupFlow) {
|
if (!isEditMode && isSetupFlow) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { formatDate, formatDateTime } from '@/lib/date';
|
import { formatDate, formatDateTime } from '@/lib/date';
|
||||||
import { CheckAssignmentCompletion, CheckSubjectCompletion } from '@/lib/progress';
|
import { CheckAssignmentCompletion } from '@/lib/progress';
|
||||||
import { getSubjectColorSet, type SubjectColor } from '@/lib/subjectColors';
|
import { getSubjectColorSet, type SubjectColor } from '@/lib/subjectColors';
|
||||||
import { supabase } from '@/lib/supabase';
|
import { supabase } from '@/lib/supabase';
|
||||||
import type { Assignment, Task } from '@/lib/types';
|
import type { Assignment, Task } from '@/lib/types';
|
||||||
@@ -124,16 +124,6 @@ export default function ViewDetailsAssignment() {
|
|||||||
|
|
||||||
Alert.alert("Assignment deleted successfully!");
|
Alert.alert("Assignment deleted successfully!");
|
||||||
|
|
||||||
const sId = assignment?.sId;
|
|
||||||
|
|
||||||
if (sId) {
|
|
||||||
try {
|
|
||||||
await CheckSubjectCompletion(sId);
|
|
||||||
} catch {
|
|
||||||
Alert.alert("Failed to update subject status");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
router.back();
|
router.back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { formatDate, formatDateTime } from '@/lib/date';
|
import { formatDate, formatDateTime } from '@/lib/date';
|
||||||
import { CheckSubjectCompletion } from '@/lib/progress';
|
|
||||||
import { SUBJECT_COLORS, type SubjectColor } from '@/lib/subjectColors';
|
import { SUBJECT_COLORS, type SubjectColor } from '@/lib/subjectColors';
|
||||||
import { supabase } from '@/lib/supabase';
|
import { supabase } from '@/lib/supabase';
|
||||||
import type { Assignment } from '@/lib/types';
|
import type { Assignment } from '@/lib/types';
|
||||||
@@ -102,12 +101,6 @@ export default function ViewDetailsSubject() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
|
||||||
await CheckSubjectCompletion(assignment.sId);
|
|
||||||
} catch {
|
|
||||||
Alert.alert('Failed to update subject status');
|
|
||||||
}
|
|
||||||
|
|
||||||
await GetAssignments(assignment.sId);
|
await GetAssignments(assignment.sId);
|
||||||
await GetSubject(assignment.sId);
|
await GetSubject(assignment.sId);
|
||||||
};
|
};
|
||||||
@@ -181,14 +174,6 @@ export default function ViewDetailsSubject() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subjectId) {
|
|
||||||
try {
|
|
||||||
await CheckSubjectCompletion(subjectId);
|
|
||||||
} catch {
|
|
||||||
Alert.alert('Failed to update subject status');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
await GetAssignments(subjectId);
|
await GetAssignments(subjectId);
|
||||||
await GetSubject(subjectId);
|
await GetSubject(subjectId);
|
||||||
|
|
||||||
|
|||||||
@@ -13,17 +13,3 @@ export async function CheckAssignmentCompletion(aId: string) {
|
|||||||
|
|
||||||
if (updateError) throw updateError;
|
if (updateError) throw updateError;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function CheckSubjectCompletion(sId: string) {
|
|
||||||
const { data, error } = await supabase.from("assignments").select("aId, isCompleted").eq("sId", sId);
|
|
||||||
|
|
||||||
if (error) throw error;
|
|
||||||
|
|
||||||
const assignments = data ?? [];
|
|
||||||
|
|
||||||
const allCompleted = assignments.length > 0 && assignments.every((assignment) => assignment.isCompleted === true);
|
|
||||||
|
|
||||||
const { error: updateError } = await supabase.from("subjects").update({ isActive: allCompleted, lastChanged: new Date().toISOString()}).eq("sId", sId);
|
|
||||||
|
|
||||||
if (updateError) throw updateError;
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user