/** * Override to handle security/access resolution on links. */ protected function getCGridViewLastColumn() { $url = 'Yii::app()->createUrl("tasks/default/modalEdit", array("id" => $data->id))'; return array('class' => $this->resolveTaskModalButtonColumnClassName(), 'template' => '{update}', 'buttons' => array('update' => array('url' => $url, 'imageUrl' => false, 'visible' => 'ActionSecurityUtil::canCurrentUserPerformAction("Edit", $data)', 'options' => array('class' => 'pencil', 'title' => 'Update'), 'label' => '!', 'ajaxOptions' => TasksUtil::resolveAjaxOptionsForModalView('Edit'), 'redirectUrl' => Yii::app()->createUrl('home/default'), 'gridId' => $this->getGridViewId()))); }
/** * Get task modal script * @param string $type * @param string $url * @param string $selector * @param mixed $sourceId * @return string */ public static function registerTaskModalScript($type, $url, $selector, $sourceId = null) { assert('is_string($type)'); assert('is_string($url)'); assert('is_string($selector)'); assert('is_string($sourceId) || $sourceId == null'); $modalId = TasksUtil::getModalContainerId(); $ajaxOptions = TasksUtil::resolveAjaxOptionsForModalView($type, $sourceId); $ajaxOptions['beforeSend'] = new CJavaScriptExpression($ajaxOptions['beforeSend']); return "\$(document).on('click', '{$selector}', function()\n {\n var id = \$(this).attr('id');\n var idParts = id.split('-');\n var taskId = parseInt(idParts[1]);\n \$.ajax(\n {\n 'type' : 'GET',\n 'url' : '{$url}' + '&id=' + taskId,\n 'beforeSend' : {$ajaxOptions['beforeSend']},\n 'update' : '{$ajaxOptions['update']}',\n 'success': function(html){jQuery('#{$modalId}').html(html)}\n });\n }\n );"; }