public function main($path)
 {
     if (!isset(self::$options[$path['type']])) {
         return DataCenterUI::renderWidget('body', array('message' => 'invalid-request', 'type' => 'error'));
     }
     // Gets all assets from database
     $assets = DataCenterDB::getAssets($path['type'], array_merge_recursive(DataCenterDB::buildJoin('model', $path['type'], 'id', 'asset', $path['type'], 'model', array('name', 'manufacturer')), DataCenterDB::buildJoin('facility', 'location', 'id', 'asset', $path['type'], 'location', array('name' => 'location_name')), DataCenterDB::buildRange($path)));
     $numAssets = DataCenterDB::numAssets($path['type']);
     // Returns single columm layout with a table
     return DataCenterUI::renderLayout('columns', array(DataCenterUI::renderLayout('rows', array(DataCenterUI::renderWidget('heading', array('message' => 'assets-type', 'subject' => DataCenterUI::message('type', $path['type']))), DataCenterUI::renderWidget('table', array('rows' => $assets, 'num' => $numAssets, 'fields' => array('manufacturer', 'model' => array('field' => 'name'), 'serial', 'asset', 'tense' => array('format' => 'option'), 'location' => array('field' => 'location_name')), 'link' => array('page' => 'assets', 'type' => $path['type'], 'id' => '#id', 'action' => 'view'))), DataCenterUI::renderWidget('actions', array('links' => array(array('page' => 'assets', 'type' => $path['type'], 'action' => 'design')), 'rights' => array('change')))))));
 }