fixed gemeinde filter for new dashboard

This commit is contained in:
Luca Haid
2025-01-10 08:17:24 +01:00
parent 32c541095a
commit 8956ec58c6
2 changed files with 16 additions and 5 deletions

View File

@@ -140,12 +140,22 @@ class DashboardNewController extends mfBaseController {
$countFunction = function($params, $statusFlag = null) use ($campaign_ids, $gemeinde_ids) {
$baseParams = ["preordercampaign_id" => $campaign_ids];
if (!empty($gemeinde_ids)) {
$baseParams["gemeinde_id"] = $gemeinde_ids;
// as the count only supports 1 gemeinde id as filter we need to use a foreach to get the count for multiple gemeinde ids
$count = 0;
foreach ($gemeinde_ids as $gemeinde_id) {
$baseParams["gemeinde_id"] = $gemeinde_id;
$count += $statusFlag ?
PreorderModel::countStatusFlagsActive($baseParams, $statusFlag) :
PreorderModel::countActive($baseParams);
}
return $count;
} else {
$params = array_merge($baseParams, $params);
return $statusFlag ?
PreorderModel::countStatusFlagsActive($params, $statusFlag) :
PreorderModel::countActive($params);
}
$params = array_merge($baseParams, $params);
return $statusFlag ?
PreorderModel::countStatusFlagsActive($params, $statusFlag) :
PreorderModel::countActive($params);
};
self::returnJson([

View File

@@ -855,6 +855,7 @@ class PreorderModel {
$sql = "SELECT COUNT(*) as cnt
FROM `".FRONKDB_DBNAME."`.Preorder tt_preorder
LEFT JOIN `".FRONKDB_DBNAME."`.Preorderstatus tt_preorderstatus ON tt_preorder.status_id = tt_preorderstatus.id
LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id)
INNER JOIN `".FRONKDB_DBNAME."`.PreorderStatusflagValue psfv ON tt_preorder.id = psfv.preorder_id
INNER JOIN `".FRONKDB_DBNAME."`.PreorderStatusflag psf ON psfv.flag_id = psf.id
WHERE $where AND psf.code = ".$statusFlag." AND psfv.value = 1";