def check_employee_exists(self, username): employees = session.query(Employee).filter( Employee.username == username ).all() if len(employees) == 0: return True return False
def check_username(self, username): employees = session.query(Employee).filter( Employee.username == username ).all() if len(employees) == 1: return True else: return False
def delete_room(self, room): meetings = session.query(Meeting).filter(Meeting.room == room.id).all() for m in meetings: for em in m.employees: session.delete(em) session.delete(m) session.delete(room) session.commit()
def get_meetings_by_date_and_user(self, date, employee): meetings = session.query(Meeting).join( EmployeeMeeting).filter( Meeting.date == date).filter( EmployeeMeeting.employee == employee).filter( or_( EmployeeMeeting.pending == True, EmployeeMeeting.accepted == True )).all() return meetings
def add_room(self, roomname, number, building, capacity=None): try: if capacity: room = Room(roomname=roomname, number=number, building=building, capacity=capacity) else: room = Room(roomname=roomname, number=number, building=building) session.add(room) session.commit() room = session.query(Room).filter(Room.number == number).filter(Room.building == building).one() return room except Exception as e: session.rollback() handle_exception() return False
def create_meeting(self, title, room_id, owner_id, date, timeslots=None, employees=None): meeting = Meeting(title=title, room=room_id, owner=owner_id, date=date) if employees: for employee in employees: rel = EmployeeMeeting() rel.employee = employee meeting.employees.append(rel) if timeslots: meeting.timeslots = timeslots session.add(meeting) session.flush() meeting_id = meeting.id session.commit() return session.query(Meeting).filter(Meeting.id == meeting_id).one()
def get_all_employees(self): return session.query(Employee).all()
def get_employee_by_username(self, username): employee = session.query(Employee).filter(Employee.username == username).one() return employee
def get_employee(self, employee_id): employee = session.query(Employee).filter(Employee.id == employee_id).one() return employee
def get_room_meetings_by_date(self, room, date): return session.query(Meeting).filter(Meeting.room == room.id).filter(Meeting.date == date).all()
def get_room_by_name(self, roomname): room = session.query(Room).filter(Room.roomname == roomname).first() return room
def get_all_rooms(self): return session.query(Room).all()
def delete_employee(self, employee_id): employee = session.query(Employee).filter(Employee.id == employee_id).one() session.delete(employee) session.commit()
def get_timeslot(self, timeslot_id): return session.query(TimeSlot).filter(TimeSlot.id == timeslot_id).one()
def get_owned_meetings(self, owner_id): meetings = session.query(Meeting).filter( Meeting.owner == owner_id ).all() return meetings
def get_meetings_by_user(self, employee): meetings = session.query(Meeting).join( EmployeeMeeting).filter( EmployeeMeeting.employee == employee).all() return meetings
def get_employee_meeting(self, meeting_id, employee_id): return session.query(EmployeeMeeting).filter( EmployeeMeeting.meeting_id == meeting_id).filter( EmployeeMeeting.employee_id == employee_id).one()
def get_room_by_id(self, room_id): room = session.query(Room).filter(Room.id == room_id).one() return room