|
|
- from admidio_python_api.exceptions import MemberNotFoundException
-
-
- class Event():
- def __init__(self, event_id, rol_id, name, start_time, end_time,
- description, location, country, admidio):
- self.__c = admidio.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, mem_approved
- 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]
-
- # Distinguish between members that will attend, not
- # attend, or will maybe attend.
- if row[1] == 1:
- self.leaders.append(
- [row[3], self.admidio.getMemberFromID(row[0])])
- else:
- self.participants.append(
- [row[3], 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 + self.participants
-
-
- def getAllAttend(self):
- """Return leaders and members which actually attend"""
- members = list()
-
- for i in (self.leaders + self.participants):
- if (i[0] == 2):
- members.append(i)
-
- return members
-
-
- def getAllMaybe(self):
- """Return leaders and members which will maybe attend"""
- members = list()
-
- for i in (self.leaders + self.participants):
- if (i[0] == 1):
- members.append(i)
-
- return members
-
- def getAllNotAttend(self):
- """Return leaders and members which will not attend"""
- members = list()
-
- for i in (self.leaders + self.participants):
- if (i[0] == 3):
- members.append(i)
-
- return members
-
- def getNumberMembers(self):
- """Return the total number of members"""
- return len(self.leaders) + len(self.participants)
|