UI-002: Add Date and Boolean Custom Field Types in UI
📌 Overview
Type: UI Enhancement
Status: ✅ Applied
Integration Date: 2026-02-27
Upstream Status: ⏳ Not submitted (fork-specific)
🐛 Problem
The change set for custom field type support introduced two additional data types:
dateboolean
Although support was added in processing logic and setup flow, one UI path still exposed an incomplete type selector. Users editing custom fields in the settings screen could only choose:
stringfloatintegermonetary
This created an inconsistent UX and prevented selecting the new types from that interface.
✅ Solution
Extend the custom field type dropdown in the settings UI so it matches the setup UI and backend-supported types.
Implementation Approach
- Identify all custom field selector UIs after merge commit
6cd2f9d055658e7bd2c8b453911f8fd566810a25 - Verify which screen was still missing options
- Add
DateandBooleanoptions to the settings selector - Validate template integrity
📝 Changes
Modified Files
views/settings.ejs
Updated the #newFieldType <select> options by adding:
<option value="date">Date</option><option value="boolean">Boolean</option>
No additional logic changes were required because existing custom field rendering and JSON serialization already support arbitrary data_type values.
🧪 Testing
Validation Performed
- Template validation check for
views/settings.ejs - Git diff verification to confirm only the intended options were added
Manual Verification Steps
- Open
/settings - Navigate to custom fields section
- Open field type dropdown
- Confirm options include:
- Text
- Number
- Integer
- Currency
- Date
- Boolean
- Add a field of type
Dateand one of typeBoolean - Save settings and ensure no client-side errors occur
📊 Impact
User Experience
- Removes mismatch between setup and settings custom field editors
- Makes newly supported types actually usable in all relevant UI flows
- Reduces confusion and manual workarounds
Technical Scope
- Files changed: 1
- Behavioral risk: Low
- Compatibility: Backward compatible
🔗 Related
- Merge commit:
6cd2f9d055658e7bd2c8b453911f8fd566810a25 - Feature commits:
5f658d1a96d0bf1ac29550bacdcaf138153379fffdc1e0818651f228f43c02382d7cffe66093bf5f- Related file:
views/setup.ejs(already containedDateandBoolean)
👥 Credits
- Implementation: Admonstrator with GitHub Copilot
- Scope: UI consistency fix for custom field type selection