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
---
src/ContractorSynchronizer.php | 30 +++++++++++++++++++++++++++---
1 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/src/ContractorSynchronizer.php b/src/ContractorSynchronizer.php
index 08c076c..6d05fbb 100644
--- a/src/ContractorSynchronizer.php
+++ b/src/ContractorSynchronizer.php
@@ -2,11 +2,12 @@
namespace SIPL\UCRM\wFirma;
-use \Webit\WFirmaSDK\Contractors as Contractors;
-use \Webit\WFirmaSDK\Payments as Payments;
+use Webit\WFirmaSDK\Contractors as Contractors;
+use Webit\WFirmaSDK\Contractors\ContactDetails;
+use Webit\WFirmaSDK\Payments as Payments;
class ContractorSynchronizer extends Synchronizer {
- function synchronize(int $ucrmClientId) {
+ function synchronize(int $ucrmClientId): bool {
$crm = $this->helper->getApi();
$wFirmaContractors = $this->wfirma->contractorsApi();
@@ -48,6 +49,7 @@
if ($contractor->nip() != $client['companyTaxId']) {
$changed = TRUE;
+ $contractor->changeTaxId(Contractors\TaxIdType::nip());
$contractor->changeNip($client['companyTaxId']);
}
@@ -94,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