Django Project Functions Documentation

This document provides documentation for various functions used in the Django project. Each section outlines the purpose and functionality of a specific function.

1. getItems

Retrieves all items from the Items model.


    def getItems():
        """
        Retrieves all items from the Items model.

        Returns:
        - QuerySet: A queryset containing all items in the Items model.
        """

2. getIngredients

Retrieves all ingredients from the Ingredients model.


    def getIngredients():
        """
        Retrieves all ingredients from the Ingredients model.

        Returns:
        - QuerySet: A queryset containing all ingredients in the Ingredients model.
        """

3. getIngredientItems

Retrieves all ingredient items associated with a specific item.


    def getIngredientItems(item_id):
        """
        Retrieves all ingredient items associated with a specific item.

        Parameters:
        - item_id (int): The ID of the item for which to retrieve associated ingredient items.

        Returns:
        - QuerySet: A queryset containing all ingredient items associated with the specified item.
        """

4. getUserOrders

Retrieves recent orders of a user with details about the items included in each order.


    def getUserOrders(user_id):
        """
        Retrieves recent orders of a user with details about the items included in each order.

        Parameters:
        - user_id (int): The ID of the user for whom to retrieve recent orders.

        Returns:
        - dict: A dictionary where keys are order IDs, and values are dictionaries containing order details.
          Each order detail includes information about the order and a list of items included in the order.
        """

5. getMobileOrders

Retrieves a specified number of undelivered orders along with details about the items included in each order.


    def getMobileOrders():
        """
        Retrieves a specified number of undelivered orders along with details about the items included in each order.

        Returns:
        - dict: A dictionary where keys are order IDs, and values are dictionaries containing order details.
          Each order detail includes information about the order and a list of items included in the order.
        """

6. getOrders

Retrieves order details within a specified range, including information about the items in each order.


    def getOrders(start=models.Orders.get_next_highest_id()):
        """
        Retrieves order details within a specified range, including information about the items in each order.

        Parameters:
        - start (int): The starting order ID for the range. Defaults to the next highest order ID.

        Returns:
        - dict: A dictionary where keys are order IDs, and values are dictionaries containing order details.
          Each order detail includes information about the order and a list of common names of items included in the order.
        """

7. getOrder

Retrieves a specific order by its ID.


    def getOrder(id_num):
        """
        Retrieves a specific order by its ID.

        Parameters:
        - id_num (int): The ID of the order to retrieve.

        Returns:
        - models.Orders or None: The order object if found, or None if the order with the given ID does not exist.
        """

8. getItem

Retrieves a specific item by its ID.


    def getItem(id_num):
        """
        Retrieves a specific item by its ID.

        Parameters:
        - id_num (int): The ID of the item to retrieve.

        Returns:
        - models.Items or None: The item object if found, or None if the item with the given ID does not exist.
        """

9. getOrderItems

Retrieves order items for a list of orders.


    def getOrderItems(orders):
        """
        Retrieves order items for a list of orders.

        Parameters:
        - orders (list): List of order objects.

        Returns:
        - dict: A dictionary containing a list of order items for each order in the input list.
          The structure is {'orders': [order_items_list1, order_items_list2, ...]}.
        """

10. salesGraph

Generates a sales graph for a given item based on its item_id.


    def salesGraph(item_id=0):
        """
        Generates a sales graph for a given item based on its item_id.

        Parameters:
        - item_id (int, optional): The ID of the item for which sales data should be plotted. Default is 0.

        Returns:
        - plotly.graph_objects.Figure: A Plotly Figure object representing the sales graph.
        """

11. stockGraph

Generates a stock graph for a given ingredient based on its ingredient_id.


    def stockGraph(ingredient_id=0):
        """
        Generates a stock graph for a given ingredient based on its ingredient_id.

        Parameters:
        - ingredient_id (int, optional): The ID of the ingredient for which stock data should be plotted. Default is 0.

        Returns:
        - plotly.graph_objects.Figure: A Plotly Figure object representing the stock graph.
        """

12. get_restock_alerts

Retrieves a queryset of ingredients that have stock levels below or equal to 20.


    def get_restock_alerts():
        """
        Retrieves a queryset of ingredients that have stock levels below or equal to 20.

        Returns:
        - QuerySet: A Django QuerySet containing ingredient details (id, common_name, stock) for ingredients that require restocking.
        """

13. get_excess_alerts

Retrieves a list of ingredients that have a low sales percentage compared to their total inventory within a specified time range.


    def get_excess_alerts(time, endTime):
        """
        Retrieves a list of ingredients that have a low sales percentage compared to their total inventory
        within a specified time range.

        Args:
        - time (datetime): Start of the time range.
        - endTime (datetime): End of the time range.

        Returns:
        - List: A list of dictionaries containing ingredient details (id, common_name, amount_sold, total_inventory) for ingredients with low sales percentages.
        """

14. get_top_common_items

Retrieves a list of the top common item pairs based on their co-occurrence in orders.


    def get_top_common_items():
        """
        Retrieves a list of the top common item pairs based on their co-occurrence in orders.

        Returns:
        - List: A list of strings representing common item pairs and their occurrence counts, ordered by occurrence in descending order.
        """