From 5ee367b74e3b4704f1a30c03db7fd1b79b23c69d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B3th=20Rich=C3=A1rd?= Date: Wed, 4 Dec 2019 23:11:40 +0100 Subject: [PATCH] trainings can be exported if user has the authority --- _include/include_export_trainings.php | 72 +++++++++++++++++++-------- _include/include_traininglist.php | 72 +++++++++++++++++++-------- common.php | 6 ++- 3 files changed, 105 insertions(+), 45 deletions(-) diff --git a/_include/include_export_trainings.php b/_include/include_export_trainings.php index 55bd3ec..09f1272 100644 --- a/_include/include_export_trainings.php +++ b/_include/include_export_trainings.php @@ -1,27 +1,55 @@ assoc_array(" - SELECT - tr_id 'Azonosító', - substring(tr_date,1,16) 'Időpont', - trt_name 'Típus', - GROUP_CONCAT(DISTINCT ua_name) 'Edzők', - COUNT(pr_id) 'Létszám' - FROM - training - JOIN - training_type ON trt_id = tr_training_type_trt_id - JOIN - training_coach ON trc_training_tr_id = tr_id - JOIN - user_coach ON ua_id = trc_coach_uc_id - JOIN - presence ON pr_training_tr_id = tr_id - WHERE - tr_deleted = 0 - GROUP BY tr_id - ORDER BY tr_date ASC; -"); +if ($user->has_authority(1)) { + $trainingAssocArray = $sql->assoc_array(" + SELECT + tr_id id, + substring(tr_date,1,16) 'date', + trt_name 'name', + GROUP_CONCAT(DISTINCT ua_name) 'coaches', + COUNT(pr_id) 'count' + FROM + training + JOIN + training_type ON trt_id = tr_training_type_trt_id + JOIN + training_coach ON trc_training_tr_id = tr_id + JOIN + user_coach ON ua_id = trc_coach_uc_id + JOIN + presence ON pr_training_tr_id = tr_id + WHERE + tr_deleted = 0 + GROUP BY tr_id + ORDER BY tr_date ASC; + "); +} +else { + $trainingAssocArray = $sql->assoc_array(" + SELECT + tr_id id, + substring(tr_date,1,16) 'date', + trt_name 'name', + GROUP_CONCAT(DISTINCT ua_name) 'coaches', + COUNT(pr_id) 'count' + FROM + training + JOIN + training_type ON trt_id = tr_training_type_trt_id + JOIN + training_coach trc1 ON trc1.trc_training_tr_id = tr_id + JOIN + training_coach trc2 ON trc2.trc_training_tr_id = tr_id + JOIN + user_coach ON ua_id = trc1.trc_coach_uc_id + JOIN + presence ON pr_training_tr_id = tr_id + WHERE + tr_deleted = 0 AND trc2.trc_coach_uc_id = {$user->get_ua_id()} + GROUP BY tr_id + ORDER BY tr_date ASC; + "); +} $filename = "edzeslista.csv"; $fp = fopen('php://output', 'w'); diff --git a/_include/include_traininglist.php b/_include/include_traininglist.php index b68142c..b4620dc 100644 --- a/_include/include_traininglist.php +++ b/_include/include_traininglist.php @@ -1,27 +1,55 @@ assoc_array(" - SELECT - tr_id id, - substring(tr_date,1,16) 'date', - trt_name 'name', - GROUP_CONCAT(DISTINCT ua_name) 'coaches', - COUNT(pr_id) 'count' - FROM - training - JOIN - training_type ON trt_id = tr_training_type_trt_id - JOIN - training_coach ON trc_training_tr_id = tr_id - JOIN - user_coach ON ua_id = trc_coach_uc_id - JOIN - presence ON pr_training_tr_id = tr_id - WHERE - tr_deleted = 0 - GROUP BY tr_id - ORDER BY tr_date ASC; -"); +if ($user->has_authority(1)) { + $trainingAssocArray = $sql->assoc_array(" + SELECT + tr_id id, + substring(tr_date,1,16) 'date', + trt_name 'name', + GROUP_CONCAT(DISTINCT ua_name) 'coaches', + COUNT(pr_id) 'count' + FROM + training + JOIN + training_type ON trt_id = tr_training_type_trt_id + JOIN + training_coach ON trc_training_tr_id = tr_id + JOIN + user_coach ON ua_id = trc_coach_uc_id + JOIN + presence ON pr_training_tr_id = tr_id + WHERE + tr_deleted = 0 + GROUP BY tr_id + ORDER BY tr_date ASC; + "); +} +else { + $trainingAssocArray = $sql->assoc_array(" + SELECT + tr_id id, + substring(tr_date,1,16) 'date', + trt_name 'name', + GROUP_CONCAT(DISTINCT ua_name) 'coaches', + COUNT(pr_id) 'count' + FROM + training + JOIN + training_type ON trt_id = tr_training_type_trt_id + JOIN + training_coach trc1 ON trc1.trc_training_tr_id = tr_id + JOIN + training_coach trc2 ON trc2.trc_training_tr_id = tr_id + JOIN + user_coach ON ua_id = trc1.trc_coach_uc_id + JOIN + presence ON pr_training_tr_id = tr_id + WHERE + tr_deleted = 0 AND trc2.trc_coach_uc_id = {$user->get_ua_id()} + GROUP BY tr_id + ORDER BY tr_date ASC; + "); +} $smarty->assign("trainings", $trainingAssocArray); $smarty->display("training_export_list.tpl"); diff --git a/common.php b/common.php index 25975b5..2d24536 100644 --- a/common.php +++ b/common.php @@ -127,7 +127,9 @@ $structure = array( 'shirt', 'city', 'school', - 'region' + 'region', + 'userlist', + 'export_users', ), 'trainings' => array( 'training_types', @@ -136,6 +138,8 @@ $structure = array( 'training_type', 'training_template', 'edit_training', + 'traininglist', + 'export_trainings' ), 'presence' => array( 'lock_training',