Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace ClientPortal\GenericBundle\Document;
- use App\AppBundle\Document\SerializableDocumentTrait;
- use ClientPortal\GenericBundle\Exception\ValidationErrorException;
- use Integration\SalesforceBundle\Document\SfRelatedDocumentInterface;
- use Integration\SalesforceBundle\Object\SfObjectInterface;
- use Symfony\Component\Security\Core\User\AdvancedUserInterface;
- class Accountant implements AdvancedUserInterface, SfRelatedDocumentInterface
- {
- use SerializableDocumentTrait;
- const ROLE_ADMIN = 'ROLE_ADMIN';
- const ROLE_ACCOUNTANT = 'ROLE_ACCOUNTANT';
- const ROLE_REMOTE_ACCOUNTANT = 'ROLE_REMOTE_ACCOUNTANT';
- const ROLE_ACCOUNTANT_PWD_RESET = 'ROLE_ACCOUNTANT_PWD_RESET';
- const ROLE_TAX_PREP = "Tax Rep";
- const ROLE_MANAGER = "Manager";
- const SF_TEAM_ROLE_ANALYST = 'Analyst';
- const SF_TEAM_ROLE_TAX_ADVISOR = 'Tax Advisor';
- const SF_TEAM_ROLE_SENIOR_TAX_ADVISOR = 'Senior Tax Advisor';
- const SF_TEAM_ROLE_SUPPORT_ACCOUNTANT = 'Support Accountant';
- const SF_TEAM_ROLE_REMOTE_LZ = "Remote LZ";
- const SF_TEAM_ROLE_REMOTE_STA = "Remote STA";
- const SF_TEAM_ROLE_INACTIVE = "Inactive";
- const SF_TEAM_ROLE_NONE = "N/A";
- const SF_ZONE_NONE = "N/A";
- const SF_ZONE_CST = "Central";
- const SF_ZONE_PST = "Pacific";
- const SF_ZONE_EST = "Eastern";
- const FORBIDDEN_RECENT_PASSWORDS_NUM = 3; // number of recent passwords that cannot be used
- const PASSWORD_RESET_TOKEN_LIFETIME = 1440; //minutes = 24h
- const SKILL_ONBOARDING = 'Onboarding';
- /** @var \MongoId $id */
- protected $id;
- /** @var string $username */
- protected $username;
- /** @var string $password */
- protected $password;
- /** @var string $sf_accountant_id */
- protected $sf_accountant_id;
- /** @var bool */
- protected $in_salesforce;
- /** @var boolean $active */
- protected $active = true;
- /** @var boolean $cp_access */
- protected $cp_access = false;
- /** @var boolean $is_admin */
- protected $is_admin = false;
- /** @var boolean $is_remote_accountant */
- protected $is_remote_accountant = false;
- /** @var string $first_name */
- protected $first_name;
- /** @var string $last_name */
- protected $last_name;
- /** @var string $phone */
- protected $phone;
- /** @var string $profile */
- protected $profile;
- /** @var string $sf_profile_id */
- protected $sf_profile_id;
- /** @var string $role_id */
- protected $role_id;
- /** @var string $role */
- protected $role;
- /** @var string $sf_team_role */
- protected $sf_team_role;
- /** @var string $sales_team */
- protected $sales_team;
- /** @var integer Timestamp of password expiration date */
- protected $password_expires_at = 0;
- /** @var boolean Is set to true when user changes password on first sign in */
- protected $was_password_reset;
- /** @var array Array of recent encoded passwords */
- protected $recent_passwords;
- /** @var string $password_reset_token */
- protected $password_reset_token;
- /** @var \DateTime $password_reset_date */
- protected $password_reset_date;
- /** @var string $photoLink */
- protected $photoLink;
- /** @var AccountantTeam */
- protected $accountantTeam;
- /** @var int */
- protected $teamSize = 0;
- /** @var string */
- private $alias;
- /** @var string */
- private $sf_username;
- /** @var string */
- private $nickname;
- /** @var string */
- private $department;
- /** @var string */
- private $user_license;
- /** @var string */
- private $extension;
- /** @var string */
- private $email_encoding_key;
- /** @var string */
- private $zone;
- /** @var array */
- private $accounting_skills = [];
- /** @var string */
- private $department_c;
- /** @var string */
- private $office;
- /** @var string */
- private $credentials;
- /** @var string */
- private $gender;
- /** @var bool */
- private $can_handle_vip_clients = true;
- /** @var bool */
- private $non_profit = true;
- /** @var bool */
- private $international_taxation = true;
- /** @var array */
- private $languages = [];
- /** @var array */
- private $industries = [];
- /** @var string */
- private $timezone_sid_key;
- /** @var string */
- private $locale_sid_key;
- /** @var string */
- private $language_locale_key;
- /** @var string */
- private $legalZoomLegalPlanId;
- /**
- * @return array
- */
- public static function getAllTeamRoles(): array
- {
- return array_merge([self::SF_TEAM_ROLE_ANALYST], self::getDedicatedAccountantTeamRoles());
- }
- /**
- * @return array
- */
- public static function getReportTeamRoles()
- {
- return [
- self::SF_TEAM_ROLE_SENIOR_TAX_ADVISOR,
- self::SF_TEAM_ROLE_SUPPORT_ACCOUNTANT,
- self::SF_TEAM_ROLE_ANALYST,
- self::SF_TEAM_ROLE_REMOTE_LZ,
- self::SF_TEAM_ROLE_REMOTE_STA,
- self::SF_TEAM_ROLE_INACTIVE,
- self::SF_TEAM_ROLE_NONE,
- ];
- }
- /**
- * @return array
- */
- public static function getReportZones()
- {
- return [
- self::SF_ZONE_CST,
- self::SF_ZONE_PST,
- self::SF_ZONE_EST,
- self::SF_ZONE_NONE,
- ];
- }
- /**
- * @return array
- */
- public static function getDedicatedAccountantTeamRoles(): array
- {
- return [
- 'Dedicated Accountant',
- self::SF_TEAM_ROLE_SUPPORT_ACCOUNTANT,
- self::SF_TEAM_ROLE_TAX_ADVISOR,
- self::SF_TEAM_ROLE_SENIOR_TAX_ADVISOR,
- self::SF_TEAM_ROLE_REMOTE_STA
- ];
- }
- /**
- * @return array Array of available accountants roles (from SF)
- */
- public static function accountantRoles(): array
- {
- return [
- "Billing Management",
- "David's Team",
- "Executive",
- "Inactive Users",
- self::ROLE_MANAGER,
- "Merchant Sales",
- "Ryan's Team",
- "Sales Rep",
- "Service Rep",
- self::ROLE_TAX_PREP,
- "Tiffanie's Team",
- ];
- }
- /**
- * @return array
- */
- public static function accountantPermissionRoles(): array
- {
- return [
- self::ROLE_ADMIN => "Admin",
- self::ROLE_ACCOUNTANT => "Accountant",
- self::ROLE_REMOTE_ACCOUNTANT => "Remote Accountant",
- ];
- }
- /**
- * Returns array with allowed roles, who can receipt emails about uploaded files
- *
- * @return array
- */
- public static function getEmailRecipientRoles(): array
- {
- return [
- self::SF_TEAM_ROLE_ANALYST,
- self::SF_TEAM_ROLE_TAX_ADVISOR,
- self::SF_TEAM_ROLE_SENIOR_TAX_ADVISOR,
- self::SF_TEAM_ROLE_SUPPORT_ACCOUNTANT,
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function getSfId(): ?string
- {
- return $this->getSfAccountantId();
- }
- /**
- * {@inheritDoc}
- */
- public function setSfId(SfObjectInterface $sfObject): void
- {
- $this->setSfAccountantId($sfObject->getId());
- }
- /**
- * Get id
- *
- * @return \MongoId $id
- */
- public function getId()
- {
- return $this->id;
- }
- /**
- * Set username
- *
- * @param string $username
- *
- * @return Accountant
- */
- public function setUsername($username): self
- {
- $this->username = $username;
- return $this;
- }
- /**
- * Get username
- *
- * @return string $username
- */
- public function getUsername()
- {
- return $this->username;
- }
- /**
- * Set password
- *
- * @param string $password
- *
- * @return Accountant
- */
- public function setPassword($password): self
- {
- $this->password = $password;
- // update recent passwords
- $passwords = $this->getRecentPasswords();
- array_push($passwords, $password);
- // maintain maximum number of recent passwords <= static::FORBIDDEN_RECENT_PASSWORDS_NUM
- while (count((array) $passwords) > static::FORBIDDEN_RECENT_PASSWORDS_NUM) {
- array_shift($passwords);
- }
- $this->setRecentPasswords($passwords);
- return $this;
- }
- /**
- * Get password
- *
- * @return string $password
- */
- public function getPassword()
- {
- return $this->password;
- }
- /**
- * Set sfAccountantId
- *
- * @param string $sfAccountantId
- *
- * @return Accountant
- */
- public function setSfAccountantId($sfAccountantId): self
- {
- $this->sf_accountant_id = $sfAccountantId;
- return $this;
- }
- /**
- * Get sfAccountantId
- *
- * @return string $sfAccountantId
- */
- public function getSfAccountantId()
- {
- return $this->sf_accountant_id;
- }
- /**
- * Set inSalesforce
- *
- * @param bool $inSalesforce
- *
- * @return self
- */
- public function setInSalesforce($inSalesforce)
- {
- $this->in_salesforce = $inSalesforce;
- return $this;
- }
- /**
- * Get inSalesforce
- *
- * @return bool $inSalesforce
- */
- public function getInSalesforce()
- {
- return $this->in_salesforce;
- }
- /**
- * Set active
- *
- * @param boolean $active
- *
- * @return Accountant
- */
- public function setActive($active): self
- {
- $this->active = $active;
- return $this;
- }
- /**
- * Get active
- *
- * @return boolean $active
- */
- public function isActive()
- {
- return $this->active;
- }
- /**
- * Set cpAccess
- *
- * @param boolean $cpAccess
- *
- * @return Accountant
- */
- public function setCpAccess($cpAccess): self
- {
- $this->cp_access = $cpAccess;
- return $this;
- }
- /**
- * Get cpAccess
- *
- * @return boolean $cpAccess
- */
- public function getCpAccess()
- {
- return $this->cp_access;
- }
- /**
- * Set isAdmin
- *
- * @param boolean $isAdmin
- *
- * @return Accountant
- */
- private function setIsAdmin($isAdmin): self
- {
- $this->is_admin = $isAdmin;
- return $this;
- }
- /**
- * Get isAdmin
- *
- * @return boolean $isAdmin
- */
- public function getIsAdmin()
- {
- return $this->is_admin;
- }
- /**
- * Set $isRemoteAccountant
- *
- * @param boolean $isRemoteAccountant
- *
- * @return Accountant
- */
- private function setIsRemoteAccountant($isRemoteAccountant): self
- {
- $this->is_remote_accountant = $isRemoteAccountant;
- return $this;
- }
- /**
- * Get $isRemoteAccountant
- *
- * @return boolean
- */
- public function getIsRemoteAccountant()
- {
- return $this->is_remote_accountant;
- }
- /**
- * Set firstName
- *
- * @param string $firstName
- *
- * @return Accountant
- */
- public function setFirstName($firstName): self
- {
- $this->first_name = $firstName;
- return $this;
- }
- /**
- * Get firstName
- *
- * @return string $firstName
- */
- public function getFirstName()
- {
- return $this->first_name;
- }
- /**
- * @return string
- */
- public function getFullName()
- {
- return implode(' ', [$this->getFirstName(), $this->getLastName()]);
- }
- /**
- * Set lastName
- *
- * @param string $lastName
- *
- * @return Accountant
- */
- public function setLastName($lastName): self
- {
- $this->last_name = $lastName;
- return $this;
- }
- /**
- * Get lastName
- *
- * @return string $lastName
- */
- public function getLastName()
- {
- return $this->last_name;
- }
- // DO NOT REMOVE on regeneration
- public function eraseCredentials()
- {
- }
- public function getSalt()
- {
- return null;
- }
- /**
- * Returns user roles that are used to check permissions in API handlers
- *
- * @return string[]
- */
- public function getRoles()
- {
- if ((!$this->getIsAdmin() && !$this->getWasPasswordReset()) || $this->isPasswordExpired()) {
- // assign this role to accountants with weak passwords or all users with expired passwords
- return [self::ROLE_ACCOUNTANT_PWD_RESET];
- }
- return [$this->getPermissionRole()];
- }
- /**
- * Returns accountant role regardless of issues with password
- *
- * @return string
- */
- public function getPermissionRole()
- {
- if ($this->getIsAdmin()) {
- return self::ROLE_ADMIN;
- }
- if ($this->getIsRemoteAccountant()) {
- return self::ROLE_REMOTE_ACCOUNTANT;
- }
- return self::ROLE_ACCOUNTANT;
- }
- /**
- * @param string $permissionRole
- *
- * @return Accountant
- * @throws ValidationErrorException
- */
- public function setPermissionRole($permissionRole): self
- {
- if (!in_array(trim($permissionRole), array_keys(self::accountantPermissionRoles()))) {
- throw new ValidationErrorException("Invalid accountant role provided.");
- }
- switch ($permissionRole) {
- case self::ROLE_ADMIN:
- $this->setIsAdmin(true)
- ->setIsRemoteAccountant(false);
- break;
- case self::ROLE_REMOTE_ACCOUNTANT:
- $this->setIsAdmin(false)
- ->setIsRemoteAccountant(true);
- break;
- case self::ROLE_ACCOUNTANT:
- $this->setIsAdmin(false)
- ->setIsRemoteAccountant(false);
- break;
- }
- return $this;
- }
- /**
- * Set phone
- *
- * @param string $phone
- *
- * @return Accountant
- */
- public function setPhone($phone): self
- {
- $this->phone = $phone;
- return $this;
- }
- /**
- * Get phone
- *
- * @return string $phone
- */
- public function getPhone()
- {
- return $this->phone;
- }
- /**
- * Set profile
- *
- * @param string $profile
- *
- * @return Accountant
- */
- public function setProfile($profile): self
- {
- $this->profile = $profile;
- return $this;
- }
- /**
- * Get profile
- *
- * @return string $profile
- */
- public function getProfile()
- {
- return $this->profile;
- }
- /**
- * Set sfProfileId
- *
- * @param string $sfProfileId
- *
- * @return Accountant
- */
- public function setSfProfileId($sfProfileId): self
- {
- $this->sf_profile_id = $sfProfileId;
- return $this;
- }
- /**
- * Get sfProfileId
- *
- * @return string $sfProfileId
- */
- public function getSfProfileId()
- {
- return $this->sf_profile_id;
- }
- /**
- * Set role
- *
- * @param string $sfRoleId
- *
- * @return Accountant
- */
- public function setRoleId($sfRoleId): self
- {
- $this->role_id = $sfRoleId;
- return $this;
- }
- /**
- * Get role
- *
- * @return string $role_id
- */
- public function getRoleId()
- {
- return $this->role_id;
- }
- /**
- * Set role
- *
- * @param string $name
- *
- * @return Accountant
- */
- public function setRole($name): self
- {
- $this->role = $name;
- return $this;
- }
- /**
- * Get role
- *
- * @return string $role
- */
- public function getRole()
- {
- return $this->role;
- }
- /**
- * @return bool
- */
- public function isDedicatedAccountant(): bool
- {
- return in_array($this->sf_team_role, self::getDedicatedAccountantTeamRoles());
- }
- /**
- * @return null|string
- */
- public function getSfTeamRole(): ?string
- {
- return $this->sf_team_role;
- }
- /**
- * @param string $sf_team_role
- *
- * @return Accountant
- */
- public function setSfTeamRole(?string $sf_team_role): self
- {
- $this->sf_team_role = $sf_team_role;
- return $this;
- }
- /**
- * @return string
- */
- public function getTeamRole(): string
- {
- if ($this->isDedicatedAccountant()) {
- return $this->sf_team_role;
- } else {
- return 'Accountant Team';
- }
- }
- /**
- * Set salesTeam
- *
- * @param string $salesTeam
- *
- * @return Accountant
- */
- public function setSalesTeam($salesTeam): self
- {
- $this->sales_team = $salesTeam;
- return $this;
- }
- /**
- * Returns true if password was reset
- *
- * @return boolean
- */
- public function getWasPasswordReset()
- {
- return $this->was_password_reset;
- }
- /**
- * @param boolean $value
- *
- * @return Accountant
- */
- public function setWasPasswordReset($value): self
- {
- $this->was_password_reset = $value;
- return $this;
- }
- /**
- * Returns password expiration timestamp
- *
- * @return integer
- */
- public function getPasswordExpiresAt()
- {
- return $this->password_expires_at;
- }
- /**
- * @param integer $value
- *
- * @return Accountant
- */
- public function setPasswordExpiresAt($value): self
- {
- $this->password_expires_at = $value;
- return $this;
- }
- /**
- * Returns true if password has expired
- *
- * @return bool
- */
- public function isPasswordExpired(): bool
- {
- return time() > $this->password_expires_at;
- }
- /**
- * Returns an array of encoded recent passwords
- *
- * @return array [type] [description]
- */
- public function getRecentPasswords()
- {
- return $this->recent_passwords ?: [];
- }
- /**
- * Update recent passwords
- *
- * @param array $passwords
- *
- * @return Accountant
- */
- public function setRecentPasswords(array $passwords): self
- {
- $this->recent_passwords = $passwords;
- return $this;
- }
- /**
- * Set passwordResetToken
- *
- * @param string $passwordResetToken
- *
- * @return Accountant
- */
- public function setPasswordResetToken($passwordResetToken): self
- {
- $this->password_reset_token = $passwordResetToken;
- return $this;
- }
- /**
- * Get passwordResetToken
- *
- * @return string $passwordResetToken
- */
- public function getPasswordResetToken()
- {
- return $this->password_reset_token;
- }
- /**
- * Set passwordResetDate
- *
- * @param \DateTime $passwordResetDate
- *
- * @return Accountant
- */
- public function setPasswordResetDate($passwordResetDate): self
- {
- $this->password_reset_date = $passwordResetDate;
- return $this;
- }
- /**
- * Get passwordResetDate
- *
- * @return \DateTime $passwordResetDate
- */
- public function getPasswordResetDate()
- {
- return $this->password_reset_date;
- }
- /**
- * @return bool
- */
- public function needCurrentPasswordValidate(): bool
- {
- return !empty($this->password) && empty($this->password_reset_token);
- }
- /**
- * Set photoLink
- *
- * @param string $photoLink
- *
- * @return Accountant
- */
- public function setPhotoLink(string $photoLink): self
- {
- $this->photoLink = $photoLink;
- return $this;
- }
- /**
- * Get photoLink
- *
- * @return string $photoLink
- */
- public function getPhotoLink()
- {
- return $this->photoLink;
- }
- /**
- * @param AccountantTeam|null $accountantTeam
- *
- * @return Accountant
- */
- public function setAccountantTeam(?AccountantTeam $accountantTeam): self
- {
- $this->accountantTeam = $accountantTeam;
- return $this;
- }
- /**
- * @return string
- */
- public function getAccountantTeamName()
- {
- return $this->accountantTeam instanceof AccountantTeam ? $this->accountantTeam->getName() : null;
- }
- /**
- * @return string
- */
- public function getAccountantTeamId()
- {
- return $this->accountantTeam instanceof AccountantTeam ? $this->accountantTeam->getId() : null;
- }
- /**
- * Get salesTeam
- *
- * @return string $salesTeam
- */
- public function getSalesTeam()
- {
- return $this->sales_team;
- }
- /**
- * @return bool
- */
- public function isAccountNonLocked()
- {
- return true;
- }
- /**
- * @return bool
- */
- public function isAccountNonExpired()
- {
- return true;
- }
- /**
- * @return bool
- */
- public function isCredentialsNonExpired()
- {
- return true;
- }
- /**
- * @return bool
- */
- public function isEnabled()
- {
- return true;
- }
- /**
- * @return string
- */
- public function getAlias()
- {
- return $this->alias;
- }
- /**
- * @param string $alias
- *
- * @return Accountant
- */
- public function setAlias($alias): self
- {
- $this->alias = $alias;
- return $this;
- }
- /**
- * @return string
- */
- public function getSfUsername()
- {
- return $this->sf_username;
- }
- /**
- * @param string $sf_username
- *
- * @return Accountant
- */
- public function setSfUsername($sf_username): self
- {
- $this->sf_username = $sf_username;
- return $this;
- }
- /**
- * @return string
- */
- public function getNickname()
- {
- return $this->nickname;
- }
- /**
- * @param string $nickname
- *
- * @return Accountant
- */
- public function setNickname($nickname): self
- {
- $this->nickname = $nickname;
- return $this;
- }
- /**
- * @return string
- */
- public function getDepartment()
- {
- return $this->department;
- }
- /**
- * @param string $department
- *
- * @return Accountant
- */
- public function setDepartment($department): self
- {
- $this->department = $department;
- return $this;
- }
- /**
- * @return string
- */
- public function getUserLicense()
- {
- return $this->user_license;
- }
- /**
- * @param string $user_license
- *
- * @return Accountant
- */
- public function setUserLicense($user_license): self
- {
- $this->user_license = $user_license;
- return $this;
- }
- /**
- * @return string
- */
- public function getExtension()
- {
- return $this->extension;
- }
- /**
- * @param string $extension
- *
- * @return Accountant
- */
- public function setExtension($extension): self
- {
- $this->extension = $extension;
- return $this;
- }
- /**
- * @return string
- */
- public function getEmailEncodingKey()
- {
- return $this->email_encoding_key;
- }
- /**
- * @param string $email_encoding_key
- *
- * @return Accountant
- */
- public function setEmailEncodingKey($email_encoding_key): self
- {
- $this->email_encoding_key = $email_encoding_key;
- return $this;
- }
- /**
- * @return string
- */
- public function getZone()
- {
- return $this->zone;
- }
- /**
- * @param string $zone
- *
- * @return Accountant
- */
- public function setZone($zone): self
- {
- $this->zone = $zone;
- return $this;
- }
- /**
- * @return array
- */
- public function getAccountingSkills()
- {
- return $this->accounting_skills;
- }
- /**
- * @param array $accounting_skills
- *
- * @return Accountant
- */
- public function setAccountingSkills($accounting_skills): self
- {
- $this->accounting_skills = $accounting_skills;
- return $this;
- }
- /**
- * @return string
- */
- public function getDepartmentC()
- {
- return $this->department_c;
- }
- /**
- * @param string $department_c
- *
- * @return Accountant
- */
- public function setDepartmentC($department_c): self
- {
- $this->department_c = $department_c;
- return $this;
- }
- /**
- * @return string
- */
- public function getOffice()
- {
- return $this->office;
- }
- /**
- * @param string $office
- *
- * @return Accountant
- */
- public function setOffice($office): self
- {
- $this->office = $office;
- return $this;
- }
- /**
- * @return string
- */
- public function getCredentials()
- {
- return $this->credentials;
- }
- /**
- * @param string $credentials
- *
- * @return Accountant
- */
- public function setCredentials($credentials): self
- {
- $this->credentials = $credentials;
- return $this;
- }
- /**
- * @return string
- */
- public function getGender()
- {
- return $this->gender;
- }
- /**
- * @param string $gender
- *
- * @return Accountant
- */
- public function setGender($gender): self
- {
- $this->gender = $gender;
- return $this;
- }
- /**
- * @return bool|null
- */
- public function getCanHandleVipClients(): ?bool
- {
- return $this->can_handle_vip_clients;
- }
- /**
- * @param bool|null $can_handle_vip_clients
- *
- * @return Accountant
- */
- public function setCanHandleVipClients(?bool $can_handle_vip_clients): self
- {
- $this->can_handle_vip_clients = $can_handle_vip_clients;
- return $this;
- }
- /**
- * @return bool|null
- */
- public function getNonProfit(): ?bool
- {
- return $this->non_profit;
- }
- /**
- * @param bool|null $non_profit
- *
- * @return Accountant
- */
- public function setNonProfit(?bool $non_profit): self
- {
- $this->non_profit = $non_profit;
- return $this;
- }
- /**
- * @return bool|null
- */
- public function getInternationalTaxation(): ?bool
- {
- return $this->international_taxation;
- }
- /**
- * @param bool|null $international_taxation
- *
- * @return Accountant
- */
- public function setInternationalTaxation(?bool $international_taxation): self
- {
- $this->international_taxation = $international_taxation;
- return $this;
- }
- /**
- * @return array
- */
- public function getLanguages()
- {
- return $this->languages;
- }
- /**
- * @param array $languages
- *
- * @return Accountant
- */
- public function setLanguages($languages): self
- {
- $this->languages = $languages;
- return $this;
- }
- /**
- * @return array
- */
- public function getIndustries()
- {
- return $this->industries;
- }
- /**
- * @param array $industries
- *
- * @return Accountant
- */
- public function setIndustries($industries): self
- {
- $this->industries = $industries;
- return $this;
- }
- /**
- * @return string
- */
- public function getTimezoneSidKey()
- {
- return $this->timezone_sid_key;
- }
- /**
- * @param string $timezone_sid_key
- *
- * @return Accountant
- */
- public function setTimezoneSidKey($timezone_sid_key): self
- {
- $this->timezone_sid_key = $timezone_sid_key;
- return $this;
- }
- /**
- * @return string
- */
- public function getLocaleSidKey()
- {
- return $this->locale_sid_key;
- }
- /**
- * @param string $locale_sid_key
- *
- * @return Accountant
- */
- public function setLocaleSidKey($locale_sid_key): self
- {
- $this->locale_sid_key = $locale_sid_key;
- return $this;
- }
- /**
- * @return string
- */
- public function getLanguageLocaleKey()
- {
- return $this->language_locale_key;
- }
- /**
- * @param string $language_locale_key
- *
- * @return Accountant
- */
- public function setLanguageLocaleKey($language_locale_key): self
- {
- $this->language_locale_key = $language_locale_key;
- return $this;
- }
- /**
- * @param int $teamSize
- *
- * @return Accountant
- */
- public function setTeamSize(int $teamSize): self
- {
- $this->teamSize = $teamSize;
- return $this;
- }
- /**
- * @return int
- */
- public function getTeamSize(): int
- {
- return $this->teamSize;
- }
- /**
- * @param null|string $legalZoomLegalPlanId
- *
- * @return Accountant
- */
- public function setLegalZoomLegalPlanId(?string $legalZoomLegalPlanId = null): self
- {
- $this->legalZoomLegalPlanId = $legalZoomLegalPlanId;
- return $this;
- }
- /**
- * @return null|string
- */
- public function getLegalZoomLegalPlanId(): ?string
- {
- return $this->legalZoomLegalPlanId;
- }
- /**
- * @return string|null
- */
- public function getMitelTeam():?string{
- return $this->accountantTeam instanceof AccountantTeam ? $this->accountantTeam->getMitelTeam() : null;
- }
- /**
- * @return string|null
- */
- public function getMitelTeamExtension():?string{
- return $this->accountantTeam instanceof AccountantTeam ? $this->accountantTeam->getMitelTeamExtension() : null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement