- // migrateLegacyRole makes changes to user database record and assigns a user to
- // one of pre-defined roles, which are created if necessary.
- // No changes to $this instance are done.
- function migrateLegacyRole() {
- // Do nothing if we already have a role_id.
- if ($this->role_id) return false;
-
- // Create default roles if necessary.
- import ('ttRoleHelper');
- if (!ttRoleHelper::rolesExist()) ttRoleHelper::createDefaultRoles(); // TODO: refactor or remove after roles revamp.
-
- // Obtain new role id based on legacy role.
- $role_id = ttRoleHelper::getRoleByRank($this->role);
- if (!$role_id) return false; // Role not found, nothing to do.
+ // canOverridePunchMode checks whether a user can override punch mode in a situation.
+ function canOverridePunchMode()
+ {
+ if (!$this->behalf_id && !$this->can('override_own_punch_mode'))
+ return false; // User is working as self and cannot override for self.