Skip to main content

Product Request Overview

Product Request Relationships Diagram

Model Descriptions

ProductRequest

Polymorphic model that manages product requests from customers. It stores the request status, customer information, and associated product details through a polymorphic relationship. The model includes questions with answers and tracks request dates, enabling a comprehensive product request workflow. Product requests can only be created for courses that have the can_request flag set to true.

ProductRequestQuestion

Manages questions associated with product requests. This model handles different question types, tracks question status (active/inactive), and manages correct answer requirements. It supports various question types through an enum and maintains priority ordering for question display.

ProductRequestAnswer

Stores possible answers for product request questions. This model maintains answer status (active/inactive), tracks correct answers, and associates directly with its parent question. It enables flexible answer management for different question types in the product request system.