예제 #1
0
 def get_meeting_number(manager):
     all_rooms = Room.get_by_company(manager.company)
     if all_rooms is None:
         return
     meetings = []
     for room in all_rooms:
         occupancy = int(room.get_occupancy(datetime.now(), room._id))
         meetings.append(occupancy)
     return functools.reduce(lambda a, b: a + b, meetings)
예제 #2
0
 def get_all_rooms_occupancy(manager):
     all_rooms = Room.get_by_company(manager.company)
     if all_rooms is None:
         return
     occupancies = []
     for room in all_rooms:
         occupancy = room.get_occupancy(datetime.now(), room._id)
         occupancies.append(
             (room._id, (int(occupancy) * 100) / int(room.capacity)))
     return occupancies
예제 #3
0
def test_rooms():
    Database.initialize()

    Database.remove('rooms', {})
    status, room_id = Room.add_room(2, 30, 1, 3, 'YAHOO', 'matam', True)
    assert status is True
    status, room_id = Room.add_room(2, 30, 3, 4, 'YAHOO', 'matam', False)
    assert status is True
    assert Room.remove_room(room_id) is True
    status, room_id = Room.add_room(2, 30, 3, 4, 'YAHOO', 'matam', True)
    assert status is True
    assert Room.get_by_id(room_id).company == 'YAHOO'
    assert len(Room.get_by_company('YAHOO')) > 0
    assert len(Room.get_by_facility('YAHOO', 'matam')) > 0
    assert len(Room.get_by_capacity(5, 'YAHOO', 'matam', 2)) > 0
    assert len(Room.get_by_capacity(50, 'YAHOO', 'matam', 2)) == 0
    assert len(Room.get_by_capacity(20, 'YAHOO', 'matam', 3)) > 0
    assert len(Room.get_by_capacity(20, 'YAHOO', 'matam', 1)) == 0
예제 #4
0
파일: main.py 프로젝트: yrnoz/TheDoors
def route_analytics():
    manager = Manager.get_by_email(session['email'])
    if session['email'] is not None and manager is not None:
        employees_no = len(manager.get_employees())
        facility_no = len(manager.get_facilities())
        facility_visits_meetings = []
        facilities = manager.get_facilities()
        for facility in facilities:
            visits = Analytics.get_all_participants_in_facility(
                manager, facility)
            meetings = Analytics.get_meetings_number_in_facility(
                manager, facility)
            facility_visits_meetings.append((facility, visits, meetings))
        rooms_no = len(Room.get_by_company(manager.company))
        occupancies = Analytics.get_all_rooms_occupancy(manager)
        meetings_no = Analytics.get_meeting_number(manager)
        return render_template(
            'Analytics.html',
            employees_no=employees_no,
            rooms_no=rooms_no,
            facility_no=facility_no,
            meetings_no=meetings_no,
            facility_visits_meetings=facility_visits_meetings,
            occupancies=occupancies)
예제 #5
0
 def get_rooms(self):
     return Room.get_by_company(self.company)