private static function getSubmitUrl($module, $action, $view)
 {
     $url = $view->get('fields@url');
     if (!$url) {
         $url = sfContext::getInstance()->getController()->genUrl("{$module}/{$action}");
     }
     return UrlUtil::abs($url);
 }
 /**
  * Adds row action urls to the rows.
  */
 private static function addRowActionSuffixes($view, &$rows)
 {
     $rowactions = $view->wrapAll('rowactions/action');
     $actionNumber = 0;
     foreach ($rowactions as $action) {
         $actionNumber++;
         $url = UrlUtil::abs($action->get('@url'));
         $params = $action->get('@params', $action->get('@pk', 'id'));
         $params = explode(',', $params);
         $condition = $action->get('@condition');
         if ($condition) {
             $condition = afCall::rewriteIfOldCondition($condition, $params);
         }
         foreach ($rows as &$row) {
             if (!$condition || self::isRowActionEnabled($condition, $row)) {
                 self::addRowAction($row, $url, $params, $actionNumber);
             }
         }
     }
 }
 public static function getListjsonUrl($actionUrl)
 {
     return UrlUtil::abs($actionUrl . '?af_format=json');
 }
 private static function getProxyAttributes($parse)
 {
     $start = ArrayUtil::get($parse, 'params', 'proxystart', 0);
     $limit = ArrayUtil::get($parse, 'params', 'maxperpage', afDataFacade::DEFAULT_PROXY_LIMIT);
     $proxyUrl = UrlUtil::getListjsonUrl(afExtjsWidgets::getWidgetUrl($parse));
     $customProxyUrl = ArrayUtil::get($parse, 'proxy', $proxyUrl);
     if ($customProxyUrl !== 'parser/listjson') {
         $proxyUrl = $customProxyUrl;
     }
     $proxyUrl = UrlUtil::abs($proxyUrl);
     $proxyUrl = self::setupProxyUrl($proxyUrl, $parse);
     $args = array('url' => $proxyUrl, 'limit' => $limit, 'start' => $start);
     if (isset($parse["stateId"]) && $parse["stateId"] === "true") {
         $args['stateId'] = true;
     }
     return $args;
 }