$this->current_group_id = $this->createGroup(array(
'parent_id' => $this->current_group_id, // Note: after insert current_group_id changes.
'org_id' => $this->org_id,
+ 'group_key' => $attrs['GROUP_KEY'],
'name' => $attrs['NAME'],
'description' => $attrs['DESCRIPTION'],
'currency' => $attrs['CURRENCY'],
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,
global $i18n;
$mdb2 = getConnection();
- $columns = '(parent_id, org_id, name, description, currency, decimal_mark, lang, date_format, time_format'.
- ', week_start, tracking_mode, project_required, task_required, record_type, bcc_email'.
- ', allow_ip, password_complexity, plugins, lock_spec'.
- ', workday_minutes, config, created, created_ip, created_by)';
+ $columns = '(parent_id, org_id, group_key, name, description, currency, decimal_mark, lang, date_format, time_format,'.
+ ' week_start, tracking_mode, project_required, task_required, record_type, bcc_email,'.
+ ' allow_ip, password_complexity, plugins, lock_spec,'.
+ ' workday_minutes, config, created, created_ip, created_by)';
$values = ' values (';
$values .= $mdb2->quote($fields['parent_id']);
$values .= ', '.$mdb2->quote($fields['org_id']);
+ $values .= ', '.$mdb2->quote(trim($fields['group_key']));
$values .= ', '.$mdb2->quote(trim($fields['name']));
$values .= ', '.$mdb2->quote(trim($fields['description']));
$values .= ', '.$mdb2->quote(trim($fields['currency']));
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'));