def _clone_solution_comments( from_solution: models.Solution, to_solution: models.Solution, ) -> None: user_comments = models.Comment.by_solution( from_solution.id, ).filter(~models.Comment.is_auto) for comment in user_comments: models.Comment.create_comment( commenter=models.User.get_system_user(), line_number=comment.line_number, comment_text=comment.comment, file=to_solution.solution_files.get(), is_auto=True, ) to_solution.checker = from_solution.checker to_solution.state = from_solution.state to_solution.save() notifications.send( kind=notifications.NotificationKind.CHECKED, user=to_solution.solver, related_id=to_solution, message=_( 'הפתרון שלך לתרגיל %(subject)s נבדק.', subject=to_solution.exercise.subject, ), action_url=f'{routes.SOLUTIONS}/{to_solution.id}', )
def _clone_solution_comments( from_solution: models.Solution, to_solution: models.Solution, ) -> None: user_comments = models.Comment.by_solution( from_solution.id, ).filter(~models.Comment.is_auto) for comment in user_comments: models.Comment.create_comment( commenter=models.User.get_system_user(), line_number=comment.line_number, comment_text=comment.comment.comment_id, solution=to_solution, is_auto=True, ) to_solution.checker = from_solution.checker to_solution.state = from_solution.state to_solution.save() notifications.create_notification( notification_type=( notifications.SolutionCheckedNotification.notification_type()), for_user=to_solution.solver, solution=to_solution, )