Added an option to release automatically

This commit is contained in:
Joao Ramos
2024-09-02 23:56:51 +01:00
parent 4bb80919ad
commit aca8ad2d14
2 changed files with 7 additions and 1 deletions

View File

@@ -53,6 +53,8 @@ export default function AssignmentCreator({isCreating, assignment, groups, users
const [instructorGender, setInstructorGender] = useState<InstructorGender>(assignment?.instructorGender || "varied"); const [instructorGender, setInstructorGender] = useState<InstructorGender>(assignment?.instructorGender || "varied");
// creates a new exam for each assignee or just one exam for all assignees // creates a new exam for each assignee or just one exam for all assignees
const [generateMultiple, setGenerateMultiple] = useState<boolean>(false); const [generateMultiple, setGenerateMultiple] = useState<boolean>(false);
const [released, setReleased] = useState<boolean>(false);
const [useRandomExams, setUseRandomExams] = useState(true); const [useRandomExams, setUseRandomExams] = useState(true);
const [examIDs, setExamIDs] = useState<{id: string; module: Module}[]>([]); const [examIDs, setExamIDs] = useState<{id: string; module: Module}[]>([]);
@@ -84,6 +86,7 @@ export default function AssignmentCreator({isCreating, assignment, groups, users
generateMultiple, generateMultiple,
variant, variant,
instructorGender, instructorGender,
released,
}) })
.then(() => { .then(() => {
toast.success(`The assignment "${name}" has been ${assignment ? "updated" : "created"} successfully!`); toast.success(`The assignment "${name}" has been ${assignment ? "updated" : "created"} successfully!`);
@@ -373,6 +376,9 @@ export default function AssignmentCreator({isCreating, assignment, groups, users
<Checkbox isChecked={generateMultiple} onChange={() => setGenerateMultiple((d) => !d)}> <Checkbox isChecked={generateMultiple} onChange={() => setGenerateMultiple((d) => !d)}>
Generate different exams Generate different exams
</Checkbox> </Checkbox>
<Checkbox isChecked={released} onChange={() => setReleased((d) => !d)}>
Release automatically
</Checkbox>
</div> </div>
<div className="flex gap-4 w-full justify-end"> <div className="flex gap-4 w-full justify-end">
<Button className="w-full max-w-[200px]" variant="outline" onClick={cancelCreation} disabled={isLoading} isLoading={isLoading}> <Button className="w-full max-w-[200px]" variant="outline" onClick={cancelCreation} disabled={isLoading} isLoading={isLoading}>

View File

@@ -122,6 +122,7 @@ async function POST(req: NextApiRequest, res: NextApiResponse) {
endDate: string; endDate: string;
variant?: Variant; variant?: Variant;
instructorGender?: InstructorGender; instructorGender?: InstructorGender;
released: boolean;
}; };
const exams: ExamWithUser[] = !!examIDs const exams: ExamWithUser[] = !!examIDs
@@ -139,7 +140,6 @@ async function POST(req: NextApiRequest, res: NextApiResponse) {
results: [], results: [],
exams, exams,
instructorGender, instructorGender,
released: false,
...body, ...body,
}); });