remove some fields from kids and change exported data columns

This commit is contained in:
2025-05-23 14:12:15 +02:00
parent a092c4a234
commit aa7848c34b
7 changed files with 231 additions and 385 deletions

View File

@@ -418,25 +418,12 @@ class user_kid extends user_parent {
$_user_value_array['uk_parent_1'] = self::add_new_parent( $_user_value_array['uk_parent_1'] = self::add_new_parent(
$_user_value_array['add_parent_1'], $_user_value_array['add_parent_1'],
$_user_value_array['parent_1_email'], $_user_value_array['parent_1_email'],
$_user_value_array['parent_1_facebook'], $_user_value_array['parent_1_phone']); '', $_user_value_array['parent_1_phone']);
log::register('new_parent', $_user_value_array['uk_parent_1']); log::register('new_parent', $_user_value_array['uk_parent_1']);
} }
if (isset($_user_value_array['add_parent_1'])) unset($_user_value_array['add_parent_1']); if (isset($_user_value_array['add_parent_1'])) unset($_user_value_array['add_parent_1']);
if (isset($_user_value_array['parent_1_email'])) unset($_user_value_array['parent_1_email']); if (isset($_user_value_array['parent_1_email'])) unset($_user_value_array['parent_1_email']);
if (isset($_user_value_array['parent_1_facebook'])) unset($_user_value_array['parent_1_facebook']);
if (isset($_user_value_array['parent_1_phone'])) unset($_user_value_array['parent_1_phone']); if (isset($_user_value_array['parent_1_phone'])) unset($_user_value_array['parent_1_phone']);
//PARENT_2 HANDLER
if (isset($_user_value_array['add_parent_2']) && $_user_value_array['add_parent_2'] != "") {
$_user_value_array['uk_parent_2'] = self::add_new_parent(
$_user_value_array['add_parent_2'],
$_user_value_array['parent_2_email'], $_user_value_array['parent_2_facebook'],
$_user_value_array['parent_2_phone']);
log::register('new_parent', $_user_value_array['uk_parent_2']);
}
if (isset($_user_value_array['add_parent_2'])) unset($_user_value_array['add_parent_2']);
if (isset($_user_value_array['parent_2_email'])) unset($_user_value_array['parent_2_email']);
if (isset($_user_value_array['parent_2_facebook'])) unset($_user_value_array['parent_2_facebook']);
if (isset($_user_value_array['parent_2_phone'])) unset($_user_value_array['parent_2_phone']);
//date handler //date handler
if (!isset($_user_value_array['uk_first_training']) || $_user_value_array['uk_first_training'] == "") { if (!isset($_user_value_array['uk_first_training']) || $_user_value_array['uk_first_training'] == "") {
@@ -482,38 +469,21 @@ class user_kid extends user_parent {
$_user_value_array['uk_parent_1'] = self::add_new_parent( $_user_value_array['uk_parent_1'] = self::add_new_parent(
$_user_value_array['add_parent_1'], $_user_value_array['add_parent_1'],
$_user_value_array['parent_1_email'], $_user_value_array['parent_1_email'],
$_user_value_array['parent_1_facebook'], $_user_value_array['parent_1_phone']); '', $_user_value_array['parent_1_phone']);
log::register('new_parent', $_user_value_array['uk_parent_1']); log::register('new_parent', $_user_value_array['uk_parent_1']);
} }
else { else {
//meglévő szülő updatelése //meglévő szülő updatelése
user_parent::update_parent(array( user_parent::update_parent(array(
'up_email' => $_user_value_array['parent_1_email'], 'up_email' => $_user_value_array['parent_1_email'],
'up_facebook' => $_user_value_array['parent_1_facebook'],
'up_phone' => $_user_value_array['parent_1_phone']), $_user_value_array['uk_parent_1']); 'up_phone' => $_user_value_array['parent_1_phone']), $_user_value_array['uk_parent_1']);
} }
if (isset($_user_value_array['add_parent_1'])) unset($_user_value_array['add_parent_1']); if (isset($_user_value_array['add_parent_1'])) unset($_user_value_array['add_parent_1']);
if (isset($_user_value_array['parent_1_email'])) unset($_user_value_array['parent_1_email']); if (isset($_user_value_array['parent_1_email'])) unset($_user_value_array['parent_1_email']);
if (isset($_user_value_array['parent_1_facebook'])) unset($_user_value_array['parent_1_facebook']);
if (isset($_user_value_array['parent_1_phone'])) unset($_user_value_array['parent_1_phone']); if (isset($_user_value_array['parent_1_phone'])) unset($_user_value_array['parent_1_phone']);
//PARENT_2 HANDLER //PARENT_2 HANDLER
if (isset($_user_value_array['add_parent_2']) && $_user_value_array['add_parent_2'] != "") {
$_user_value_array['uk_parent_2'] = self::add_new_parent(
$_user_value_array['add_parent_2'],
$_user_value_array['parent_2_email'], $_user_value_array['parent_2_facebook'],
$_user_value_array['parent_2_phone']);
log::register('new_parent', $_user_value_array['uk_parent_2']);
}
else {
//meglévő szülő updatelése
//var_dump($_user_value_array['uk_parent_2']);
user_parent::update_parent(array(
'up_email' => $_user_value_array['parent_2_email'],
'up_facebook' => $_user_value_array['parent_2_facebook'],
'up_phone' => $_user_value_array['parent_2_phone']), $_user_value_array['uk_parent_2']);
}
if (isset($_user_value_array['add_parent_2'])) unset($_user_value_array['add_parent_2']); if (isset($_user_value_array['add_parent_2'])) unset($_user_value_array['add_parent_2']);
if (isset($_user_value_array['parent_2_email'])) unset($_user_value_array['parent_2_email']); if (isset($_user_value_array['parent_2_email'])) unset($_user_value_array['parent_2_email']);
if (isset($_user_value_array['parent_2_facebook'])) unset($_user_value_array['parent_2_facebook']); if (isset($_user_value_array['parent_2_facebook'])) unset($_user_value_array['parent_2_facebook']);

View File

@@ -42,8 +42,13 @@
text-shadow: 0 1px 0 #2f2f2f; text-shadow: 0 1px 0 #2f2f2f;
padding: 5px; padding: 5px;
} }
.button.black[disabled] {
color: #aa9e9e;
background: linear-gradient(#656565, #6a6262);
}
.button.black:hover { .button.black:not([disabled]):hover {
background: #4c4c4c; background: #4c4c4c;
background: -webkit-gradient(linear, 0 0, 0 bottom, from(#4c4c4c), to(#565656)); background: -webkit-gradient(linear, 0 0, 0 bottom, from(#4c4c4c), to(#565656));
background: -moz-linear-gradient(#4c4c4c, #565656); background: -moz-linear-gradient(#4c4c4c, #565656);

View File

@@ -3,28 +3,33 @@
$userAssocArray = $sql->assoc_array(" $userAssocArray = $sql->assoc_array("
SELECT SELECT
uk_name AS 'Név', uk_name AS 'Név',
GROUP_CONCAT(trt_name) as 'Szint', CASE
sc_name as 'Iskola', WHEN uk_gender = 1 THEN 'fiú'
uk_email as 'Email', ELSE 'lány'
uk_phone as 'Telefonszám', END AS 'Nem',
p1.up_name as 'Szülő1', uk_birth_date AS 'Születési dátum',
p1.up_email as 'Sz1_Email', scc_city AS 'Lakhely',
p1.up_phone as 'Sz1_Telefonszám', CASE
p2.up_name as 'Szülő2', WHEN uk_hand = 1 THEN 'bal'
p2.up_email as 'Sz2_Email', ELSE 'jobb'
p2.up_phone as 'Sz2_Telefonszám' END AS 'Kéz',
sc_name AS 'Iskola',
uk_email AS 'Email',
uk_phone AS 'Telefonszám',
p1.up_name AS 'Szülő',
p1.up_email AS 'Szülő Email',
p1.up_phone AS 'Szülő Telefonszám',
uk_other AS 'Egyéb'
FROM FROM
user_kid user_kid
LEFT JOIN LEFT JOIN
user_parent p1 ON p1.up_id = uk_parent_1 user_parent p1 ON p1.up_id = uk_parent_1
LEFT JOIN LEFT JOIN
user_parent p2 ON p2.up_id = uk_parent_2
LEFT JOIN
school ON sc_id = uk_school_sc_id school ON sc_id = uk_school_sc_id
LEFT JOIN LEFT JOIN
user_kid_training_type ON uktt_user_kid_uk_id = uk_id user_kid_training_type ON uktt_user_kid_uk_id = uk_id
LEFT JOIN LEFT JOIN
training_type ON trt_id = uktt_training_type_tt_id school_city ON uk_address_scc_id = scc_id
WHERE WHERE
uk_deleted = 0 AND uk_is_active = 1 uk_deleted = 0 AND uk_is_active = 1
GROUP BY uk_name GROUP BY uk_name

View File

@@ -3,28 +3,33 @@
$userAssocArray = $sql->assoc_array(" $userAssocArray = $sql->assoc_array("
SELECT SELECT
uk_name AS 'Név', uk_name AS 'Név',
GROUP_CONCAT(trt_name) as 'Szint', CASE
sc_name as 'Iskola', WHEN uk_gender = 1 THEN 'fiú'
uk_email as 'Email', ELSE 'lány'
uk_phone as 'Telefonszám', END AS 'Nem',
p1.up_name as 'Szülő1', uk_birth_date AS 'Születési dátum',
p1.up_email as 'Sz1_Email', scc_city AS 'Lakhely',
p1.up_phone as 'Sz1_Telefonszám', CASE
p2.up_name as 'Szülő2', WHEN uk_hand = 1 THEN 'bal'
p2.up_email as 'Sz2_Email', ELSE 'jobb'
p2.up_phone as 'Sz2_Telefonszám' END AS 'Kéz',
sc_name AS 'Iskola',
uk_email AS 'Email',
uk_phone AS 'Telefonszám',
p1.up_name AS 'Szülő',
p1.up_email AS 'Szülő Email',
p1.up_phone AS 'Szülő Telefonszám',
uk_other AS 'Egyéb'
FROM FROM
user_kid user_kid
LEFT JOIN LEFT JOIN
user_parent p1 ON p1.up_id = uk_parent_1 user_parent p1 ON p1.up_id = uk_parent_1
LEFT JOIN LEFT JOIN
user_parent p2 ON p2.up_id = uk_parent_2
LEFT JOIN
school ON sc_id = uk_school_sc_id school ON sc_id = uk_school_sc_id
LEFT JOIN LEFT JOIN
user_kid_training_type ON uktt_user_kid_uk_id = uk_id user_kid_training_type ON uktt_user_kid_uk_id = uk_id
LEFT JOIN LEFT JOIN
training_type ON trt_id = uktt_training_type_tt_id school_city ON uk_address_scc_id = scc_id
WHERE WHERE
uk_deleted = 0 AND uk_is_active = 1 uk_deleted = 0 AND uk_is_active = 1
GROUP BY uk_name GROUP BY uk_name

View File

@@ -61,18 +61,7 @@
</select> </select>
</div> </div>
</div> </div>
<div>
<label class="desc" for="uk_first_training">Első edzés dátuma:</label>
<div><input type="text" name="uk_first_training" id="uk_first_training"></div>
</div>
<div>
<label class="desc" for="uk_beforehand">Előzmény:</label>
<div><input type="text" name="uk_beforehand" id="uk_beforehand"></div>
</div>
<div> <div>
<legend class="desc" for="uk_hand">Kéz: </legend> <legend class="desc" for="uk_hand">Kéz: </legend>
<div> <div>
@@ -85,16 +74,6 @@
</div> </div>
</div> </div>
{* <div>
<label for="level">Szint:</label>
{foreach $tt_assoc_array as $tt}
<div>
<input type="checkbox" name="level[]" value="{$tt['trt_id']}">
<span style="position: relative; bottom: 3px;">{$tt['trt_name']}</span>
</div>
{/foreach}
</div> *}
<div> <div>
<label class="desc" for="uk_email">E-mail cím:</label> <label class="desc" for="uk_email">E-mail cím:</label>
<div><input type="email" name="uk_email" id="uk_email"></div> <div><input type="email" name="uk_email" id="uk_email"></div>
@@ -105,30 +84,6 @@
<div><input type="text" name="uk_phone" id="uk_phone"></div> <div><input type="text" name="uk_phone" id="uk_phone"></div>
</div> </div>
<div>
<label class="desc" for="uk_facebook">Facebook:</label>
<div><input type="text" name="uk_facebook" id="uk_facebook"></div>
</div>
<div>
<label class="desc" for="uk_shirt_size_ss_id">Pólóméret:</label>
<div>
<select name="uk_shirt_size_ss_id" id="uk_shirt_size_ss_id">
<option value="null"> - </option>
{foreach $shirt_size_assoc_array as $shirt_size_array}
<option value="{$shirt_size_array.shirt_id}">
{$shirt_size_array.shirt_name}
</option>
{/foreach}
</select>
</div>
</div>
<div>
<label class="desc" for="uk_shirt_note">Póló megjegyzés:</label>
<div><input type="text" name="uk_shirt_note" id="uk_shirt_note"></div>
</div>
<div> <div>
<label class="desc" for="uk_school_sc_id">Iskola neve:</label> <label class="desc" for="uk_school_sc_id">Iskola neve:</label>
<div> <div>
@@ -162,33 +117,6 @@
</div> </div>
</div> </div>
<div>
<label class="desc" for="uk_region_reg_id">Diákolimpia körzet:</label>
<div>
<select name="uk_region_reg_id" id="uk_region_reg_id">
<option value="null"> - </option>
{foreach $region_assoc_array as $region_array}
<option value="{$region_array.reg_id}">
{$region_array.reg_name}
</option>
{/foreach}
</select>
</div>
</div>
<div>
<label class="desc" for="uk_age_category">Diákolimpia korcsoport:</label>
<div><input type="text" name="uk_age_category" id="uk_age_category"></div>
</div>
<div>
<label class="desc" for="uk_official_age_category">MTLSz korosztály:</label>
<div><input type="text" name="uk_official_age_category" id="uk_official_age_category"></div>
</div>
<div> <div>
<label class="desc" for="uk_parent_1">Szülő:</label> <label class="desc" for="uk_parent_1">Szülő:</label>
<div> <div>
@@ -216,52 +144,6 @@
<label class="desc" for="parent_1_phone">Telefonszám:</label> <label class="desc" for="parent_1_phone">Telefonszám:</label>
<div><input type="text" name="parent_1_phone" id="parent_1_phone"></div> <div><input type="text" name="parent_1_phone" id="parent_1_phone"></div>
</div> </div>
<div class="add_parent_1_block">
<label class="desc" for="parent_1_facebook">Facebook:</label>
<div><input type="text" name="parent_1_facebook" id="parent_1_facebook"></div>
</div>
<div>
<label class="desc" id="title2" for="uk_parent_2">Szülő:</label>
<div>
<select name="uk_parent_2" id="uk_parent_2">
<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}">
{$parent_array.up_name}
</option>
{/foreach}
</select>
</div>
</div>
<div class="add_parent_2_block">
<label class="desc" id="title2" for="add_parent_2">Új szülő neve:</label>
<div><input type="text" name="add_parent_2" id="add_parent_2"></div>
</div>
<div class="add_parent_2_block">
<label class="desc" id="title2" for="parent_2_email">E-mail cím:</label>
<div><input type="text" name="parent_2_email" id="parent_2_email"></div>
</div>
<div class="add_parent_2_block">
<label class="desc" id="title2" for="parent_2_phone">Telefonszám:</label>
<div><input type="text" name="parent_2_phone" id="parent_2_phone"></div>
</div>
<div class="add_parent_2_block">
<label class="desc" id="title2" for="parent_2_facebook">Facebook:</label>
<div><input type="text" name="parent_2_facebook" id="parent_2_facebook"></div>
</div>
<br>
<div>
<label class="desc" id="title2" for="uk_contact">Kapcsolat tartás:</label>
<div><textarea rows="7" name="uk_contact" id="uk_contact"></textarea></div>
</div>
<br> <br>
@@ -275,7 +157,7 @@
<div> <div>
<div> <div>
<input class="button black" type="submit" value="Létrehozás"> <input disabled class="button black" type="submit" value="Létrehozás">
</div> </div>
</div> </div>
@@ -297,4 +179,67 @@ $('#uk_school_sc_id').change(function() {
$(".add_school").toggle(this.value == 'null'); $(".add_school").toggle(this.value == 'null');
}); });
document.addEventListener("DOMContentLoaded", function () {
const form = document.querySelector(".form_wrapper form");
const submitButton = form.querySelector('input.button.black[type="submit"]');
const textInputs = Array.from(form.querySelectorAll('input[type="text"], input[type="email"], textarea'));
// 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> </script>

View File

@@ -1,42 +1,36 @@
<div class="form_wrapper"> <div class="form_wrapper">
<div class="buttons"> <div class="buttons">
<a href="/admin/delete_member/{$user_data.uk_id}" class="addbutton delete-big">Törlés</a> <a href="/admin/delete_member/{$user_data.uk_id}" class="addbutton delete-big">Törlés</a>
</div> </div>
<form method="post"> <form method="post">
<input type="hidden" name="action" id="action" value="user_data_edit"> <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="user_type" id="user_type" value="1">
<input type="hidden" name="uk_id" id="uk_id" value="{$user_data.uk_id}"> <input type="hidden" name="uk_id" id="uk_id" value="{$user_data.uk_id}">
<div> <div>
<label class="desc" for="uk_name">Név:</label> <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><input type="text" name="uk_name" id="uk_name" size="8" class="field text fn"
value="{$user_data.uk_name}" required></div>
</div> </div>
<div> <div>
<label class="desc" for="uk_is_active">Aktív:</label> <label class="desc" for="uk_is_active">Aktív:</label>
<div><input type="checkbox" name="uk_is_active" id="uk_is_active" value="1" {if 1==$user_data.uk_is_active}checked{/if}></div> <div><input type="checkbox" name="uk_is_active" id="uk_is_active" value="1"
{if 1==$user_data.uk_is_active}checked{/if}></div>
</div> </div>
<div> <div>
<label for="uk_lease">Bérletes:</label> <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><input type="checkbox" name="uk_lease" id="uk_lease" value="1" {if 1==$user_data.uk_lease}checked{/if}>
</div> </div>
<div>
<label class="desc" for="uk_last_modified">Utolsó módosítás dátuma:</label>
<div><input type="text" name="uk_last_modified" id="uk_last_modified" value="{$user_data.uk_last_modified}"></div>
</div> </div>
<div style="padding-top: 15px; border-top: 1px solid;"> <div style="padding-top: 15px; border-top: 1px solid;">
<label for="uk_balance_expires">Egyenleg lejár:</label> <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><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>
{* <div class="balance_expire_date">
<label for="uk_balance_expire_date">Egyenleg lejárati dátuma (ha üres, akkor automatikusan lejár a legutóbbi befizetéshez képest):</label>
<div><input type="text" name="uk_balance_expire_date" id="uk_balance_expire_date" placeholder="ÉÉÉÉ-HH-NN" value="{$user_data.uk_balance_expire_date}"></div>
</div> *}
<div> <div>
<label>Egyenleg:</label> <label>Egyenleg:</label>
<div style="padding-top: 6px;">{{$user_data.uk_balance|number_format:0:'':' '}} Ft</div> <div style="padding-top: 6px;">{{$user_data.uk_balance|number_format:0:'':' '}} Ft</div>
@@ -90,7 +84,8 @@
<select name="uk_address_scc_id" id="uk_address_scc_id"> <select name="uk_address_scc_id" id="uk_address_scc_id">
<option value="null"> - </option> <option value="null"> - </option>
{foreach $school_city_assoc_array as $school_city_array} {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}> <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()} {$school_city_array->get_scc_city()}
</option> </option>
{/foreach} {/foreach}
@@ -98,16 +93,6 @@
</div> </div>
</div> </div>
<div>
<label class="desc" for="uk_first_training">Első edzés dátuma:</label>
<div><input type="text" name="uk_first_training" id="uk_first_training" value="{$user_data.uk_first_training}"></div>
</div>
<div>
<label class="desc" for="uk_beforehand">Előzmény:</label>
<div><input type="text" name="uk_beforehand" id="uk_beforehand" value="{$user_data.uk_beforehand}"></div>
</div>
<div> <div>
<legend class="desc" for="uk_hand">Kéz: </legend> <legend class="desc" for="uk_hand">Kéz: </legend>
<div> <div>
@@ -120,16 +105,6 @@
</div> </div>
</div> </div>
{* <div>
<label for="level">Szint:</label>
{foreach $tt_assoc_array as $tt}
<div>
<input type="checkbox" name="level[]" value="{$tt['trt_id']}"{if user_kid::has_training_type($user_data.uk_id, $tt['trt_id'])} checked{/if}>
<span style="position: relative; bottom: 3px;">{$tt['trt_name']}</span>
</div>
{/foreach}
</div> *}
<div> <div>
<label class="desc" for="uk_email">E-mail cím:</label> <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><input type="email" name="uk_email" id="uk_email" value="{$user_data.uk_email}"></div>
@@ -140,37 +115,14 @@
<div><input type="text" name="uk_phone" id="uk_phone" value="{$user_data.uk_phone}"></div> <div><input type="text" name="uk_phone" id="uk_phone" value="{$user_data.uk_phone}"></div>
</div> </div>
<div>
<label class="desc" for="uk_facebook">Facebook:</label>
<div><input type="text" name="uk_facebook" id="uk_facebook" value="{$user_data.uk_facebook}"></div>
</div>
<div>
<label class="desc" for="uk_shirt_size_ss_id">Pólóméret:</label>
<div>
<select name="uk_shirt_size_ss_id" id="uk_shirt_size_ss_id">
<option value="null"> - </option>
{foreach $shirt_size_assoc_array as $shirt_size_array}
<option value="{$shirt_size_array.shirt_id}"{if $shirt_size_array.shirt_id == $user_data.uk_shirt_size_ss_id} selected{/if}>
{$shirt_size_array.shirt_name}
</option>
{/foreach}
</select>
</div>
</div>
<div>
<label class="desc" for="uk_shirt_note">Póló megjegyzés:</label>
<div><input type="text" name="uk_shirt_note" id="uk_shirt_note" value="{$user_data.uk_shirt_note}"></div>
</div>
<div> <div>
<label class="desc" for="uk_school_sc_id">Iskola neve:</label> <label class="desc" for="uk_school_sc_id">Iskola neve:</label>
<div> <div>
<select name="uk_school_sc_id" id="uk_school_sc_id"> <select name="uk_school_sc_id" id="uk_school_sc_id">
<option value="null"> - (állítsd erre új iskola felvételéhez)</option> <option value="null"> - (állítsd erre új iskola felvételéhez)</option>
{foreach $school_assoc_array as $school_array} {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}> <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()} {$school_array->get_sc_name()}
{if $school_array->get_sc_school_city()}({$school_array->get_sc_school_city()->get_scc_city()}){/if} {if $school_array->get_sc_school_city()}({$school_array->get_sc_school_city()->get_scc_city()}){/if}
</option> </option>
@@ -198,39 +150,14 @@
</div> </div>
</div> </div>
<div>
<label class="desc" for="uk_region_reg_id">Diákolimpia körzet:</label>
<div>
<select name="uk_region_reg_id" id="uk_region_reg_id">
<option value="null"> - </option>
{foreach $region_assoc_array as $region_array}
<option value="{$region_array.reg_id}"{if $region_array.reg_id == $user_data.uk_region_reg_id} selected{/if}>
{$region_array.reg_name}
</option>
{/foreach}
</select>
</div>
</div>
<div>
<label class="desc" for="uk_age_category">Diákolimpia korcsoport:</label>
<div><input type="text" name="uk_age_category" id="uk_age_category" value="{$user_data.uk_age_category}"></div>
</div>
<div>
<label class="desc" for="uk_official_age_category">MTLSz korosztály:</label>
<div><input type="text" name="uk_official_age_category" id="uk_official_age_category" value="{$user_data.uk_official_age_category}"></div>
</div>
<div> <div>
<label class="desc" for="uk_parent_1">Szülő:</label> <label class="desc" for="uk_parent_1">Szülő:</label>
<div> <div>
<select name="uk_parent_1" id="uk_parent_1"> <select name="uk_parent_1" id="uk_parent_1">
<option value="null"> - (állítsd erre új szülő felvételéhez)</option> <option value="null"> - (állítsd erre új szülő felvételéhez)</option>
{foreach $parent_assoc_array as $parent_array} {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}> <option value="{$parent_array.up_id}" {if $parent_array.up_id == $user_data.uk_parent_1}
selected{/if}>
{$parent_array.up_name} {$parent_array.up_name}
</option> </option>
{/foreach} {/foreach}
@@ -252,53 +179,6 @@
<label class="desc" for="parent_1_phone">Telefonszám:</label> <label class="desc" for="parent_1_phone">Telefonszám:</label>
<div><input type="text" name="parent_1_phone" id="parent_1_phone"></div> <div><input type="text" name="parent_1_phone" id="parent_1_phone"></div>
</div> </div>
<div>
<label class="desc" for="parent_1_facebook">Facebook:</label>
<div><input type="text" name="parent_1_facebook" id="parent_1_facebook"></div>
</div>
<div>
<label class="desc" id="title2" for="uk_parent_2">Szülő:</label>
<div>
<select name="uk_parent_2" id="uk_parent_2">
<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_2} selected{/if}>
{$parent_array.up_name}
</option>
{/foreach}
</select>
</div>
</div>
<div class="add_parent_2_block">
<label class="desc" id="title2" for="add_parent_2">Új szülő neve:</label>
<div><input type="text" name="add_parent_2" id="add_parent_2"></div>
</div>
<div>
<label class="desc" id="title2" for="parent_2_email">E-mail cím:</label>
<div><input type="text" name="parent_2_email" id="parent_2_email"></div>
</div>
<div>
<label class="desc" id="title2" for="parent_2_phone">Telefonszám:</label>
<div><input type="text" name="parent_2_phone" id="parent_2_phone"></div>
</div>
<div>
<label class="desc" id="title2" for="parent_2_facebook">Facebook:</label>
<div><input type="text" name="parent_2_facebook" id="parent_2_facebook"></div>
</div>
<br>
<div>
<label class="desc" id="title2" for="uk_contact">Kapcsolat tartás:</label>
<div><textarea rows="7" name="uk_contact" id="uk_contact">{$user_data.uk_contact}</textarea></div>
</div>
<br> <br>
@@ -317,11 +197,11 @@
</div> </div>
</form> </form>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
$( document ).ready(function() { $(document).ready(function() {
if ($("#uk_parent_1").val() == 'null') $(".add_parent_1_block").show(); if ($("#uk_parent_1").val() == 'null') $(".add_parent_1_block").show();
else $(".add_parent_1_block").hide(); else $(".add_parent_1_block").hide();
if ($("#uk_parent_2").val() == 'null') $(".add_parent_2_block").show(); if ($("#uk_parent_2").val() == 'null') $(".add_parent_2_block").show();
@@ -345,61 +225,95 @@
}); });
$("#uk_parent_1").change(function(){ $("#uk_parent_1").change(function() {
$.post("/_ajax/get_parent_data.php", $.post("/_ajax/get_parent_data.php", {
{ parent_id: $("#uk_parent_1").val(),
parent_id: $("#uk_parent_1").val(), parent_number: 1
parent_number: 1 },
}, function(data, status) {
function(data, status){ if (!data) {
if (!data) { $("#parent_1_phone").val('');
$("#parent_1_phone").val(''); $("#parent_1_email").val('');
$("#parent_1_email").val(''); } else {
$("#parent_1_facebook").val(''); var pdata = JSON.parse(data);
} $("#parent_1_phone").val(pdata[1]);
else { $("#parent_1_email").val(pdata[0]);
var pdata = JSON.parse(data);
$("#parent_1_phone").val(pdata[1]);
$("#parent_1_email").val(pdata[0]);
$("#parent_1_facebook").val(pdata[2]);
} }
}); });
});
$("#uk_parent_2").change(function(){
$.post("/_ajax/get_parent_data.php",
{
parent_id: $("#uk_parent_2").val(),
parent_number: 2
},
function(data, status){
if (!data) {
$("#parent_2_phone").val('');
$("#parent_2_email").val('');
$("#parent_2_facebook").val('');
}
else {
var pdata = JSON.parse(data);
$("#parent_2_phone").val(pdata[1]);
$("#parent_2_email").val(pdata[0]);
$("#parent_2_facebook").val(pdata[2]);
}
});
}); });
$("#uk_balance_expires").on('change', function() { $("#uk_balance_expires").on('change', function() {
if (!$(this).is(':checked')) { if (!$(this).is(':checked')) {
$('#uk_balance_expire_date').val(''); $('#uk_balance_expire_date').val('');
$('#uk_balance_expire_date').prop('disabled', 'disabled'); $('#uk_balance_expire_date').prop('disabled', 'disabled');
} } else {
else {
$('#uk_balance_expire_date').removeAttr('disabled'); $('#uk_balance_expire_date').removeAttr('disabled');
} }
}); });
$("#uk_balance_expires").trigger('change'); $("#uk_balance_expires").trigger('change');
</script> document.addEventListener("DOMContentLoaded", function() {
const form = document.querySelector(".form_wrapper form");
const submitButton = form.querySelector('input.button.black[type="submit"]');
const textInputs = Array.from(form.querySelectorAll(
'input[type="text"], input[type="email"], textarea'));
// 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>

View File

@@ -8,30 +8,32 @@
<table class="user_export"> <table class="user_export">
<tr> <tr>
<th>Név</th> <th>Név</th>
<th>Szint</th> <th>Nem</th>
<th>Születési dátum</th>
<th>Lakhely</th>
<th>Kéz</th>
<th>Email</th>
<th>Telefonszám</th>
<th>Iskola</th> <th>Iskola</th>
<th>Email</th> <th>Szülő</th>
<th>Telefonszám</th> <th>Szülő Email</th>
<th>Szülő 1</th> <th>Szülő Telefonszám</th>
<th>Email</th> <th>Egyéb</th>
<th>Telefonszám</th>
<th>Szülő 2</th>
<th>Email</th>
<th>Telefonszám</th>
</tr> </tr>
{foreach $users as $user} {foreach $users as $user}
<tr> <tr>
<td>{$user['Név']}</td> <td>{$user['Név']}</td>
<td>{$user['Szint']}</td> <td>{$user['Nem']}</td>
<td>{$user['Iskola']}</td> <td>{$user['Születési dátum']}</td>
<td>{$user['Lakhely']}</td>
<td>{$user['Kéz']}</td>
<td>{$user['Email']}</td> <td>{$user['Email']}</td>
<td>{$user['Telefonszám']}</td> <td>{$user['Telefonszám']}</td>
<td>{$user['Szülő1']}</td> <td>{$user['Iskola']}</td>
<td>{$user['Sz1_Email']}</td> <td>{$user['Szülő']}</td>
<td>{$user['Sz1_Telefonszám']}</td> <td>{$user['Szülő Email']}</td>
<td>{$user['Szülő2']}</td> <td>{$user['Szülő Telefonszám']}</td>
<td>{$user['Sz2_Email']}</td> <td>{$user['Egyéb']}</td>
<td>{$user['Sz2_Telefonszám']}</td>
</tr> </tr>
{/foreach} {/foreach}
</table> </table>