From d086ba7f82e14dd22cc606a2e9f59870811196ed Mon Sep 17 00:00:00 2001 From: Nik Okuntseff Date: Sat, 28 Jul 2018 18:15:05 +0000 Subject: [PATCH] Started to populate group_id on new time entry inserts. --- WEB-INF/lib/ttTimeHelper.class.php | 11 ++++++----- WEB-INF/lib/ttUser.class.php | 14 +++++++++++++- WEB-INF/templates/footer.tpl | 2 +- mobile/time.php | 1 + mobile/timer.php | 1 + time.php | 1 + 6 files changed, 23 insertions(+), 7 deletions(-) diff --git a/WEB-INF/lib/ttTimeHelper.class.php b/WEB-INF/lib/ttTimeHelper.class.php index bfb81cc3..5ad07e18 100644 --- a/WEB-INF/lib/ttTimeHelper.class.php +++ b/WEB-INF/lib/ttTimeHelper.class.php @@ -383,13 +383,14 @@ class ttTimeHelper { return false; } - // insert - inserts a time record into log table. Does not deal with custom fields. + // insert - inserts a time record into tt_log table. Does not deal with custom fields. static function insert($fields) { global $user; $mdb2 = getConnection(); $user_id = $fields['user_id']; + $group_id = $fields['group_id']; $date = $fields['date']; $start = $fields['start']; $finish = $fields['finish']; @@ -422,8 +423,8 @@ class ttTimeHelper { if (!$paid) $paid = 0; if ($duration) { - $sql = "insert into tt_log (user_id, date, duration, client_id, project_id, task_id, invoice_id, comment, billable, paid, created, created_ip, created_by $status_f) ". - "values ($user_id, ".$mdb2->quote($date).", '$duration', ".$mdb2->quote($client).", ".$mdb2->quote($project).", ".$mdb2->quote($task).", ".$mdb2->quote($invoice).", ".$mdb2->quote($note).", $billable, $paid $created_v $status_v)"; + $sql = "insert into tt_log (user_id, group_id, date, duration, client_id, project_id, task_id, invoice_id, comment, billable, paid, created, created_ip, created_by $status_f) ". + "values ($user_id, ".$mdb2->quote($group_id).", ".$mdb2->quote($date).", '$duration', ".$mdb2->quote($client).", ".$mdb2->quote($project).", ".$mdb2->quote($task).", ".$mdb2->quote($invoice).", ".$mdb2->quote($note).", $billable, $paid $created_v $status_v)"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; @@ -432,8 +433,8 @@ class ttTimeHelper { if ($duration === false) $duration = 0; if (!$duration && ttTimeHelper::getUncompleted($user_id)) return false; - $sql = "insert into tt_log (user_id, date, start, duration, client_id, project_id, task_id, invoice_id, comment, billable, paid, created, created_ip, created_by $status_f) ". - "values ($user_id, ".$mdb2->quote($date).", '$start', '$duration', ".$mdb2->quote($client).", ".$mdb2->quote($project).", ".$mdb2->quote($task).", ".$mdb2->quote($invoice).", ".$mdb2->quote($note).", $billable, $paid $created_v $status_v)"; + $sql = "insert into tt_log (user_id, group_id, date, start, duration, client_id, project_id, task_id, invoice_id, comment, billable, paid, created, created_ip, created_by $status_f) ". + "values ($user_id, ".$mdb2->quote($group_id).", ".$mdb2->quote($date).", '$start', '$duration', ".$mdb2->quote($client).", ".$mdb2->quote($project).", ".$mdb2->quote($task).", ".$mdb2->quote($invoice).", ".$mdb2->quote($note).", $billable, $paid $created_v $status_v)"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; diff --git a/WEB-INF/lib/ttUser.class.php b/WEB-INF/lib/ttUser.class.php index e498cde0..65a1f596 100644 --- a/WEB-INF/lib/ttUser.class.php +++ b/WEB-INF/lib/ttUser.class.php @@ -38,7 +38,9 @@ class ttUser { var $rank = null; // User role rank. var $client_id = null; // Client id for client user role. var $behalf_id = null; // User id, on behalf of whom we are working. + var $behalf_group_id = null; // Group id, on behalf of which we are working. var $behalf_name = null; // User name, on behalf of whom we are working. + var $behalf_group = null; // Group name, on behalf of which we are working. var $email = null; // User email. var $lang = null; // Language. var $decimal_mark = null; // Decimal separator. @@ -143,11 +145,16 @@ class ttUser { $this->unit_totals_only = $config->getDefinedValue('unit_totals_only'); } - // Set "on behalf" id and name. + // Set "on behalf" id and name (user). if (isset($_SESSION['behalf_id'])) { $this->behalf_id = $_SESSION['behalf_id']; $this->behalf_name = $_SESSION['behalf_name']; } + // Set "on behalf" id and name (group). + if (isset($_SESSION['behalf_group_id'])) { + $this->behalf_group_id = $_SESSION['behalf_group_id']; + $this->behalf_group = $_SESSION['behalf_group']; + } } } @@ -156,6 +163,11 @@ class ttUser { return ($this->behalf_id ? $this->behalf_id : $this->id); } + // The getActiveGroup returns group id on behalf of which the current user is operating. + function getActiveGroup() { + return ($this->behalf_group_id ? $this->behalf_group_id : $this->group_id); + } + // can - determines whether user has a right to do something. function can($do_something) { return in_array($do_something, $this->rights); diff --git a/WEB-INF/templates/footer.tpl b/WEB-INF/templates/footer.tpl index c0fe9a67..e20ac62d 100644 --- a/WEB-INF/templates/footer.tpl +++ b/WEB-INF/templates/footer.tpl @@ -12,7 +12,7 @@
-
 Anuko Time Tracker 1.17.96.4296 | Copyright © Anuko | +  Anuko Time Tracker 1.17.96.4297 | Copyright © Anuko | {$i18n.footer.credits} | {$i18n.footer.license} | {$i18n.footer.improve} diff --git a/mobile/time.php b/mobile/time.php index 2649ff27..76296f64 100644 --- a/mobile/time.php +++ b/mobile/time.php @@ -252,6 +252,7 @@ if ($request->isPost()) { $id = ttTimeHelper::insert(array( 'date' => $cl_date, 'user_id' => $user->getActiveUser(), + 'group_id' => $user->getActiveGroup(), 'client' => $cl_client, 'project' => $cl_project, 'task' => $cl_task, diff --git a/mobile/timer.php b/mobile/timer.php index e547c256..09500bd2 100644 --- a/mobile/timer.php +++ b/mobile/timer.php @@ -225,6 +225,7 @@ if ($request->isPost()) { $id = ttTimeHelper::insert(array( 'date' => $cl_date, 'user_id' => $user->getActiveUser(), + 'group_id' => $user->getActiveGroup(), 'client' => $cl_client, 'project' => $cl_project, 'task' => $cl_task, diff --git a/time.php b/time.php index d4caad2b..98f6bbaf 100644 --- a/time.php +++ b/time.php @@ -293,6 +293,7 @@ if ($request->isPost()) { $id = ttTimeHelper::insert(array( 'date' => $cl_date, 'user_id' => $user->getActiveUser(), + 'group_id' => $user->getActiveGroup(), 'client' => $cl_client, 'project' => $cl_project, 'task' => $cl_task, -- 2.20.1