From 797f70689539add5d9a891f8234a29b29a79cf3d Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Mon, 13 Apr 2026 21:57:37 +0000
Subject: [PATCH] Synchronize client's email & phone

---
 manifest.json                  |    2 +-
 src/ContractorSynchronizer.php |   23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletions(-)

diff --git a/manifest.json b/manifest.json
index 434ce26..4f6c3a8 100644
--- a/manifest.json
+++ b/manifest.json
@@ -5,7 +5,7 @@
 		"displayName": "wFirma.pl integration",
 		"description": "Synchronizes customers and invoices with Polish invoicing system wFirma.pl",
 		"url": "https://github.com/jacekkow/ucrm-wfirma",
-		"version": "5.0",
+		"version": "5.1",
 		"ucrmVersionCompliancy": {
 			"min": "4.0.0",
 			"max": null
diff --git a/src/ContractorSynchronizer.php b/src/ContractorSynchronizer.php
index 8b678ae..6d05fbb 100644
--- a/src/ContractorSynchronizer.php
+++ b/src/ContractorSynchronizer.php
@@ -3,6 +3,7 @@
 namespace SIPL\UCRM\wFirma;
 
 use Webit\WFirmaSDK\Contractors as Contractors;
+use Webit\WFirmaSDK\Contractors\ContactDetails;
 use Webit\WFirmaSDK\Payments as Payments;
 
 class ContractorSynchronizer extends Synchronizer {
@@ -95,6 +96,28 @@
 			}
 		}
 
+		$email = NULL;
+		$phone = NULL;
+		foreach ($client['contacts'] as $contact) {
+			if ($contact['isContact']) {
+				$email = $contact['email'];
+				$phone = strtr($contact['phone'], ['+' => '00']);
+				break;
+			}
+		}
+
+		$contactDetails = new ContactDetails(
+			$phone,
+			$contractor->contactDetails()->skype(),
+			$contractor->contactDetails()->fax(),
+			$email,
+			$contractor->contactDetails()->url(),
+		);
+		if ($contractor->contactDetails() != $contactDetails) {
+			$changed = TRUE;
+			$contractor->changeContactDetails($contactDetails);
+		}
+
 		$paymentSettings = new Contractors\PaymentSettings(
 			$client['invoiceMaturityDays'],
 			Payments\PaymentMethod::transfer(),

--
Gitblit v1.10.0