X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttOrgImportHelper.class.php;h=b9c76620fa976a81a5a0cd8fc25d78891d8dc1d1;hb=ed41335d63e71a11d30e92f4367106e9398adf9d;hp=43056bdfc4abf83132b235ecc27770b0f42668fc;hpb=0b379eb7277555af8e7363bbe66b9e39c7b1d0e8;p=timetracker.git diff --git a/WEB-INF/lib/ttOrgImportHelper.class.php b/WEB-INF/lib/ttOrgImportHelper.class.php index 43056bdf..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'], @@ -283,11 +284,14 @@ class ttOrgImportHelper { '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. @@ -419,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, @@ -670,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'])); @@ -742,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; @@ -753,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']; @@ -763,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')); @@ -912,19 +946,23 @@ class ttOrgImportHelper { $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;