]> wagnertech.de Git - timetracker.git/blobdiff - WEB-INF/lib/ttUser.class.php
Fixed users page for revamped roles.
[timetracker.git] / WEB-INF / lib / ttUser.class.php
index f7b62344b11429c42bd5d84a87dd8ea08894c47c..621ab05fc4cd8f3c9ea8a675c8abb39c51d44efc 100644 (file)
@@ -97,8 +97,6 @@ class ttUser {
       $this->rights = explode(',', $val['rights']);
       $this->is_client = !in_array('track_own_time', $this->rights);
       $this->rank = $val['rank'];
-      // Downgrade rank to legacy ROLE_MANAGER rank, until we have sub-groups implemented.
-      if ($this->rank > ROLE_MANAGER) $this->rank = ROLE_MANAGER;
       $this->client_id = $val['client_id'];
       $this->email = $val['email'];
       $this->lang = $val['lang'];
@@ -223,4 +221,16 @@ class ttUser {
     }
     return false;
   }
+
+  // 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.
+
+    if ($this->behalf_id && !$this->can('override_punch_mode'))
+      return false; // User is working on behalf of someone else and cannot override.
+
+    return true;
+  }
 }