X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttOrgImportHelper.class.php;h=b9c76620fa976a81a5a0cd8fc25d78891d8dc1d1;hb=f787edd7045299de3885c052d243b446f7324ea0;hp=0efb6b0311e90c7a9f80514467c845c2ab5ac2fc;hpb=179facbe37379829ddffc9ee2e29ca6c3d969ce8;p=timetracker.git diff --git a/WEB-INF/lib/ttOrgImportHelper.class.php b/WEB-INF/lib/ttOrgImportHelper.class.php index 0efb6b03..b9c76620 100644 --- a/WEB-INF/lib/ttOrgImportHelper.class.php +++ b/WEB-INF/lib/ttOrgImportHelper.class.php @@ -102,6 +102,7 @@ class ttOrgImportHelper { $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'], @@ -422,6 +423,19 @@ class ttOrgImportHelper { 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, @@ -673,14 +687,15 @@ class ttOrgImportHelper { 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'])); @@ -745,6 +760,23 @@ class ttOrgImportHelper { 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; @@ -756,7 +788,6 @@ class ttOrgImportHelper { $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']; @@ -766,10 +797,10 @@ class ttOrgImportHelper { $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'));