Example #1
0
def get_most_and_least_booked_rooms(*args):
    instance, active_rooms, start_date, end_date, criteria, limit = args
    if limit and criteria == "least_booked":
        reversed_order = RoomAnalytics.get_booked_rooms(
            instance, active_rooms, start_date, end_date)[::-1]
        return reversed_order[:limit]
    elif limit and criteria == "most_booked":
        return RoomAnalytics.get_booked_rooms(instance, active_rooms,
                                              start_date, end_date)[:limit]
    else:
        return RoomAnalytics.get_booked_rooms(instance, active_rooms,
                                              start_date, end_date)
Example #2
0
 def resolve_analytics_for_least_used_room_per_month(self, info, month, year):  # noqa: E501
     query = Room.get_query(info)
     room_analytics = RoomAnalytics.get_least_used_room_per_month(
         self, query, month, year)
     return Analytics(
         analytics=room_analytics
     )
Example #3
0
 def resolve_analytics_for_meetings_per_room(self,
                                             info,
                                             start_date,
                                             end_date=None):  # noqa: E501
     query = Room.get_query(info)
     meeting_summary = RoomAnalytics.get_meetings_per_room_analytics(
         self, query, start_date, end_date)
     return Analytics(analytics=meeting_summary)
Example #4
0
 def resolve_analytics_for_least_used_rooms(self,
                                            info,
                                            start_date,
                                            end_date=None):  # noqa: E501
     query = Room.get_query(info)
     room_analytics = RoomAnalytics.get_least_used_rooms_analytics(
         self, query, start_date, end_date)
     return Analytics(analytics=room_analytics)
Example #5
0
 def resolve_analytics_for_least_used_room_per_day(self, info, day):  # noqa: E501
     query = Room.get_query(info)
     room_analytics = RoomAnalytics.get_least_used_room_day(
         self, query, day
     )
     return Analytics(
         analytics=room_analytics
     )
Example #6
0
 def resolve_analytics_for_meetings_per_room(self, info, day_start, day_end):  # noqa: E501
     query = Room.get_query(info)
     meeting_summary = RoomAnalytics.get_meetings_per_room(
         self, query, day_start, day_end
     )
     return Analytics(
         analytics=meeting_summary
     )
Example #7
0
 def resolve_analytics_for_room_least_used_per_week(self, info, week_start, week_end):  # noqa: E501
     query = Room.get_query(info)
     room_analytics = RoomAnalytics.get_least_used_room_week(
         self, query, week_start, week_end
     )
     return Analytics(
         analytics=room_analytics
     )
Example #8
0
 def resolve_analytics_for_meetings_durations(self,
                                              info,
                                              start_date,
                                              end_date=None,
                                              per_page=None,
                                              page=None):  # noqa: E501
     query = Room.get_query(info)
     results = RoomAnalytics.get_meetings_duration_analytics(
         self, query, start_date, end_date)  # noqa: E501
     if page and per_page:
         paginated_results = ListPaginate(iterable=results,
                                          per_page=per_page,
                                          page=page)  # noqa: E501
         current_page = paginated_results.current_page
         has_previous = paginated_results.has_previous
         has_next = paginated_results.has_next
         pages = paginated_results.pages
         return Analytics(MeetingsDurationaAnalytics=current_page,
                          has_previous=has_previous,
                          has_next=has_next,
                          pages=pages)  # noqa: E501
     return Analytics(MeetingsDurationaAnalytics=results)
Example #9
0
 def resolve_analytics_for_meetings_durations(self, info, start_date, end_date=None):  # noqa: E501
     query = Room.get_query(info)
     results = RoomAnalytics.get_meetings_duration_analytics(self, query, start_date, end_date)  # noqa: E501
     return Analytics(MeetingsDurationaAnalytics=results)
Example #10
0
 def resolve_weekly_durations_of_meetings(self, info, week_start, week_end):  # noqa: E501
     query = Room.get_query(info)
     results = RoomAnalytics.get_weekly_meetings_details(self, query, week_start, week_end)  # noqa: E501
     return Analytics(MeetingsDurationaAnalytics=results)
Example #11
0
 def resolve_monthly_durations_of_meetings(self, info, month, year):  # noqa: E501
     query = Room.get_query(info)
     results = RoomAnalytics.get_meeting_duration_of_room_per_month(self, query, month, year)  # noqa
     return Analytics(MeetingsDurationaAnalytics=results)
Example #12
0
 def resolve_daily_durations_of_meetings(self, info, day_start):  # noqa: E501
     query = Room.get_query(info)
     results = RoomAnalytics.get_daily_meetings_details(self, query, day_start)  # noqa: E501
     return Analytics(MeetingsDurationaAnalytics=results)