diff --git a/event.py b/event.py index eb96711..93c2d2e 100644 --- a/event.py +++ b/event.py @@ -18,7 +18,7 @@ class Event(): self.leaders = list() self.number_of_guests = 0 - sql = f"""SELECT mem_usr_id, mem_leader, mem_count_guests + 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'""" @@ -27,15 +27,56 @@ class Event(): 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(self.admidio.getMemberFromID(row[0])) + self.leaders.append( + [row[3], self.admidio.getMemberFromID(row[0])]) else: self.participants.append( - self.admidio.getMemberFromID(row[0])) + [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.append(self.members) + 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)