X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttOrgImportHelper.class.php;h=b9c76620fa976a81a5a0cd8fc25d78891d8dc1d1;hb=5c582eb5bacc8b3d9d2775ade454590c71b113ec;hp=d7161d90a5c120344f43acdf5b0a6865f6365583;hpb=ecb94422f83654dd371f751a30112a80833748dd;p=timetracker.git diff --git a/WEB-INF/lib/ttOrgImportHelper.class.php b/WEB-INF/lib/ttOrgImportHelper.class.php index d7161d90..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, @@ -448,6 +465,10 @@ class ttOrgImportHelper { 'project' => $this->currentGroupProjectMap[$attrs['PROJECT_ID']], 'task' => $this->currentGroupTaskMap[$attrs['TASK_ID']], 'billable' => $attrs['BILLABLE'], + 'approved' => $attrs['APPROVED'], + 'invoice' => $attrs['INVOICE'], + 'timesheet' => $attrs['TIMESHEET'], + 'paid_status' => $attrs['PAID_STATUS'], 'users' => $user_list, 'period' => $attrs['PERIOD'], 'from' => $attrs['PERIOD_START'], @@ -457,12 +478,14 @@ class ttOrgImportHelper { 'chpaid' => (int) $attrs['SHOW_PAID'], 'chip' => (int) $attrs['SHOW_IP'], 'chproject' => (int) $attrs['SHOW_PROJECT'], + 'chtimesheet' => (int) $attrs['SHOW_TIMESHEET'], 'chstart' => (int) $attrs['SHOW_START'], 'chduration' => (int) $attrs['SHOW_DURATION'], 'chcost' => (int) $attrs['SHOW_COST'], 'chtask' => (int) $attrs['SHOW_TASK'], 'chfinish' => (int) $attrs['SHOW_END'], 'chnote' => (int) $attrs['SHOW_NOTE'], + 'chapproved' => (int) $attrs['SHOW_APPROVED'], 'chcf_1' => (int) $attrs['SHOW_CUSTOM_FIELD_1'], 'chunits' => (int) $attrs['SHOW_WORK_UNITS'], 'group_by1' => $attrs['GROUP_BY1'], @@ -664,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'])); @@ -736,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; @@ -747,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']; @@ -757,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')); @@ -906,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; @@ -995,22 +1039,24 @@ class ttOrgImportHelper { $sql = "insert into tt_fav_reports". " (name, user_id, group_id, org_id, client_id, cf_1_option_id, project_id, task_id,". - " billable, invoice, paid_status, users, period, period_start, period_end,". + " billable, approved, invoice, timesheet, paid_status, users, period, period_start, period_end,". " show_client, show_invoice, show_paid, show_ip,". - " show_project, show_start, show_duration, show_cost,". - " show_task, show_end, show_note, show_custom_field_1, show_work_units,". + " show_project, show_timesheet, show_start, show_duration, show_cost,". + " show_task, show_end, show_note, show_approved, show_custom_field_1, show_work_units,". " group_by1, group_by2, group_by3, show_totals_only)". " values(". $mdb2->quote($fields['name']).", ".$fields['user_id'].", $group_id, $org_id, ". $mdb2->quote($fields['client']).", ".$mdb2->quote($fields['option']).", ". $mdb2->quote($fields['project']).", ".$mdb2->quote($fields['task']).", ". - $mdb2->quote($fields['billable']).", ".$mdb2->quote($fields['invoice']).", ". + $mdb2->quote($fields['billable']).", ".$mdb2->quote($fields['approved']).", ". + $mdb2->quote($fields['invoice']).", ".$mdb2->quote($fields['timesheet']).", ". $mdb2->quote($fields['paid_status']).", ". $mdb2->quote($fields['users']).", ".$mdb2->quote($fields['period']).", ". $mdb2->quote($fields['from']).", ".$mdb2->quote($fields['to']).", ". $fields['chclient'].", ".$fields['chinvoice'].", ".$fields['chpaid'].", ".$fields['chip'].", ". - $fields['chproject'].", ".$fields['chstart'].", ".$fields['chduration'].", ".$fields['chcost'].", ". - $fields['chtask'].", ".$fields['chfinish'].", ".$fields['chnote'].", ".$fields['chcf_1'].", ".$fields['chunits'].", ". + $fields['chproject'].", ".$fields['chtimesheet'].", ".$fields['chstart'].", ".$fields['chduration'].", ". + $fields['chcost'].", ".$fields['chtask'].", ".$fields['chfinish'].", ".$fields['chnote'].", ". + $fields['chapproved'].", ".$fields['chcf_1'].", ".$fields['chunits'].", ". $mdb2->quote($fields['group_by1']).", ".$mdb2->quote($fields['group_by2']).", ". $mdb2->quote($fields['group_by3']).", ".$fields['chtotalsonly'].")"; $affected = $mdb2->exec($sql);