diff --git a/allfence.py b/allfence.py index e2778b1..73ca386 100644 --- a/allfence.py +++ b/allfence.py @@ -152,7 +152,7 @@ class Tournaments: return event_id @staticmethod - def get_event(db, event_id): + def get_event_details(db, event_id): """Gets the details of an event based on its id @@ -188,7 +188,7 @@ class Tournaments: """ event_str = " ".join(map(str, event_ids)) - events = [Tournaments.get_event(db, event_id)[2] for event_id in event_ids] + events = [Tournaments.get_event_details(db, event_id)[2] for event_id in event_ids] print(events) start_date, end_date = min(events).date(), max(events).date() with db: @@ -200,8 +200,29 @@ class Tournaments: @staticmethod def add_event_registration(db, event_id, user_id): - pass + + """Registers a user for an event + + Args: + db (psycopg2.connection): connection to postgres database + event_id (int): id of event + user_id (int): id of user + + Returns: + bool: registration success""" + + event_details = Tournaments.get_event_details(db, event_id) + if datetime.datetime.now() >= event_details[2]: + return False + users = set(event_details[5]) + users.add(user_id) + registration_str = " ".join(map(str, users)) + with db: + with db.cursor() as curs: + curs.execute("UPDATE Events SET registration = %s WHERE id = %s", (registration_str, event_id)) + db.commit() + return True @staticmethod - def add_event_results(db, event): + def add_event_results(db, event_id, results): pass \ No newline at end of file