X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttTimesheetHelper.class.php;h=78e7901654eef5dbba68cfb98176f3a557c6c9ad;hb=a8084d2e767dd2ea7e57f2348a27d4fc2da42a6f;hp=9ab86f0f694803a499d8729fdace337ca3f72107;hpb=b7e0a81d78007c097e7860c752f445263683b42b;p=timetracker.git diff --git a/WEB-INF/lib/ttTimesheetHelper.class.php b/WEB-INF/lib/ttTimesheetHelper.class.php index 9ab86f0f..78e79016 100644 --- a/WEB-INF/lib/ttTimesheetHelper.class.php +++ b/WEB-INF/lib/ttTimesheetHelper.class.php @@ -66,6 +66,7 @@ class ttTimesheetHelper { $org_id = $user->org_id; $client_id = $fields['client_id']; + $project_id = $fields['project_id']; $name = $fields['name']; $comment = $fields['comment']; @@ -75,8 +76,8 @@ class ttTimesheetHelper { $end_date = new DateAndTime($user->date_format, $fields['end_date']); $end = $end_date->toString(DB_DATEFORMAT); - $sql = "insert into tt_timesheets (user_id, group_id, org_id, client_id, name, comment, start_date, end_date)". - " values ($user_id, $group_id, $org_id, ".$mdb2->quote($client_id).", ".$mdb2->quote($name). + $sql = "insert into tt_timesheets (user_id, group_id, org_id, client_id, project_id, name, comment, start_date, end_date)". + " values ($user_id, $group_id, $org_id, ".$mdb2->quote($client_id).", ".$mdb2->quote($project_id).", ".$mdb2->quote($name). ", ".$mdb2->quote($comment).", ".$mdb2->quote($start).", ".$mdb2->quote($end).")"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) @@ -175,8 +176,12 @@ class ttTimesheetHelper { $group_id = $user->getGroup(); $org_id = $user->org_id; - $sql = "select * from tt_timesheets". - " where id = $timesheet_id and user_id = $user_id and group_id = $group_id and org_id = $org_id and status is not null"; + $sql = "select ts.*, u.name as user_name, c.name as client_name,". + " p.name as project_name from tt_timesheets ts". + " left join tt_users u on (ts.user_id = u.id)". + " left join tt_clients c on (ts.client_id = c.id)". + " left join tt_projects p on (ts.project_id = p.id)". + " where ts.id = $timesheet_id and ts.user_id = $user_id and ts.group_id = $group_id and ts.org_id = $org_id and ts.status is not null"; $res = $mdb2->query($sql); if (!is_a($res, 'PEAR_Error')) { if ($val = $res->fetchRow()) @@ -236,10 +241,6 @@ class ttTimesheetHelper { // in current context. static function isUserValid($user_id) { // We have to cover several situations. - // - // 1) User is a client. - // 2) User with view_all_timesheets rights. - // 3) User with view_timesheets rights. global $user; @@ -288,7 +289,7 @@ class ttTimesheetHelper { " from tt_users u". " left join tt_roles r on (r.id = u.role_id)". " where u.status = 1 and u.email is not null and u.group_id = $group_id and u.org_id = $org_id". - " and (r.rights like '%approve_all_timesheets%' or (r.rank > $rank and r.rights like '%approve_timesheets%'))"; + " and (r.rank > $rank and r.rights like '%approve_timesheets%')"; $res = $mdb2->query($sql); if (!is_a($res, 'PEAR_Error')) { while ($val = $res->fetchRow()) { @@ -333,9 +334,9 @@ class ttTimesheetHelper { // Even if mail part below does not work, this will get us a functioning workflow // (without email notifications). $timesheet_id = $fields['timesheet_id']; - $manager_comment = $fields['comment']; + $comment = $fields['comment']; - $sql = "update tt_timesheets set approval_status = 1, manager_comment = ".$mdb2->quote($manager_comment). + $sql = "update tt_timesheets set approve_status = 1, approve_comment = ".$mdb2->quote($comment). " where id = $timesheet_id and submit_status = 1 and group_id = $group_id and org_id = $org_id"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; @@ -356,9 +357,9 @@ class ttTimesheetHelper { // Even if mail part below does not work, this will get us a functioning workflow // (without email notifications). $timesheet_id = $fields['timesheet_id']; - $manager_comment = $fields['comment']; + $comment = $fields['comment']; - $sql = "update tt_timesheets set approval_status = 0, manager_comment = ".$mdb2->quote($manager_comment). + $sql = "update tt_timesheets set approve_status = 0, approve_comment = ".$mdb2->quote($comment). " where id = $timesheet_id and submit_status = 1 and group_id = $group_id and org_id = $org_id"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false;