'group_id' => $this->current_group_id,
'org_id' => $this->org_id,
'client_id' => $this->currentGroupClientMap[$attrs['CLIENT_ID']],
+ 'project_id' => $this->currentGroupProjectMap[$attrs['PROJECT_ID']],
'name' => $attrs['NAME'],
+ 'comment' => $attrs['COMMENT'],
+ 'start_date' => $attrs['START_DATE'],
+ 'end_date' => $attrs['END_DATE'],
'submit_status' => $attrs['SUBMIT_STATUS'],
- 'submitter_comment' => $attrs['SUBMITTER_COMMENT'],
- 'approval_status' => $attrs['APPROVAL_STATUS'],
- 'manager_comment' => $attrs['MANAGER_COMMENT'],
+ 'approve_status' => $attrs['APPROVE_STATUS'],
+ 'approve_comment' => $attrs['APPROVE_COMMENT'],
'status' => $attrs['STATUS']));
if ($timesheet_id) {
// Add a mapping.
return;
}
+ if ($name == 'TEMPLATE') {
+ if (!$this->insertTemplate(array(
+ 'group_id' => $this->current_group_id,
+ 'org_id' => $this->org_id,
+ 'name' => $attrs['NAME'],
+ 'description' => $attrs['DESCRIPTION'],
+ 'content' => $attrs['CONTENT'],
+ 'status' => $attrs['STATUS']))) {
+ $this->errors->add($i18n->get('error.db'));
+ }
+ return;
+ }
+
if ($name == 'MONTHLY_QUOTA') {
if (!$this->insertMonthlyQuota(array(
'group_id' => $this->current_group_id,
return (!is_a($affected, 'PEAR_Error'));
}
+ // insertTemplate - a helper function to insert a template.
+ private function insertTemplate($fields) {
+ $mdb2 = getConnection();
+
+ $group_id = (int) $fields['group_id'];
+ $org_id = (int) $fields['org_id'];
+ $name = $mdb2->quote($fields['name']);
+ $description = $mdb2->quote($fields['description']);
+ $content = $mdb2->quote($fields['content']);
+ $status = $mdb2->quote($fields['status']);
+
+ $sql = "INSERT INTO tt_templates (group_id, org_id, name, description, content, status)".
+ " values ($group_id, $org_id, $name, $description, $content, $status)";
+ $affected = $mdb2->exec($sql);
+ return (!is_a($affected, 'PEAR_Error'));
+ }
+
// insertExpense - a helper function to insert an expense item.
private function insertExpense($fields) {
global $user;
$user_id = (int) $fields['user_id'];
$client_id = $fields['client_id'];
$project_id = $fields['project_id'];
- $timesheet_id = $fields['timesheet_id'];
$name = $fields['name'];
$cost = str_replace(',', '.', $fields['cost']);
$invoice_id = $fields['invoice_id'];
$created = ', now(), '.$mdb2->quote($_SERVER['REMOTE_ADDR']).', '.$user->id;
$sql = "insert into tt_expense_items".
- " (date, user_id, group_id, org_id, client_id, project_id, timesheet_id, name,".
+ " (date, user_id, group_id, org_id, client_id, project_id, name,".
" cost, invoice_id, approved, paid, created, created_ip, created_by, status)".
" values (".$mdb2->quote($date).", $user_id, $group_id, $org_id, ".$mdb2->quote($client_id).", ".$mdb2->quote($project_id).
- ", ".$mdb2->quote($timesheet_id).", ".$mdb2->quote($name).", ".$mdb2->quote($cost).", ".$mdb2->quote($invoice_id).
+ ", ".$mdb2->quote($name).", ".$mdb2->quote($cost).", ".$mdb2->quote($invoice_id).
", $approved, $paid $created, ".$mdb2->quote($status).")";
$affected = $mdb2->exec($sql);
return (!is_a($affected, 'PEAR_Error'));
$group_id = (int) $fields['group_id'];
$org_id = (int) $fields['org_id'];
$client_id = $fields['client_id'];
+ $project_id = $fields['project_id'];
$name = $fields['name'];
+ $comment = $fields['comment'];
+ $start_date = $fields['start_date'];
+ $end_date = $fields['end_date'];
$submit_status = $fields['submit_status'];
- $submitter_comment = $fields['submitter_comment'];
- $approval_status = $fields['approval_status'];
- $manager_comment = $fields['manager_comment'];
+ $approve_status = $fields['approve_status'];
+ $approve_comment = $fields['approve_comment'];
$status = $fields['status'];
// Insert a new timesheet record.
- $sql = "insert into tt_timesheets (user_id, group_id, org_id, client_id, name,".
- " submit_status, submitter_comment, approval_status, manager_comment, status)".
- " values($user_id, $group_id, $org_id, ".$mdb2->quote($client_id).", ".$mdb2->quote($name).", ".
- $mdb2->quote($fields['submit_status']).", ".$mdb2->quote($fields['submiter_comment']).", ".
- $mdb2->quote($fields['approval_status']).", ".$mdb2->quote($fields['manager_comment']).", ".$mdb2->quote($fields['status']).")";
+ $sql = "insert into tt_timesheets (user_id, group_id, org_id, client_id, project_id, name,".
+ " comment, start_date, end_date, submit_status, approve_status, approve_comment, status)".
+ " values($user_id, $group_id, $org_id, ".$mdb2->quote($client_id).", ".$mdb2->quote($project_id).", ".$mdb2->quote($name).", ".
+ $mdb2->quote($comment).", ".$mdb2->quote($start_date).", ".$mdb2->quote($end_date).", ".
+ $mdb2->quote($submit_status).", ".$mdb2->quote($approve_status).", ".
+ $mdb2->quote($approve_comment).", ".$mdb2->quote($status).")";
$affected = $mdb2->exec($sql);
if (is_a($affected, 'PEAR_Error')) return false;