function caGetDashboardWidgetHTML($po_request, $pn_column)
{
    $o_dashboard_manager = DashboardManager::load($po_request);
    $va_widget_list = $o_dashboard_manager->getWidgetsForColumn($pn_column);
    foreach ($va_widget_list as $vn_i => $va_widget_info) {
        print "<div class='portlet' id='dashboardWidget_{$pn_column}_{$vn_i}'>";
        print caNavLink($po_request, '<img src="' . $po_request->getThemeUrlPath() . '/graphics/spacer.gif" width="16" height="16" border="0" title="' . _t("remove widget from dashboard") . '">', 'dashboardRemoveWidget', '', 'Dashboard', 'removeWidget', array('widget' => $va_widget_info['widget'], 'widget_id' => $va_widget_info['widget_id']));
        if ($o_dashboard_manager->widgetHasSettings($va_widget_info['widget'])) {
            print "<a href='#' class='dashboardWidgetSettingsButton' onclick='jQuery(\"#content_" . $va_widget_info['widget_id'] . "\").load(\"" . caNavUrl($po_request, '', 'Dashboard', 'getSettingsForm') . "\", { widget_id: \"" . $va_widget_info['widget_id'] . "\" }); return false;'><img src='" . $po_request->getThemeUrlPath() . "/graphics/spacer.gif' width='16' height='16' border='0' title='" . _t("Modify settings for this widget") . "'></a>";
        }
        print '<div class="portlet-header">' . WidgetManager::getWidgetTitle($va_widget_info['widget']) . '</div>';
        print '<div class="portlet-content" id="content_' . $va_widget_info['widget_id'] . '">' . $o_dashboard_manager->renderWidget($va_widget_info['widget'], $va_widget_info['widget_id'], $va_widget_info['settings']) . '</div>';
        print '</div>';
    }
}