diff --git a/_class/class_lease.php b/_class/class_lease.php index 8773a1c..2b82b63 100644 --- a/_class/class_lease.php +++ b/_class/class_lease.php @@ -7,6 +7,7 @@ class lease { private $l_name; private $l_sum; private $l_deleted; + private $l_non_zero; private $l_expire_type; private $l_expire_date; private $l_expire_deleted; @@ -52,6 +53,27 @@ class lease { return $this; } + /** + * @return mixed + */ + public function get_l_non_zero() + { + return $this->l_non_zero; + } + + /** + * @param mixed $l_non_zero + * + * @return self + */ + public function set_l_non_zero($l_non_zero) + { + $this->l_non_zero = $l_non_zero; + + return $this; + } + + /** * @return mixed */ @@ -162,11 +184,19 @@ class lease { $expDate = 'null'; } + if (isset($_values['l_non_zero'])) { + $nonZero = $_values['l_non_zero']; + } + else { + $nonZero = 0; + } + $l_id = $sql->insert_into('lease', array( 'l_name' => $_values['l_name'], 'l_sum' => $_values['l_sum'], 'l_expire_type' => $_values['l_expire_type'], 'l_expire_date' => $expDate, + 'l_non_zero' => $nonZero )); if (isset($_values['l_training_types']) && is_array($_values['l_training_types'])) { @@ -191,11 +221,19 @@ class lease { $expDate = 'null'; } + if (isset($_values['l_non_zero'])) { + $nonZero = $_values['l_non_zero']; + } + else { + $nonZero = 0; + } + $sql->update_table('lease', array( 'l_name' => $_values['l_name'], 'l_sum' => $_values['l_sum'], 'l_expire_type' => $_values['l_expire_type'], 'l_expire_date' => $expDate, + 'l_non_zero' => $nonZero ), array( 'l_id' => $_l_id, )); diff --git a/_class/class_money_deposit.php b/_class/class_money_deposit.php index c4ab908..ab8e5bc 100644 --- a/_class/class_money_deposit.php +++ b/_class/class_money_deposit.php @@ -14,6 +14,7 @@ class money_deposit { private $mod_sets_expire_date; private $mod_expire_date; private $mod_lease_l_id; //OBJECT + private $mod_non_zero; public function set_mod_id($_id) { $this->mod_id = $_id; @@ -51,6 +52,10 @@ class money_deposit { $this->mod_lease_l_id = $_lease_l_id; } + public function set_mod_non_zero($_non_zero) { + $this->mod_non_zero = $_non_zero; + } + public function get_mod_id() { return $this->mod_id; } @@ -87,6 +92,10 @@ class money_deposit { return $this->mod_lease_l_id; } + public function get_mod_non_zero() { + return $this->mod_non_zero; + } + public function set_mod_data_by_id($_id) { global $sql; $mod_query = "SELECT * FROM money_deposit WHERE mod_id = " . $_id . ";"; @@ -142,6 +151,7 @@ class money_deposit { //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 + $nonZero = false; if ('null' != $_lease) { $lease = new lease(); $lease->set_l_data_by_id($_lease); @@ -155,6 +165,7 @@ class money_deposit { )); } + $nonZero = $lease->get_l_non_zero(); /*if ($lease->get_l_expire_type() == 1) { //naptári hónap vége $sql->update_table('user_kid', array( @@ -191,6 +202,7 @@ class money_deposit { 'mod_sets_expire_date' => $_sets_date, 'mod_lease_l_id' => $_lease, 'mod_expire_date' => $_mod_expire_date, + 'mod_non_zero' => $nonZero, )); } diff --git a/_class/class_user_kid.php b/_class/class_user_kid.php index 4b2005b..622caf4 100644 --- a/_class/class_user_kid.php +++ b/_class/class_user_kid.php @@ -604,6 +604,8 @@ class user_kid extends user_parent { $balance = $this->get_uk_balance_transfer(); } } + + $nonZero = false; foreach ($_de_obj_array as $i => $_de) { //minden lépésben az balance-t be kell állítani az előző lépésben updatelt balance-ra if (isset($_de_obj_array[$i-1])) { @@ -627,16 +629,25 @@ class user_kid extends user_parent { $trainingPrice = $training->get_tr_price(); $_de->set_de_transaction(-$trainingPrice); //beállítjuk, mennyivel csökken az egyenleg if (0 == $i) { - $_de->set_de_balance($balance+$_de->get_de_transaction()); //beállítjuk az új egyenleget + $newBalance = $balance+$_de->get_de_transaction(); + if (!$nonZero) { + $_de->set_de_balance($newBalance); //beállítjuk az új egyenleget + //$newBalance = 0; + } } else { - $_de->set_de_balance($_de->get_de_balance()+$_de->get_de_transaction()); //beállítjuk az új egyenleget + $newBalance = $_de->get_de_balance()+$_de->get_de_transaction(); + if (!$nonZero) { + $_de->set_de_balance($newBalance); //beállítjuk az új egyenleget + //$newBalance = 0; + } } //echo $_de->get_de_date() . " minusz 1200

"; } elseif ($_de->get_de_type() == 'money_deposit') { $actualExpireDate = $_de->get_de_money_deposit()->get_mod_expire_date(); + $nonZero = $_de->get_de_money_deposit()->get_mod_non_zero(); $_de->set_de_transaction($_de->get_de_money_deposit()->get_mod_money_income()->get_mi_sum()); //ha ez a befizetés az utolsó és lejárt, akkor ne adjuk hozzá a balancehoz diff --git a/_include/include_diary.php b/_include/include_diary.php index e6351ff..13f9056 100644 --- a/_include/include_diary.php +++ b/_include/include_diary.php @@ -38,8 +38,6 @@ $actions = array(); $de_array = array(); foreach ($action_assoc_array as $action) { - - if ($action['object_type'] == 'training') { $new_training = new training(); $new_training->set_training_data_by_id($action['object_id']); @@ -54,7 +52,6 @@ } $de_array[] = $new_diary_entry; - } //itt csak hivatkozással adjuk át a tömböt, a calculate_balance kiszámolja, belerakja és visszadja diff --git a/queries/20200907-lease-extra-field.sql b/queries/20200907-lease-extra-field.sql new file mode 100644 index 0000000..40fbfe7 --- /dev/null +++ b/queries/20200907-lease-extra-field.sql @@ -0,0 +1,5 @@ +ALTER TABLE `lease` +ADD COLUMN `l_non_zero` TINYINT(1) NOT NULL DEFAULT 0 AFTER `l_deleted`; + +ALTER TABLE `money_deposit` +ADD COLUMN `mod_non_zero` TINYINT(1) NOT NULL DEFAULT 0 AFTER `mod_expire_date`; diff --git a/template/templates/lease_create.tpl b/template/templates/lease_create.tpl index f951ddd..fa0236d 100644 --- a/template/templates/lease_create.tpl +++ b/template/templates/lease_create.tpl @@ -32,6 +32,13 @@ +
+ Korlátlan bérlet: +
+ +
+
+
Edzés típusok: @@ -41,7 +48,7 @@ {/foreach} -
+
diff --git a/template/templates/lease_data_edit.tpl b/template/templates/lease_data_edit.tpl index 9fec678..ed16403 100644 --- a/template/templates/lease_data_edit.tpl +++ b/template/templates/lease_data_edit.tpl @@ -37,6 +37,13 @@
+
+ Korlátlan bérlet: +
+ get_l_non_zero() == 1} checked{/if}> +
+
+
Edzés típusok: @@ -46,7 +53,7 @@ {/foreach} -
+