/** * Updates saved student applications to be the new set of $questionsIds. */ private static function updateSavedApplications(MongoId $jobId, array $questionIds) { // Get the saved applications corresponding to $jobId. $saved = ApplicationModel::getSavedForJob($jobId); // Prune the questions field to be just those in $questionIds. foreach ($saved as $application) { $questions = $application['questions']; $newQuestions = self::pruneQuestionsByIdSet($questions, $questionIds); // Update the entry with $newQuestions. ApplicationModel::replaceQuestionsField($application['_id'], $newQuestions); } }
public static function edit(MongoId $applicationId, array $questions) { // TODO: Check if application already submitted $applicationData = ApplicationModel::getById($applicationId); $application = new ApplicationStudent($applicationData); $applicationId = $application->getId(); $jobId = $application->getJobId(); $applicationQuestions = JobModel::getApplicationQuestionIds($jobId); $newQuestions = self::pruneQuestionsByIdSet($questions, $applicationQuestions); ApplicationModel::replaceQuestionsField($applicationId, $newQuestions); return new ApplicationStudent(ApplicationModel::getById($applicationId)); }