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.