IXG Platform
Media was unreachable from either portal, which is why the certificate button on the buyer compliance page returned page-not-found and no document row had anything to click. The cause was structural: the portal and ops hosts proxy location / to the app with a path prefix, so a stored /media/... URL arrives as /portal/media/... and matches no route. Add a download view per portal behind the same role gate as the page that links to it — buyer-visible documents and published certificates for buyers, anything the ops list shows for operations — resolving the stored path safely under MEDIA_ROOT so a traversal or an absolute path is refused. Point the seven templates that list files at the new routes. Also add a portal-wide render sweep: nothing in the suite was fetching the ops or portal pages, so a view could lose its template_name and 500 in front of a user with every test still green. |
||
|---|---|---|
| apps | ||
| docs | ||
| dsp_platform | ||
| nginx | ||
| scripts | ||
| templates | ||
| .dockerignore | ||
| .gitignore | ||
| create_agent.py | ||
| docker-compose.yml | ||
| Dockerfile | ||
| manage.py | ||
| requirements.txt | ||
| SESSION_CHECKPOINT.md | ||