big changes

everything with lease and expire dates
This commit is contained in:
Tóth Richárd
2019-08-29 17:22:24 +02:00
parent 3915d630dd
commit dccd23f1a1
20 changed files with 315 additions and 125 deletions

View File

@@ -5,15 +5,15 @@ include('class_sql.php');
if ($_SERVER['HTTP_HOST'] == 'cegledcoach.hu') $sql = new sql('bcd_mysql','root','','badminton_coach'); if ($_SERVER['HTTP_HOST'] == 'cegledcoach.hu') $sql = new sql('bcd_mysql','root','','badminton_coach');
else $sql = new sql('localhost','livingsp_coach','R186er012qw5','livingsp_badminton'); else $sql = new sql('localhost','livingsp_coach','R186er012qw5','livingsp_badminton');
if (empty($_GET['lease_id'])) { if (empty($_GET['lease_id']) || 'null' == $_GET['lease_id']) {
echo json_encode(null); echo json_encode(null);
} }
else { else {
$l_query = "SELECT l_sum FROM lease WHERE l_id = " . $_GET['lease_id']; $l_query = "SELECT l_sum, l_expire_type, l_expire_date FROM lease WHERE l_id = " . $_GET['lease_id'];
$l_sum = $sql->single_variable($l_query); $l_res = $sql->assoc_array($l_query);
echo json_encode($l_sum); echo json_encode($l_res[0]);
} }
?> ?>

View File

@@ -16,8 +16,9 @@ class diary_entry {
private $de_balance = 0; //a felhasználóhoz tartozó aktuális egyenleg private $de_balance = 0; //a felhasználóhoz tartozó aktuális egyenleg
private $de_has_discount = false; //van-e kedvzemény private $de_has_discount = false; //van-e kedvzemény
private $de_discount_id; //kedvezmény ID private $de_discount_id; //kedvezmény ID
private $de_expired = 0;
function __construct($_pr_id, $_date, $_type, $_tpm, $_tpd, $_ft, $_tr = null, $_mod = null) { function __construct($_pr_id, $_date, $_type, $_tpm, $_tpd, $_ft, $_expired = 0, $_tr = null, $_mod = null) {
$this->set_de_presence_id($_pr_id); $this->set_de_presence_id($_pr_id);
$this->set_de_date($_date); $this->set_de_date($_date);
$this->set_de_type($_type); $this->set_de_type($_type);
@@ -26,7 +27,7 @@ class diary_entry {
$this->set_de_first_two($_ft); $this->set_de_first_two($_ft);
$this->set_de_training($_tr); $this->set_de_training($_tr);
$this->set_de_money_deposit($_mod); $this->set_de_money_deposit($_mod);
$this->set_de_expired($_expired);
} }
public function set_de_presence_id($_item) { public function set_de_presence_id($_item) {
@@ -83,6 +84,10 @@ class diary_entry {
$this->de_discount_id = $_item; $this->de_discount_id = $_item;
} }
public function set_de_expired($_item) {
$this->de_expired = $_item;
}
public function get_de_presence_id() { public function get_de_presence_id() {
return $this->de_presence_id; return $this->de_presence_id;
} }
@@ -131,6 +136,10 @@ class diary_entry {
return $this->de_discount_id; return $this->de_discount_id;
} }
public function get_de_expired() {
return $this->de_expired;
}
} }

View File

