protected function btnDelete_Click($strFormId, $strControlId, $strParameter) { if ($objUserAccountArray = UserAccount::LoadArrayByRoleId($this->objRole->RoleId)) { $this->btnCancel->Warning = "You cannot delete roles with assigned user accounts."; } else { //Before deleting the role, we delete All Authorization Records in RoleEntytyQtype BuiltIn and Custom. foreach (RoleEntityQtypeBuiltInAuthorization::LoadArrayByRoleId($this->objRole->RoleId) as $objRoleBuiltInAuth) { $objRoleBuiltInAuth->Delete(); } foreach (RoleEntityQtypeCustomFieldAuthorization::LoadArrayByRoleId($this->objRole->RoleId) as $objRoleCustomAuth) { $objRoleCustomAuth->Delete(); } $this->objRole->Delete(); $this->RedirectToListPage(); } }
/** * Deletes all associated UserAccounts * @return void */ public function DeleteAllUserAccounts() { if (is_null($this->intRoleId)) { throw new QUndefinedPrimaryKeyException('Unable to call UnassociateUserAccount on this unsaved Role.'); } // Get the Database Object for this Class $objDatabase = Role::GetDatabase(); // Journaling if ($objDatabase->JournalingDatabase) { foreach (UserAccount::LoadArrayByRoleId($this->intRoleId) as $objUserAccount) { $objUserAccount->Journal('DELETE'); } } // Perform the SQL Query $objDatabase->NonQuery(' DELETE FROM `user_account` WHERE `role_id` = ' . $objDatabase->SqlVariable($this->intRoleId) . ' '); }
/** * Gets all associated UserAccounts as an array of UserAccount objects * @param QQClause[] $objOptionalClauses additional optional QQClause objects for this query * @return UserAccount[] */ public function GetUserAccountArray($objOptionalClauses = null) { if (is_null($this->intRoleId)) { return array(); } try { return UserAccount::LoadArrayByRoleId($this->intRoleId, $objOptionalClauses); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } }