Skip to content

Commit 7adc3ca

Browse files
committed
Update customer sync feature
1 parent db3be8a commit 7adc3ca

File tree

2 files changed

+6
-48
lines changed

2 files changed

+6
-48
lines changed

src/app/code/community/Zendesk/Zendesk/Helper/Sync.php

Lines changed: 6 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -59,53 +59,17 @@ public function syncCustomer($customer){
5959
)
6060
);
6161

62-
if($previousEmail && $previousEmail !== $currentEmail) {
63-
$user = Mage::getModel('zendesk/api_users')->find($previousEmail);
64-
$this->createIdentity($user, $currentEmail, $previousEmail);
65-
}
66-
if(!$user) {
67-
$user = Mage::getModel('zendesk/api_users')->find($currentEmail);
62+
$user = Mage::getModel('zendesk/api_users')->find($currentEmail);
63+
if($previousEmail !== $currentEmail) {
64+
// email change
65+
if(!isset($user['id'])) {
66+
$user = $this->createAccount($info);
67+
}
6868
}
6969

70-
if(isset($user['id'])) {
71-
$this->syncData($user, $info);
72-
} else {
73-
$user = $this->createAccount($info);
74-
}
7570
return $user;
7671
}
7772

78-
private function createIdentity($user, $currentEmail, $previousEmail)
79-
{
80-
if (!isset($user['id']))
81-
return;
82-
83-
if($user['role'] !== 'end-user')
84-
return;
85-
86-
$data['identity'] = array(
87-
'type' => 'email',
88-
'value' => $currentEmail,
89-
'verified' => false
90-
);
91-
92-
if ($user['email'] === $previousEmail) {
93-
$data['identity']['verified'] = true;
94-
$identity = Mage::getModel('zendesk/api_users')->addIdentity($user['id'], $data);
95-
Mage::getModel('zendesk/api_users')->setPrimaryIdentity($user['id'], $identity['id']);
96-
} else {
97-
Mage::getModel('zendesk/api_users')->addIdentity($user['id'], $data);
98-
}
99-
}
100-
101-
private function syncData($user, $data)
102-
{
103-
if($user['role'] !== 'end-user')
104-
return;
105-
106-
Mage::getModel('zendesk/api_users')->update($user['id'], $data);
107-
}
108-
10973
private function createAccount($data)
11074
{
11175
$data['user']['verified'] = false;

src/app/code/community/Zendesk/Zendesk/Model/Api/Users.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,6 @@ public function getIdentities($id)
8181
return (isset($response['identities']) ? $response['identities'] : null);
8282
}
8383

84-
public function setPrimaryIdentity($user_id, $identity_id)
85-
{
86-
$response = $this->_call('users/' . $user_id . '/identities/'.$identity_id.'/make_primary.json', null, 'PUT', null, true);
87-
return (isset($response['identities']) ? $response['identities'] : null);
88-
}
89-
9084
public function addIdentity($user_id, $data)
9185
{
9286
$response = $this->_call('users/' . $user_id . '/identities.json', null, 'POST', $data, true);

0 commit comments

Comments
 (0)