From 6b0629ed2a923b67dbea83ac1e85ae1bad7c59a9 Mon Sep 17 00:00:00 2001 From: Kevin Chung Date: Thu, 20 Aug 2020 03:01:11 -0400 Subject: [PATCH] Add model changes for Teams.field_entries --- CTFd/models/__init__.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CTFd/models/__init__.py b/CTFd/models/__init__.py index e0979181..751368e2 100644 --- a/CTFd/models/__init__.py +++ b/CTFd/models/__init__.py @@ -467,6 +467,10 @@ class Teams(db.Model): captain_id = db.Column(db.Integer, db.ForeignKey("users.id", ondelete="SET NULL")) captain = db.relationship("Users", foreign_keys=[captain_id]) + field_entries = db.relationship( + "TeamFieldEntries", foreign_keys="TeamFieldEntries.team_id", lazy="joined" + ) + created = db.Column(db.DateTime, default=datetime.datetime.utcnow) def __init__(self, **kwargs): @@ -478,6 +482,10 @@ class Teams(db.Model): return hash_password(str(plaintext)) + @property + def fields(self): + return self.get_fields(admin=False) + @property def solves(self): return self.get_solves(admin=False) @@ -503,6 +511,12 @@ class Teams(db.Model): else: return None + def get_fields(self, admin=False): + if admin: + return self.field_entries + + return [entry for entry in self.field_entries if entry.field.public] + def get_solves(self, admin=False): from CTFd.utils import get_config