public static function LoadByUsername($strUsername, $objOptionalClauses = null) { $objUser = NarroUser::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::NarroUser()->Username, $strUsername))); if (!$objUser instanceof NarroUser) { return false; } $arrUserRole = NarroUserRole::LoadArrayByUserId($objUser->intUserId); foreach ($arrUserRole as $objRole) { $arrRolePermission = NarroRolePermission::LoadArrayByRoleId($objRole->RoleId); foreach ($arrRolePermission as $objRolePermission) { $objUser->arrPermissions[$objRolePermission->Permission->PermissionName . '-' . $objRole->LanguageId . '-' . $objRole->ProjectId] = $objRolePermission; } } if (isset($objUser->Preferences['Language'])) { $objLanguage = NarroLanguage::LoadByLanguageCode($objUser->Preferences['Language']); if ($objLanguage instanceof NarroLanguage) { $objUser->Language = $objLanguage; } elseif (QApplication::$TargetLanguage instanceof NarroLanguage) { $objUser->Language = QApplication::$TargetLanguage; } } else { $objUser->Language = QApplication::$TargetLanguage; } return $objUser; }
/** * Gets all associated NarroUserRolesAsUser as an array of NarroUserRole objects * @param QQClause[] $objOptionalClauses additional optional QQClause objects for this query * @return NarroUserRole[] */ public function GetNarroUserRoleAsUserArray($objOptionalClauses = null) { if (is_null($this->intUserId)) { return array(); } try { return NarroUserRole::LoadArrayByUserId($this->intUserId, $objOptionalClauses); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } }
public function dtgUserRole_Bind() { // Because we want to enable pagination AND sorting, we need to setup the $objClauses array to send to LoadAll() // Setup the $objClauses Array $objClauses = array(); // 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->dtgUserRole->OrderByClause) { array_push($objClauses, $objClause); } // Add the LimitClause information, as well if ($objClause = $this->dtgUserRole->LimitClause) { array_push($objClauses, $objClause); } // Set the DataSource to be the array of all NarroUser objects, given the clauses above $this->dtgUserRole->DataSource = NarroUserRole::LoadArrayByUserId($this->objUser->UserId, $objClauses); }