A fix for work units in totals only report.
[timetracker.git] / WEB-INF / lib / ttUser.class.php
index d320e38..9de260b 100644 (file)
@@ -113,9 +113,9 @@ class ttUser {
       $this->role_id = $val['role_id'];
       $this->role_name = $val['role_name'];
       $this->rights = explode(',', $val['rights']);
-      $this->is_client = !in_array('track_own_time', $this->rights);
       $this->rank = $val['rank'];
       $this->client_id = $val['client_id'];
+      $this->is_client = $this->client_id && !in_array('track_own_time', $this->rights);
       $this->email = $val['email'];
       $this->lang = $val['lang'];
       $this->decimal_mark = $val['decimal_mark'];
@@ -144,7 +144,7 @@ class ttUser {
       $this->allow_overlap = $config->getDefinedValue('allow_overlap');
       $this->future_entries = $config->getDefinedValue('future_entries');
       if ($this->isPluginEnabled('wu')) {
-        $minutes_in_unit = $config->getIntValue('minutes_in_unit');
+        $minutes_in_unit = $config->getIntValue('minutes_in_unit', 15);
         if ($minutes_in_unit) $this->minutes_in_unit = $minutes_in_unit;
         $first_unit_threshold = $config->getIntValue('1st_unit_threshold');
         if ($first_unit_threshold) $this->first_unit_threshold = $first_unit_threshold;
@@ -235,6 +235,12 @@ class ttUser {
     return $config->getDefinedValue($name);
   }
 
+  // getConfigInt retruns an integer value defined in a group, or false.
+  function getConfigInt($name, $defaultVal) {
+    $config = new ttConfigHelper($this->getConfig());
+    return $config->getIntValue($name, $defaultVal);
+  }
+
   // can - determines whether user has a right to do something.
   function can($do_something) {
     return in_array($do_something, $this->rights);
@@ -294,8 +300,11 @@ class ttUser {
     $mdb2 = getConnection();
     $tasks = implode(',', $task_ids); // This is a comma-separated list of task ids.
 
+    $group_id = $this->getGroup();
+    $org_id = $this->org_id;
+
     $sql = "select id, name, description from tt_tasks".
-      " where group_id = $this->group_id and status = 1 and id in ($tasks) order by name";
+      " where group_id = $group_id and org_id = $org_id and status = 1 and id in ($tasks) order by name";
     $res = $mdb2->query($sql);
     if (!is_a($res, 'PEAR_Error')) {
       while ($val = $res->fetchRow()) {