@@ -159,7 +159,7 @@ class lease {
$expDate = $_values['l_expire_date']; $expDate = $_values['l_expire_date'];
} }
else { else {
$expDate = $_values['l_expire_date_hidden']; $expDate = 'null';
} }
$l_id = $sql->insert_into('lease', array( $l_id = $sql->insert_into('lease', array(
@@ -188,7 +188,7 @@ class lease {
$expDate = $_values['l_expire_date']; $expDate = $_values['l_expire_date'];
} }
else { else {
$expDate = $_values['l_expire_date_hidden']; $expDate = 'null';
} }
$sql->update_table('lease', array( $sql->update_table('lease', array(

View File

@@ -12,6 +12,7 @@ class money_deposit {
private $mod_money_income; //OBJECT private $mod_money_income; //OBJECT
private $mod_deleted; private $mod_deleted;
private $mod_sets_expire_date; private $mod_sets_expire_date;
private $mod_expire_date;
private $mod_lease_l_id; //OBJECT private $mod_lease_l_id; //OBJECT
public function set_mod_id($_id) { public function set_mod_id($_id) {
@@ -42,6 +43,10 @@ class money_deposit {
$this->mod_sets_expire_date = $_sets_expire_date; $this->mod_sets_expire_date = $_sets_expire_date;
} }
public function set_mod_expire_date($_expire_date) {
$this->mod_expire_date = $_expire_date;
}
public function set_mod_lease_l_id($_lease_l_id) { public function set_mod_lease_l_id($_lease_l_id) {
$this->mod_lease_l_id = $_lease_l_id; $this->mod_lease_l_id = $_lease_l_id;
} }
@@ -74,6 +79,10 @@ class money_deposit {
return $this->mod_sets_expire_date; return $this->mod_sets_expire_date;
} }
public function get_mod_expire_date() {
return $this->mod_expire_date;
}
public function get_mod_lease_l_id() { public function get_mod_lease_l_id() {
return $this->mod_lease_l_id; return $this->mod_lease_l_id;
} }
@@ -103,6 +112,9 @@ class money_deposit {
} }
} }
} }
public function is_expired() {
return $this->get_mod_expire_date() <= date('Y-m-d');
}
public static function create_money_deposit($_user_id, $_date, $_sum, $_lease, $_pt = 1, $_sets_date = false) { public static function create_money_deposit($_user_id, $_date, $_sum, $_lease, $_pt = 1, $_sets_date = false) {
global $sql; global $sql;
@@ -116,12 +128,49 @@ class money_deposit {
) )
); );
$expireDate = 'null';
if ($_sets_date) { if ($_sets_date) {
$sql->update_table('user_kid', array( $sql->update_table('user_kid', array(
'uk_last_deposit' => date('Y-m-d') 'uk_last_deposit' => date('Y-m-d')
), array( ), array(
'uk_id' => $_user_id, 'uk_id' => $_user_id,
)); ));
//lekérjük, hogy milyen a lejárati típusa a bérletnek, és az alapján beállítjuk a lejárati dátumot az usernek
if ('null' != $_lease) {
$lease = new lease();
$lease->set_l_data_by_id($_lease);
if ($lease->get_l_expire_type() == 1) {
//naptári hónap vége
$sql->update_table('user_kid', array(
'uk_balance_expire_date' => date('Y-m-t')
), array(
'uk_id' => $_user_id,
));
$expireDate = date('Y-m-t');
}
elseif ($lease->get_l_expire_type() == 2) {
//következő hónapban
$sql->update_table('user_kid', array(
'uk_balance_expire_date' => date("Y-m-d", strtotime("+1 month", time())),
), array(
'uk_id' => $_user_id,
));
$expireDate = date("Y-m-d", strtotime("+1 month", time()));
}
elseif ($lease->get_l_expire_type() == 3) {
//egyedi dátum
$sql->update_table('user_kid', array(
'uk_balance_expire_date' => $lease->get_l_expire_date(),
), array(
'uk_id' => $_user_id,
));
$expireDate = date("Y-m-d", strtotime($lease->get_l_expire_date()));
}
}
} }
return $sql->insert_into('money_deposit', array( return $sql->insert_into('money_deposit', array(
@@ -129,10 +178,11 @@ class money_deposit {
'mod_money_income_mi_id' => $income_id, 'mod_money_income_mi_id' => $income_id,
'mod_sets_expire_date' => $_sets_date, 'mod_sets_expire_date' => $_sets_date,
'mod_lease_l_id' => $_lease, 'mod_lease_l_id' => $_lease,
'mod_expire_date' => $expireDate,
)); ));
} }
public static function update_money_deposit($_user_id, $_date, $_sum, $_lease, $_mod_id, $_pt, $_mi_id) { public static function update_money_deposit($_date, $_sum, $_mod_id, $_pt, $_mi_id) {
global $sql; global $sql;
$sql->update_table('money_income', array( $sql->update_table('money_income', array(
//'mod_user_kid_uk_id' => $_user_id, //'mod_user_kid_uk_id' => $_user_id,
@@ -143,15 +193,39 @@ class money_deposit {
'mi_id' => $_mi_id 'mi_id' => $_mi_id
)); ));
$sql->update_table('money_deposit', array( // $sql->update_table('money_deposit', array(
'mod_user_kid_uk_id' => $_user_id, // 'mod_user_kid_uk_id' => $_user_id,
'mod_lease_l_id' => $_lease, // //'mod_lease_l_id' => $_lease,
), array( // ), array(
'mod_id' => $_mod_id // 'mod_id' => $_mod_id
)); // ));
} }
public static function calculate_expire_date($_mod_id) {
global $sql;
$mod = new money_deposit();
$mod->set_mod_data_by_id($_mod_id);
$expireDate = null;
$lease = $mod->get_mod_lease_l_id();
if (null !== $lease) {
if ($lease->get_l_expire_type() == 1) {
$expireDate = date('Y-m-t', strtotime($mod->get_mod_money_income()->get_mi_date()));
}
elseif ($lease->get_l_expire_type() == 2) {
$expireDate = date("Y-m-d", strtotime("+1 month", strtotime($mod->get_mod_money_income()->get_mi_date())));
}
elseif ($lease->get_l_expire_type() == 3) {
//egyedi dátum
$expireDate = date("Y-m-d", strtotime("+1 month", strtotime($mod->get_mod_money_income()->get_mi_date())));
}
}
return $expireDate;
}
} }

