added credits
This commit is contained in:
@@ -12,13 +12,21 @@ else $sql = new sql('localhost','id9073794_tollashodos','uprRscU8bGpJ','id907379
|
||||
|
||||
$check_query = "SELECT * FROM presence WHERE pr_training_tr_id = " . $_POST['tr_id'] . " AND pr_user_kid_uk_id = " . $_POST['user_id'] . ";";
|
||||
|
||||
if (!$sql->num_of_rows($check_query) && $_POST['checked'] == "true") {
|
||||
if (!$sql->num_of_rows($check_query) && $_POST['checked'] == "false") {
|
||||
$sql->insert_into('presence', array('pr_user_kid_uk_id' => $_POST['user_id'], 'pr_training_tr_id' => $_POST['tr_id']));
|
||||
log::register('new_presence', 'Edzés: ' . $_POST['tr_id'] . ', gyerek: ' . $_POST['user_id'], null, $_POST['admin_id']);
|
||||
|
||||
if ($_POST['credited']) {
|
||||
$sql->update_table('user_kid', array('uk_credit' => $_POST['credit'] + 1), array('uk_id' => $_POST['user_id']));
|
||||
}
|
||||
elseif ($sql->num_of_rows($check_query) && $_POST['checked'] != "true") {
|
||||
}
|
||||
elseif ($sql->num_of_rows($check_query) && $_POST['checked'] == "true") {
|
||||
$sql->execute_query('delete from presence where pr_user_kid_uk_id = ' . $_POST['user_id'] . ' AND pr_training_tr_id = ' . $_POST['tr_id']);
|
||||
log::register('delete_presence', 'Edzés: ' . $_POST['tr_id'] . ', gyerek: ' . $_POST['user_id'], null, $_POST['admin_id']);
|
||||
|
||||
if ($_POST['credit'] > 0) {
|
||||
$sql->update_table('user_kid', array('uk_credit' => $_POST['credit'] - 1), array('uk_id' => $_POST['user_id']));
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -657,11 +657,34 @@ class user_kid extends user_parent {
|
||||
}
|
||||
|
||||
$de_array[] = $new_diary_entry;
|
||||
|
||||
}
|
||||
|
||||
//itt csak hivatkozással adjuk át a tömböt, a calculate_balance kiszámolja, belerakja és visszadja
|
||||
$this->calculate_balance($de_array, $this);
|
||||
}
|
||||
|
||||
public function get_credit_color($has_credit, $credit, $trainingPrice) {
|
||||
//vizsgálni kell, hogy: negatív egyenleg előfordulhat-e
|
||||
//ha igen, van-e hitelezés
|
||||
//ha igen, túllepte-e PIROS
|
||||
//ha nem, akkor SÁRGA
|
||||
//ha nincs, akkor azonnal PIROS
|
||||
|
||||
if ($this->get_uk_balance() < 0 || ($this->get_uk_balance() - $trainingPrice) < 0) {
|
||||
if (!$has_credit) {
|
||||
return 'restricted';
|
||||
}
|
||||
else {
|
||||
if ($this->get_uk_credit() < $credit) {
|
||||
return 'credit-warning';
|
||||
}
|
||||
else {
|
||||
return 'credit-restricted';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -241,7 +241,15 @@ a.addbutton.noti {
|
||||
border-left: 2px solid #000;
|
||||
font-size: 18px;
|
||||
font-family: Arial;
|
||||
}
|
||||
|
||||
.list .name_tag.credit-warning {
|
||||
background-color: rgb(255, 190, 120);
|
||||
}
|
||||
|
||||
.list .name_tag.restricted, .list .name_tag.credit-restricted {
|
||||
background-color: #fd4d4d;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.user_mod_form {
|
||||
@@ -802,7 +810,10 @@ form#auto_filters > div > label {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.credit-text {
|
||||
float: right;
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1250px) {
|
||||
@@ -875,6 +886,4 @@ form#auto_filters > div > label {
|
||||
.diary_header .balance_text {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -129,6 +129,8 @@ if ($this->is_id()) {
|
||||
$s_users[] = $s_user;
|
||||
}
|
||||
|
||||
//lekérjük a hitelalkalom beállítást
|
||||
$credit = $sql->single_variable("SELECT setv_int FROM setting_value JOIN setting ON setv_setting_set_id = set_id WHERE set_name = 'Hitelalkalom';");
|
||||
|
||||
|
||||
$smarty->assign('training', $training);
|
||||
@@ -141,12 +143,11 @@ if ($this->is_id()) {
|
||||
$smarty->assign('sorted_users', $s_users);
|
||||
$smarty->assign('rest_users', $rest_users);
|
||||
$smarty->assign('tr_id', $this->get_id());
|
||||
$smarty->assign('has_credit', $credit !== null);
|
||||
$smarty->assign('credit', $credit);
|
||||
|
||||
$smarty->display("presence.tpl");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
|
||||
@@ -296,6 +296,10 @@ if (isset($_POST['action'])) {
|
||||
|
||||
$tmp_user->update_balance();
|
||||
|
||||
//ha pozitiv az egyenleg, akkor lenullázhatjuk a hitelalkalmait (???)
|
||||
if (($tmp_user->get_uk_balance() + $_POST['mod_sum']) > 0) {
|
||||
$sql->update_table('user_kid', array('uk_credit' => '0'), array('uk_id' => $_POST['mod_user_kid_uk_id']));
|
||||
}
|
||||
header("Location: /admin/money_deposit");
|
||||
break;
|
||||
case 'money_deposit_update':
|
||||
|
||||
@@ -58,6 +58,14 @@
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="list_item">
|
||||
<label>
|
||||
<img src="/_image/deposit.png">
|
||||
Edzés díja:
|
||||
</label>
|
||||
<div>{$training->get_tr_price()} Ft</div>
|
||||
</div>
|
||||
|
||||
<div class="list_item">
|
||||
<label class="desc" id="title1" for="tr_headcount">
|
||||
<img src="/_image/letszam.png">
|
||||
@@ -69,14 +77,13 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<input type="hidden" id="tr_id" value="{$tr_id}">
|
||||
<input type="hidden" id="admin_id" value="{$user_login->get_ua_id()}">
|
||||
|
||||
<br><br><br>
|
||||
|
||||
{if !$training->get_tr_locked()}
|
||||
<div class="list">
|
||||
<div class="list" id="main-list-container" data-max-credit="{$credit}">
|
||||
{foreach $users as $user}
|
||||
{if $user@first ||
|
||||
$users[$user@index]->get_uk_presence_on_previous_trainings($trainings) !=
|
||||
@@ -86,9 +93,11 @@
|
||||
{$users[$user@index]->get_uk_presence_on_previous_trainings($trainings)}/4
|
||||
</span>
|
||||
{/if}
|
||||
<div class="{if $user->get_uk_presence($tr_id)}name_tag_checked{else}name_tag{/if} width70" id="{$user->get_uk_id()}">
|
||||
<div class="{if $user->get_uk_presence($tr_id)}name_tag_checked{else}name_tag{/if} width70 {$user->get_credit_color($has_credit, $credit, $training->get_tr_price())}" id="{$user->get_uk_id()}" data-credit="{$user->get_uk_credit()}">
|
||||
<img src="/_image/shuttlecock.png">
|
||||
<div>{$user->get_uk_name()}</div>
|
||||
<div>
|
||||
{$user->get_uk_name()}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/foreach}
|
||||
@@ -98,30 +107,117 @@
|
||||
|
||||
<div class="list">
|
||||
{foreach $rest_users as $rest_user}
|
||||
<div class="{if $rest_user->get_uk_presence($tr_id)}name_tag_checked{else}name_tag{/if} width70" id="{$rest_user->get_uk_id()}">
|
||||
<div class="{if $rest_user->get_uk_presence($tr_id)}name_tag_checked{else}name_tag{/if} width70 {$rest_user->get_credit_color($has_credit, $credit, $training->get_tr_price())}" id="{$rest_user->get_uk_id()}" data-credit="{$rest_user->get_uk_credit()}">
|
||||
<img src="/_image/shuttlecock.png">
|
||||
<div>{$rest_user->get_uk_name()}</div>
|
||||
<div>
|
||||
{$rest_user->get_uk_name()}
|
||||
{if $rest_user->get_credit_color($has_credit, $credit, $training->get_tr_price())}
|
||||
<span class="credit-text">(<span class="credit-counter">{$rest_user->get_uk_credit()}</span>/{$credit})</span>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
{else}
|
||||
<div class="list">
|
||||
{foreach $sorted_users as $user}
|
||||
<div class="list_item">
|
||||
<div class="list_item {$user->get_credit_color($has_credit, $credit, $training->get_tr_price())}" data-credit="{$user->get_uk_credit()}">
|
||||
<img src="/_image/shuttlecock.png">
|
||||
<div>
|
||||
{$user->get_uk_name()}
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
{/if}
|
||||
|
||||
<script>
|
||||
function leaveClassesAndAdd(obj, className) {
|
||||
$(obj).removeClass('restricted').removeClass('credit-restricted').removeClass('credit-warning').addClass(className);
|
||||
}
|
||||
|
||||
$('.name_tag, .name_tag_checked').click(function() {
|
||||
if (($(this).hasClass('restricted') || $(this).hasClass('credit-restricted')) && !$(this).hasClass('name_tag_checked')) {
|
||||
console.log('stop');
|
||||
return false;
|
||||
}
|
||||
//alert($(this).css('backgroundColor'));
|
||||
var user_id = $(this).attr('id');
|
||||
var x = $(this).css('backgroundColor');
|
||||
hexc(x);
|
||||
//var checked = (color == '#e2edff');
|
||||
var checked = $(this).hasClass('name_tag_checked');
|
||||
var tr_id = $("#tr_id").val();
|
||||
|
||||
//hitelezett alkalom, logikai változó
|
||||
var credited = $(this).hasClass('credit-warning');
|
||||
var credit = $(this).data('credit');
|
||||
var originalCredit = $(this).data('credit');
|
||||
|
||||
$('.name_tag').click(function() {
|
||||
//ha kék, akkor zöldre változtatja, egyébként fordítva
|
||||
//if (color == '#e2edff') {
|
||||
if ($(this).hasClass('name_tag')) {
|
||||
//$(this).css('backgroundColor', '#1eea0b');
|
||||
$(this).addClass('name_tag_checked');
|
||||
$(this).removeClass('name_tag');
|
||||
var el = $('#headcount');
|
||||
var num = parseInt(el.text());
|
||||
el.text(num+1).append(" fő");
|
||||
|
||||
if (credited) {
|
||||
credit++;
|
||||
$(this).data('credit', credit);
|
||||
$(this).attr('data-credit', credit);
|
||||
$(this).find('.credit-counter').html(credit);
|
||||
|
||||
//meg kell nézni, hogy a classokat le kell-e venni/hozzá kell-e adni
|
||||
if (credit == $('#main-list-container').data('max-credit')) {
|
||||
leaveClassesAndAdd($(this), 'credit-restricted');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
//$(this).css('backgroundColor', '#e2edff');
|
||||
$(this).addClass('name_tag');
|
||||
$(this).removeClass('name_tag_checked');
|
||||
var el = $('#headcount');
|
||||
var num = parseInt(el.text());
|
||||
el.text(num-1).append(" fő");
|
||||
|
||||
if (credit > 0) {
|
||||
credit--;
|
||||
$(this).data('credit', credit);
|
||||
$(this).attr('data-credit', credit);
|
||||
$(this).find('.credit-counter').html(credit);
|
||||
|
||||
//meg kell nézni, hogy a classokat le kell-e venni/hozzá kell-e adni
|
||||
if ($('#main-list-container').data('max-credit') > 0) {
|
||||
leaveClassesAndAdd($(this), 'credit-warning');
|
||||
}
|
||||
else {
|
||||
leaveClassesAndAdd($(this), 'credit-restricted');
|
||||
}
|
||||
}
|
||||
}
|
||||
//alert(checked);
|
||||
|
||||
var admin_id = $("#admin_id").val();
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: '/_ajax/update_presence.php',
|
||||
data: { checked : checked, user_id : user_id, tr_id : tr_id, admin_id : admin_id, credited : credited, credit : originalCredit},
|
||||
success: function(data) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/* $('.name_tag_checked').click(function() {
|
||||
//alert($(this).css('backgroundColor'));
|
||||
var user_id = $(this).attr('id');
|
||||
var x = $(this).css('backgroundColor');
|
||||
@@ -155,43 +251,7 @@ $('.name_tag').click(function() {
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$('.name_tag_checked').click(function() {
|
||||
//alert($(this).css('backgroundColor'));
|
||||
var user_id = $(this).attr('id');
|
||||
var x = $(this).css('backgroundColor');
|
||||
hexc(x);
|
||||
var checked = (color == '#e2edff');
|
||||
var tr_id = $("#tr_id").val();
|
||||
//ha kék, akkor zöldre változtatja, egyébként fordítva
|
||||
if (color == '#e2edff') {
|
||||
$(this).css('backgroundColor', '#1eea0b');
|
||||
var el = $('#headcount');
|
||||
var num = parseInt(el.text());
|
||||
el.text(num+1).append(" fő");
|
||||
|
||||
}
|
||||
else {
|
||||
$(this).css('backgroundColor', '#e2edff');
|
||||
var el = $('#headcount');
|
||||
var num = parseInt(el.text());
|
||||
el.text(num-1).append(" fő");
|
||||
}
|
||||
//alert(checked);
|
||||
|
||||
var admin_id = $("#admin_id").val();
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: '/_ajax/update_presence.php',
|
||||
data: { checked : checked, user_id : user_id, tr_id : tr_id, admin_id : admin_id},
|
||||
success: function(data) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
});*/
|
||||
|
||||
|
||||
function hexc(colorval) {
|
||||
@@ -203,6 +263,4 @@ function hexc(colorval) {
|
||||
}
|
||||
color = '#' + parts.join('');
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user