84 lines
2.9 KiB
Markdown
84 lines
2.9 KiB
Markdown
# Forms and Templates Fix Summary
|
|
|
|
## Issue Identified
|
|
Multiple form templates across the project use hardcoded field IDs in JavaScript (e.g., `$('#id_provider')`), which may not match the actual Django-generated field IDs.
|
|
|
|
## Templates That Need Fixing
|
|
|
|
The following templates have hardcoded IDs in their JavaScript:
|
|
|
|
1. **templates/aba/consult_form.html** - Has `#id_provider`, formset IDs
|
|
2. **templates/medical/consultation_form.html** - Needs checking
|
|
3. **templates/medical/followup_form.html** - Needs checking
|
|
4. **templates/nursing/encounter_form.html** - Needs checking
|
|
5. **templates/slp/assessment_form.html** - Needs checking
|
|
6. **templates/slp/consultation_form.html** - Needs checking
|
|
7. **templates/slp/intervention_form.html** - Needs checking
|
|
8. **templates/slp/progress_form.html** - Needs checking
|
|
9. **templates/referrals/referral_form.html** - Needs checking
|
|
|
|
## Solution
|
|
|
|
Replace hardcoded IDs with dynamic references using Django template variables:
|
|
|
|
### Before (Wrong):
|
|
```javascript
|
|
$('#id_provider').select2({...});
|
|
```
|
|
|
|
### After (Correct):
|
|
```javascript
|
|
var providerId = '#{{ form.provider.id_for_label }}';
|
|
$(providerId).select2({...});
|
|
```
|
|
|
|
## Forms.py Status
|
|
|
|
All forms.py files have been updated with proper CSS classes:
|
|
- ✅ aba/forms.py - All fields have `form-control` class
|
|
- ✅ medical/forms.py - All fields have `form-control` class
|
|
- ✅ nursing/forms.py - All fields have `form-control` class
|
|
- ✅ ot/forms.py - All fields have `form-control` class
|
|
- ✅ slp/forms.py - All fields have `form-control` class
|
|
- ✅ appointments/forms.py - All fields have `form-control` class
|
|
- ✅ core/forms.py - Already had proper CSS classes
|
|
- ✅ finance/forms.py - Already had proper CSS classes
|
|
- ✅ referrals/forms.py - Already had proper CSS classes
|
|
|
|
## Models.py Status
|
|
|
|
JSONFields converted to TextField for user-friendly input:
|
|
- ✅ aba/models.py - 2 fields converted
|
|
- ✅ ot/models.py - 8 fields converted
|
|
- ✅ slp/models.py - 13 fields converted
|
|
|
|
## API Updates
|
|
|
|
- ✅ appointments/api_views.py - Added clinic filtering to ProviderViewSet
|
|
|
|
## Templates Fixed
|
|
|
|
- ✅ templates/appointments/appointment_form.html - Dynamic IDs implemented
|
|
- ⚠️ templates/aba/consult_form.html - Needs dynamic IDs
|
|
- ⚠️ templates/medical/consultation_form.html - Needs checking
|
|
- ⚠️ templates/medical/followup_form.html - Needs checking
|
|
- ⚠️ templates/nursing/encounter_form.html - Needs checking
|
|
- ⚠️ templates/slp/*.html - Need checking
|
|
- ⚠️ templates/referrals/referral_form.html - Needs checking
|
|
|
|
## Next Steps
|
|
|
|
1. Fix all remaining templates to use dynamic field IDs
|
|
2. Test each form to ensure JavaScript works correctly
|
|
3. Run database migrations for model changes
|
|
4. Verify all forms render with proper CSS styling
|
|
|
|
## Database Migrations Required
|
|
|
|
```bash
|
|
python manage.py makemigrations
|
|
python manage.py migrate
|
|
```
|
|
|
|
This will apply the JSONField → TextField conversions.
|