View File

@@ -587,7 +587,11 @@ class user_kid extends user_parent {
} }
elseif ($_de->get_de_type() == 'money_deposit') { elseif ($_de->get_de_type() == 'money_deposit') {
$_de->set_de_transaction($_de->get_de_money_deposit()->get_mod_money_income()->get_mi_sum()); $_de->set_de_transaction($_de->get_de_money_deposit()->get_mod_money_income()->get_mi_sum());
$_de->set_de_balance($_de->get_de_balance()+$_de->get_de_transaction()); if (!$_de->get_de_expired()) {
$_de->set_de_balance($_de->get_de_balance()+$_de->get_de_transaction());
} else {
$_de->set_de_balance(0);
}
//$balance += $_de->get_de_money_deposit()->get_mod_sum(); //$balance += $_de->get_de_money_deposit()->get_mod_sum();
//echo $_de->get_de_date() . " plussz " . $_de->get_de_money_deposit()->get_mod_sum() . "<br><br>"; //echo $_de->get_de_date() . " plussz " . $_de->get_de_money_deposit()->get_mod_sum() . "<br><br>";
} }
@@ -600,20 +604,20 @@ class user_kid extends user_parent {
return $_de_obj_array; return $_de_obj_array;
} }
public function get_groups() { // public function get_groups() {
global $sql; // global $sql;
$group_array = array(); // $group_array = array();
$g_assoc = $sql->assoc_array("select * from user_group_kid join user_group on ug_id = ugk_user_group_ug_id where ug_is_automatic = 1 and ugk_user_kid_uk_id = ".$this->get_uk_id().";"); // $g_assoc = $sql->assoc_array("select * from user_group_kid join user_group on ug_id = ugk_user_group_ug_id where ug_is_automatic = 1 and ugk_user_kid_uk_id = ".$this->get_uk_id().";");
foreach ($g_assoc as $g) { // foreach ($g_assoc as $g) {
$group = new user_group(); // $group = new user_group();
$group->set_ug_data_by_id($g['ugk_user_group_ug_id']); // $group->set_ug_data_by_id($g['ugk_user_group_ug_id']);
$group_array[] = $group; // $group_array[] = $group;
} // }
return $group_array; // return $group_array;
} // }
public function update_balance() { public function update_balance() {
global $sql; global $sql;
@@ -622,35 +626,39 @@ class user_kid extends user_parent {
$action_list_query = " $action_list_query = "
SELECT SELECT
object_id, object_id,
timestamp(object_date) as object_date, TIMESTAMP(object_date) AS object_date,
object_type object_type,
FROM expire_date,
((SELECT IF(expire_date <= NOW(), 1, 0) AS expired
pr_training_tr_id as object_id,
timestamp(tr_date) as object_date,
if(pr_training_tr_id is not null, 'training', null) as object_type
FROM FROM
presence ((SELECT
JOIN training ON (tr_id = pr_training_tr_id AND tr_locked = 1) pr_training_tr_id AS object_id,
WHERE TIMESTAMP(tr_date) AS object_date,
pr_user_kid_uk_id = ".$userId." IF(pr_training_tr_id IS NOT NULL, 'training', NULL) AS object_type,
AND tr_deleted = 0) UNION (SELECT NULL AS expire_date
mod_id, FROM
timestamp(mi_date), presence
if(mod_id is not null, 'money_deposit', null) as object_type JOIN training ON (tr_id = pr_training_tr_id
FROM AND tr_locked = 1)
money_deposit WHERE
JOIN pr_user_kid_uk_id = ".$userId."
money_income ON mi_id = mod_money_income_mi_id AND tr_deleted = 0) UNION (SELECT
WHERE mod_id,
mod_user_kid_uk_id = ".$userId." TIMESTAMP(mi_date),
and mod_deleted = 0)) actions IF(mod_id IS NOT NULL, 'money_deposit', NULL) AS object_type,
order by object_date ASC; mod_expire_date AS expire_date
FROM
money_deposit
JOIN money_income ON mi_id = mod_money_income_mi_id
WHERE
mod_user_kid_uk_id = ".$userId."
AND mod_deleted = 0)) actions
ORDER BY object_date ASC;
"; ";
$action_assoc_array = $sql->assoc_array($action_list_query); $action_assoc_array = $sql->assoc_array($action_list_query);
var_dump($action_assoc_array);
$actions = array(); $actions = array();
$de_array = array(); $de_array = array();
foreach ($action_assoc_array as $action) { foreach ($action_assoc_array as $action) {
@@ -660,13 +668,14 @@ class user_kid extends user_parent {
$new_training = new training(); $new_training = new training();
$new_training->set_training_data_by_id($action['object_id']); $new_training->set_training_data_by_id($action['object_id']);
//$actions[] = $new_training; //$actions[] = $new_training;
$new_diary_entry = new diary_entry($action['object_id'], $action['object_date'], $action['object_type'], 0, 0, 0, $new_training); $new_diary_entry = new diary_entry($action['object_id'], $action['object_date'], $action['object_type'], 0, 0, 0, 0, $new_training, null);
} }
elseif ($action['object_type'] == 'money_deposit') { elseif ($action['object_type'] == 'money_deposit') {
$new_mod = new money_deposit(); $new_mod = new money_deposit();
$new_mod->set_mod_data_by_id($action['object_id']); $new_mod->set_mod_data_by_id($action['object_id']);
//var_dump($new_mod);
//$actions[] = $new_mod; //$actions[] = $new_mod;
$new_diary_entry = new diary_entry($action['object_id'], $action['object_date'], $action['object_type'], 0, 0, 0, null, $new_mod); $new_diary_entry = new diary_entry($action['object_id'], $action['object_date'], $action['object_type'], 0, 0, 0, $action['expired'], null, $new_mod);
} }
$de_array[] = $new_diary_entry; $de_array[] = $new_diary_entry;
@@ -702,5 +711,42 @@ class user_kid extends user_parent {
} }
return false; return false;
} }
public function balance_meta_update() {
global $sql;
$lastDeposit = 'null';
$expireDate = 'null';
$deposits = $sql->assoc_array('
SELECT
*
FROM
money_deposit
JOIN
money_income ON mi_id = mod_money_income_mi_id
WHERE
mod_user_kid_uk_id = '.$this->get_uk_id().'
AND mod_deleted = 0
AND mod_expire_date > NOW()
ORDER BY mi_date DESC
LIMIT 1;
');
if (count($deposits)) {
$lastDeposit = $deposits[0]['mi_date'];
$expireDate = money_deposit::calculate_expire_date($deposits[0]['mod_id']);
}
$sql->update_table('user_kid',
array(
'uk_last_deposit' => $lastDeposit,
'uk_balance_expire_date' => $expireDate,
),
array(
'uk_id' => $this->get_uk_id(),
)
);
}
} }
?> ?>

