set balance expire date on new deposit

This commit is contained in:
Tóth Richárd
2019-08-02 12:02:49 +02:00
parent e0e887542b
commit f1f785dbee
6 changed files with 136 additions and 56 deletions

View File

@@ -11,6 +11,7 @@ class money_deposit {
private $mod_money_income_mi_id; //ID
private $mod_money_income; //OBJECT
private $mod_deleted;
private $mod_sets_expire_date;
public function set_mod_id($_id) {
$this->mod_id = $_id;
@@ -36,6 +37,10 @@ class money_deposit {
$this->mod_deleted = $_deleted;
}
public function set_mod_sets_expire_date($_sets_expire_date) {
$this->mod_sets_expire_date = $_sets_expire_date;
}
public function get_mod_id() {
return $this->mod_id;
}
@@ -60,6 +65,10 @@ class money_deposit {
return $this->mod_deleted;
}
public function get_mod_sets_expire_date() {
return $this->mod_sets_expire_date;
}
public function set_mod_data_by_id($_id) {
global $sql;
$mod_query = "SELECT * FROM money_deposit WHERE mod_id = " . $_id . ";";
@@ -81,7 +90,7 @@ class money_deposit {
}
}
public static function create_money_deposit($_user_id, $_date, $_sum, $_pt) {
public static function create_money_deposit($_user_id, $_date, $_sum, $_pt, $_sets_date = false) {
global $sql;
$income_id = $sql->insert_into('money_income', array(
@@ -93,9 +102,18 @@ class money_deposit {
)
);
if ($_sets_date) {
$sql->update_table('user_kid', array(
'uk_last_deposit' => date('Y-m-d')
), array(
'uk_id' => $_user_id,
));
}
return $sql->insert_into('money_deposit', array(
'mod_user_kid_uk_id' => $_user_id,
'mod_money_income_mi_id' => $income_id,
'mod_sets_expire_date' => $_sets_date
));
}

View File

@@ -8,6 +8,9 @@ class user_kid extends user_parent {
private $user_name;
private $user_is_active;
private $user_balance;
private $user_balance_expires;
private $user_balance_expire_date;
private $user_last_deposit;
private $user_last_name;
private $user_first_name;
private $user_password;
@@ -285,6 +288,24 @@ class user_kid extends user_parent {
public function get_uk_balance() {
return $this->user_balance;
}
public function set_uk_balance_expires($_balance_expires) {
$this->user_balance_expires = $_balance_expires;
}
public function get_uk_balance_expires() {
return $this->user_balance_expires;
}
public function set_uk_balance_expire_date($_balance_expire_date) {
$this->user_balance_expire_date = $_balance_expire_date;
}
public function get_uk_balance_expire_date() {
return $this->user_balance_expire_date;
}
public function set_uk_last_deposit($_last_deposit) {
$this->user_last_deposit = $_last_deposit;
}
public function get_uk_last_deposit() {
return $this->user_last_deposit;
}
public function set_uk_balance_transfer($_balance_transfer) {
$this->user_balance_transfer = $_balance_transfer;
}

View File

@@ -287,10 +287,15 @@ if (isset($_POST['action'])) {
break;
case 'money_deposit_create':
# új befizetés létrehozása
$new_mod_id = money_deposit::create_money_deposit($_POST['mod_user_kid_uk_id'], $_POST['mod_date'], $_POST['mod_sum'], $_POST['mod_payment_type']);
$sets_date = (isset($_POST['mod_sets_expire_date']) && $_POST['mod_sets_expire_date']) ? $_POST['mod_sets_expire_date'] : false;
$new_mod_id = money_deposit::create_money_deposit($_POST['mod_user_kid_uk_id'], $_POST['mod_date'], $_POST['mod_sum'], $_POST['mod_payment_type'], $sets_date);
$tmp_user = new user_kid();
$tmp_user->set_user_data_by_id($_POST['mod_user_kid_uk_id']);
log::register('new_money_deposit', $tmp_user->get_uk_name() . ': ' . $_POST['mod_sum']. ' Ft (' . $_POST['mod_date'] . ')');
$tmp_user->update_balance();
header("Location: /admin/money_deposit");
break;
case 'money_deposit_update':
@@ -298,6 +303,7 @@ if (isset($_POST['action'])) {
money_deposit::update_money_deposit($_POST['mod_user_kid_uk_id'], $_POST['mod_date'], $_POST['mod_sum'], $_POST['mod_id'], $_POST['mod_payment_type'], $_POST['mi_id']);
$tmp_user = new user_kid();
$tmp_user->set_user_data_by_id($_POST['mod_user_kid_uk_id']);
$tmp_user->update_balance();
log::register('update_money_deposit', $tmp_user->get_uk_name() . ': ' . $_POST['mod_sum']. ' Ft (' . $_POST['mod_date'] . ')');
header("Location: /admin/money_deposit");
break;

View File

@@ -0,0 +1,9 @@
ALTER TABLE `user_kid`
ADD COLUMN `uk_balance_expires` TINYINT NOT NULL DEFAULT 1 AFTER `uk_balance_transfer`,
ADD COLUMN `uk_balance_expire_date` DATE NULL DEFAULT NULL AFTER `uk_balance_expires`;
ALTER TABLE `money_deposit`
ADD COLUMN `mod_sets_expire_date` TINYINT NULL DEFAULT 0 AFTER `mod_money_income_mi_id`;
ALTER TABLE `user_kid`
ADD COLUMN `uk_last_deposit` DATE NULL DEFAULT NULL AFTER `uk_balance_expire_date`;

View File

@@ -1,47 +1,51 @@
<div class="form_wrapper">
<form method="post">
<input type="hidden" name="action" value="money_deposit_create">
<form method="post">
<input type="hidden" name="action" value="money_deposit_create">
<div>
<label class="desc" id="title1" for="mod_user_kid_uk_id">Befizető:</label>
<div>
<select name="mod_user_kid_uk_id" id="mod_user_kid_uk_id">
{foreach $user_kids as $user_kid}
<option value="{$user_kid->get_uk_id()}"{if isset($user_kid_id) && $user_kid_id == $user_kid->get_uk_id()} selected{/if}>{$user_kid->get_uk_name()}</option>>
{/foreach}
</select>
</div>
</div>
<div>
<label class="desc" id="title1" for="mod_user_kid_uk_id">Befizető:</label>
<div>
<select name="mod_user_kid_uk_id" id="mod_user_kid_uk_id">
{foreach $user_kids as $user_kid}
<option value="{$user_kid->get_uk_id()}"{if isset($user_kid_id) && $user_kid_id == $user_kid->get_uk_id()} selected{/if}>{$user_kid->get_uk_name()}</option>>
{/foreach}
</select>
</div>
</div>
<div>
<label class="desc" for="mod_payment_type">Fizetés típusa:</label>
<div>
<select name="mod_payment_type" id="mod_payment_type">
{foreach $pt_assoc_array as $pt_array}
<option value="{$pt_array.pt_id}">
{$pt_array.pt_name}
</option>
{/foreach}
</select>
</div>
</div>
<div>
<label class="desc" for="mod_payment_type">Fizetés típusa:</label>
<div>
<select name="mod_payment_type" id="mod_payment_type">
{foreach $pt_assoc_array as $pt_array}
<option value="{$pt_array.pt_id}">
{$pt_array.pt_name}
</option>
{/foreach}
</select>
</div>
</div>
<div>
<label class="desc" id="title1" for="mod_date">Dátum:</label>
<div><input type="text" name="mod_date" id="mod_date" value="{$today}" required></div>
</div>
<div>
<label class="desc" id="title1" for="mod_date">Dátum:</label>
<div><input type="text" name="mod_date" id="mod_date" value="{$today}" required></div>
</div>
<div>
<label class="desc" id="title1" for="mod_sum">Összeg:</label>
<div><input type="text" name="mod_sum" id="mod_sum" required></div>
</div>
<div>
<label class="desc" id="title1" for="mod_sum">Összeg:</label>
<div><input type="text" name="mod_sum" id="mod_sum" required></div>
</div>
<div>
<label for="mod_sets_expire_date">Frissítse az egyenleg lejárati dátumát:</label>
<div><input type="checkbox" name="mod_sets_expire_date" id="mod_sets_expire_date" value="1" checked="checked"></div>
</div>
<div>
<div>
<input class="button black" type="submit" value="Mentés">
</div>
</div>
<div>
<div>
<input class="button black" type="submit" value="Mentés">
</div>
</div>
</form>
</form>
</div>

View File

@@ -23,6 +23,16 @@
<div><input type="text" name="uk_last_modified" id="uk_last_modified" value="{$user_data.uk_last_modified}"></div>
</div>
<div>
<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 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>
<label class="desc" for="uk_password">Jelszó:</label>
<div><input type="text" name="uk_password" id="uk_password" value="{$user_data.uk_password}"></div>
@@ -331,25 +341,37 @@
$("#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('');
$.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() {
if (!$(this).is(':checked')) {
$('#uk_balance_expire_date').val('');
$('#uk_balance_expire_date').prop('disabled', 'disabled');
}
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_expire_date').removeAttr('disabled');
}
});
});
$("#uk_balance_expires").trigger('change');
</script>