From 2bb5a34b11298cbf0d22ec2391334294ebf6b77d Mon Sep 17 00:00:00 2001 From: arfenis Date: Mon, 19 Feb 2024 16:12:22 -0400 Subject: [PATCH 1/3] Add total products to variant warehouse observer --- .../Variants/Models/VariantsWarehouses.php | 6 ++++++ .../Inventory/Warehouses/Models/Warehouses.php | 7 +++++-- .../Observers/VariantsWarehouseObserver.php | 15 +++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/Domains/Inventory/Variants/Models/VariantsWarehouses.php b/src/Domains/Inventory/Variants/Models/VariantsWarehouses.php index 399f7448b..5d64f5db3 100644 --- a/src/Domains/Inventory/Variants/Models/VariantsWarehouses.php +++ b/src/Domains/Inventory/Variants/Models/VariantsWarehouses.php @@ -119,4 +119,10 @@ public function getStatusHistory(): array return $statusHistories; } + + public function getTotalProducts() + { + $total = VariantsWarehouses::where('is_deleted', 0)->sum('quantity'); + return $total; + } } diff --git a/src/Domains/Inventory/Warehouses/Models/Warehouses.php b/src/Domains/Inventory/Warehouses/Models/Warehouses.php index d9f457e58..a9677089b 100644 --- a/src/Domains/Inventory/Warehouses/Models/Warehouses.php +++ b/src/Domains/Inventory/Warehouses/Models/Warehouses.php @@ -185,9 +185,12 @@ public function isVariantPublished(): ?Attribute public function getTotalProducts(): Int { if (! $totalProducts = $this->get('total_products')) { - $this->set('total_products', $this->variantsWarehouses()->count()); + $this->set( + 'total_products', + $this->variantsWarehouses()->first()->getTotalProducts() + ); return $this->get('total_products'); } - return $totalProducts; + return (int) $totalProducts; } } diff --git a/src/Domains/Inventory/Warehouses/Observers/VariantsWarehouseObserver.php b/src/Domains/Inventory/Warehouses/Observers/VariantsWarehouseObserver.php index 7abb10c51..14738a94a 100644 --- a/src/Domains/Inventory/Warehouses/Observers/VariantsWarehouseObserver.php +++ b/src/Domains/Inventory/Warehouses/Observers/VariantsWarehouseObserver.php @@ -20,6 +20,13 @@ public function saved(VariantsWarehouses $variantWarehouse): void ))->execute(); } + if ($variantWarehouse->wasChanged('quantity')) { + $variantWarehouse->warehouse->set( + 'total_products', + $variantWarehouse->getTotalProducts() + ); + } + if ($variantWarehouse->wasChanged('status_id')) { (new CreateStatusHistoryAction( StatusRepository::getById($variantWarehouse->status_id), @@ -27,4 +34,12 @@ public function saved(VariantsWarehouses $variantWarehouse): void ))->execute(); } } + + public function created(VariantsWarehouses $variantWarehouse): void + { + $variantWarehouse->warehouse->set( + 'total_products', + $variantWarehouse->getTotalProducts() + ); + } } From f6f461910b2f799ee2f1c87166cb2b25c3b8cb3f Mon Sep 17 00:00:00 2001 From: kaioken Date: Mon, 19 Feb 2024 17:45:21 -0400 Subject: [PATCH 2/3] refact: version 21 --- .../Connectors/Zoho/DataTransferObject/ZohoLead.php | 8 +++++--- src/Kanvas/Enums/AppEnums.php | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Domains/Connectors/Zoho/DataTransferObject/ZohoLead.php b/src/Domains/Connectors/Zoho/DataTransferObject/ZohoLead.php index adf025f0c..82d7cc1ca 100644 --- a/src/Domains/Connectors/Zoho/DataTransferObject/ZohoLead.php +++ b/src/Domains/Connectors/Zoho/DataTransferObject/ZohoLead.php @@ -26,7 +26,8 @@ public function __construct( public static function fromLead(Lead $lead): self { $customFields = $lead->getAll(); - $companyZohoMapFields = $lead->company()->first()->get(CustomFieldEnum::FIELDS_MAP->value); + $company = $lead->company()->first(); + $companyZohoMapFields = $company->get(CustomFieldEnum::FIELDS_MAP->value); $additionalFields = []; if ($companyZohoMapFields && is_array($companyZohoMapFields)) { @@ -38,9 +39,10 @@ public static function fromLead(Lead $lead): self } $people = $lead->people()->first(); - $owner = (string) ($lead->owner()->first() ? $lead->company()->first()->get(CustomFieldEnum::DEFAULT_OWNER->value) : null); + $leadStatus = $lead->status()->first(); + $owner = (string) ($lead->owner()->first() ? $company->get(CustomFieldEnum::DEFAULT_OWNER->value) : null); $newLead = 'New Lead'; - $status = (string) ($lead->status()->first() ? ($lead->status()->first()->get(CustomFieldEnum::ZOHO_STATUS_NAME->value) ?? $newLead) : $newLead); + $status = $leadStatus ? ($leadStatus->get(CustomFieldEnum::ZOHO_STATUS_NAME->value) ?? $newLead) : $newLead; return new self( $people->firstname, diff --git a/src/Kanvas/Enums/AppEnums.php b/src/Kanvas/Enums/AppEnums.php index 1f6808608..1314eb920 100644 --- a/src/Kanvas/Enums/AppEnums.php +++ b/src/Kanvas/Enums/AppEnums.php @@ -93,7 +93,7 @@ public function getValue(): mixed self::KANVAS_APP_BRANCH_HEADER => 'X-Kanvas-Location', self::KANVAS_APP_COMPANY_AUTH_HEADER => 'Company-Authorization', //@deprecated self::DISPLAYNAME_LOGIN => 'displayname_login', - self::VERSION => '1.0-BETA-23', + self::VERSION => '1.0-BETA-21', self::ANONYMOUS_USER_ID => -1 }; } From f80e09a9107d8e25014431a6dbe9c3cf7e1b7b5b Mon Sep 17 00:00:00 2001 From: kaioken Date: Mon, 19 Feb 2024 17:46:59 -0400 Subject: [PATCH 3/3] refact: version 21 --- src/Domains/Connectors/Zoho/Workflows/ZohoLeadActivity.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Domains/Connectors/Zoho/Workflows/ZohoLeadActivity.php b/src/Domains/Connectors/Zoho/Workflows/ZohoLeadActivity.php index fa0dfce29..c1162c85b 100644 --- a/src/Domains/Connectors/Zoho/Workflows/ZohoLeadActivity.php +++ b/src/Domains/Connectors/Zoho/Workflows/ZohoLeadActivity.php @@ -45,8 +45,6 @@ public function execute(Model $lead, AppInterface $app, array $params): array $zohoLead = $zohoCrm->leads->create($zohoData); $zohoLeadId = $zohoLead->getId(); - $zohoData['Lead_Status'] = 'New Lead'; - $lead->set( CustomFieldEnum::ZOHO_LEAD_ID->value, $zohoLeadId