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_mi_id; //ID
private $mod_money_income; //OBJECT private $mod_money_income; //OBJECT
private $mod_deleted; private $mod_deleted;
private $mod_sets_expire_date;
public function set_mod_id($_id) { public function set_mod_id($_id) {
$this->mod_id = $_id; $this->mod_id = $_id;
@@ -36,6 +37,10 @@ class money_deposit {
$this->mod_deleted = $_deleted; $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() { public function get_mod_id() {
return $this->mod_id; return $this->mod_id;
} }
@@ -60,6 +65,10 @@ class money_deposit {
return $this->mod_deleted; 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) { public function set_mod_data_by_id($_id) {
global $sql; global $sql;
$mod_query = "SELECT * FROM money_deposit WHERE mod_id = " . $_id . ";"; $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; global $sql;
$income_id = $sql->insert_into('money_income', array( $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( return $sql->insert_into('money_deposit', array(
'mod_user_kid_uk_id' => $_user_id, 'mod_user_kid_uk_id' => $_user_id,
'mod_money_income_mi_id' => $income_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_name;
private $user_is_active; private $user_is_active;
private $user_balance; private $user_balance;
private $user_balance_expires;
private $user_balance_expire_date;
private $user_last_deposit;
private $user_last_name; private $user_last_name;
private $user_first_name; private $user_first_name;
private $user_password; private $user_password;
@@ -285,6 +288,24 @@ class user_kid extends user_parent {
public function get_uk_balance() { public function get_uk_balance() {
return $this->user_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) { public function set_uk_balance_transfer($_balance_transfer) {
$this->user_balance_transfer = $_balance_transfer; $this->user_balance_transfer = $_balance_transfer;
} }

View File

@@ -287,10 +287,15 @@ if (isset($_POST['action'])) {
break; break;
case 'money_deposit_create': case 'money_deposit_create':
# új befizetés létrehozása # ú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 = new user_kid();
$tmp_user->set_user_data_by_id($_POST['mod_user_kid_uk_id']); $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'] . ')'); 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"); header("Location: /admin/money_deposit");
break; break;
case 'money_deposit_update': 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']); 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 = new user_kid();
$tmp_user->set_user_data_by_id($_POST['mod_user_kid_uk_id']); $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'] . ')'); log::register('update_money_deposit', $tmp_user->get_uk_name() . ': ' . $_POST['mod_sum']. ' Ft (' . $_POST['mod_date'] . ')');
header("Location: /admin/money_deposit"); header("Location: /admin/money_deposit");
break; 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

@@ -36,6 +36,10 @@
<div><input type="text" name="mod_sum" id="mod_sum" required></div> <div><input type="text" name="mod_sum" id="mod_sum" required></div>
</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>
<div> <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><input type="text" name="uk_last_modified" id="uk_last_modified" value="{$user_data.uk_last_modified}"></div>
</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> <div>
<label class="desc" for="uk_password">Jelszó:</label> <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><input type="text" name="uk_password" id="uk_password" value="{$user_data.uk_password}"></div>
@@ -352,4 +362,16 @@
}); });
}); });
$("#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');
</script> </script>