View File

@@ -188,6 +188,12 @@ a.addbutton.noti {
text-align: left; text-align: left;
} }
.list_item table.money.expired {
color: #7d6d6d;
font-weight: normal;
cursor: not-allowed;
}
.list_item table.money td.icon { .list_item table.money td.icon {
width: 25px; width: 25px;
padding: 0px; padding: 0px;

View File

@@ -36,6 +36,11 @@ div.list div.money_deposit {
color: #020372; color: #020372;
} }
div.list div.money_deposit.expired {
background-color: #D9D6D3;
color: #5b5b60;
}
.list .money_deposit:hover { .list .money_deposit:hover {
background-color: #F3BF75; background-color: #F3BF75;
border-left: 2px solid #000; border-left: 2px solid #000;

View File

@@ -4,10 +4,13 @@ if ($this->is_id()) {
$sql->update_table('money_deposit', array('mod_deleted' => 1), array('mod_id' => $this->get_id())); $sql->update_table('money_deposit', array('mod_deleted' => 1), array('mod_id' => $this->get_id()));
$new_mod = new money_deposit(); $new_mod = new money_deposit();
$new_mod->set_mod_data_by_id($this->get_id()); $new_mod->set_mod_data_by_id($this->get_id());
$sql->update_table('money_income', array('mi_deleted' => 1), array('mi_id' => $new_mod->get_mod_money_income_mi_id())); $sql->update_table('money_income', array('mi_deleted' => 1), array('mi_id' => $new_mod->get_mod_money_income_mi_id()));
//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'] . ')');
log::register('delete_money_deposit', $new_mod->get_mod_user_kid()->get_uk_name() . ': ' . $new_mod->get_mod_money_income()->get_mi_sum() . ' Ft (' . $new_mod->get_mod_money_income()->get_mi_date() . ')'); log::register('delete_money_deposit', $new_mod->get_mod_user_kid()->get_uk_name() . ': ' . $new_mod->get_mod_money_income()->get_mi_sum() . ' Ft (' . $new_mod->get_mod_money_income()->get_mi_date() . ')');
header("Location: /admin/money_deposit"); $new_mod->get_mod_user_kid()->update_balance();
//$sql->update_table('user_kid', array('uk_balance_expire_date' => 'null'), array('uk_id' => $new_mod->get_mod_user_kid()->get_uk_id()));
$new_mod->get_mod_user_kid()->balance_meta_update();
header("Location: /admin/money_deposit");
} }

View File

@@ -1,32 +1,36 @@
<?php <?php
$action_list_query = " $action_list_query = "
SELECT SELECT
object_id, object_id,
timestamp(object_date) as object_date, TIMESTAMP(object_date) AS object_date,
object_type object_type,
FROM expire_date,
((SELECT IF(expire_date <= NOW(), 1, 0) AS expired
pr_training_tr_id as object_id, FROM
timestamp(tr_date) as object_date, ((SELECT
if(pr_training_tr_id is not null, 'training', null) as object_type pr_training_tr_id AS object_id,
FROM TIMESTAMP(tr_date) AS object_date,
presence IF(pr_training_tr_id IS NOT NULL, 'training', NULL) AS object_type,
JOIN training ON (tr_id = pr_training_tr_id AND tr_locked = 1) NULL AS expire_date
WHERE FROM
pr_user_kid_uk_id = ".$user->get_uk_id()." presence
AND tr_deleted = 0) UNION (SELECT JOIN training ON (tr_id = pr_training_tr_id
mod_id, AND tr_locked = 1)
timestamp(mi_date), WHERE
if(mod_id is not null, 'money_deposit', null) as object_type pr_user_kid_uk_id = ".$user->get_uk_id()."
FROM AND tr_deleted = 0) UNION (SELECT
money_deposit mod_id,
JOIN TIMESTAMP(mi_date),
money_income ON mi_id = mod_money_income_mi_id IF(mod_id IS NOT NULL, 'money_deposit', NULL) AS object_type,
WHERE mod_expire_date AS expire_date
mod_user_kid_uk_id = ".$user->get_uk_id()." FROM
and mod_deleted = 0)) actions money_deposit
order by object_date ASC; JOIN money_income ON mi_id = mod_money_income_mi_id
WHERE
mod_user_kid_uk_id = ".$user->get_uk_id()."
AND mod_deleted = 0)) actions
ORDER BY object_date ASC;
"; ";
$action_assoc_array = $sql->assoc_array($action_list_query); $action_assoc_array = $sql->assoc_array($action_list_query);
@@ -40,13 +44,13 @@ order by object_date ASC;
$new_training = new training(); $new_training = new training();
$new_training->set_training_data_by_id($action['object_id']); $new_training->set_training_data_by_id($action['object_id']);
//$actions[] = $new_training; //$actions[] = $new_training;
$new_diary_entry = new diary_entry($action['object_id'], $action['object_date'], $action['object_type'], 0, 0, 0, $new_training); $new_diary_entry = new diary_entry($action['object_id'], $action['object_date'], $action['object_type'], 0, 0, 0, 0, $new_training, null);
} }
elseif ($action['object_type'] == 'money_deposit') { elseif ($action['object_type'] == 'money_deposit') {
$new_mod = new money_deposit(); $new_mod = new money_deposit();
$new_mod->set_mod_data_by_id($action['object_id']); $new_mod->set_mod_data_by_id($action['object_id']);
//$actions[] = $new_mod; //$actions[] = $new_mod;
$new_diary_entry = new diary_entry($action['object_id'], $action['object_date'], $action['object_type'], 0, 0, 0, null, $new_mod); $new_diary_entry = new diary_entry($action['object_id'], $action['object_date'], $action['object_type'], 0, 0, 0, $action['expired'], null, $new_mod);
} }
$de_array[] = $new_diary_entry; $de_array[] = $new_diary_entry;

