X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/7aced3f6210fcd9bad8db0f6ff7d12d1f9daf62e..8b16d7c0b05921ad6d90c1e5342c02d62b093414:/WEB-INF/lib/ttOrgImportHelper.class.php diff --git a/WEB-INF/lib/ttOrgImportHelper.class.php b/WEB-INF/lib/ttOrgImportHelper.class.php index c29c01cc..20dd4176 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'], @@ -351,6 +352,7 @@ class ttOrgImportHelper { $custom_field_id = $this->insertCustomField(array( 'group_id' => $this->current_group_id, 'org_id' => $this->org_id, + 'entity_type' => $attrs['ENTITY_TYPE'], 'type' => $attrs['TYPE'], 'label' => $attrs['LABEL'], 'required' => $attrs['REQUIRED'], @@ -422,6 +424,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 +688,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 +761,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; @@ -1082,14 +1115,15 @@ class ttOrgImportHelper { $group_id = (int) $fields['group_id']; $org_id = (int) $fields['org_id']; + $entity_type = (int) $fields['entity_type']; $type = (int) $fields['type']; $label = $fields['label']; $required = (int) $fields['required']; $status = $fields['status']; $sql = "insert into tt_custom_fields". - " (group_id, org_id, type, label, required, status)". - " values($group_id, $org_id, $type, ".$mdb2->quote($label).", $required, ".$mdb2->quote($status).")"; + " (group_id, org_id, entity_type, type, label, required, status)". + " values($group_id, $org_id, $entity_type, $type, ".$mdb2->quote($label).", $required, ".$mdb2->quote($status).")"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false;