Neur0toxine
5f69051859
* New module structure (refactoring) * Simple serializer and deserializer with models, new architecture * Move logic to strategies * Partial api client facade implementation (full implementation is not necessary for now) * Loyalty feature installer * Sms verification order (#167) * Make updater self-sufficient * Fix for order submit & fix for incorrect component rendering in the constructor * Fix for loyalty personal area error handling * Fix for cart component identity * Fix for softlock when customer cannot be registered in loyalty Co-authored-by: Сергей Чазов <45812598+Chazovs@users.noreply.github.com> Co-authored-by: Sergey Chazov <oitv18@gmail.com>
1734 lines
30 KiB
PHP
1734 lines
30 KiB
PHP
<?php
|
|
|
|
/**
|
|
* PHP version 7.1
|
|
*
|
|
* @category Integration
|
|
* @package Intaro\RetailCrm\Model\Bitrix
|
|
* @author RetailCRM <integration@retailcrm.ru>
|
|
* @license MIT
|
|
* @link http://retailcrm.ru
|
|
* @see http://retailcrm.ru/docs
|
|
*/
|
|
|
|
namespace Intaro\RetailCrm\Model\Bitrix;
|
|
|
|
use Bitrix\Main\Type\DateTime;
|
|
use Intaro\RetailCrm\Component\Json\Mapping;
|
|
use Intaro\RetailCrm\Repository\UserRepository;
|
|
|
|
/**
|
|
* Class User
|
|
*
|
|
* @package Intaro\RetailCrm\Model\Bitrix
|
|
*/
|
|
class User extends AbstractSerializableModel
|
|
{
|
|
/**
|
|
* @var int
|
|
*
|
|
* @Mapping\Type("int")
|
|
* @Mapping\SerializedName("ID")
|
|
*/
|
|
private $id;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("LOGIN")
|
|
*/
|
|
private $login;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PASSWORD")
|
|
*/
|
|
private $password;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("EMAIL")
|
|
*/
|
|
private $email;
|
|
|
|
/**
|
|
* @var bool
|
|
*
|
|
* @Mapping\Type("bool")
|
|
* @Mapping\SerializedName("ACTIVE")
|
|
* @Mapping\BitrixBoolean
|
|
*/
|
|
private $active;
|
|
|
|
/**
|
|
* @var \DateTime|null
|
|
*
|
|
* @Mapping\Type("DateTime<'m.d.Y H:i:s'>")
|
|
* @Mapping\SerializedName("DATE_REGISTER")
|
|
*/
|
|
private $dateRegister;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("DATE_REG_SHORT")
|
|
* @Mapping\NoTransform()
|
|
*/
|
|
private $dateRegShort;
|
|
|
|
/**
|
|
* @var \DateTime
|
|
*
|
|
* @Mapping\Type("DateTime<'m.d.Y H:i:s'>")
|
|
* @Mapping\SerializedName("LAST_LOGIN")
|
|
*/
|
|
private $lastLogin;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("LAST_LOGIN_SHORT")
|
|
* @Mapping\NoTransform()
|
|
*/
|
|
private $lastLoginShort;
|
|
|
|
/**
|
|
* @var \DateTime
|
|
*
|
|
* @Mapping\Type("DateTime<'m.d.Y H:i:s'>")
|
|
* @Mapping\SerializedName("LAST_ACTIVITY_DATE")
|
|
*/
|
|
private $lastActivityDate;
|
|
|
|
/**
|
|
* @var \DateTime
|
|
*
|
|
* @Mapping\Type("DateTime<'m.d.Y H:i:s'>")
|
|
* @Mapping\SerializedName("TIMESTAMP_X")
|
|
*/
|
|
private $timestampX;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("NAME")
|
|
*/
|
|
private $name;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("SECOND_NAME")
|
|
*/
|
|
private $secondName;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("LAST_NAME")
|
|
*/
|
|
private $lastName;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("TITLE")
|
|
*/
|
|
private $title;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("EXTERNAL_AUTH_ID")
|
|
*/
|
|
private $externalAuthId;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("XML_ID")
|
|
*/
|
|
private $xmlId;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("BX_USER_ID")
|
|
*/
|
|
private $bxUserId;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("CONFIRM_CODE")
|
|
*/
|
|
private $confirmCode;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("LID")
|
|
*/
|
|
private $lid;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("LANGUAGE_ID")
|
|
*/
|
|
private $languageId;
|
|
|
|
/**
|
|
* @var int
|
|
*
|
|
* @Mapping\Type("int")
|
|
* @Mapping\SerializedName("TIME_ZONE_OFFSET")
|
|
*/
|
|
private $timeZoneOffset;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_PROFESSION")
|
|
*/
|
|
private $personalProfession;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_PHONE")
|
|
*/
|
|
private $personalPhone;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_MOBILE")
|
|
*/
|
|
private $personalMobile;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_WWW")
|
|
*/
|
|
private $personalWww;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_ICQ")
|
|
*/
|
|
private $personalIcq;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_FAX")
|
|
*/
|
|
private $personalFax;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_PAGER")
|
|
*/
|
|
private $personalPager;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_STREET")
|
|
*/
|
|
private $personalStreet;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_MAILBOX")
|
|
*/
|
|
private $personalMailbox;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_CITY")
|
|
*/
|
|
private $personalCity;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_STATE")
|
|
*/
|
|
private $personalState;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_ZIP")
|
|
*/
|
|
private $personalZip;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_COUNTRY")
|
|
*/
|
|
private $personalCountry;
|
|
|
|
/**
|
|
* @var DateTime
|
|
* // TODO: Replace $personalBirthday with \DateTime
|
|
* @Mapping\Type("DateTime")
|
|
* @Mapping\SerializedName("PERSONAL_BIRTHDAY")
|
|
* @Mapping\NoTransform()
|
|
*/
|
|
private $personalBirthday;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_GENDER")
|
|
*/
|
|
private $personalGender;
|
|
|
|
/**
|
|
* @var int
|
|
*
|
|
* @Mapping\Type("int")
|
|
* @Mapping\SerializedName("PERSONAL_PHOTO")
|
|
*/
|
|
private $personalPhoto;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("PERSONAL_NOTES")
|
|
*/
|
|
private $personalNotes;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_COMPANY")
|
|
*/
|
|
private $workCompany;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_DEPARTMENT")
|
|
*/
|
|
private $workDepartment;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_PHONE")
|
|
*/
|
|
private $workPhone;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_POSITION")
|
|
*/
|
|
private $workPosition;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_WWW")
|
|
*/
|
|
private $workWww;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_FAX")
|
|
*/
|
|
private $workFax;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_PAGER")
|
|
*/
|
|
private $workPager;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_STREET")
|
|
*/
|
|
private $workStreet;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_MAILBOX")
|
|
*/
|
|
private $workMailbox;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_CITY")
|
|
*/
|
|
private $workCity;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_STATE")
|
|
*/
|
|
private $workState;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_ZIP")
|
|
*/
|
|
private $workZip;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_COUNTRY")
|
|
*/
|
|
private $workCountry;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_PROFILE")
|
|
*/
|
|
private $workProfile;
|
|
|
|
/**
|
|
* @var int
|
|
*
|
|
* @Mapping\Type("int")
|
|
* @Mapping\SerializedName("WORK_LOGO")
|
|
*/
|
|
private $workLogo;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("WORK_NOTES")
|
|
*/
|
|
private $workNotes;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("ADMIN_NOTES")
|
|
*/
|
|
private $adminNotes;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @Mapping\Type("string")
|
|
* @Mapping\SerializedName("SHORT_NAME")
|
|
*/
|
|
private $shortName;
|
|
|
|
/**
|
|
* @var bool
|
|
*
|
|
* @Mapping\Type("bool")
|
|
* @Mapping\SerializedName("IS_ONLINE")
|
|
*/
|
|
private $isOnline;
|
|
|
|
/**
|
|
* @var bool
|
|
*
|
|
* @Mapping\Type("bool")
|
|
* @Mapping\SerializedName("IS_REAL_USER")
|
|
*/
|
|
private $isRealUser;
|
|
|
|
/**
|
|
* @var mixed
|
|
*
|
|
* @Mapping\Type("mixed")
|
|
* @Mapping\SerializedName("INDEX")
|
|
*/
|
|
private $index;
|
|
|
|
/**
|
|
* @var mixed
|
|
*
|
|
* @Mapping\Type("mixed")
|
|
* @Mapping\SerializedName("INDEX_SELECTOR")
|
|
*/
|
|
private $indexSelector;
|
|
|
|
/**
|
|
* @var \Intaro\RetailCrm\Model\Bitrix\UserLoyaltyData $loyalty
|
|
*
|
|
* @Mapping\Type("\Intaro\RetailCrm\Model\Bitrix\UserLoyaltyData")
|
|
* @Mapping\SerializedName("loyalty")
|
|
*/
|
|
private $loyalty;
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getId(): ?int
|
|
{
|
|
return $this->id;
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setId($id): ?User
|
|
{
|
|
$this->id = $id;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getLogin(): ?string
|
|
{
|
|
return $this->login;
|
|
}
|
|
|
|
/**
|
|
* @param string $login
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setLogin($login): ?User
|
|
{
|
|
$this->login = $login;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPassword(): ?string
|
|
{
|
|
return $this->password;
|
|
}
|
|
|
|
/**
|
|
* @param string $password
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPassword($password): ?User
|
|
{
|
|
$this->password = $password;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getEmail(): ?string
|
|
{
|
|
return $this->email;
|
|
}
|
|
|
|
/**
|
|
* @param string $email
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setEmail($email): ?User
|
|
{
|
|
$this->email = $email;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function getActive(): ?bool
|
|
{
|
|
return $this->active;
|
|
}
|
|
|
|
/**
|
|
* @param bool $active
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setActive($active): ?User
|
|
{
|
|
$this->active = $active;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return \DateTime|null
|
|
*/
|
|
public function getDateRegister(): ?\DateTime
|
|
{
|
|
return $this->dateRegister;
|
|
}
|
|
|
|
/**
|
|
* @param \DateTime $dateRegister
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setDateRegister($dateRegister): ?User
|
|
{
|
|
$this->dateRegister = $dateRegister;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string|null
|
|
*/
|
|
public function getDateRegShort(): ?string
|
|
{
|
|
return $this->dateRegShort;
|
|
}
|
|
|
|
/**
|
|
* @param string $dateRegShort
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setDateRegShort($dateRegShort): User
|
|
{
|
|
$this->dateRegShort = $dateRegShort;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return \DateTime|null
|
|
*/
|
|
public function getLastLogin(): ?\DateTime
|
|
{
|
|
return $this->lastLogin;
|
|
}
|
|
|
|
/**
|
|
* @param \DateTime $lastLogin
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setLastLogin($lastLogin): ?User
|
|
{
|
|
$this->lastLogin = $lastLogin;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getLastLoginShort(): ?string
|
|
{
|
|
return $this->lastLoginShort;
|
|
}
|
|
|
|
/**
|
|
* @param string $lastLoginShort
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setLastLoginShort($lastLoginShort): User
|
|
{
|
|
$this->lastLoginShort = $lastLoginShort;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return \DateTime
|
|
*/
|
|
public function getLastActivityDate(): ?\DateTime
|
|
{
|
|
return $this->lastActivityDate;
|
|
}
|
|
|
|
/**
|
|
* @param \DateTime $lastActivityDate
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setLastActivityDate($lastActivityDate): ?User
|
|
{
|
|
$this->lastActivityDate = $lastActivityDate;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return \DateTime
|
|
*/
|
|
public function getTimestampX(): ?\DateTime
|
|
{
|
|
return $this->timestampX;
|
|
}
|
|
|
|
/**
|
|
* @param \DateTime $timestampX
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setTimestampX($timestampX): ?User
|
|
{
|
|
$this->timestampX = $timestampX;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getName(): ?string
|
|
{
|
|
return $this->name;
|
|
}
|
|
|
|
/**
|
|
* @param string $name
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setName($name): ?User
|
|
{
|
|
$this->name = $name;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getSecondName(): ?string
|
|
{
|
|
return $this->secondName;
|
|
}
|
|
|
|
/**
|
|
* @param string $secondName
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setSecondName($secondName): ?User
|
|
{
|
|
$this->secondName = $secondName;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getLastName(): ?string
|
|
{
|
|
return $this->lastName;
|
|
}
|
|
|
|
/**
|
|
* @param string $lastName
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setLastName($lastName): ?User
|
|
{
|
|
$this->lastName = $lastName;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getTitle(): ?string
|
|
{
|
|
return $this->title;
|
|
}
|
|
|
|
/**
|
|
* @param string $title
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setTitle($title): ?User
|
|
{
|
|
$this->title = $title;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getExternalAuthId(): ?string
|
|
{
|
|
return $this->externalAuthId;
|
|
}
|
|
|
|
/**
|
|
* @param string $externalAuthId
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setExternalAuthId($externalAuthId): ?User
|
|
{
|
|
$this->externalAuthId = $externalAuthId;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getXmlId(): ?string
|
|
{
|
|
return $this->xmlId;
|
|
}
|
|
|
|
/**
|
|
* @param string $xmlId
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setXmlId($xmlId): ?User
|
|
{
|
|
$this->xmlId = $xmlId;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getBxUserId(): ?string
|
|
{
|
|
return $this->bxUserId;
|
|
}
|
|
|
|
/**
|
|
* @param string $bxUserId
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setBxUserId($bxUserId): ?User
|
|
{
|
|
$this->bxUserId = $bxUserId;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getConfirmCode(): ?string
|
|
{
|
|
return $this->confirmCode;
|
|
}
|
|
|
|
/**
|
|
* @param string $confirmCode
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setConfirmCode($confirmCode): ?User
|
|
{
|
|
$this->confirmCode = $confirmCode;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getLid(): ?string
|
|
{
|
|
return $this->lid;
|
|
}
|
|
|
|
/**
|
|
* @param string $lid
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setLid($lid): ?User
|
|
{
|
|
$this->lid = $lid;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getLanguageId(): ?string
|
|
{
|
|
return $this->languageId;
|
|
}
|
|
|
|
/**
|
|
* @param string $languageId
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setLanguageId($languageId): ?User
|
|
{
|
|
$this->languageId = $languageId;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getTimeZoneOffset(): ?int
|
|
{
|
|
return $this->timeZoneOffset;
|
|
}
|
|
|
|
/**
|
|
* @param int $timeZoneOffset
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setTimeZoneOffset($timeZoneOffset): ?User
|
|
{
|
|
$this->timeZoneOffset = $timeZoneOffset;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalProfession(): ?string
|
|
{
|
|
return $this->personalProfession;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalProfession
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalProfession($personalProfession): ?User
|
|
{
|
|
$this->personalProfession = $personalProfession;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalPhone(): ?string
|
|
{
|
|
return $this->personalPhone;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalPhone
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalPhone($personalPhone): ?User
|
|
{
|
|
$this->personalPhone = $personalPhone;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalMobile(): ?string
|
|
{
|
|
return $this->personalMobile;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalMobile
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalMobile($personalMobile): ?User
|
|
{
|
|
$this->personalMobile = $personalMobile;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalWww(): ?string
|
|
{
|
|
return $this->personalWww;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalWww
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalWww($personalWww): ?User
|
|
{
|
|
$this->personalWww = $personalWww;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalIcq(): ?string
|
|
{
|
|
return $this->personalIcq;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalIcq
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalIcq($personalIcq): ?User
|
|
{
|
|
$this->personalIcq = $personalIcq;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalFax(): ?string
|
|
{
|
|
return $this->personalFax;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalFax
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalFax($personalFax): ?User
|
|
{
|
|
$this->personalFax = $personalFax;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalPager(): ?string
|
|
{
|
|
return $this->personalPager;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalPager
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalPager($personalPager): ?User
|
|
{
|
|
$this->personalPager = $personalPager;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalStreet(): ?string
|
|
{
|
|
return $this->personalStreet;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalStreet
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalStreet($personalStreet): ?User
|
|
{
|
|
$this->personalStreet = $personalStreet;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalMailbox(): ?string
|
|
{
|
|
return $this->personalMailbox;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalMailbox
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalMailbox($personalMailbox): ?User
|
|
{
|
|
$this->personalMailbox = $personalMailbox;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalCity(): ?string
|
|
{
|
|
return $this->personalCity;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalCity
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalCity($personalCity): ?User
|
|
{
|
|
$this->personalCity = $personalCity;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalState(): ?string
|
|
{
|
|
return $this->personalState;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalState
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalState($personalState): ?User
|
|
{
|
|
$this->personalState = $personalState;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalZip(): ?string
|
|
{
|
|
return $this->personalZip;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalZip
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalZip($personalZip): ?User
|
|
{
|
|
$this->personalZip = $personalZip;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalCountry(): ?string
|
|
{
|
|
return $this->personalCountry;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalCountry
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalCountry($personalCountry): ?User
|
|
{
|
|
$this->personalCountry = $personalCountry;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return \Bitrix\Main\Type\DateTime
|
|
*/
|
|
public function getPersonalBirthday()
|
|
{
|
|
return $this->personalBirthday;
|
|
}
|
|
|
|
/**
|
|
* @param \Bitrix\Main\Type\DateTime $personalBirthday
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalBirthday($personalBirthday): ?User
|
|
{
|
|
$this->personalBirthday = $personalBirthday;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalGender(): ?string
|
|
{
|
|
return $this->personalGender;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalGender
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalGender($personalGender): ?User
|
|
{
|
|
$this->personalGender = $personalGender;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getPersonalPhoto(): ?int
|
|
{
|
|
return $this->personalPhoto;
|
|
}
|
|
|
|
/**
|
|
* @param int $personalPhoto
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalPhoto($personalPhoto): ?User
|
|
{
|
|
$this->personalPhoto = $personalPhoto;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPersonalNotes(): ?string
|
|
{
|
|
return $this->personalNotes;
|
|
}
|
|
|
|
/**
|
|
* @param string $personalNotes
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setPersonalNotes($personalNotes): ?User
|
|
{
|
|
$this->personalNotes = $personalNotes;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkCompany(): ?string
|
|
{
|
|
return $this->workCompany;
|
|
}
|
|
|
|
/**
|
|
* @param string $workCompany
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkCompany($workCompany): ?User
|
|
{
|
|
$this->workCompany = $workCompany;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkDepartment(): ?string
|
|
{
|
|
return $this->workDepartment;
|
|
}
|
|
|
|
/**
|
|
* @param string $workDepartment
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkDepartment($workDepartment): ?User
|
|
{
|
|
$this->workDepartment = $workDepartment;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkPhone(): ?string
|
|
{
|
|
return $this->workPhone;
|
|
}
|
|
|
|
/**
|
|
* @param string $workPhone
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkPhone($workPhone): ?User
|
|
{
|
|
$this->workPhone = $workPhone;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkPosition(): ?string
|
|
{
|
|
return $this->workPosition;
|
|
}
|
|
|
|
/**
|
|
* @param string $workPosition
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkPosition($workPosition): ?User
|
|
{
|
|
$this->workPosition = $workPosition;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkWww(): ?string
|
|
{
|
|
return $this->workWww;
|
|
}
|
|
|
|
/**
|
|
* @param string $workWww
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkWww($workWww): ?User
|
|
{
|
|
$this->workWww = $workWww;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkFax(): ?string
|
|
{
|
|
return $this->workFax;
|
|
}
|
|
|
|
/**
|
|
* @param string $workFax
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkFax($workFax): ?User
|
|
{
|
|
$this->workFax = $workFax;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkPager(): ?string
|
|
{
|
|
return $this->workPager;
|
|
}
|
|
|
|
/**
|
|
* @param string $workPager
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkPager($workPager): ?User
|
|
{
|
|
$this->workPager = $workPager;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkStreet(): ?string
|
|
{
|
|
return $this->workStreet;
|
|
}
|
|
|
|
/**
|
|
* @param string $workStreet
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkStreet($workStreet): ?User
|
|
{
|
|
$this->workStreet = $workStreet;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkMailbox(): ?string
|
|
{
|
|
return $this->workMailbox;
|
|
}
|
|
|
|
/**
|
|
* @param string $workMailbox
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkMailbox($workMailbox): ?User
|
|
{
|
|
$this->workMailbox = $workMailbox;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkCity(): ?string
|
|
{
|
|
return $this->workCity;
|
|
}
|
|
|
|
/**
|
|
* @param string $workCity
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkCity($workCity): ?User
|
|
{
|
|
$this->workCity = $workCity;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkState(): ?string
|
|
{
|
|
return $this->workState;
|
|
}
|
|
|
|
/**
|
|
* @param string $workState
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkState($workState): ?User
|
|
{
|
|
$this->workState = $workState;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkZip(): ?string
|
|
{
|
|
return $this->workZip;
|
|
}
|
|
|
|
/**
|
|
* @param string $workZip
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkZip($workZip): ?User
|
|
{
|
|
$this->workZip = $workZip;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkCountry(): ?string
|
|
{
|
|
return $this->workCountry;
|
|
}
|
|
|
|
/**
|
|
* @param string $workCountry
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkCountry($workCountry): ?User
|
|
{
|
|
$this->workCountry = $workCountry;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkProfile(): ?string
|
|
{
|
|
return $this->workProfile;
|
|
}
|
|
|
|
/**
|
|
* @param string $workProfile
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkProfile($workProfile): ?User
|
|
{
|
|
$this->workProfile = $workProfile;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getWorkLogo(): ?int
|
|
{
|
|
return $this->workLogo;
|
|
}
|
|
|
|
/**
|
|
* @param int $workLogo
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkLogo($workLogo): ?User
|
|
{
|
|
$this->workLogo = $workLogo;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getWorkNotes(): ?string
|
|
{
|
|
return $this->workNotes;
|
|
}
|
|
|
|
/**
|
|
* @param string $workNotes
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setWorkNotes($workNotes): ?User
|
|
{
|
|
$this->workNotes = $workNotes;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getAdminNotes(): ?string
|
|
{
|
|
return $this->adminNotes;
|
|
}
|
|
|
|
/**
|
|
* @param string $adminNotes
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setAdminNotes($adminNotes): ?User
|
|
{
|
|
$this->adminNotes = $adminNotes;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getShortName(): ?string
|
|
{
|
|
return $this->shortName;
|
|
}
|
|
|
|
/**
|
|
* @param string $shortName
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setShortName($shortName): ?User
|
|
{
|
|
$this->shortName = $shortName;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function isOnline(): ?bool
|
|
{
|
|
return $this->isOnline;
|
|
}
|
|
|
|
/**
|
|
* @param bool $isOnline
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setIsOnline($isOnline): ?User
|
|
{
|
|
$this->isOnline = $isOnline;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function isRealUser(): ?bool
|
|
{
|
|
return $this->isRealUser;
|
|
}
|
|
|
|
/**
|
|
* @param bool $isRealUser
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setIsRealUser($isRealUser): ?User
|
|
{
|
|
$this->isRealUser = $isRealUser;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return mixed
|
|
*/
|
|
public function getIndex()
|
|
{
|
|
return $this->index;
|
|
}
|
|
|
|
/**
|
|
* @param mixed $index
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setIndex($index)
|
|
{
|
|
$this->index = $index;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return mixed
|
|
*/
|
|
public function getIndexSelector()
|
|
{
|
|
return $this->indexSelector;
|
|
}
|
|
|
|
/**
|
|
* @param mixed $indexSelector
|
|
*
|
|
* @return User
|
|
*/
|
|
public function setIndexSelector($indexSelector)
|
|
{
|
|
$this->indexSelector = $indexSelector;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function getBaseClass(): string
|
|
{
|
|
return \CUser::class;
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function isSaveStatic(): bool
|
|
{
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function isDeleteStatic(): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public static function getEntityByPrimary($primary)
|
|
{
|
|
return UserRepository::getById((int) $primary);
|
|
}
|
|
|
|
/**
|
|
* @return \Intaro\RetailCrm\Model\Bitrix\UserLoyaltyData
|
|
*/
|
|
public function getLoyalty(): UserLoyaltyData
|
|
{
|
|
return $this->loyalty;
|
|
}
|
|
|
|
/**
|
|
* @param UserLoyaltyData $loyalty
|
|
*/
|
|
public function setLoyalty(UserLoyaltyData $loyalty): void
|
|
{
|
|
$this->loyalty = $loyalty;
|
|
}
|
|
}
|