from . import registry @registry.function def submission_layout(submission, profile_id, user, editable_problem_ids, completed_problem_ids): problem_id = submission.problem_id can_view = False if problem_id in editable_problem_ids: can_view = True if profile_id == submission.user_id: can_view = True if user.has_perm('judge.change_submission'): can_view = True if submission.problem_id in completed_problem_ids: can_view |= submission.problem.is_public or profile_id in submission.problem.tester_ids return can_view