/**
  * Generates the dashboard itself.
  * Loads all widgets placed on the dashboard
  *
  * @return string
  * @autoTestable
  * @permissions view
  */
 protected function actionList()
 {
     $strReturn = "";
     //load the widgets for each column. currently supporting 3 columns on the dashboard.
     $objDashboardmodel = new class_module_dashboard_widget();
     $arrColumns = array();
     //build each row
     foreach ($this->arrColumnsOnDashboard as $strColumnName) {
         $strColumnContent = $this->objToolkit->getDashboardColumnHeader($strColumnName);
         $strWidgetContent = "";
         foreach ($objDashboardmodel->getWidgetsForColumn($strColumnName, class_module_system_aspect::getCurrentAspectId()) as $objOneSystemmodel) {
             $strWidgetContent .= $this->layoutAdminWidget($objOneSystemmodel);
         }
         $strColumnContent .= $strWidgetContent;
         $strColumnContent .= $this->objToolkit->getDashboardColumnFooter();
         $arrColumns[] = $strColumnContent;
     }
     $strReturn .= $this->objToolkit->getMainDashboard($arrColumns);
     return $strReturn;
 }