2010-12-27 17:51:39 -08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
2011-03-05 21:27:20 -08:00
|
|
|
* file: users_migrate.php
|
2010-12-27 17:51:39 -08:00
|
|
|
*
|
2011-03-05 21:27:20 -08:00
|
|
|
* Move Contacts to a User.
|
2010-12-27 17:51:39 -08:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
class UsersMigrateShell extends Shell {
|
|
|
|
|
|
|
|
|
|
|
2011-03-05 21:27:20 -08:00
|
|
|
var $uses = array('User', 'Contact', 'PrincipleContact', 'PurchaseOrder', 'Enquiry');
|
2010-12-27 17:51:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
function main() {
|
|
|
|
|
|
|
|
|
|
$principleContactsCount = $this->PrincipleContact->find('count');
|
|
|
|
|
$contactsCount = $this->Contact->find('count');
|
2011-03-05 21:27:20 -08:00
|
|
|
$contacts = $this->Contact->find('all');
|
|
|
|
|
|
2010-12-27 17:51:39 -08:00
|
|
|
$usersCount = $this->User->find('count');
|
|
|
|
|
|
|
|
|
|
$this->printCountLine($principleContactsCount, 'Principle Contact');
|
|
|
|
|
$this->printCountLine($contactsCount, 'Customer Contacts');
|
|
|
|
|
$this->printCountLine($usersCount, 'Users');
|
|
|
|
|
|
|
|
|
|
$totalCount = $principleContactsCount + $contactsCount + $usersCount;
|
2011-01-11 00:52:52 -08:00
|
|
|
$this->printCountLine($totalCount, 'Total Users we should have after migration');
|
|
|
|
|
$principleContacts = $this->PrincipleContact->find('all');
|
|
|
|
|
$newPrincipleUsers = array();
|
|
|
|
|
foreach($principleContacts as $contact) {
|
|
|
|
|
$newUser = array();
|
|
|
|
|
|
|
|
|
|
$newUser['User']['principle_id'] = $contact['PrincipleContact']['principle_id'];
|
|
|
|
|
$newUser['User']['type'] = 'principle';
|
2011-03-05 21:27:20 -08:00
|
|
|
// $newUser['User']['username'] = trim($contact['PrincipleContact']['first_name']).trim($contact['PrincipleContact']['last_name']);
|
2011-01-11 00:52:52 -08:00
|
|
|
$newUser['User']['first_name'] = $contact['PrincipleContact']['first_name'];
|
|
|
|
|
$newUser['User']['last_name'] = $contact['PrincipleContact']['last_name'];
|
|
|
|
|
$newUser['User']['email'] = $contact['PrincipleContact']['email'];
|
|
|
|
|
$newUser['User']['phone'] = $contact['PrincipleContact']['phone'];
|
|
|
|
|
$newUser['User']['fax'] = $contact['PrincipleContact']['fax'];
|
|
|
|
|
$newUser['User']['notes'] = $contact['PrincipleContact']['notes'];
|
|
|
|
|
$newUser['User']['job_title'] = $contact['PrincipleContact']['job_title'];
|
|
|
|
|
$this->User->create();
|
|
|
|
|
//$newPrincipleUsers[] = $newUser;
|
|
|
|
|
$this->User->save($newUser);
|
2011-03-05 21:27:20 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-11 00:52:52 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$customerContacts = $this->Contact->find('all');
|
|
|
|
|
$newCustomerUsers = array();
|
|
|
|
|
foreach($customerContacts as $contact) {
|
|
|
|
|
$newUser = array();
|
|
|
|
|
|
2011-03-05 21:27:20 -08:00
|
|
|
$oldID = $contact['Contact']['id'];
|
|
|
|
|
|
2011-01-11 00:52:52 -08:00
|
|
|
$newUser['User']['customer_id'] = $contact['Contact']['customer_id'];
|
|
|
|
|
$newUser['User']['type'] = 'contact';
|
2011-03-05 21:27:20 -08:00
|
|
|
// $newUser['User']['username'] = trim($contact['Contact']['first_name']).' '.trim($contact['Contact']['last_name']);
|
2011-01-11 00:52:52 -08:00
|
|
|
$newUser['User']['first_name'] = $contact['Contact']['first_name'];
|
|
|
|
|
$newUser['User']['last_name'] = $contact['Contact']['last_name'];
|
|
|
|
|
$newUser['User']['email'] = $contact['Contact']['email'];
|
|
|
|
|
$newUser['User']['phone'] = $contact['Contact']['phone'];
|
|
|
|
|
$newUser['User']['fax'] = $contact['Contact']['fax'];
|
|
|
|
|
$newUser['User']['notes'] = $contact['Contact']['notes'];
|
|
|
|
|
$newUser['User']['job_title'] = $contact['Contact']['job_title'];
|
|
|
|
|
$newUser['User']['phone_extension'] = $contact['Contact']['phone_extension'];
|
|
|
|
|
$newUser['User']['direct_phone'] = $contact['Contact']['direct_phone'];
|
2011-03-05 21:27:20 -08:00
|
|
|
$newUser['User']['mobile'] = $contact['Contact']['mobile'];
|
|
|
|
|
$this->User->create($newUser);
|
2011-01-11 00:52:52 -08:00
|
|
|
//$newPrincipleUsers[] = $newUser;
|
2011-03-05 21:27:20 -08:00
|
|
|
if($this->User->save($newUser)) {
|
|
|
|
|
$newID = $this->User->getLastInsertID();
|
|
|
|
|
$sql = "UPDATE enquiries SET contact_user_id = {$newID} WHERE contact_id = {$oldID}";
|
|
|
|
|
$this->Enquiry->query($sql);
|
|
|
|
|
echo $sql."\n";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
echo "Unable to create new user. {$newUser['User']['email']}\n";
|
|
|
|
|
}
|
|
|
|
|
|
2011-01-11 00:52:52 -08:00
|
|
|
}
|
|
|
|
|
$newCount = $this->User->find('count');
|
|
|
|
|
$this->printCountLine($newCount, 'Now have Total Users after migration');
|
|
|
|
|
|
2011-03-05 21:27:20 -08:00
|
|
|
if($newCount != $totalCount) {
|
|
|
|
|
echo "Error! We expected to have {$totalCount}. We have {$newCount} \n";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
echo "Yay! Sucessfully imported the contacts.\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-11 00:52:52 -08:00
|
|
|
//print_r($newPrincipleUsers);
|
|
|
|
|
|
|
|
|
|
//$this->User->save($newPrincipleUsers);
|
|
|
|
|
|
2010-12-27 17:51:39 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function printCountLine($count, $model) {
|
|
|
|
|
echo $model ." count:". $count ."\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
?>
|