Refactor user form to replace select elements with dropdown rendering for supervisor and location, enhancing consistency and maintainability.

This commit is contained in:
Yaro Kasear 2025-07-23 12:48:11 -05:00
parent be9e4afb4d
commit 50786cf41f

View file

@ -12,8 +12,8 @@
active: document.querySelector("input[name='activeCheck']").checked, active: document.querySelector("input[name='activeCheck']").checked,
last_name: document.querySelector("input[name='lastName']").value, last_name: document.querySelector("input[name='lastName']").value,
first_name: document.querySelector("input[name='firstName']").value, first_name: document.querySelector("input[name='firstName']").value,
supervisor_id: parseInt(document.querySelector("select[name='supervisor']").value) || null, supervisor_id: parseInt(document.querySelector("input[name='supervisor']").value) || null,
location_id: parseInt(document.querySelector("select[name='location']").value) || null location_id: parseInt(document.querySelector("input[name='location']").value) || null
}; };
try { try {
@ -97,31 +97,24 @@
<div class="row mt-2"> <div class="row mt-2">
<div class="col-6"> <div class="col-6">
<label for="supervisor" class="form-label"> {{ dropdowns.render_dropdown(
Supervisor id='supervisor',
{% if user.supervisor %} list=users,
{{ links.entry_link('user', user.supervisor_id) }} label='Supervisor',
{% endif %} current_item=user.supervisor if user.supervisor else None,
</label> entry_link='user',
<select class="form-select" id="supervisor" name="supervisor" enabled=user.active
value="{{ supervisor.id if supervisor else '' }}"{% if not user.active %} disabled readonly{% endif %}> ) }}
<option>-</option>
{% for supervisor in users %}
<option value="{{ supervisor.id }}"{% if supervisor.id==user.supervisor_id %} selected{% endif %}>
{{ supervisor.identifier }}</option>
{% endfor %}
</select>
</div> </div>
<div class="col-6"> <div class="col-6">
<label for="location" class="form-label">Location</label> {{ dropdowns.render_dropdown(
<select class="form-select" id="location" name="location"{% if not user.active %} disabled readonly{% endif %}> id='location',
<option>-</option> list=rooms,
{% for location in rooms %} label='Location',
<option value="{{ location.id }}"{% if location.id==user.location_id %} selected{% endif %}>{{ current_item=user.location if user.location else None,
location.identifier }}</option> enabled=user.active
{% endfor %} ) }}
</select>
</div> </div>
</div> </div>
<div class="row mt-4"> <div class="row mt-4">