Add a portal sales dashboard for FEATURE_SHOP: 30-day order/revenue charts, top products, and home-dashboard stats. Same feature as the web_django_template sales-dashboard ticket.
Scope
Portal Retail nav: Sales → /portal/shop/sales/
Paid + fulfilled orders in the last 30 days (count, revenue, units, AOV)
## Summary
Add a portal sales dashboard for FEATURE_SHOP: 30-day order/revenue charts, top products, and home-dashboard stats. Same feature as the web_django_template sales-dashboard ticket.
## Scope
- Portal Retail nav: **Sales** → `/portal/shop/sales/`
- Paid + fulfilled orders in the last 30 days (count, revenue, units, AOV)
- Charts: orders/day, revenue/day, top products
- Home dashboard 30-day sales/revenue cards
## Test plan
- [ ] Sales page requires login
- [ ] Empty state when no paid orders
- [ ] In-window paid/fulfilled counted; unpaid/old excluded
- [ ] `manage.py test shop`
westfarn
self-assigned this 2026-09-06 08:32:42 -07:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Add a portal sales dashboard for FEATURE_SHOP: 30-day order/revenue charts, top products, and home-dashboard stats. Same feature as the web_django_template sales-dashboard ticket.
Scope
/portal/shop/sales/Test plan
manage.py test shopPR: #4
Template ticket: westfarn/web_django_template#7