}
    $c->save();
    echo "Category: {$c->getName()}\n";
}
// Now that we've got People and Categories in the database,
// Link the Departments with their Categories and Default Person
$result = $mongo->departments->find();
foreach ($result as $r) {
    $d = new Department($r['name']);
    if (!empty($r['defaultPerson']['_id'])) {
        $id = getPersonIdFromCrosswalk($r['defaultPerson']['_id']);
        $d->setDefaultPerson_id($id);
    }
    if (!empty($r['categories'])) {
        $ids = array();
        foreach ($r['categories'] as $c) {
            try {
                $category = new Category($c['name']);
                $ids[] = $category->getId();
            } catch (Exception $e) {
                // Departments may have old categories we have deleted
                // Just ignore them
            }
        }
        $d->setCategories($ids);
    }
    $d->save();
    $p = $d->getDefaultPerson();
    $p = $p ? $p->getFullname() : '';
    echo "Department: {$d->getName()} Person: {$p}\n";
}
Example #2
0
     }
 }
 if (!$ticket->getEnteredByPerson()) {
     $ticket->setEnteredByPerson('unknown');
 }
 if (isset($row['assigned_to']) && $row['assigned_to']) {
     try {
         list($username, $fullname) = explode(':', $row['assigned_to']);
         $person = new Person($username);
         $ticket->setAssignedPerson($person);
     } catch (Exception $e) {
     }
 } elseif (isset($row['dept'])) {
     try {
         $department = new Department($row['dept']);
         $ticket->setAssignedPerson($department->getDefaultPerson());
     } catch (Exception $e) {
     }
 }
 // Check the location against Master Address
 // Master Address data should overwrite information from ReqPro
 $row['street_num'] = preg_replace('/[^a-zA-Z0-9\\-\\&\\s\'\\/]/', '', $row['street_num']);
 if ($row['street_num']) {
     $query = preg_match('/[a-zA-Z]/', $row['street_num']) ? $row['street_num'] : "{$row['street_num']} {$row['street_dir']} {$row['street_name']} {$row['street_type']} {$row['sud_type']} {$row['sud_num']}";
     $data = AddressService::getLocationData($query);
     echo $query . ' ==> ';
     if (count($data)) {
         $ticket->setAddressServiceData($data);
     } else {
         if (is_numeric($row['street_num'])) {
             $location = "{$row['street_num']} {$row['street_dir']} {$row['street_name']} {$row['street_type']} {$row['sud_type']} {$row['sud_num']}";