mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-18 23:08:46 +02:00
Add helpers to retrieve some of the current contact data in UserRights
This commit is contained in:
@@ -1078,7 +1078,98 @@ class UserRights
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Contact|null
|
||||
* Return the absolute URL of the contact picture
|
||||
*
|
||||
* @param string $sName
|
||||
*
|
||||
* @return mixed|string
|
||||
* @throws \Exception
|
||||
* @since 2.8.0
|
||||
*/
|
||||
public static function GetContactPicture($sName = '')
|
||||
{
|
||||
$sPictureUrl = utils::GetAbsoluteUrlAppRoot().'img/user-profile-default-256px.png';
|
||||
|
||||
if (empty($sName))
|
||||
{
|
||||
$oUser = self::$m_oUser;
|
||||
}
|
||||
else
|
||||
{
|
||||
$oUser = FindUser($sName);
|
||||
}
|
||||
|
||||
// Check that user exists (in case we try to get it for another contact)
|
||||
if (!is_null($oUser) && !MetaModel::IsValidAttCode(get_class($oUser), static::DEFAULT_USER_CONTACT_ID_ATTCODE))
|
||||
{
|
||||
$oContact = $oUser->Get(static::DEFAULT_USER_CONTACT_ID_ATTCODE);
|
||||
$sContactClass = get_class($oContact);
|
||||
|
||||
// Check that user has a contact
|
||||
if(!is_null($oContact) && !MetaModel::IsValidAttCode($sContactClass, static::DEFAULT_CONTACT_PICTURE_ATTCODE))
|
||||
{
|
||||
/** @var \ormDocument $oPicture */
|
||||
$oPicture = $oContact->Get(static::DEFAULT_CONTACT_PICTURE_ATTCODE);
|
||||
if($oPicture->IsEmpty())
|
||||
{
|
||||
/** @var \AttributeImage $oAttDef */
|
||||
$oAttDef = MetaModel::GetAttributeDef($sContactClass, static::DEFAULT_CONTACT_PICTURE_ATTCODE);
|
||||
$sPictureUrl = $oAttDef->Get('default_image');
|
||||
}
|
||||
else
|
||||
{
|
||||
$sPictureUrl = $oPicture->GetDisplayURL($sContactClass, $oContact->GetKey(), static::DEFAULT_CONTACT_PICTURE_ATTCODE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $sPictureUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the organization name of the current user's contact.
|
||||
* If the user has no contact linked, null is returned.
|
||||
*
|
||||
* @return string|null
|
||||
* @throws \Exception
|
||||
* @since 2.8.0
|
||||
*/
|
||||
public static function GetContactOrganizationFriendlyname()
|
||||
{
|
||||
$sOrgFriendlyname = null;
|
||||
|
||||
$oContact = static::GetContactObject();
|
||||
if(!is_null($oContact) && MetaModel::IsValidAttCode(get_class($oContact), static::DEFAULT_CONTACT_ORG_ID_FRIENDLYNAME_ATTCODE))
|
||||
{
|
||||
$sOrgFriendlyname = $oContact->Get(static::DEFAULT_CONTACT_ORG_ID_FRIENDLYNAME_ATTCODE);
|
||||
}
|
||||
|
||||
return $sOrgFriendlyname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the first name of the current user's contact.
|
||||
* If the user has no contact, null is returned.
|
||||
*
|
||||
* @return string|null
|
||||
* @throws \Exception
|
||||
* @since 2.8.0
|
||||
*/
|
||||
public static function GetContactFirstname()
|
||||
{
|
||||
$sFirstname = null;
|
||||
|
||||
$oContact = static::GetContactObject();
|
||||
if(!is_null($oContact) && MetaModel::IsValidAttCode(get_class($oContact), static::DEFAULT_CONTACT_FIRSTNAME_ATTCODE))
|
||||
{
|
||||
$sFirstname = $oContact->Get(static::DEFAULT_CONTACT_FIRSTNAME_ATTCODE);
|
||||
}
|
||||
|
||||
return $sFirstname;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \DBObject|null
|
||||
*/
|
||||
public static function GetContactObject()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user