Files
e-ticket/sonar-project.properties
Serreau Jovann 52cb19df8b Add BilletOrder entity, PDF generation, email with QR codes, public order page
- BilletOrder entity: individual tickets with unique ETICKET-XXXX reference,
  billetBuyer link, billet link, isScanned, scannedAt for entry control
- BilletOrderService: generates tickets after payment, creates A4 PDF with
  BilletDesign colors if present (default otherwise), real QR code via
  endroid/qr-code, event poster + org logo as base64, sends confirmation
  email with all ticket PDFs attached
- PDF template (pdf/billet.html.twig): A4 layout matching preview design,
  real QR code linking to /ticket/verify/{reference}
- Email template: order recap table, ticket references list, link to
  /ma-commande/{reference}
- Public order page /ma-commande/{reference}: no auth required, shows
  order details, ticket list with individual PDF download links
- Ticket verification page /ticket/verify/{reference}: shows valid/scanned
  status with ticket and event details
- Download route /ma-commande/{ref}/billet/{ticketRef}: generates PDF on-the-fly
- Migration for billet_order table with unique reference index
- BilletOrderTest: 8 tests, 24 assertions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 14:04:45 +01:00

25 lines
1.4 KiB
INI

sonar.projectKey=e-ticket
sonar.projectName=E-Ticket
sonar.sources=src,assets,templates,docker
sonar.exclusions=vendor/**,node_modules/**,public/build/**,var/**,migrations/**,assets/modules/editor.js,assets/modules/event-map.js,assets/modules/billet-designer.js,src/Controller/StripeWebhookController.php,src/Service/StripeService.php,src/Service/PayoutPdfService.php,src/Service/BilletOrderService.php
sonar.php.version=8.4
sonar.sourceEncoding=UTF-8
sonar.php.coverage.reportPaths=coverage.xml
sonar.php.phpstan.reportPaths=phpstan-report.json
sonar.tests=tests
sonar.test.inclusions=tests/**/*.php,tests/js/**/*.test.js
sonar.javascript.lcov.reportPaths=coverage/lcov.info
sonar.eslint.reportPaths=eslint-report.json
sonar.docker.hadolint.reportPaths=hadolint-dev.json,hadolint-prod.json
sonar.dependencyCheck.jsonReportPath=dependency-check-report.json
sonar.dependencyCheck.htmlReportPath=dependency-check-report.html
sonar.issue.ignore.multicriteria=e1,e2,e3,e4
sonar.issue.ignore.multicriteria.e1.ruleKey=css:S4662
sonar.issue.ignore.multicriteria.e1.resourceKey=assets/**
sonar.issue.ignore.multicriteria.e2.ruleKey=javascript:S1874
sonar.issue.ignore.multicriteria.e2.resourceKey=assets/modules/editor.js
sonar.issue.ignore.multicriteria.e3.ruleKey=php:S1192
sonar.issue.ignore.multicriteria.e3.resourceKey=src/Controller/HomeController.php
sonar.issue.ignore.multicriteria.e4.ruleKey=php:S1448
sonar.issue.ignore.multicriteria.e4.resourceKey=src/**