diff --git a/application/DashboardNew/DashboardNewController.php b/application/DashboardNew/DashboardNewController.php index 3dc14199b..f0cdeebeb 100644 --- a/application/DashboardNew/DashboardNewController.php +++ b/application/DashboardNew/DashboardNewController.php @@ -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([ diff --git a/application/Preorder/PreorderModel.php b/application/Preorder/PreorderModel.php index 4edfe6bb5..b66e47b1c 100644 --- a/application/Preorder/PreorderModel.php +++ b/application/Preorder/PreorderModel.php @@ -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";