Files
code-cegled/template/templates/user_data_edit.tpl

322 lines
12 KiB
Smarty

<div class="form_wrapper">
<div class="buttons">
<a href="/admin/delete_member/{$user_data.uk_id}" class="addbutton delete-big">Törlés</a>
<a href="/admin/set_active_status/{$user_data.uk_id}" class="addbutton big">
{if $user_data.uk_is_active}
Inaktiválás
{else}
Aktiválás
{/if}
</a>
</div>
<form method="post">
<input type="hidden" name="action" id="action" value="user_data_edit">
<input type="hidden" name="user_type" id="user_type" value="1">
<input type="hidden" name="uk_id" id="uk_id" value="{$user_data.uk_id}">
<div>
<label class="desc" for="uk_name">Név:</label>
<div><input type="text" name="uk_name" id="uk_name" size="8" class="field text fn"
value="{$user_data.uk_name}" required></div>
</div>
<div>
<label for="uk_lease">Bérletes:</label>
<div><input type="checkbox" name="uk_lease" id="uk_lease" value="1" {if 1==$user_data.uk_lease}checked{/if}>
</div>
</div>
<div style="padding-top: 15px; border-top: 1px solid;">
<label for="uk_balance_expires">Egyenleg lejár:</label>
<div><input type="checkbox" name="uk_balance_expires" id="uk_balance_expires" value="1"
{if 1==$user_data.uk_balance_expires}checked{/if}></div>
</div>
<div>
<label>Egyenleg:</label>
<div style="padding-top: 6px;">{{$user_data.uk_balance|number_format:0:'':' '}} Ft</div>
</div>
<div style="padding-bottom: 15px; border-bottom: 1px solid;">
{if $user_data.uk_balance}
<label>Lejár:</label>
<div style="padding-top: 6px;">
{if $user_data.uk_balance_expire_date}
{{$user_data.uk_balance_expire_date|date_format:"%Y.%m.%d"}}
{elseif $user_data.uk_last_deposit}
{strtotime("+1 month",strtotime($user_data.uk_last_deposit))|date_format:"%Y.%m.%d"}
{else}
Automatikusan
{/if}
</div>
{/if}
</div>
<div>
<label class="desc" for="uk_password">Jelszó:</label>
<div><input type="text" name="uk_password" id="uk_password" value="{$user_data.uk_password}"></div>
</div>
<div>
<legend class="desc" for="uk_gender">Nem: </legend>
<div>
<input id="r_01" type="radio" name="uk_gender" value="1" {if 1==$user_data.uk_gender}checked{/if}>
<label class="choice" for="r_01">Fiú</label>
</div>
<div>
<input id="r_02" type="radio" name="uk_gender" value="2" {if 2==$user_data.uk_gender}checked{/if}>
<label class="choice" for="r_02">Lány</label>
</div>
</div>
<div>
<label class="desc" for="uk_birth_date">Születési dátum:</label>
<div><input type="text" name="uk_birth_date" id="uk_birth_date" value="{$user_data.uk_birth_date}"></div>
</div>
<div>
<label class="desc" for="uk_birth_year">Születési év:</label>
<div><input type="text" name="uk_birth_year" id="uk_birth_year" value="{$user_data.uk_birth_year}"></div>
</div>
<div>
<label class="desc" for="uk_address_scc_id">Lakhely (település):</label>
<div>
<select name="uk_address_scc_id" id="uk_address_scc_id">
<option value="null"> - </option>
{foreach $school_city_assoc_array as $school_city_array}
<option value="{$school_city_array->get_scc_id()}"
{if $user_data.uk_address_scc_id == $school_city_array->get_scc_id()} selected{/if}>
{$school_city_array->get_scc_city()}
</option>
{/foreach}
</select>
</div>
</div>
<div>
<legend class="desc" for="uk_hand">Kéz: </legend>
<div>
<input id="r_03" type="radio" name="uk_hand" value="1" {if 1==$user_data.uk_hand}checked{/if}>
<label class="choice" for="r_03">Bal</label>
</div>
<div>
<input id="r_04" type="radio" name="uk_hand" value="2" {if 2==$user_data.uk_hand}checked{/if}>
<label class="choice" for="r_04">Jobb</label>
</div>
</div>
<div>
<label class="desc" for="uk_email">E-mail cím:</label>
<div><input type="email" name="uk_email" id="uk_email" value="{$user_data.uk_email}"></div>
</div>
<div>
<label class="desc" for="uk_phone">Telefonszám:</label>
<div><input type="text" name="uk_phone" id="uk_phone" value="{$user_data.uk_phone}"></div>
</div>
<div>
<label class="desc" for="uk_school_sc_id">Iskola neve:</label>
<div>
<select name="uk_school_sc_id" id="uk_school_sc_id">
<option value="null"> - (állítsd erre új iskola felvételéhez)</option>
{foreach $school_assoc_array as $school_array}
<option value="{$school_array->get_sc_id()}"
{if $school_array->get_sc_id() == $user_data.uk_school_sc_id} selected{/if}>
{$school_array->get_sc_name()}
{if $school_array->get_sc_school_city()}({$school_array->get_sc_school_city()->get_scc_city()}){/if}
</option>
{/foreach}
</select>
</div>
</div>
<div class="add_school">
<label class="desc" for="add_school">Új iskola neve:</label>
<div><input type="text" name="add_school" id="add_school"></div>
</div>
<div class="add_school">
<label class="desc" for="uk_school_city_scc_id">Új iskola települése:</label>
<div>
<select name="uk_school_city_scc_id" id="uk_school_city_scc_id">
<option value="null"> - </option>
{foreach $school_city_assoc_array as $school_city_array}
<option value="{$school_city_array->get_scc_id()}">
{$school_city_array->get_scc_city()}
</option>
{/foreach}
</select>
</div>
</div>
<div>
<label class="desc" for="uk_parent_1">Szülő:</label>
<div>
<select name="uk_parent_1" id="uk_parent_1">
<option value="null"> - (állítsd erre új szülő felvételéhez)</option>
{foreach $parent_assoc_array as $parent_array}
<option value="{$parent_array.up_id}" {if $parent_array.up_id == $user_data.uk_parent_1}
selected{/if}>
{$parent_array.up_name}
</option>
{/foreach}
</select>
</div>
</div>
<div class="add_parent_1_block">
<label class="desc" for="add_parent_1">Új szülő neve:</label>
<div><input type="text" name="add_parent_1" id="add_parent_1"></div>
</div>
<div>
<label class="desc" for="parent_1_email">E-mail cím:</label>
<div><input type="text" name="parent_1_email" id="parent_1_email"></div>
</div>
<div>
<label class="desc" for="parent_1_phone">Telefonszám:</label>
<div><input type="text" name="parent_1_phone" id="parent_1_phone"></div>
</div>
<br>
<div>
<label class="desc" id="title2" for="uk_other">Egyéb:</label>
<div><textarea rows="5" name="uk_other" id="uk_other">{$user_data.uk_other}</textarea></div>
</div>
<br>
<div>
<div>
<input class="button black" type="submit" value="Mentés">
</div>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
if ($("#uk_parent_1").val() == 'null') $(".add_parent_1_block").show();
else $(".add_parent_1_block").hide();
if ($("#uk_parent_2").val() == 'null') $(".add_parent_2_block").show();
else $(".add_parent_2_block").hide();
if ($("#uk_school_sc_id").val() == 'null') $(".add_school").show();
else $(".add_school").hide();
$("#uk_parent_1").trigger("change");
$("#uk_parent_2").trigger("change");
});
$('#uk_parent_1').change(function() {
$(".add_parent_1_block").toggle(this.value == 'null');
});
$('#uk_parent_2').change(function() {
$(".add_parent_2_block").toggle(this.value == 'null');
});
$('#uk_school_sc_id').change(function() {
$(".add_school").toggle(this.value == 'null');
});
$("#uk_parent_1").change(function() {
$.post("/_ajax/get_parent_data.php", {
parent_id: $("#uk_parent_1").val(),
parent_number: 1
},
function(data, status) {
if (!data) {
$("#parent_1_phone").val('');
$("#parent_1_email").val('');
} else {
var pdata = JSON.parse(data);
$("#parent_1_phone").val(pdata[1]);
$("#parent_1_email").val(pdata[0]);
}
});
});
$("#uk_balance_expires").on('change', function() {
if (!$(this).is(':checked')) {
$('#uk_balance_expire_date').val('');
$('#uk_balance_expire_date').prop('disabled', 'disabled');
} else {
$('#uk_balance_expire_date').removeAttr('disabled');
}
});
$("#uk_balance_expires").trigger('change');
document.addEventListener("DOMContentLoaded", function() {
const form = document.querySelector(".form_wrapper form");
const submitButton = form.querySelector('input.button.black[type="submit"]');
// Collect text inputs but exclude #uk_other
const textInputs = Array.from(form.querySelectorAll(
'input[type="text"], input[type="email"], textarea'
)).filter(input => input.id !== "uk_other");
// Select fields that control conditional validation
const parentSelect = form.querySelector('#uk_parent_1');
const schoolSelect = form.querySelector('#uk_school_sc_id');
const addressSelect = form.querySelector('#uk_address_scc_id');
const conditionalFields = [{
select: parentSelect,
valueToIgnore: 'null',
fields: [
form.querySelector('#add_parent_1'),
form.querySelector('#parent_1_email'),
form.querySelector('#parent_1_phone')
]
},
{
select: schoolSelect,
valueToIgnore: 'null',
fields: [
form.querySelector('#add_school')
]
}
];
function toggleSubmitButton() {
let fieldsToCheck = [...textInputs];
// Exclude fields based on select value
conditionalFields.forEach(group => {
if (group.select.value !== group.valueToIgnore) {
fieldsToCheck = fieldsToCheck.filter(field => !group.fields.includes(field));
}
});
// Check if any required field is empty
const anyEmpty = fieldsToCheck.some(input => input.value.trim() === "");
// Check if uk_address_scc_id is still "null"
const addressMissing = addressSelect.value === "null";
submitButton.disabled = anyEmpty || addressMissing;
}
// Listen to input changes
textInputs.forEach(input => {
input.addEventListener("input", toggleSubmitButton);
});
// Listen to select changes
[parentSelect, schoolSelect, addressSelect].forEach(select => {
select.addEventListener("change", toggleSubmitButton);
});
// Initial validation
toggleSubmitButton();
});
</script>