import re file_path = 'includes/layout/footer.php' with open(file_path, 'r') as f: content = f.read() # 1. Update Add Patient Modal # Look for the name input in addPatientModal pattern_add = r'(', content.find('name="name"', add_modal_start)) + 6 # Check if we already added it (idempotency) if 'name="civil_id"' not in content[name_div_end:name_div_end+500]: content = content[:name_div_end] + replacement_add + content[name_div_end:] # 2. Update Edit Patient Modal edit_modal_start = content.find('id="editPatientModal"') if edit_modal_start != -1: # Find the name input div AFTER this start name_div_end = content.find('', content.find('name="name"', edit_modal_start)) + 6 replacement_edit = r'''
''' if 'name="civil_id"' not in content[name_div_end:name_div_end+500]: content = content[:name_div_end] + replacement_edit + content[name_div_end:] # 3. Update JS showEditPatientModal js_func = 'function showEditPatientModal(patient) {' js_start = content.find(js_func) if js_start != -1: # Find the fields object fields_start = content.find("var fields = {", js_start) if fields_start != -1: # Insert new fields insert_pos = content.find("'edit_patient_name': patient.name,", fields_start) + len("'edit_patient_name': patient.name,") new_js_fields = r''' 'edit_patient_civil_id': patient.civil_id || '', 'edit_patient_nationality': patient.nationality || '', 'edit_patient_city': patient.city || '', ''''' if "'edit_patient_civil_id'" not in content[fields_start:fields_start+500]: content = content[:insert_pos] + new_js_fields + content[insert_pos:] # Find the loop to add trigger loop_start = content.find("for (var id in fields) {", js_start) if loop_start != -1: # We want to add the trigger inside the loop # Find 'if (field) field.value = fields[id];' val_set = content.find("if (field) field.value = fields[id];", loop_start) if val_set != -1: replace_js = '''if (field) { field.value = fields[id]; if (id === 'edit_patient_nationality') { $(field).val(fields[id]).trigger('change'); } }''' content = content.replace("if (field) field.value = fields[id];", replace_js, 1) with open(file_path, 'w') as f: f.write(content) print("Updated footer.php")