diff --git a/CHANGELOG.md b/CHANGELOG.md index a4a8cfed00f32196f4cb510b81a1a4eb5615e428..a368a9fbda4d0c1dce2942a4176f3d60dcacf641 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Version 1.70 (not yet released) +* Regression fix dashlets not working anymore #122 + # Version 1.69 * Fixed issue with expanded search form when hard limit is enabled. diff --git a/CRM/Contact/Selector/DataProcessorContactSearch.php b/CRM/Contact/Selector/DataProcessorContactSearch.php index 8624043191a3e8efa497946a4e9f43f5f1dc57dc..f7af8c95648b5353e91d4fbc5c15d52483f5732b 100644 --- a/CRM/Contact/Selector/DataProcessorContactSearch.php +++ b/CRM/Contact/Selector/DataProcessorContactSearch.php @@ -44,7 +44,7 @@ class CRM_Contact_Selector_DataProcessorContactSearch { } $this->dataProcessorClass->getDataFlow()->addSort($sortField['name'], $sortDirection); } - CRM_Dataprocessor_Form_Output_AbstractUIOutputForm::applyLimit($this->dataProcessorClass, $formValues); + CRM_Dataprocessor_Form_Output_AbstractUIOutputForm::applyLimit($this->dataProcessorClass, $formValues, $this->dataProcessorOutput); } /** diff --git a/CRM/Dataprocessor/Form/Output/AbstractUIOutputForm.php b/CRM/Dataprocessor/Form/Output/AbstractUIOutputForm.php index 88ab305d4b2ccad39d361d9d16ba374c507c0251..bf39efce34d51186b9ba86c8ccdded06b6429d0f 100644 --- a/CRM/Dataprocessor/Form/Output/AbstractUIOutputForm.php +++ b/CRM/Dataprocessor/Form/Output/AbstractUIOutputForm.php @@ -227,9 +227,10 @@ abstract class CRM_Dataprocessor_Form_Output_AbstractUIOutputForm extends CRM_Co /** * Returns the default row limit. * + * @param array|null $output * @return int */ - protected static function getDefaultLimit(): int { + protected static function getDefaultLimit(array $output = null): int { return CRM_Utils_Pager::ROWCOUNT; } @@ -260,12 +261,13 @@ abstract class CRM_Dataprocessor_Form_Output_AbstractUIOutputForm extends CRM_Co * * @param \Civi\DataProcessor\ProcessorType\AbstractProcessorType $dataProcessor * @param array|null $submittedValues + * @param array|null $output * * @return void */ - public static function applyLimit(AbstractProcessorType $dataProcessor, array $submittedValues = null) { + public static function applyLimit(AbstractProcessorType $dataProcessor, array $submittedValues = null, array $output = null) { $hardLimit = static::getHardLimit($submittedValues); - $limit = static::getDefaultLimit(); + $limit = static::getDefaultLimit($output); if (isset($submittedValues['crmRowCount']) && $submittedValues['crmRowCount']) { $limit = $submittedValues['crmRowCount']; } diff --git a/CRM/DataprocessorDashlet/Form/Dashlet.php b/CRM/DataprocessorDashlet/Form/Dashlet.php index f8e6c708cee942c62767229801fb649fb0774fe9..728d4f943968a3c12b46d0866222f0cfcdcabdfd 100644 --- a/CRM/DataprocessorDashlet/Form/Dashlet.php +++ b/CRM/DataprocessorDashlet/Form/Dashlet.php @@ -15,12 +15,13 @@ class CRM_DataprocessorDashlet_Form_Dashlet extends CRM_DataprocessorSearch_Form /** * Returns the default row limit. * + * @param array|null $output * @return int */ - protected function getDefaultLimit(): int { + protected static function getDefaultLimit(array $output = null): int { $defaultLimit = 10; - if (!empty($this->dataProcessorOutput['configuration']['default_limit'])) { - $defaultLimit = $this->dataProcessorOutput['configuration']['default_limit']; + if (!empty($output['configuration']['default_limit'])) { + $defaultLimit = $output['configuration']['default_limit']; } return $defaultLimit; } diff --git a/CRM/DataprocessorSearch/Form/AbstractSearch.php b/CRM/DataprocessorSearch/Form/AbstractSearch.php index 20c6e87542222cb1d408f44c3a3184e374e88bcf..374862244b058ec1a62909db4ac1794e78f8291d 100644 --- a/CRM/DataprocessorSearch/Form/AbstractSearch.php +++ b/CRM/DataprocessorSearch/Form/AbstractSearch.php @@ -310,7 +310,7 @@ abstract class CRM_DataprocessorSearch_Form_AbstractSearch extends CRM_Dataproce } elseif ($id_field) { $this->dataProcessorClass->getDataFlow()->addSort($id_field, 'ASC'); } - static::applyLimit($this->dataProcessorClass, $this->_formValues); + static::applyLimit($this->dataProcessorClass, $this->_formValues, $this->dataProcessorOutput); $this->alterDataProcessor($this->dataProcessorClass); $this->dataProcessorClass->postInitialize(); @@ -437,7 +437,7 @@ abstract class CRM_DataprocessorSearch_Form_AbstractSearch extends CRM_Dataproce $params['total'] = 0; $params['status'] =E::ts('%%StatusMessage%%'); $params['csvString'] = NULL; - $params['rowCount'] = static::getDefaultLimit(); + $params['rowCount'] = static::getDefaultLimit($this->dataProcessorOutput); $params['buttonTop'] = 'PagerTopButton'; $params['buttonBottom'] = 'PagerBottomButton'; return $params;