public function chkPermission_Click($strFormId, $strControlId, $strParameter) { if (is_numeric($strParameter)) { $chkPermission = $this->Form->GetControl($strControlId); if ($chkPermission->Checked) { $objRolePermission = new NarroRolePermission(); $objRolePermission->RoleId = $this->objRole->RoleId; $objRolePermission->PermissionId = $strParameter; try { $objRolePermission->Save(); } catch (QMySqliDatabaseException $objExc) { if (strpos($objExc->getMessage(), 'Duplicate entry') === false) { throw $objExc; } else { // } } } else { $objRolePermission = NarroRolePermission::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::NarroRolePermission()->RoleId, $this->objRole->RoleId), QQ::Equal(QQN::NarroRolePermission()->PermissionId, $strParameter))); if ($objRolePermission instanceof NarroRolePermission) { $objRolePermission->Delete(); } } } else { $this->dtgPermission_Bind(); } }
/** * Load a single NarroRolePermission object, * by RolePermissionId Index(es) * @param integer $intRolePermissionId * @param QQClause[] $objOptionalClauses additional optional QQClause objects for this query * @return NarroRolePermission */ public static function LoadByRolePermissionId($intRolePermissionId, $objOptionalClauses = null) { return NarroRolePermission::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::NarroRolePermission()->RolePermissionId, $intRolePermissionId)), $objOptionalClauses); }