コード例 #1
0
 /**
  * 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())));
 }
コード例 #2
0
 /**
  * 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                        );";
 }