← All changes
|
includes/Actions/Controller/ProductActions/UpdateAllProducts.php
+9
-1
1.10.8
→
1.10.21
View file →
| @@ -5,8 +5,9 @@ | ||
| 5 | 5 | use SyncBasalam\JobManager; |
| 6 | 6 | use SyncBasalam\Actions\Controller\ActionController; |
| 7 | 7 | use SyncBasalam\Admin\Settings\SettingsConfig; |
| 8 | 8 | use SyncBasalam\Admin\Settings\SettingsManager; |
| 9 | +use SyncBasalam\Services\VendorSyncPolicy; | |
| 9 | 10 | |
| 10 | 11 | defined('ABSPATH') || exit; |
| 11 | 12 | |
| 12 | 13 | class UpdateAllProducts extends ActionController |
| @@ -17,9 +18,16 @@ | ||
| 17 | 18 | if (!$updateType) { |
| 18 | 19 | return wp_send_json_error(['message' => 'نوع بروزرسانی نامعتبر است.'], 400); |
| 19 | 20 | } |
| 20 | 21 | |
| 21 | - if (!SettingsManager::isProductUpdateSelectionValid()) { | |
| 22 | + $vendorSyncPolicy = syncBasalamContainer()->get(VendorSyncPolicy::class); | |
| 23 | + if (!$vendorSyncPolicy->canUpdate()) { | |
| 24 | + return wp_send_json_error(['message' => $vendorSyncPolicy->getRestrictionMessage(false)], 409); | |
| 25 | + } | |
| 26 | + | |
| 27 | + if ($vendorSyncPolicy->shouldRestrictUpdateFields(false)) { | |
| 28 | + $updateType = 'quick'; | |
| 29 | + } elseif (!SettingsManager::isProductUpdateSelectionValid()) { | |
| 22 | 30 | return wp_send_json_error(['message' => SettingsConfig::CUSTOM_PRODUCT_UPDATE_REQUIRED_MESSAGE], 422); |
| 23 | 31 | } |
| 24 | 32 | |
| 25 | 33 | $jobManager = syncBasalamContainer()->get(JobManager::class); |