Overview
The Design Request module allows users to create, track, and manage design requests from reception through delivery. It provides comprehensive workflow management with priorities, states, time tracking, and task assignments. Controller:DesignRequestController (app/Http/Controllers/DesignRequestController.php:19)Model:
DesignRequest (app/Models/DesignRequest.php:10)Vue Component:
resources/js/Pages/Design/Request.vue
Key Features
Request Management
Create and track design requests with detailed metadata including dates, priorities, and assignments
Workflow States
Track requests through multiple states with time-based status indicators
Task Management
Break down requests into manageable tasks with individual tracking
Multi-User Assignment
Assign designers, sellers, and customers to each request
Data Model
TheDesignRequest model includes the following relationships:
Relationships
- priority:
DesignPriority- Request priority level - designer:
User- Assigned designer - seller:
Seller- Associated seller - customer:
User- Customer requesting design - time_state:
DesignTimeState- Time-based state (on time, delayed, etc.) - state:
DesignState- Workflow state - tasks:
DesignTask[]- Related tasks
API Endpoints
List Design Requests
- All design requests
- Available priorities
- Available time states
- Available workflow states
- List of designers (users with type=‘designer’)
- List of sellers
- Customers (local and external from SSF database)
Create Design Request
Update Design Request
Update Request State
View Request Details
Delete Design Request
User Interface
The design request interface includes:Main Table View
- Columns: ID, Priority, Designer, Seller, Customer, Comments, Reception Date, Tentative Date, Real Date, Delivery Date, Customer Approval Date, Sherpa Date, Time State, State, Observations, Actions
- Actions: View details, Edit, Delete
- Create Button: Opens modal to create new request
Request Details View
Displays comprehensive information including:- All request metadata
- Associated tasks
- State history
- Assignment information
Related Modules
Design Priorities
Manage priority levels for design requests
Design States
Configure workflow states (e.g., Draft, In Progress, Review, Complete)
Design Time States
Track time-based status (On Time, Delayed, Critical)
Design Tasks
Break down requests into actionable tasks
Customer Data Sources
The module integrates customer data from two sources:- Local Customers: From GBapp.dbo.users table (type=‘customer’)
- External Customers: From SSF database (un_tercegener table) where:
eobcodigo = 'AC'tgeesclie = 'S'- Active clients only
Customers are grouped by type (‘local’ or ‘external’) and ordered by name for easy selection.
Workflow Example
Create Request
Sales team creates a design request with customer information, priority, and tentative delivery date.
Track Progress
Update time state and workflow state as work progresses. Track actual dates vs. tentative dates.
Permissions
Access to design request functionality is controlled through the route middleware in routes/web.php:164-173.All design request routes are protected by the
auth:sanctum middleware and require email verification.