View File

@@ -16,7 +16,7 @@ if ($this->is_id()) {
); );
log::register(($locked?'training_open':'training_close'), $this->get_id()); log::register(($locked?'training_open':'training_close'), $this->get_id());
if (true) { if (!$locked) {
//ha most zárjuk le //ha most zárjuk le
$kid_ids = $sql->assoc_array('SELECT pr_user_kid_uk_id FROM presence WHERE pr_training_tr_id = ' . $this->get_id()); $kid_ids = $sql->assoc_array('SELECT pr_user_kid_uk_id FROM presence WHERE pr_training_tr_id = ' . $this->get_id());
foreach ($kid_ids as $k_array) { foreach ($kid_ids as $k_array) {

View File

@@ -78,7 +78,7 @@ if ($this->is_id()) {
FROM FROM
user_kid user_kid
LEFT JOIN LEFT JOIN
money_deposit ON mod_user_kid_uk_id = uk_id money_deposit ON mod_user_kid_uk_id = uk_id AND mod_expire_date > now() AND mod_deleted = 0
LEFT JOIN LEFT JOIN
lease ON l_id = mod_lease_l_id lease ON l_id = mod_lease_l_id
LEFT JOIN LEFT JOIN
@@ -87,6 +87,7 @@ if ($this->is_id()) {
uk_deleted = 0 AND uk_is_active = 1 uk_deleted = 0 AND uk_is_active = 1
AND ((uk_lease = 1 AND mod_id IS NOT NULL) AND ((uk_lease = 1 AND mod_id IS NOT NULL)
OR (uk_lease = 0 AND mod_lease_l_id IS NULL)) OR (uk_lease = 0 AND mod_lease_l_id IS NULL))
GROUP BY uk_id
ORDER BY uk_name; ORDER BY uk_name;
"; ";
$rest_user_assoc_array = $sql->assoc_array($rest_user_query); $rest_user_assoc_array = $sql->assoc_array($rest_user_query);

View File

@@ -305,7 +305,7 @@ if (isset($_POST['action'])) {
break; break;
case 'money_deposit_update': case 'money_deposit_update':
# befizetés módosítás # befizetés módosítás
money_deposit::update_money_deposit($_POST['mod_user_kid_uk_id'], $_POST['mod_date'], $_POST['mod_sum'], $_POST['mod_lease_l_id'], $_POST['mod_id'], 1, $_POST['mi_id']); money_deposit::update_money_deposit($_POST['mod_user_kid_uk_id'], $_POST['mod_date'], $_POST['mod_sum'], $_POST['mod_id'], 1, $_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(); $tmp_user->update_balance();

View File

@@ -3,7 +3,7 @@ CREATE TABLE `lease` (
`l_name` VARCHAR(128) NOT NULL, `l_name` VARCHAR(128) NOT NULL,
`l_expire_type` TINYINT(3) NOT NULL, `l_expire_type` TINYINT(3) NOT NULL,
`l_sum` INT NOT NULL, `l_sum` INT NOT NULL,
`l_expire_date` DATE NOT NULL, `l_expire_date` DATE NULL DEFAULT NULL,
`l_deleted` INT NULL DEFAULT 0, `l_deleted` INT NULL DEFAULT 0,
PRIMARY KEY (`l_id`)); PRIMARY KEY (`l_id`));
@@ -38,3 +38,7 @@ ADD CONSTRAINT `fk_money_deposit_2`
REFERENCES `lease` (`l_id`) REFERENCES `lease` (`l_id`)
ON DELETE SET NULL ON DELETE SET NULL
ON UPDATE CASCADE; ON UPDATE CASCADE;
ALTER TABLE `money_deposit`
ADD COLUMN `mod_expire_date` DATE NULL DEFAULT NULL AFTER `mod_lease_l_id`;

View File

@@ -55,20 +55,21 @@
<script type="text/javascript"> <script type="text/javascript">
$('input[name="l_expire_type"]').on('change', function() { $('input[name="l_expire_type"]').on('change', function() {
console.log($(this).val());
if ($(this).val() == '1') { if ($(this).val() == '1') {
$('#l_expire_date').prop('disabled', true); $('#l_expire_date').prop('disabled', true);
var today = new Date(); $('#l_expire_date').val('');
var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1, 0); // var today = new Date();
$('#l_expire_date').val(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + lastDayOfMonth.getDate()).slice(-2)); // var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1, 0);
$('#l_expire_date_hidden').val($('#l_expire_date').val()); // $('#l_expire_date').val(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + lastDayOfMonth.getDate()).slice(-2));
// $('#l_expire_date_hidden').val($('#l_expire_date').val());
} }
else if ($(this).val() == '2') { else if ($(this).val() == '2') {
$('#l_expire_date').prop('disabled', true); $('#l_expire_date').prop('disabled', true);
var today = new Date(); $('#l_expire_date').val('');
var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1); // var today = new Date();
$('#l_expire_date').val(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)); // var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1);
$('#l_expire_date_hidden').val($('#l_expire_date').val()); // $('#l_expire_date').val(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2));
// $('#l_expire_date_hidden').val($('#l_expire_date').val());
} }
else if ($(this).val() == '3') { else if ($(this).val() == '3') {
$('#l_expire_date').removeAttr('disabled'); $('#l_expire_date').removeAttr('disabled');

View File

@@ -60,20 +60,21 @@
<script type="text/javascript"> <script type="text/javascript">
$('input[name="l_expire_type"]').on('change', function() { $('input[name="l_expire_type"]').on('change', function() {
console.log($(this).val());
if ($(this).val() == '1') { if ($(this).val() == '1') {
$('#l_expire_date').prop('disabled', true); $('#l_expire_date').prop('disabled', true);
var today = new Date(); $('#l_expire_date').val('');
var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1, 0); // var today = new Date();
$('#l_expire_date').val(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + lastDayOfMonth.getDate()).slice(-2)); // var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1, 0);
$('#l_expire_date_hidden').val($('#l_expire_date').val()); // $('#l_expire_date').val(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + lastDayOfMonth.getDate()).slice(-2));
// $('#l_expire_date_hidden').val($('#l_expire_date').val());
} }
else if ($(this).val() == '2') { else if ($(this).val() == '2') {
$('#l_expire_date').prop('disabled', true); $('#l_expire_date').prop('disabled', true);
var today = new Date(); $('#l_expire_date').val('');
var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1); // var today = new Date();
$('#l_expire_date').val(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)); // var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1);
$('#l_expire_date_hidden').val($('#l_expire_date').val()); // $('#l_expire_date').val(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2));
// $('#l_expire_date_hidden').val($('#l_expire_date').val());
} }
else if ($(this).val() == '3') { else if ($(this).val() == '3') {
$('#l_expire_date').removeAttr('disabled'); $('#l_expire_date').removeAttr('disabled');
@@ -81,7 +82,7 @@
}); });
$(document).ready(function () { $(document).ready(function () {
//$('input[name="l_expire_type"]:checked').trigger('change'); $('input[name="l_expire_type"]:checked').trigger('change');
$('#l_expire_date_hidden').val($('#l_expire_date').val()); $('#l_expire_date_hidden').val($('#l_expire_date').val());
}); });
</script> </script>

View File

@@ -21,9 +21,9 @@
<div id="block_{$mod->get_mod_money_income()->get_mi_date()|substr:0:4}{$mod->get_mod_money_income()->get_mi_date()|substr:5:2}" class="month_block"> <div id="block_{$mod->get_mod_money_income()->get_mi_date()|substr:0:4}{$mod->get_mod_money_income()->get_mi_date()|substr:5:2}" class="month_block">
{/if} {/if}
<a href="/admin/money_deposit/{$mod->get_mod_id()}"> <a href="{if $mod->is_expired()}#{else}/admin/money_deposit/{$mod->get_mod_id()}{/if}">
<div class="list_item"> <div class="list_item">
<table class="money"> <table class="money{if $mod->is_expired()} expired{/if}">
<tr> <tr>
<td class="icon"> <td class="icon">
{if $mod->get_mod_money_income()->get_mi_payment_type_pt_id() == 1} {if $mod->get_mod_money_income()->get_mi_payment_type_pt_id() == 1}
@@ -33,7 +33,7 @@
{/if} {/if}
</td> </td>
<td> <td>
{$mod->get_mod_user_kid()->get_uk_name()} {$mod->get_mod_user_kid()->get_uk_name()} {if $mod->is_expired()}(Lejárt: {$mod->get_mod_expire_date()}){/if}
</td> </td>
<td class="date"> <td class="date">
{$mod->get_mod_money_income()->get_mi_date(true)} {$mod->get_mod_money_income()->get_mi_date(true)}

View File

@@ -50,6 +50,11 @@
<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_sum">Lejár:</label>
<div id="expire_date" style="padding-top: 6px;">Következő hónapban (alapértelmezett beállítás)</div>
</div>
<div> <div>
<label for="mod_sets_expire_date">Frissítse az egyenleg lejárati dátumát:</label> <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><input type="checkbox" name="mod_sets_expire_date" id="mod_sets_expire_date" value="1" checked="checked"></div>
@@ -75,10 +80,30 @@
var pdata = JSON.parse(data); var pdata = JSON.parse(data);
if (null == pdata) { if (null == pdata) {
$('#expire_date').html('Következő hónapban (alapértelmezett beállítás)');
$('#mod_sum').val('');
return;
}
if (null == pdata['l_sum']) {
$('#mod_sum').val(''); $('#mod_sum').val('');
} }
else { else {
$('#mod_sum').val(pdata); $('#mod_sum').val(pdata['l_sum']);
}
if (pdata['l_expire_type'] == '1') {
var today = new Date();
var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1, 0);
$('#expire_date').html(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + lastDayOfMonth.getDate()).slice(-2));
}
else if (pdata['l_expire_type'] == '2') {
var today = new Date();
var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1);
$('#expire_date').html(lastDayOfMonth.getFullYear() + '-' + ('0' + (lastDayOfMonth.getMonth()+1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2));
}
else if (pdata['l_expire_type'] == '3') {
$('#expire_date').html(pdata['l_expire_date']);
} }
} }
}); });

