def add_manual_submission(challenge_id): challenge = ChallengeAPI.fetch_challenge(challenge_id) if challenge is None: return abort(404) form = init_form(ManualSubmissionForm) if form.validate_on_submit(): new_submission = ChallengeAPI.create_submission( challenge_id=challenge.id, user_id=form.user.data.id, submission=None, image_path=None) if new_submission is False: flash(_("Already added a submission for this user, " "or the challenge is not open."), 'danger') return render_template('challenge/add_manual_submission.htm', form=form, challenge=challenge) new_submission.approved = True ChallengeAPI.assign_points_to_user(challenge.weight, new_submission.user_id) db.session.add(new_submission) db.session.commit() flash(_('Submission saved successfully.'), 'success') return redirect(url_for('.view_list')) return render_template('challenge/add_manual_submission.htm', form=form, challenge=challenge)