比赛题目也可以分享

This commit is contained in:
virusdefender 2019-04-09 08:25:25 +08:00
parent 61b07dfc4c
commit 0a55385f25
1 changed files with 11 additions and 6 deletions

View File

@ -1,4 +1,6 @@
from django.db import models from django.db import models
from utils.constants import ContestStatus
from utils.models import JSONField from utils.models import JSONField
from problem.models import Problem from problem.models import Problem
from contest.models import Contest from contest.models import Contest
@ -39,12 +41,15 @@ class Submission(models.Model):
ip = models.TextField(null=True) ip = models.TextField(null=True)
def check_user_permission(self, user, check_share=True): def check_user_permission(self, user, check_share=True):
return self.user_id == user.id or \ if self.user_id == user.id or user.is_super_admin() or user.can_mgmt_all_problem() or self.problem.created_by_id == user.id:
(check_share and self.shared is True) or \ return True
(check_share and self.problem.share_submission) or \
user.is_super_admin() or \ if check_share:
user.can_mgmt_all_problem() or \ if self.contest and self.contest.status != ContestStatus.CONTEST_ENDED:
self.problem.created_by_id == user.id return False
if self.problem.share_submission or self.shared:
return True
return False
class Meta: class Meta:
db_table = "submission" db_table = "submission"