View File

@@ -10,7 +10,7 @@
<div> <div>
<label class="desc" id="title1" for="mod_user_kid_uk_id">Befizető:</label> <label class="desc" id="title1" for="mod_user_kid_uk_id">Befizető:</label>
<div> <div>
<select name="mod_user_kid_uk_id" id="mod_user_kid_uk_id"> <select name="mod_user_kid_uk_id" id="mod_user_kid_uk_id" disabled>
{foreach $user_kids as $user_kid} {foreach $user_kids as $user_kid}
<option value="{$user_kid->get_uk_id()}"{if $user_kid->get_uk_id() == $mod->get_mod_user_kid_uk_id()} selected{/if}>{$user_kid->get_uk_name()}</option>> <option value="{$user_kid->get_uk_id()}"{if $user_kid->get_uk_id() == $mod->get_mod_user_kid_uk_id()} selected{/if}>{$user_kid->get_uk_name()}</option>>
{/foreach} {/foreach}
@@ -39,10 +39,10 @@
<div> <div>
<label for="mod_lease_l_id">Bérlettípus:</label> <label for="mod_lease_l_id">Bérlettípus:</label>
<div> <div>
<select name="mod_lease_l_id" id="mod_lease_l_id"> <select name="mod_lease_l_id" id="mod_lease_l_id" disabled>
<option value="null">Nincs beállítva</option> <option value="null">Nincs beállítva</option>
{foreach $lease_array as $lease} {foreach $lease_array as $lease}
<option value="{$lease->get_l_id()}" {if $lease->get_l_id() == $mod->get_mod_lease_l_id()->get_l_id()}selected{/if}> <option value="{$lease->get_l_id()}" {if $mod->get_mod_lease_l_id() != null && $lease->get_l_id() == $mod->get_mod_lease_l_id()->get_l_id()}selected{/if}>
{$lease->get_l_name()} {$lease->get_l_name()}
</option> </option>
{/foreach} {/foreach}
@@ -55,6 +55,11 @@
<div><input type="text" name="mod_sum" id="mod_sum" value="{$mod->get_mod_money_income()->get_mi_sum()}" required></div> <div><input type="text" name="mod_sum" id="mod_sum" value="{$mod->get_mod_money_income()->get_mi_sum()}" required></div>
</div> </div>
<div>
<label for="mod_sum">Lejár:</label>
<div id="expire_date" style="padding-top: 6px;">{$mod->get_mod_expire_date()}</div>
</div>
<div> <div>
<div> <div>
<input class="button black" type="submit" value="Mentés"> <input class="button black" type="submit" value="Mentés">

