trainings can be exported if user has the authority

This commit is contained in:
Tóth Richárd
2019-12-04 23:11:40 +01:00
parent 42b55f047e
commit 5ee367b74e
3 changed files with 105 additions and 45 deletions

View File

@@ -1,27 +1,55 @@
<?php <?php
$trainingAssocArray = $sql->assoc_array(" if ($user->has_authority(1)) {
SELECT $trainingAssocArray = $sql->assoc_array("
tr_id 'Azonosító', SELECT
substring(tr_date,1,16) 'Időpont', tr_id id,
trt_name 'Típus', substring(tr_date,1,16) 'date',
GROUP_CONCAT(DISTINCT ua_name) 'Edzők', trt_name 'name',
COUNT(pr_id) 'Létszám' GROUP_CONCAT(DISTINCT ua_name) 'coaches',
FROM COUNT(pr_id) 'count'
training FROM
JOIN training
training_type ON trt_id = tr_training_type_trt_id JOIN
JOIN training_type ON trt_id = tr_training_type_trt_id
training_coach ON trc_training_tr_id = tr_id JOIN
JOIN training_coach ON trc_training_tr_id = tr_id
user_coach ON ua_id = trc_coach_uc_id JOIN
JOIN user_coach ON ua_id = trc_coach_uc_id
presence ON pr_training_tr_id = tr_id JOIN
WHERE presence ON pr_training_tr_id = tr_id
tr_deleted = 0 WHERE
GROUP BY tr_id tr_deleted = 0
ORDER BY tr_date ASC; 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"; $filename = "edzeslista.csv";
$fp = fopen('php://output', 'w'); $fp = fopen('php://output', 'w');

View File

@@ -1,27 +1,55 @@
<?php <?php
$trainingAssocArray = $sql->assoc_array(" if ($user->has_authority(1)) {
SELECT $trainingAssocArray = $sql->assoc_array("
tr_id id, SELECT
substring(tr_date,1,16) 'date', tr_id id,
trt_name 'name', substring(tr_date,1,16) 'date',
GROUP_CONCAT(DISTINCT ua_name) 'coaches', trt_name 'name',
COUNT(pr_id) 'count' GROUP_CONCAT(DISTINCT ua_name) 'coaches',
FROM COUNT(pr_id) 'count'
training FROM
JOIN training
training_type ON trt_id = tr_training_type_trt_id JOIN
JOIN training_type ON trt_id = tr_training_type_trt_id
training_coach ON trc_training_tr_id = tr_id JOIN
JOIN training_coach ON trc_training_tr_id = tr_id
user_coach ON ua_id = trc_coach_uc_id JOIN
JOIN user_coach ON ua_id = trc_coach_uc_id
presence ON pr_training_tr_id = tr_id JOIN
WHERE presence ON pr_training_tr_id = tr_id
tr_deleted = 0 WHERE
GROUP BY tr_id tr_deleted = 0
ORDER BY tr_date ASC; 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->assign("trainings", $trainingAssocArray);
$smarty->display("training_export_list.tpl"); $smarty->display("training_export_list.tpl");

View File

@@ -127,7 +127,9 @@ $structure = array(
'shirt', 'shirt',
'city', 'city',
'school', 'school',
'region' 'region',
'userlist',
'export_users',
), ),
'trainings' => array( 'trainings' => array(
'training_types', 'training_types',
@@ -136,6 +138,8 @@ $structure = array(
'training_type', 'training_type',
'training_template', 'training_template',
'edit_training', 'edit_training',
'traininglist',
'export_trainings'
), ),
'presence' => array( 'presence' => array(
'lock_training', 'lock_training',