public function dtgPermission_PermissionColumn_Render(NarroPermission $objPermission) { if (QApplication::HasPermission('Can manage roles')) { $strControlId = 'chkPermission' . $objPermission->PermissionId; $chkPermission = new QCheckBox($this->dtgPermission); $chkPermission->Text = t($objPermission->PermissionName); $chkPermission->ActionParameter = $objPermission->PermissionId; $chkPermission->Checked = NarroRolePermission::QueryCount(QQ::AndCondition(QQ::Equal(QQN::NarroRolePermission()->RoleId, $this->objRole->RoleId), QQ::Equal(QQN::NarroRolePermission()->PermissionId, $objPermission->PermissionId))); if (QApplication::$UseAjax) { $chkPermission->AddAction(new QClickEvent(), new QAjaxControlAction($this, 'chkPermission_Click')); } else { $chkPermission->AddAction(new QClickEvent(), new QServerControlAction($this, 'chkPermission_Click')); } return $chkPermission->Render(false); } else { return t($objPermission->PermissionName); } }
/** * Default / simple DataBinder for this Meta DataGrid. This can easily be overridden * by calling SetDataBinder() on this DataGrid with another DataBinder of your choice. * * If a paginator is set on this DataBinder, it will use it. If not, then no pagination will be used. * It will also perform any sorting (if applicable). */ public function MetaDataBinder() { $objConditions = $this->Conditions; if (null !== $this->conAdditionalConditions) { $objConditions = QQ::AndCondition($this->conAdditionalConditions, $objConditions); } // Setup the $objClauses Array $objClauses = array(); if (null !== $this->clsAdditionalClauses) { $objClauses = $this->clsAdditionalClauses; } // Remember! We need to first set the TotalItemCount, which will affect the calcuation of LimitClause below if ($this->Paginator) { $this->TotalItemCount = NarroRolePermission::QueryCount($objConditions); } // If a column is selected to be sorted, and if that column has a OrderByClause set on it, then let's add // the OrderByClause to the $objClauses array if ($objClause = $this->OrderByClause) { array_push($objClauses, $objClause); } // Add the LimitClause information, as well if ($objClause = $this->LimitClause) { array_push($objClauses, $objClause); } // Set the DataSource to be a Query result from NarroRolePermission, given the clauses above $this->DataSource = NarroRolePermission::QueryArray($objConditions, $objClauses); }
/** * Count NarroRolePermissions * by PermissionId Index(es) * @param integer $intPermissionId * @return int */ public static function CountByPermissionId($intPermissionId) { // Call NarroRolePermission::QueryCount to perform the CountByPermissionId query return NarroRolePermission::QueryCount(QQ::Equal(QQN::NarroRolePermission()->PermissionId, $intPermissionId)); }