From 2c663d7ed1dcace86d7007c72fbf17e0fa2c03cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B3th=20Rich=C3=A1rd?= Date: Thu, 25 Jul 2019 12:22:15 +0200 Subject: [PATCH] custom training price --- _ajax/add_category_to_kid.php | 2 +- _ajax/get_parent_data.php | 2 +- _ajax/get_training_template.php | 2 +- _ajax/get_trt_default_price.php | 19 ++++ _ajax/get_user_list.php | 2 +- _ajax/update_presence.php | 2 +- _class/class_page.php | 2 +- _class/class_training.php | 17 ++-- _class/class_training_type.php | 75 ++++++++++------ _class/class_user_kid.php | 6 +- _include/include_lock_training.php | 12 +++ _include/include_training_types.php | 37 ++++---- _include/include_trainings.php | 97 ++++++++++----------- common.php | 6 +- event_handler.php | 11 +-- queries/trt_default_price_20190718.sql | 5 ++ template/templates/training_data_create.tpl | 34 +++++++- template/templates/training_type_create.tpl | 32 +++---- template/templates/training_type_edit.tpl | 23 +++++ template/templates/training_type_list.tpl | 36 +++----- 20 files changed, 266 insertions(+), 156 deletions(-) create mode 100644 _ajax/get_trt_default_price.php create mode 100644 queries/trt_default_price_20190718.sql create mode 100644 template/templates/training_type_edit.tpl diff --git a/_ajax/add_category_to_kid.php b/_ajax/add_category_to_kid.php index 1f05a13..ea44d87 100644 --- a/_ajax/add_category_to_kid.php +++ b/_ajax/add_category_to_kid.php @@ -2,7 +2,7 @@ //tag listánál ez adja vissza a keresés eredményét ini_set('include_path', '../_class/'); include('class_sql.php'); -if ($_SERVER['HTTP_HOST'] == 'badmintoncoach-demo.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','id9073794_tollashodos','uprRscU8bGpJ','id9073794_tollashodos'); //megnézzük, hogy a KID benne van-e olyan category-val, ami az adott grouphoz tartozik diff --git a/_ajax/get_parent_data.php b/_ajax/get_parent_data.php index d7e314d..108627f 100644 --- a/_ajax/get_parent_data.php +++ b/_ajax/get_parent_data.php @@ -2,7 +2,7 @@ ini_set('include_path', '../_class/'); include('class_sql.php'); -if ($_SERVER['HTTP_HOST'] == 'badmintoncoach-demo.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','id9073794_tollashodos','uprRscU8bGpJ','id9073794_tollashodos'); if ($_POST['parent_id'] == 'null') { diff --git a/_ajax/get_training_template.php b/_ajax/get_training_template.php index 413237e..531b468 100644 --- a/_ajax/get_training_template.php +++ b/_ajax/get_training_template.php @@ -2,7 +2,7 @@ //tag listánál ez adja vissza a keresés eredményét ini_set('include_path', '../_class/'); include('class_sql.php'); -if ($_SERVER['HTTP_HOST'] == 'badmintoncoach-demo.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','id9073794_tollashodos','uprRscU8bGpJ','id9073794_tollashodos'); if (empty($_GET['template_id'])) { diff --git a/_ajax/get_trt_default_price.php b/_ajax/get_trt_default_price.php new file mode 100644 index 0000000..3219cee --- /dev/null +++ b/_ajax/get_trt_default_price.php @@ -0,0 +1,19 @@ +single_variable($trt_query); + + echo json_encode($trt_default_price); +} + +?> diff --git a/_ajax/get_user_list.php b/_ajax/get_user_list.php index 774cc53..b80fe8e 100644 --- a/_ajax/get_user_list.php +++ b/_ajax/get_user_list.php @@ -2,7 +2,7 @@ //tag listánál ez adja vissza a keresés eredményét ini_set('include_path', '../_class/'); include('class_sql.php'); -if ($_SERVER['HTTP_HOST'] == 'badmintoncoach-demo.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','id9073794_tollashodos','uprRscU8bGpJ','id9073794_tollashodos'); $filter1 = ""; diff --git a/_ajax/update_presence.php b/_ajax/update_presence.php index 928589d..d830120 100644 --- a/_ajax/update_presence.php +++ b/_ajax/update_presence.php @@ -7,7 +7,7 @@ foreach ($_POST as $key => $value) { trigger_error($_SERVER['HTTP_HOST'], E_USER_NOTICE); } */ -if ($_SERVER['HTTP_HOST'] == 'badmintoncoach-demo.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','id9073794_tollashodos','uprRscU8bGpJ','id9073794_tollashodos'); $check_query = "SELECT * FROM presence WHERE pr_training_tr_id = " . $_POST['tr_id'] . " AND pr_user_kid_uk_id = " . $_POST['user_id'] . ";"; diff --git a/_class/class_page.php b/_class/class_page.php index 2b50cd8..5d11770 100644 --- a/_class/class_page.php +++ b/_class/class_page.php @@ -3,7 +3,7 @@ /* PAGE CLASS url alapjan lekeri a template-et - http://badmintoncoach-demo.hu/PAGE/SUBPAGE/ID + http://cegledcoach.hu/PAGE/SUBPAGE/ID */ diff --git a/_class/class_training.php b/_class/class_training.php index 5b9d176..323aea6 100644 --- a/_class/class_training.php +++ b/_class/class_training.php @@ -3,9 +3,6 @@ /* TRAINING osztály Edzések - - - */ class training { @@ -16,13 +13,12 @@ class training { private $tr_duration; private $tr_note; private $tr_locked; + private $tr_price; private $tr_deleted; private $coaches = array(); private $helpers = array(); - - public function set_tr_id($_tr_id) { $this->tr_id = $_tr_id; } @@ -47,6 +43,10 @@ class training { $this->tr_locked = $_tr_locked; } + public function set_tr_price($_tr_price) { + $this->tr_price = $_tr_price; + } + public function set_tr_deleted($_tr_deleted) { $this->tr_deleted = $_tr_deleted; } @@ -89,6 +89,10 @@ class training { return $this->tr_locked; } + public function get_tr_price() { + return $this->tr_price; + } + public function get_tr_deleted() { return $this->tr_deleted; } @@ -209,6 +213,9 @@ class training { if ($_training_value_array['tr_note'] == "") { $_training_value_array['tr_note'] = null; } + if ($_training_value_array['tr_price'] == "") { + $_training_value_array['tr_price'] = null; + } $new_tr_id = $sql->insert_into('training', $_training_value_array); log::register('new_training', $new_tr_id); if (isset($coaches)) { diff --git a/_class/class_training_type.php b/_class/class_training_type.php index 11b0c29..6794aec 100644 --- a/_class/class_training_type.php +++ b/_class/class_training_type.php @@ -2,42 +2,62 @@ # EDZÉS TÍPUS OSZTÁLY - class training_type { - private $trt_id; - private $trt_name; - private $trt_deleted; + private $trt_id; + private $trt_name; + private $trt_default_price; + private $trt_deleted; - public function set_trt_id($_id) { - $this->trt_id = $_id; - } + public function set_trt_id($_id) { + $this->trt_id = $_id; + } - public function set_trt_name($_name) { - $this->trt_name = $_name; - } + public function set_trt_name($_name) { + $this->trt_name = $_name; + } - public function set_trt_deleted($_deleted) { - $this->trt_deleted = $_deleted; - } + public function set_trt_deleted($_deleted) { + $this->trt_deleted = $_deleted; + } - public function get_trt_id() { - return $this->trt_id; - } + public function set_trt_default_price($_price) { + $this->trt_default_price = $_price; + } - public function get_trt_name() { - return $this->trt_name; - } + public function get_trt_id() { + return $this->trt_id; + } - public function get_trt_deleted() { - return $this->trt_deleted; - } + public function get_trt_name() { + return $this->trt_name; + } - public static function create_training_type($_trt_value_array) { - global $sql; - return $sql->insert_into('training_type', $_trt_value_array); - } + public function get_trt_default_price() { + return $this->trt_default_price; + } - public function set_trt_data_by_id($_id) { + public function get_trt_deleted() { + return $this->trt_deleted; + } + + public static function create_training_type($_trt_value_array) { + global $sql; + if ('' == $_trt_value_array['trt_default_price']) { + $_trt_value_array['trt_default_price'] = 'null'; + } + return $sql->insert_into('training_type', $_trt_value_array); + } + + public static function update_training_type($_trt_value_array) { + global $sql; + $default_price = $_trt_value_array['trt_default_price']; + if ('' == $default_price) { + $default_price = 'null'; + } + return $sql->update_table('training_type', array('trt_name' => $_trt_value_array['trt_name'], 'trt_default_price' => $default_price), array('trt_id' => $_trt_value_array['trt_id'])); + } + + public function set_trt_data_by_id($_id) { global $sql; $trt_data_assoc_array = $sql->assoc_array("select * from training_type where trt_id = " . $_id); $trt_data_array = $trt_data_assoc_array[0]; @@ -49,5 +69,4 @@ class training_type { } } - ?> diff --git a/_class/class_user_kid.php b/_class/class_user_kid.php index 2cedb28..64ddf60 100644 --- a/_class/class_user_kid.php +++ b/_class/class_user_kid.php @@ -531,7 +531,9 @@ class user_kid extends user_parent { if ($_de->get_de_type() == 'training') { //$balance -= 1200; - $_de->set_de_transaction(-1000); //beállítjuk, mennyivel csökken az egyenleg + $training = $_de->get_de_training(); + $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 } @@ -588,7 +590,7 @@ class user_kid extends user_parent { if(pr_training_tr_id is not null, 'training', null) as object_type FROM presence - JOIN training ON tr_id = pr_training_tr_id + JOIN training ON (tr_id = pr_training_tr_id AND tr_locked = 1) WHERE pr_user_kid_uk_id = ".$userId." AND tr_deleted = 0) UNION (SELECT diff --git a/_include/include_lock_training.php b/_include/include_lock_training.php index 46b8e60..ffad400 100644 --- a/_include/include_lock_training.php +++ b/_include/include_lock_training.php @@ -15,6 +15,18 @@ if ($this->is_id()) { ) ); log::register(($locked?'training_open':'training_close'), $this->get_id()); + + if (true) { + //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()); + foreach ($kid_ids as $k_array) { + $kid = new user_kid(); + $kid->set_user_data_by_id($k_array['pr_user_kid_uk_id']); + + $kid->update_balance(); + } + } + //SEND NOTIFICATION /* diff --git a/_include/include_training_types.php b/_include/include_training_types.php index 4a3576b..fe230de 100644 --- a/_include/include_training_types.php +++ b/_include/include_training_types.php @@ -1,30 +1,35 @@ is_id()) { - # EDZÉS TÍPUS SZERKESZTÉSE - + # EDZÉS TÍPUS SZERKESZTÉSE + $trt = new training_type(); + $trt->set_trt_data_by_id($this->get_id()); + $smarty->assign('trt', $trt); + + $smarty->display('training_type_edit.tpl'); } else { - - # EDZÉS TÍPUS LISTA - $tr_type_query = "SELECT * FROM training_type WHERE trt_deleted = 0 ORDER BY trt_name ASC"; - $tr_type_assoc_array = $sql->assoc_array($tr_type_query); + # EDZÉS TÍPUS LISTA - $smarty->assign('tr_type_assoc_array',$tr_type_assoc_array); - $smarty->display('training_type_list.tpl'); + $tr_type_query = "SELECT * FROM training_type WHERE trt_deleted = 0 ORDER BY trt_name ASC"; + $tr_type_assoc_array = $sql->assoc_array($tr_type_query); + + $trt_array = array(); + foreach ($tr_type_assoc_array as $trt_data) { + $new_trt = new training_type(); + $new_trt->set_trt_data_by_id($trt_data['trt_id']); + $trt_array[] = $new_trt; + } + + $smarty->assign('tr_type_assoc_array',$tr_type_assoc_array); + $smarty->assign('trt_array',$trt_array); + $smarty->display('training_type_list.tpl'); - } - - - - - -?> \ No newline at end of file +?> diff --git a/_include/include_trainings.php b/_include/include_trainings.php index d7372cd..8f4c113 100644 --- a/_include/include_trainings.php +++ b/_include/include_trainings.php @@ -5,66 +5,59 @@ if ($this->is_id()) { - # ADOTT EDZÉS ADATAINAK MEGJELENÍTÉSE - //training adatok - $training_data_query = "SELECT * FROM training WHERE tr_id = " . $this->get_id(); - $training_data_assoc_array = $sql->assoc_array($training_data_query); - $smarty->assign('training_data', $training_data_assoc_array[0]); - //TRAINING TYPE ARRAY - $training_type_query = "SELECT * FROM training_type WHERE trt_deleted = 0 ORDER BY trt_name ASC;"; - $training_type_assoc_array = $sql->assoc_array($training_type_query); - $smarty->assign("training_type_assoc_array", $training_type_assoc_array); - //COACH ARRAY - $coach_data_query = "SELECT * FROM user_coach WHERE ua_deleted = 0 ORDER BY ua_id ASC;"; - $coach_data_assoc_array = $sql->assoc_array($coach_data_query); - $coach_array = array(); - foreach ($coach_data_assoc_array as $coach_data) { - $new_coach = new user(); - $new_coach->set_user_data_by_id($coach_data['ua_id']); - $coach_array[] = $new_coach; - } - //TRAINING-COACH ARRAY - $trc_query = "SELECT * FROM training_coach WHERE trc_training_tr_id = " . $this->get_id(); - $trc_coaches = array(); - $trc_assoc_array = $sql->assoc_array($trc_query); - foreach ($trc_assoc_array as $trc_data) { - $new_coach = new user(); - $new_coach->set_user_data_by_id($trc_data['trc_coach_uc_id']); - $trc_coaches[] = $new_coach; - } + # ADOTT EDZÉS ADATAINAK MEGJELENÍTÉSE + //training adatok + $training_data_query = "SELECT * FROM training WHERE tr_id = " . $this->get_id(); + $training_data_assoc_array = $sql->assoc_array($training_data_query); + $smarty->assign('training_data', $training_data_assoc_array[0]); + //TRAINING TYPE ARRAY + $training_type_query = "SELECT * FROM training_type WHERE trt_deleted = 0 ORDER BY trt_name ASC;"; + $training_type_assoc_array = $sql->assoc_array($training_type_query); + $smarty->assign("training_type_assoc_array", $training_type_assoc_array); + //COACH ARRAY + $coach_data_query = "SELECT * FROM user_coach WHERE ua_deleted = 0 ORDER BY ua_id ASC;"; + $coach_data_assoc_array = $sql->assoc_array($coach_data_query); + $coach_array = array(); + foreach ($coach_data_assoc_array as $coach_data) { + $new_coach = new user(); + $new_coach->set_user_data_by_id($coach_data['ua_id']); + $coach_array[] = $new_coach; + } + //TRAINING-COACH ARRAY + $trc_query = "SELECT * FROM training_coach WHERE trc_training_tr_id = " . $this->get_id(); + $trc_coaches = array(); + $trc_assoc_array = $sql->assoc_array($trc_query); + foreach ($trc_assoc_array as $trc_data) { + $new_coach = new user(); + $new_coach->set_user_data_by_id($trc_data['trc_coach_uc_id']); + $trc_coaches[] = $new_coach; + } + + $smarty->assign("coach_data_assoc_array", $coach_data_assoc_array); + $smarty->assign("coach_array", $coach_array); //összes coach + $smarty->assign("trc_coaches", $trc_coaches); //csak a bejelölt coach coach + $smarty->assign("tr_id", $this->get_id()); //aktualis training id - $smarty->assign("coach_data_assoc_array", $coach_data_assoc_array); - $smarty->assign("coach_array", $coach_array); //összes coach - $smarty->assign("trc_coaches", $trc_coaches); //csak a bejelölt coach coach - $smarty->assign("tr_id", $this->get_id()); //aktualis training id - - - $smarty->display('training_data_'.$tpl.'.tpl'); + $smarty->display('training_data_'.$tpl.'.tpl'); } else { - $traning_list_query = "SELECT * FROM training WHERE tr_deleted = 0 ORDER BY tr_date DESC;"; - $training_list_assoc_array = $sql->assoc_array($traning_list_query); - - $training_array = array(); - foreach ($training_list_assoc_array as $training_list_array) { - $training = new training(); - $training->set_training_data_by_id($training_list_array['tr_id']); - $training_array[] = $training; - } - //var_dump($traning_array); - $smarty->assign('edit', $tpl); - $smarty->assign("training_array", $training_array); - $smarty->display("training_list.tpl"); + $traning_list_query = "SELECT * FROM training WHERE tr_deleted = 0 ORDER BY tr_date DESC;"; + $training_list_assoc_array = $sql->assoc_array($traning_list_query); + $training_array = array(); + foreach ($training_list_assoc_array as $training_list_array) { + $training = new training(); + $training->set_training_data_by_id($training_list_array['tr_id']); + $training_array[] = $training; + } + //var_dump($traning_array); + $smarty->assign('edit', $tpl); + $smarty->assign("training_array", $training_array); + $smarty->display("training_list.tpl"); } - - - - - ?> diff --git a/common.php b/common.php index 09082a7..e010378 100644 --- a/common.php +++ b/common.php @@ -96,15 +96,15 @@ $smarty->assign('today', date('Y-m-d')); $smarty->assign('error_msg', $error_msg); //SQL KAPCSOLAT BEÁLLÍTÁSA -if ($_SERVER['HTTP_HOST'] == 'badmintoncoach-demo.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','id9073794_tollashodos','uprRscU8bGpJ','id9073794_tollashodos'); -$dev = $_SERVER['HTTP_HOST'] == 'badmintoncoach-demo.hu'; +$dev = $_SERVER['HTTP_HOST'] == 'cegledcoach.hu'; $config = array(); if ($dev) { - $config['domain'] = 'badmintoncoach-demo.hu'; + $config['domain'] = 'cegledcoach.hu'; } else { $config['domain'] = '000webhostapp.com'; diff --git a/event_handler.php b/event_handler.php index 1e36f8a..4a606c8 100644 --- a/event_handler.php +++ b/event_handler.php @@ -169,11 +169,12 @@ if (isset($_POST['action'])) { case 'training_type_update': # edzés típus lista updatelése ABí-ba unset($_POST['action']); - foreach ($_POST as $key => $value) { - $key_parts = explode('_', $key); - $trt_id = $key_parts[1]; - $sql->update_table('training_type', array('trt_name' => $value), array('trt_id' => $trt_id)); - } + // foreach ($_POST as $key => $value) { + // $key_parts = explode('_', $key); + // $trt_id = $key_parts[1]; + // $sql->update_table('training_type', array('trt_name' => $value), array('trt_id' => $trt_id)); + // } + training_type::update_training_type($_POST); log::register('update_training_type', 'update all'); header("Location: " . $actual_link); break; diff --git a/queries/trt_default_price_20190718.sql b/queries/trt_default_price_20190718.sql new file mode 100644 index 0000000..03e8c2c --- /dev/null +++ b/queries/trt_default_price_20190718.sql @@ -0,0 +1,5 @@ +ALTER TABLE `badminton_coach`.`training_type` +ADD COLUMN `trt_default_price` INT NULL DEFAULT NULL AFTER `trt_deleted`; + +ALTER TABLE `badminton_coach`.`training` +ADD COLUMN `tr_price` INT NULL DEFAULT NULL AFTER `tr_deleted`; diff --git a/template/templates/training_data_create.tpl b/template/templates/training_data_create.tpl index 6d10b2a..5c1be28 100644 --- a/template/templates/training_data_create.tpl +++ b/template/templates/training_data_create.tpl @@ -44,6 +44,10 @@
+
+ +
+
@@ -96,7 +100,6 @@ $('#training_templates').on('change', function(e) { let selectedTemplate = $('#training_templates option:selected').val(); - console.log(selectedTemplate); $.ajax({ url: '/_ajax/get_training_template.php', //method: 'GET', @@ -110,6 +113,7 @@ $('#tr_date').val(''); $('#tr_training_type_trt_id').val('null'); + $('#tr_training_type_trt_id').trigger('change'); $('#tr_duration').val(''); return; @@ -128,10 +132,36 @@ if (null != pdata['tt_time']) $('#tr_date').val(output + ' ' + pdata['tt_time']); - if (null != pdata['tt_training_type']) $('#tr_training_type_trt_id').val(pdata['tt_training_type']); + if (null != pdata['tt_training_type']) { + $('#tr_training_type_trt_id').val(pdata['tt_training_type']); + $('#tr_training_type_trt_id').trigger('change'); + } if (null != pdata['tt_duration']) $('#tr_duration').val(pdata['tt_duration']); } }); }); + $('#tr_training_type_trt_id').on('change', function(e) { + //get trt default price by ajax + let selectedType = $('#tr_training_type_trt_id option:selected').val(); + $.ajax({ + url: '/_ajax/get_trt_default_price.php', + //method: 'GET', + data: { + 'trt_id' : selectedType + }, + success: function(data, status, jqXHR) { + let pdata = JSON.parse(data); + console.log(pdata); + if (null === pdata) { + $('#tr_price').val(''); + return; + } + + $('#tr_price').val(pdata); + } + }); + + }); + diff --git a/template/templates/training_type_create.tpl b/template/templates/training_type_create.tpl index aff4a93..d997c8f 100644 --- a/template/templates/training_type_create.tpl +++ b/template/templates/training_type_create.tpl @@ -1,18 +1,20 @@
-
- + + -
- -
-
+
+ +
+
+
+ +
+
- -
-
- -
-
- -
-
\ No newline at end of file +
+
+ +
+
+ +
diff --git a/template/templates/training_type_edit.tpl b/template/templates/training_type_edit.tpl new file mode 100644 index 0000000..fdaae8f --- /dev/null +++ b/template/templates/training_type_edit.tpl @@ -0,0 +1,23 @@ +
+
+ + +
+ Törlés +
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+
diff --git a/template/templates/training_type_list.tpl b/template/templates/training_type_list.tpl index 1512fee..c251bdb 100644 --- a/template/templates/training_type_list.tpl +++ b/template/templates/training_type_list.tpl @@ -1,23 +1,15 @@ -
-
- - - {foreach $tr_type_assoc_array as $tr_type} -
-
- - Törlés -
-
- - {/foreach} -
-
- -
-
-
-
\ No newline at end of file +
+ Új edzés típus hozzáadása +
+{foreach $trt_array as $tr_type} +
+ +
+ + {$tr_type->get_trt_name()} +
+
+
+{/foreach} +