예제 #1
0
 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();
     }
 }
예제 #2
0
    /**
     * 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) . '
			');
    }
예제 #3
0
 /**
  * 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;
     }
 }