X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/6ede4ba89cf66620bd1c40d092b3518fd51ba69c..a4298d704504e90da27dfdae71aaf6cc2faa9844:/WEB-INF/lib/ttOrgImportHelper.class.php?ds=sidebyside diff --git a/WEB-INF/lib/ttOrgImportHelper.class.php b/WEB-INF/lib/ttOrgImportHelper.class.php index 17827986..cc632f18 100644 --- a/WEB-INF/lib/ttOrgImportHelper.class.php +++ b/WEB-INF/lib/ttOrgImportHelper.class.php @@ -33,6 +33,7 @@ import('ttProjectHelper'); import('ttClientHelper'); import('ttInvoiceHelper'); import('ttCustomFieldHelper'); +import('ttExpenseHelper'); // ttOrgImportHelper - this class is a future replacement for ttImportHelper. // Currently, it is work in progress. @@ -370,6 +371,33 @@ class ttOrgImportHelper { $this->errors->add($i18n->get('error.db')); } } + + if ($name == 'EXPENSE_ITEM') { + // We get here when processing tags for the current group. + $expense_item_id = ttExpenseHelper::insert(array( + 'date' => $attrs['DATE'], + 'user_id' => $this->currentGroupUserMap[$attrs['USER_ID']], + 'group_id' => $this->current_group_id, + // 'org_id' => $this->org_id, TODO: add this when org_id field is added to the table. + 'client_id' => $this->currentGroupClientMap[$attrs['CLIENT_ID']], + 'project_id' => $this->currentGroupProjectMap[$attrs['PROJECT_ID']], + 'name' => $attrs['NAME'], + 'cost' => $attrs['COST'], + 'invoice_id' => $this->currentGroupInvoiceMap[$attrs['INVOICE_ID']], + 'paid' => $attrs['PAID'], + 'status' => $attrs['STATUS'])); + if (!$expense_item_id) $this->errors->add($i18n->get('error.db')); + } + + if ($name == 'MONTHLY_QUOTA') { + if (!$this->insertMonthlyQuota($this->current_group_id, + // 'org_id' => $this->org_id, TODO: add this when org_id field is added to the table. + $attrs['YEAR'], + $attrs['MONTH'], + $attrs['MINUTES'])) { + $this->errors->add($i18n->get('error.db')); + } + } } } @@ -530,4 +558,12 @@ class ttOrgImportHelper { $group_id = $mdb2->lastInsertID('tt_groups', 'id'); return $group_id; } + + // insertMonthlyQuota - a helper function to insert a monthly quota. + private function insertMonthlyQuota($group_id, $year, $month, $minutes) { + $mdb2 = getConnection(); + $sql = "INSERT INTO tt_monthly_quotas (group_id, year, month, minutes) values ($group_id, $year, $month, $minutes)"; + $affected = $mdb2->exec($sql); + return (!is_a($affected, 'PEAR_Error')); + } }