Importing an archive: a CV's link entries are dropped because the importer's section map has no \"link\ #470
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#470
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found on 2026-09-29 in a read-only review of postulo at
95348908d, comparing the importer's section map with the export's and running an export-and-import round trip.Checked again on 2026-10-01 against
mainat0a5cad587: still present.A CV can hold Link entries:
linkis inOVERVIEW_ORDER(resume/registry.py:83-91), which the CV's "add entries" form offers. The export writes each CV item'scontent_type.model, so a link is written aslink. The importer resolves CV items through its own hand-writtencontent_typesmap, which lists experience, education, project, skillgroup, certification and languageskill but not link, so every link on every CV is skipped as "no such record", although the link itself was imported intoresume_map["links"]. The export already keeps the full map asTRANSLATION_SECTIONS(with"link": "links"), and says the importer reads it the other way round; this second copy has drifted from it.core/importer.py:789-796(content_types) and:812-819(the lookup) inload;core/export.py:120-129(TRANSLATION_SECTIONS) and:734-749(the CV entries written).CV entry link#1 on Main: no such record.export.TRANSLATION_SECTIONS(or one shared map both modules import) and delete the importer's copy.Done when
tests/test_export.pyincludes a CV with a link entry and asserts it comes back on the CV with nothing inreport.skipped.Two issues filed on 2026-10-03 from the maintainer's list of improvements of 2026-10-02 depend on this one: #687 (publications) and #692 (the additional career sections). #692's guard test names
linkin the importer's CV-entry map as its one standing exception until this lands, and #687 adds its own entry to the same map. Both first described this as untracked; they now point here.Still present on
mainat0df9c342e: the map iscontent_typesatsrc/postulo/core/importer.py:952-958and the lookup that reports “no such record” is at:1014-1018; the lines this issue cites have moved. The fix is unchanged: resolve CV items through the export's map, with the round-trip test intests/test_export.pythat this issue already asks for.From the list of improvements of 2026-10-02.