Your career: the end-before-start error is English in every language, and only Experience has it #621
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#621
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, reading the career entry forms and trying them against the test settings.Checked again on 2026-10-01 against
mainat0a5cad587: still present.ExperienceForm.cleanrefuses an end date before the start date with a bare string that is not wrapped ingettext, so no catalogue has it and every interface language shows it in English. The candidate-file review repeats form errors as its notes, so the English sentence appears there too. The other dated entries do not check the order of their dates at all.resume/forms.py:90-95(ExperienceForm.clean:forms.ValidationError("This is before the start date."));resume/forms.py:98-124(EducationForm),:127-144(ProjectForm),:192-201(CertificationForm,issued_onandexpires_on), none of which definesclean; the models (resume/models.py) have nocleanor constraint either.grepfinds the string in no.pofile. The same dates on an Education or a Project, or a certificate that expires before it was issued, are accepted without comment, on the page and through the candidate-file import, which runs the same forms.ResumeItemForm(or a small mixin), keyed by each model's start and end field names (start_date/end_date,issued_on/expires_on), with the message ingettext_lazy; apply it to Education, Project and Certification; runmakemessages.Done when
tests/test_career_dates.py, shows Education, Project and Certification forms refusing an end before the start, and the Experience error coming back translated with a non-English language active.