]> wagnertech.de Git - timetracker.git/blobdiff - WEB-INF/lib/ttOrgImportHelper.class.php
Populating org_id in tt_custom_fields table.
[timetracker.git] / WEB-INF / lib / ttOrgImportHelper.class.php
index 9907f6e711be9d146656ba3c643bc9f0bb8813a8..2758ac21d6876b72e4046f14820224e720abe7b1 100644 (file)
@@ -364,9 +364,9 @@ class ttOrgImportHelper {
 
       if ($name == 'CUSTOM_FIELD') {
         // We get here when processing <custom_field> tags for the current group.
-        $custom_field_id = ttCustomFieldHelper::insertField(array(
+        $custom_field_id = $this->insertCustomField(array(
           'group_id' => $this->current_group_id,
-          // 'org_id' => $this->org_id, TODO: add this when org_id field is added to the table.
+          'org_id' => $this->org_id,
           'type' => $attrs['TYPE'],
           'label' => $attrs['LABEL'],
           'required' => $attrs['REQUIRED'],
@@ -526,6 +526,18 @@ class ttOrgImportHelper {
         }
         return;
       }
+
+      if ($name == 'USER_PARAM') {
+        if (!$this->insertUserParam(array(
+          'group_id' => $this->current_group_id,
+          'org_id' => $this->org_id,
+          'user_id' => $this->currentGroupUserMap[$attrs['USER_ID']],
+          'param_name' => $attrs['PARAM_NAME'],
+          'param_value' => $attrs['PARAM_VALUE']))) {
+          $this->errors->add($i18n->get('error.db'));
+        }
+        return;
+      }
     }
   }
 
@@ -884,4 +896,47 @@ class ttOrgImportHelper {
     $affected = $mdb2->exec($sql);
     return (!is_a($affected, 'PEAR_Error'));
   }
+
+  // insertUserParam - a helper function to insert a user parameter.
+  private function insertUserParam($fields) {
+    $mdb2 = getConnection();
+
+    $group_id = (int) $fields['group_id'];
+    $org_id = (int) $fields['org_id'];
+    $user_id = (int) $fields['user_id'];
+    $param_name = $fields['param_name'];
+    $param_value = $fields['param_value'];
+
+    $sql = "insert into tt_config".
+      " (user_id, group_id, org_id, param_name, param_value)".
+      " values ($user_id, $group_id, $org_id, ".$mdb2->quote($param_name).", ".$mdb2->quote($param_value).")";
+    $affected = $mdb2->exec($sql);
+    return (!is_a($affected, 'PEAR_Error'));
+  }
+
+  // insertCustomField - a helper function to insert a custom field.
+  private function insertCustomField($fields) {
+    $mdb2 = getConnection();
+
+    $group_id = (int) $fields['group_id'];
+    $org_id = (int) $fields['org_id'];
+    $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).")";
+    $affected = $mdb2->exec($sql);
+    if (is_a($affected, 'PEAR_Error'))
+      return false;
+
+    $last_id = 0;
+    $sql = "select last_insert_id() as last_insert_id";
+    $res = $mdb2->query($sql);
+    $val = $res->fetchRow();
+    $last_id = $val['last_insert_id'];
+    return $last_id;
+  }
 }