from admidio_python_api.exceptions import MemberNotFoundException
|
|
|
|
|
|
class Event():
|
|
def __init__(self, db, event_id, rol_id, name, start_time, end_time,
|
|
description, location, country, admidio):
|
|
self.__c = db.cursor()
|
|
self.id = event_id
|
|
self.rol_id = rol_id
|
|
self.name = name
|
|
self.start_time = start_time
|
|
self.end_time = end_time
|
|
self.description = description
|
|
self.location = location
|
|
self.country = country
|
|
self.admidio = admidio
|
|
self.participants = list()
|
|
self.leaders = list()
|
|
self.number_of_guests = 0
|
|
|
|
sql = f"""SELECT mem_usr_id, mem_leader, mem_count_guests
|
|
FROM {self.admidio.prefix}_members
|
|
WHERE mem_rol_id = {self.rol_id}
|
|
AND mem_end = 9999-12-31"""
|
|
self.__c.execute(sql)
|
|
|
|
for row in self.__c.fetchall():
|
|
try:
|
|
self.number_of_guests += row[2]
|
|
if row[1] == 1:
|
|
self.leaders.append(self.admidio.getMemberFromID(row[0]))
|
|
else:
|
|
self.participants.append(
|
|
self.admidio.getMemberFromID(row[0]))
|
|
except MemberNotFoundException:
|
|
print(
|
|
f"Member with id {row[0]} not found, group id: {self.id}")
|
|
|
|
def getAllMembers(self):
|
|
"""Return leaders and members in group, combined"""
|
|
return self.leaders.append(self.members)
|