Dashboard widgetid override
Description: When rendering a dashboard with several Minilist widgets, all rendered widges are same. This is caused by storing wrong id into the widgetid view variable. The fix merged by !959 (merged) is incomplete, because it does not cover the case when a new Minilist is added into a dashboard.
Steps to Reproduce: Add a new Minilist widet into a dashboard
Expected Behavior: The newly added widget is rendered after refresh
Current Behavior:: The newly added widget is rendered with wrong content.
Enviroment:
- vTiger CRM Version: 8.0
- Docker php:8.2-apache & mysql:8.1.0
Suggested solution
vtigercrm/modules/Vtiger/views/ShowWidget.php
class Vtiger_ShowWidget_View extends Vtiger_IndexAjax_View {
...
function process(Vtiger_Request $request) {
...
$widget->add();
$reqWidgetId = $request->get('widgetid');
$dbWidgetId = $widget->get('id'); //loaded by $widget->add() above
if(empty($reqWidgetId) && !empty($dbWidgetId)) {
$request->set('widgetid', $dbWidgetId);
}
...
}
...
}