diff --git a/.gitignore b/.gitignore index dd8c244..d142bf2 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,6 @@ data/public/upload/* data/public/avatar/* !data/public/avatar/default.png +http_locations.conf +https_locations.conf + diff --git a/deploy/run.sh b/deploy/run.sh index 271e2fc..e41556f 100755 --- a/deploy/run.sh +++ b/deploy/run.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh APP=/app DATA=/data diff --git a/problem/serializers.py b/problem/serializers.py index ded8f0f..051b710 100644 --- a/problem/serializers.py +++ b/problem/serializers.py @@ -90,6 +90,12 @@ class BaseProblemSerializer(serializers.ModelSerializer): tags = serializers.SlugRelatedField(many=True, slug_field="name", read_only=True) created_by = UsernameSerializer() + def get_public_template(self, obj): + ret = {} + for lang, code in obj.template.items(): + ret[lang] = parse_problem_template(code)["template"] + return ret + class ProblemAdminSerializer(BaseProblemSerializer): class Meta: @@ -98,13 +104,7 @@ class ProblemAdminSerializer(BaseProblemSerializer): class ProblemSerializer(BaseProblemSerializer): - template = serializers.SerializerMethodField() - - def get_template(self, obj): - ret = {} - for lang, code in obj.template.items(): - ret[lang] = parse_problem_template(code)["template"] - return ret + template = serializers.SerializerMethodField("get_public_template") class Meta: model = Problem @@ -113,6 +113,8 @@ class ProblemSerializer(BaseProblemSerializer): class ProblemSafeSerializer(BaseProblemSerializer): + template = serializers.SerializerMethodField("get_public_template") + class Meta: model = Problem exclude = ("test_case_score", "test_case_id", "visible", "is_public",