if (!Reports_Utils::check_access_report($currentModule, $record_id, 'detail')) {
    sugar_die($mod_strings['ERR_REPORT_BEAN']);
}
// check user rights on this record
if (!Reports_Utils::check_access_report($bean->report_module, $officeParams['record'], 'export')) {
    sugar_die($mod_strings['ERR_REPORT_BEAN']);
}
$officeConfig = Reports_Utils::get_config();
if (isset($officeParams['link'])) {
    //need download template
    //generate link for this
    $answer['download'] = $mod_strings['BOX_DOWNLOAD_LINK'] . ':&nbsp;<a href="index.php?module=' . $bean->module_dir . '&action=processOfficeReport&to_pdf=true&officeTemplateDownload=on&record=' . $record_id . '&officeTemplateRecord=' . $officeParams['record'] . '" target="_blank" title="' . $mod_strings['BOX_DOWNLOAD_ON_LOCAL_PC'] . '">' . $mod_strings['BOX_DOWNLOAD_ON_LOCAL_PC'] . '</a>';
}
if (isset($officeParams['download']) or isset($officeParams['history']) or isset($officeParams['email'])) {
    //need generate report
    $document = $bean->buildReport($officeParams['record']);
    $filename = strftime($bean->report_filename) . '.' . $format;
    $seed = new $beanList[$bean->report_module]();
    $seed->retrieve($officeParams['record']);
    // history reports bean
    $historyBean = new OfficeReportHistory();
    $historyBean->name = $filename;
    if ($seed->module_dir == 'Contract' && isset($seed->opp_id)) {
        $historyBean->parent_id = $seed->opp_id;
        $historyBean->parent_type = 'Opportunities';
    } else {
        $historyBean->parent_type = $seed->module_dir;
        $historyBean->parent_id = $seed->id;
    }
    $historyBean->file_mime_type = $document->getMimetype();
    $historyBean->assigned_user_id = $current_user->id;