Skip to content

#52 Source = site d'emploi, fusion de site et vue archivée#54

Merged
lenoirpatrick merged 1 commit into
mainfrom
feature/52-source-site-archivees
Jun 15, 2026
Merged

#52 Source = site d'emploi, fusion de site et vue archivée#54
lenoirpatrick merged 1 commit into
mainfrom
feature/52-source-site-archivees

Conversation

@lenoirpatrick

Copy link
Copy Markdown
Owner

Suite de l'issue #52 (après la PR #53).

Source = site d'emploi

  • Candidature.source passe d'une énumération figée à une ForeignKey JobSite (migration 0023, avec conversion des données existantes : ancien code → site par défaut de même nom, autre/inconnu → vide).
  • Le menu Source propose désormais tous les sites actifs (y compris personnalisés) via un sélecteur personnalisé affichant le favicon de chaque site (un <select> natif ne peut pas afficher d'image). Réutilisable après injection AJAX dans le modal.
  • API extension : _resolve_source_site résout le code envoyé par le plugin puis, à défaut, par le domaine de l'URL de l'offre.

Fusion du champ site

  • Suppression du champ site, fusionné dans source (migration 0024) : une seule référence au site d'emploi sur la candidature.

Statistiques

  • Donut « Répartition par source » groupé par site (source__name).
  • Correctif : la locale française formatait les flottants avec une virgule (25,0), ce qui cassait le stroke-dasharray SVG (la virgule y sépare les valeurs) et faisait se superposer tous les segments. Géométrie délocalisée via |unlocalize.

Candidatures archivées

  • Bouton « 📦 Candidatures archivées » (avec compteur) : isole les candidatures abouties à 100 % (clôturées ou acceptées).
  • Ces candidatures n'apparaissent plus dans la liste active ; une vue dédiée (?archivees=1) les affiche, avec retour « ← Candidatures actives ». État conservé dans la recherche et le tri.

Technique

  • Migrations 0023 et 0024.
  • Suite de tests : 153 OK (nouvelles classes SourceSiteTests, CandidatureArchiveListTests ; ajustements existants).
  • Docs CLAUDE.md mises à jour.

🤖 Generated with Claude Code

- `Candidature.source` : énumération figée -> ForeignKey `JobSite` (migration
  0023 avec conversion des données), pour proposer tous les sites actifs avec
  favicon ; sélecteur personnalisé (favicon + nom, input caché) réutilisable en
  modal AJAX.
- Suppression du champ `site`, fusionné dans `source` (migration 0024) : une
  seule référence au site d'emploi.
- API extension : `_resolve_source_site` (code de source puis domaine de l'URL).
- Statistiques : donut groupé par site (`source__name`) + correctif locale
  (virgule décimale cassait le `stroke-dasharray` SVG -> `|unlocalize`).
- Liste : bouton « 📦 Candidatures archivées » isolant les candidatures à 100 %
  (clôturées ou acceptées) ; elles sortent de la liste active. État conservé
  dans la recherche et le tri.
- Tests mis à jour (153 OK), docs CLAUDE.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lenoirpatrick lenoirpatrick added this to the 1.2.1 milestone Jun 15, 2026
@sonarqubecloud

Copy link
Copy Markdown

@lenoirpatrick lenoirpatrick merged commit 15ed2ba into main Jun 15, 2026
2 checks passed
@lenoirpatrick lenoirpatrick deleted the feature/52-source-site-archivees branch June 15, 2026 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant