roles = new ArrayCollection(); $this->hubs = new ArrayCollection(); $this->job_orders_created = new ArrayCollection(); $this->job_orders_assigned = new ArrayCollection(); $this->tickets = new ArrayCollection(); $this->enabled = true; } public function getID() { return $this->id; } public function setUsername($username) { $this->username = $username; return $this; } public function getUsername() { return $this->username; } public function setPassword($password) { $this->password = $password; return $this; } public function getPassword() { return $this->password; } public function setSalt($salt) { // do nothing return $this; } public function getSalt() { return null; } public function addRole(Role $role) { $this->roles->add($role); return $this; } public function clearRoles() { $this->roles->clear(); return $this; } public function getRoles() { // has to return set of strings because symfony is trying to move away from role objects $str_roles = []; foreach ($this->roles as $role) $str_roles[] = $role->getID(); return $str_roles; } public function getRoleObjects() { return $this->roles; } public function addHub(Hub $hub) { $this->hubs->add($hub); return $this; } public function clearHubs() { $this->hubs->clear(); return $this; } public function getHubs() { $str_hubs = []; foreach ($this->hubs as $hub) $str_hubs[] = $hub->getID(); return $str_hubs; } public function getHubObjects() { return $this->hubs; } public function eraseCredentials() { return $this; } public function isAccountNonExpired() { return true; } public function isAccountNonLocked() { return true; } public function isCredentialsNonExpired() { return true; } public function setEnabled($enabled = true) { $this->enabled = $enabled; return $this; } public function isEnabled() { return $this->enabled; } public function serialize() { return serialize([ $this->id, $this->username, $this->password, $this->enabled, ]); } public function unserialize($serial) { list ( $this->id, $this->username, $this->password, $this->enabled, ) = unserialize($serial); } public function setFirstName($name) { $this->first_name = $name; return $this; } public function getFirstName() { return $this->first_name; } public function setLastName($name) { $this->last_name = $name; return $this; } public function getLastName() { return $this->last_name; } public function getFullName() { return $this->first_name . ' ' . $this->last_name; } public function setContactNumber($num) { $this->contact_num = $num; return $this; } public function getContactNumber() { return $this->contact_num; } public function setEmail($email = null) { $this->email = $email; return $this; } public function getEmail() { return $this->email; } public function isSuperAdmin() { foreach ($this->roles as $role) { if ($role->isSuperAdmin()) return true; } return false; } public function getJobOrdersCreated() { return $this->job_orders_created; } public function getJobOrdersAssigned() { return $this->job_orders_assigned; } public function getTickets() { return $this->tickets; } public function getInvoices() { return $this->invoices; } }