Example #1
0
    def get_sales_actual_week(self):
        """
        Gets the following properties for each week's day: Name, Date and Earnings
        """
        helper = Helper()
        week_sales_list = []
        total_earnings = 0
        days_to_count = helper.get_number_day(datetime.now())
        day_limit = days_to_count
        start_date_number = 0

        while start_date_number <= day_limit:
            day_object = {
                'date':
                str(
                    helper.start_datetime(days_to_count).date().strftime(
                        '%d-%m-%Y')),
                'day_name':
                None,
                'earnings':
                None,
                'number_day':
                helper.get_number_day(
                    helper.start_datetime(days_to_count).date()),
            }

            day_tickets = self.tickets_pos.filter(ticket__created_at__range=[
                helper.start_datetime(days_to_count),
                helper.end_datetime(days_to_count)
            ])

            for ticket_item in day_tickets:
                for ticket_cartridge_detail_item in self.get_cartridges_tickets_details(
                ):
                    if ticket_cartridge_detail_item.ticket_base == ticket_item.ticket:
                        total_earnings += ticket_cartridge_detail_item.price
                for ticket_package_detail_item in self.get_packages_tickets_details(
                ):
                    if ticket_package_detail_item.ticket_base == ticket_item.ticket:
                        total_earnings += ticket_package_detail_item.price

            day_object['earnings'] = str(total_earnings)
            day_object['day_name'] = helper.get_name_day(
                helper.start_datetime(days_to_count).date())

            week_sales_list.append(day_object)

            # restarting counters
            days_to_count -= 1
            total_earnings = 0
            start_date_number += 1

        return json.dumps(week_sales_list)
Example #2
0
    def get_info_rates_actual_week(self):
        """
        Gets the following properties for each week's day: Day name, Date, number day and total rates
        :rtype: list
        """
        helper = Helper()
        week_suggestions_list = []
        days_to_count = helper.get_number_day(datetime.now())
        day_limit = days_to_count
        start_date_number = 0

        while start_date_number <= day_limit:
            day_object = {
                'date':
                str(
                    helper.start_datetime(days_to_count).date().strftime(
                        '%d-%m-%Y')),
                'day_name':
                None,
                'total_rates':
                None,
                'number_day':
                helper.get_number_day(
                    helper.start_datetime(days_to_count).date()),
            }

            filtered_suggestions = self.satisfaction_ratings.filter(
                creation_date__range=[
                    helper.start_datetime(days_to_count),
                    helper.end_datetime(days_to_count)
                ])

            day_object['total_rates'] = str(filtered_suggestions.count())
            day_object['day_name'] = helper.get_name_day(
                helper.start_datetime(days_to_count).date())

            week_suggestions_list.append(day_object)

            # restarting counters
            days_to_count -= 1
            start_date_number += 1

        return json.dumps(week_suggestions_list)
Example #3
0
    def get_diners_actual_week(self):
        if self.__all_access_logs is None:
            self.set_all_access_logs()
        helper = Helper()
        week_diners_list = []
        total_entries = 0
        days_to_count = helper.get_number_day(date.today())
        day_limit = days_to_count
        start_date_number = 0

        while start_date_number <= day_limit:
            day_object = {
                'date':
                str(
                    helper.start_datetime(days_to_count).date().strftime(
                        '%d-%m-%Y')),
                'day_name':
                None,
                'entries':
                None,
                'number_day':
                helper.get_number_day(
                    helper.start_datetime(days_to_count).date())
            }

            logs = self.__all_access_logs. \
                filter(access_to_room__range=[helper.start_datetime(days_to_count), helper.end_datetime(days_to_count)])

            for _ in logs:
                total_entries += 1

            day_object['entries'] = str(total_entries)
            day_object['day_name'] = helper.get_name_day(
                helper.start_datetime(days_to_count).date())

            week_diners_list.append(day_object)

            # restarting counters
            days_to_count -= 1
            total_entries = 0
            start_date_number += 1

        return json.dumps(week_diners_list)