- Versioned product specification table (Unrefined Shea Butter v1.0 seed) with spec-based QC evaluation replacing hard-coded thresholds - Structured QC results with test methods and four-eyes verification (submitter cannot self-approve) - reportlab IXG Quality Summary PDF auto-generated on quality approval, SHA-256 hashed; original independent lab PDF kept authoritative - CertificateOfAnalysis version/status/hash/approval/supersede lifecycle; commercial release publishes to buyers and triggers notification - EUDR evidence workflow: Facility, OriginZone, CollectorGroup, HarvestIntake, IntakeBatchLineage, DueDiligenceCase, EUDREvidence, RiskAssessment, MitigationAction, DueDiligenceStatementReference with rule-based completeness check and risk assessment (no AI legal conclusions) - Ops portal: QC Approvals, CoA Reviews, EUDR Compliance screens - Buyer portal: /portal/compliance page - 22 automated tests covering four-eyes, CAPA, PDF+hash, publish/notify, EUDR blocks and buyer isolation
20 lines
901 B
Python
20 lines
901 B
Python
from django.urls import path, include
|
|
from rest_framework.routers import DefaultRouter
|
|
from . import views
|
|
|
|
router = DefaultRouter()
|
|
router.register("product-specs", views.ProductSpecificationViewSet)
|
|
router.register("facilities", views.FacilityViewSet)
|
|
router.register("origin-zones", views.OriginZoneViewSet)
|
|
router.register("collector-groups", views.CollectorGroupViewSet)
|
|
router.register("harvest-intakes", views.HarvestIntakeViewSet)
|
|
router.register("intake-batch-lineage", views.IntakeBatchLineageViewSet)
|
|
router.register("eudr-cases", views.DueDiligenceCaseViewSet)
|
|
router.register("eudr-evidence", views.EUDREvidenceViewSet)
|
|
router.register("risk-assessments", views.RiskAssessmentViewSet)
|
|
router.register("mitigation-actions", views.MitigationActionViewSet)
|
|
router.register("dds-references", views.DueDiligenceStatementReferenceViewSet)
|
|
|
|
urlpatterns = [
|
|
path("", include(router.urls)),
|
|
]
|