public function dashboardSaveAction()
 {
     if (!wa()->getUser()->isAdmin('webasyst')) {
         throw new waException('Access denied', 403);
     }
     $id = waRequest::request('id', 0, 'int');
     $data = waRequest::request('dashboard', array(), 'array');
     $dashboard_model = new waDashboardModel();
     $data = array_intersect_key($data, $dashboard_model->getEmptyRow());
     unset($data['id'], $data['hash']);
     if ($id) {
         $dashboard_model->updateById($id, $data);
     } else {
         $data['hash'] = self::generateHash();
         $id = $dashboard_model->insert($data);
     }
     $this->displayJson($dashboard_model->getById($id));
 }