You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When a Specify database uses non-English geography tree rank names (e.g., French: Pays instead of Country, Région instead of State, Département instead of County), the WorkBench GEOLocate dialog does not receive country/state/county data so only the locality name field is populated. The geography fields are silently dropped during data extraction.
On the demo fish database (which uses English rank names), the country/state/county fields work correctly, confirming that the hardcoded rank names are the cause.
To Reproduce
Steps to reproduce the behavior:
Use a Specify database where the Geography tree has non-English rank names (e.g., Pays, Région, Département instead of Country, State, County)
In the Workbench, map columns to the geography tree ranks
Fill in the geography columns with real values, and add fake values for latitude1/longitude1 to work around Issue Catalog Number Formatter #1
Click "GEOLocate"
Observe that only the locality name field is populated and country, state, and county are empty
Expected behavior
The country, state, and county fields in the GEOLocate dialog should be populated regardless of what the tree rank names are called in the database. The system should dynamically resolve the available geography ranks rather than relying on hardcoded English names.
Additional context
Root cause: In config.ts (lines 158-162), the localityPinFields array hardcodes English tree rank names:
In wbLocalityDataExtractor.ts, matchLocalityPinFields() compares the actual mapping paths (which use the database's real rank names) against these hardcoded paths via filterSplitMappingPaths(). Since the rank names don't match, the geography fields are excluded from localityColumns and never passed to the GEOLocate dialog.
Describe the bug
When a Specify database uses non-English geography tree rank names (e.g., French:
Paysinstead ofCountry,Régioninstead ofState,Départementinstead ofCounty), the WorkBench GEOLocate dialog does not receive country/state/county data so only the locality name field is populated. The geography fields are silently dropped during data extraction.On the demo fish database (which uses English rank names), the country/state/county fields work correctly, confirming that the hardcoded rank names are the cause.
To Reproduce
Steps to reproduce the behavior:
Pays,Région,Départementinstead ofCountry,State,County)latitude1/longitude1to work around Issue Catalog Number Formatter #1Expected behavior
The country, state, and county fields in the GEOLocate dialog should be populated regardless of what the tree rank names are called in the database. The system should dynamically resolve the available geography ranks rather than relying on hardcoded English names.
Additional context
Root cause: In config.ts (lines 158-162), the
localityPinFieldsarray hardcodes English tree rank names:specify7/specifyweb/frontend/js_src/lib/components/Leaflet/config.ts
Lines 152 to 164 in 01ecc23
In wbLocalityDataExtractor.ts,
matchLocalityPinFields()compares the actual mapping paths (which use the database's real rank names) against these hardcoded paths viafilterSplitMappingPaths(). Since the rank names don't match, the geography fields are excluded fromlocalityColumnsand never passed to the GEOLocate dialog.