diff --git a/modules/Reports/actions/Save.php b/modules/Reports/actions/Save.php index 197182bb368e6514085a3862d73ed2d210943a5b..d76a13b100091dab12b34ee80aea7fb8dd879985 100644 --- a/modules/Reports/actions/Save.php +++ b/modules/Reports/actions/Save.php @@ -26,21 +26,23 @@ class Reports_Save_Action extends Vtiger_Save_Action { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } } - $selectedFields = $request->get('selected_fields'); - if (count($selectedFields) > 0) { - foreach ($selectedFields as $field) { - list($tablename, $colname, $module_field, $fieldname, $single) = split(":", $field); - list($module, $fieldName) = split("_", $module_field, 2); - $moduleModel = Vtiger_Module_Model::getInstance($module); - $fieldModel = Vtiger_Field_Model::getInstance($fieldname, $moduleModel); - - if ($fieldModel->table !== $tablename) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); - } elseif ($fieldModel->column !== $colname) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); - } - } - } + + $selectedFields = $request->get('selected_fields'); + $groupbyfields = $request->get('groupbyfield'); + $fieldsData = array($selectedFields, $groupbyfields); + + foreach ($fieldsData as $selectedField){ + foreach ($selectedField as $field) { + list($tablename, $colname, $module_field, $fieldname, $single) = split(":", $field); + list($module, $fieldName) = split("_", $module_field, 2); + $moduleModel = Vtiger_Module_Model::getInstance($module); + $fieldModel = Vtiger_Field_Model::getInstance($fieldname, $moduleModel); + + if (($fieldModel->table !== $tablename) || ($fieldModel->column !== $colname)) { + throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); + } + } + } return true; }