View File

@@ -32,10 +32,10 @@
<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"> {* <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> <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><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> <div>
<label>Egyenleg:</label> <label>Egyenleg:</label>

View File

@@ -13,12 +13,12 @@
</div> </div>
</div> </div>
{if $user->get_uk_balance_expires()} {if $user->get_uk_balance_expires() && $user->get_uk_balance() > 0}
<div class="list_item line_height14 bigger_space" style="margin-bottom: 20px;"> <div class="list_item line_height14 bigger_space" style="margin-bottom: 20px;">
{if $user->get_uk_balance_expire_date()} {if $user->get_uk_balance_expire_date()}
Az egyenleg lejár: <span class="bold">{{$user->get_uk_balance_expire_date()|date_format:"%Y.%m.%d"}}</span> Az egyenleg lejár: <span class="bold">{{$user->get_uk_balance_expire_date()|date_format:"%Y.%m.%d"}}</span>
{elseif $user->get_uk_last_deposit()} {elseif $user->get_uk_last_deposit()}
Az egyenleg lejár: <span class="bold">{{$user->get_uk_last_deposit()|date_format:"%Y.%m.%d"}}</span> Az egyenleg lejár: <span class="bold">{strtotime("+1 month",strtotime($user->get_uk_last_deposit()))|date_format:"%Y.%m.%d"}</span>
{else} {else}
<span class="bold">Kérjük, töltse fel egyenlegét!</span> <span class="bold">Kérjük, töltse fel egyenlegét!</span>
{/if} {/if}
@@ -140,7 +140,7 @@
{/if} {/if}
<div class="row"> <div class="row">
<div class="list_item line_height14 bigger_space money_deposit"> <div class="list_item line_height14 bigger_space money_deposit{if $action->get_de_expired()} expired{/if}">
<span class="size20 bold"> <span class="size20 bold">
{$action->get_de_money_deposit()->get_mod_money_income()->get_mi_date()|substr:0:4}. {$action->get_de_money_deposit()->get_mod_money_income()->get_mi_date()|substr:0:4}.
{$months[$actions[$action@index]->get_de_money_deposit()->get_mod_money_income()->get_mi_date()|substr:5:2]} {$months[$actions[$action@index]->get_de_money_deposit()->get_mod_money_income()->get_mi_date()|substr:5:2]}
@@ -150,10 +150,16 @@
befizetés: {$action->get_de_money_deposit()->get_mod_money_income()->get_mi_sum(true)} Ft befizetés: {$action->get_de_money_deposit()->get_mod_money_income()->get_mi_sum(true)} Ft
</div> </div>
<div class="side_block"> {if !$action->get_de_expired()}
{assign var="discount" value=""} <div class="side_block">
<span class="bold" style="font-size: 20px;">{if $action->get_de_balance()>0}+{/if}{$action->get_de_balance()|number_format:0:'':' '} Ft</span><br>{$discount} {assign var="discount" value=""}
</div> <span class="bold" style="font-size: 20px;">{if $action->get_de_balance()>0}+{/if}{$action->get_de_balance()|number_format:0:'':' '} Ft</span><br>{$discount}
</div>
{else}
<div class="side_block">
<span style="font-size: 20px;">Lejárt: {$action->get_de_money_deposit()->get_mod_expire_date()|date_format:"%Y.%m.%d"}</span>
</div>
{/if}
</div> </div>
{/if} {/if}