Skip to content

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:

  • date
  • boolean

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:

  • string
  • float
  • integer
  • monetary

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

  1. Identify all custom field selector UIs after merge commit 6cd2f9d055658e7bd2c8b453911f8fd566810a25
  2. Verify which screen was still missing options
  3. Add Date and Boolean options to the settings selector
  4. 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

  1. Open /settings
  2. Navigate to custom fields section
  3. Open field type dropdown
  4. Confirm options include:
  5. Text
  6. Number
  7. Integer
  8. Currency
  9. Date
  10. Boolean
  11. Add a field of type Date and one of type Boolean
  12. 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
  • Merge commit: 6cd2f9d055658e7bd2c8b453911f8fd566810a25
  • Feature commits:
  • 5f658d1a96d0bf1ac29550bacdcaf138153379ff
  • fdc1e0818651f228f43c02382d7cffe66093bf5f
  • Related file: views/setup.ejs (already contained Date and Boolean)

👥 Credits

  • Implementation: Admonstrator with GitHub Copilot
  • Scope: UI consistency fix for custom field type selection