mirror of
https://github.com/vr-payment/shopware-6.git
synced 2026-06-04 10:53:18 +00:00
Release 7.0.1
This commit is contained in:
@@ -1,3 +1,12 @@
|
|||||||
|
# 7.0.1
|
||||||
|
## Feature
|
||||||
|
- Add plugin version metric
|
||||||
|
|
||||||
|
## Bugfix
|
||||||
|
- Fixed error message when refund amount exceeds total
|
||||||
|
- Fixed bug where only 25 sales channels showed in the dropdown
|
||||||
|
- Removed erroneous logs
|
||||||
|
|
||||||
# 7.0.0
|
# 7.0.0
|
||||||
- Compatibility with Shopware 6.7.0
|
- Compatibility with Shopware 6.7.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
# 7.0.1
|
||||||
|
- Plugin-Versionsmetrik hinzugefügt
|
||||||
|
- Fehlermeldung behoben, wenn der Rückerstattungsbetrag den Gesamtbetrag überschreitet
|
||||||
|
- Fehler behoben, bei dem nur 25 Vertriebskanäle in der Dropdown-Liste angezeigt wurden
|
||||||
|
- Fehlerhafte Protokolle entfernt
|
||||||
|
|
||||||
# 7.0.0
|
# 7.0.0
|
||||||
- Kompatibilität mit Shopware 6.7.0
|
- Kompatibilität mit Shopware 6.7.0
|
||||||
|
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ Please note that this plugin is for versions 6.5, 6.6 or 6.7. For the 6.4 plugin
|
|||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
- For English documentation click [here](https://plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.0.0/docs/en/documentation.html)
|
- For English documentation click [here](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.0.1/docs/en/documentation.html)
|
||||||
- Für die deutsche Dokumentation klicken Sie [hier](https://plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.0.0/docs/de/documentation.html)
|
- Für die deutsche Dokumentation klicken Sie [hier](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.0.1/docs/de/documentation.html)
|
||||||
- Pour la documentation Française, cliquez [ici](https://plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.0.0/docs/fr/documentation.html)
|
- Pour la documentation Française, cliquez [ici](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.0.1/docs/fr/documentation.html)
|
||||||
- Per la documentazione in tedesco, clicca [qui](https://plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.0.0/docs/it/documentation.html)
|
- Per la documentazione in tedesco, clicca [qui](https://docs.plugin-documentation.vr-payment.de/vr-payment/shopware-6/7.0.1/docs/it/documentation.html)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -59,5 +59,5 @@
|
|||||||
"vrpayment/sdk": "^4.0.0"
|
"vrpayment/sdk": "^4.0.0"
|
||||||
},
|
},
|
||||||
"type": "shopware-platform-plugin",
|
"type": "shopware-platform-plugin",
|
||||||
"version": "7.0.0"
|
"version": "7.0.1"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.0.0/">
|
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.0.1/">
|
||||||
Source
|
Source
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.0.0/">
|
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.0.1/">
|
||||||
Source
|
Source
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.0.0/">
|
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.0.1/">
|
||||||
Source
|
Source
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.0.0/">
|
<a href="https://github.com/vr-payment/shopware-6/releases/tag/7.0.1/">
|
||||||
Source
|
Source
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -115,7 +115,11 @@ class RefundController extends AbstractController
|
|||||||
$apiClient = $settings->getApiClient();
|
$apiClient = $settings->getApiClient();
|
||||||
|
|
||||||
$transaction = $apiClient->getTransactionService()->read($settings->getSpaceId(), $transactionId);
|
$transaction = $apiClient->getTransactionService()->read($settings->getSpaceId(), $transactionId);
|
||||||
$this->refundService->createRefundByAmount($transaction, $refundableAmount, $context);
|
$refund = $this->refundService->createRefundByAmount($transaction, $refundableAmount, $context);
|
||||||
|
|
||||||
|
if ($refund === null) {
|
||||||
|
return new Response('refundExceedsAmount', Response::HTTP_BAD_REQUEST);
|
||||||
|
}
|
||||||
|
|
||||||
return new Response(null, Response::HTTP_NO_CONTENT);
|
return new Response(null, Response::HTTP_NO_CONTENT);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,31 @@ class SettingsService {
|
|||||||
public const CONFIG_STOREFRONT_WEBHOOKS_UPDATE_ENABLED = 'storefrontWebhooksUpdateEnabled';
|
public const CONFIG_STOREFRONT_WEBHOOKS_UPDATE_ENABLED = 'storefrontWebhooksUpdateEnabled';
|
||||||
public const CONFIG_STOREFRONT_PAYMENTS_UPDATE_ENABLED = 'storefrontPaymentsUpdateEnabled';
|
public const CONFIG_STOREFRONT_PAYMENTS_UPDATE_ENABLED = 'storefrontPaymentsUpdateEnabled';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of config properties whose values allowed to be empty without triggering a warning in logger.
|
||||||
|
*
|
||||||
|
* This list is derived from testing of all config properties. The plugin fails only when either spaceId, userId, applicationKey and/or integration is empty.
|
||||||
|
* On top of that, spaceId, userId, applicationKey are marked as "required" input fields in admin interface.
|
||||||
|
*
|
||||||
|
* It is worth considering updating this list whenever a new config is introduced in settings.
|
||||||
|
* If new config is optional, left empty by design and not required for transactions to work, this list should be updated to avoid false-positive warnings.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private const ALLOWED_EMPTY_CONFIGS = [
|
||||||
|
// Options
|
||||||
|
self::CONFIG_SPACE_VIEW_ID,
|
||||||
|
self::CONFIG_LINE_ITEM_CONSISTENCY_ENABLED,
|
||||||
|
self::CONFIG_EMAIL_ENABLED,
|
||||||
|
|
||||||
|
// Storefront Options
|
||||||
|
self::CONFIG_STOREFRONT_INVOICE_DOWNLOAD_ENABLED,
|
||||||
|
|
||||||
|
// Advanced Options
|
||||||
|
self::CONFIG_STOREFRONT_WEBHOOKS_UPDATE_ENABLED,
|
||||||
|
self::CONFIG_STOREFRONT_PAYMENTS_UPDATE_ENABLED
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \Shopware\Core\System\SystemConfig\SystemConfigService
|
* @var \Shopware\Core\System\SystemConfig\SystemConfigService
|
||||||
*/
|
*/
|
||||||
@@ -132,7 +157,13 @@ class SettingsService {
|
|||||||
if ($property === '') {
|
if ($property === '') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!is_numeric($value) && empty($value)) {
|
// Space view id is only numeric setting which can be 0. If it is, rest of the loop is skipped.
|
||||||
|
if ($property === self::CONFIG_SPACE_VIEW_ID && $value === 0) {
|
||||||
|
$propertyValuePairs[$property] = $value;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// Check if $value is empty and is not in the list of configs which are allowed to be empty
|
||||||
|
if (empty($value) && !in_array($property, self::ALLOWED_EMPTY_CONFIGS, true)) {
|
||||||
$this->logger->warning(strtr('Empty value :value for settings :property.', [':property' => $property, ':value' => $value]));
|
$this->logger->warning(strtr('Empty value :value for settings :property.', [':property' => $property, ':value' => $value]));
|
||||||
}
|
}
|
||||||
$propertyValuePairs[$property] = $value;
|
$propertyValuePairs[$property] = $value;
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ class Analytics {
|
|||||||
public const SHOP_SYSTEM = 'x-meta-shop-system';
|
public const SHOP_SYSTEM = 'x-meta-shop-system';
|
||||||
public const SHOP_SYSTEM_VERSION = 'x-meta-shop-system-version';
|
public const SHOP_SYSTEM_VERSION = 'x-meta-shop-system-version';
|
||||||
public const SHOP_SYSTEM_AND_VERSION = 'x-meta-shop-system-and-version';
|
public const SHOP_SYSTEM_AND_VERSION = 'x-meta-shop-system-and-version';
|
||||||
|
public const PLUGIN_SYSTEM_VERSION = 'x-meta-plugin-version';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array
|
* @return array
|
||||||
@@ -24,6 +25,7 @@ class Analytics {
|
|||||||
self::SHOP_SYSTEM => 'shopware',
|
self::SHOP_SYSTEM => 'shopware',
|
||||||
self::SHOP_SYSTEM_VERSION => '6',
|
self::SHOP_SYSTEM_VERSION => '6',
|
||||||
self::SHOP_SYSTEM_AND_VERSION => 'shopware-6',
|
self::SHOP_SYSTEM_AND_VERSION => 'shopware-6',
|
||||||
|
self::PLUGIN_SYSTEM_VERSION => '7.0.1',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+11
-2
@@ -70,9 +70,18 @@ Component.register('vrpayment-order-action-refund-by-amount', {
|
|||||||
});
|
});
|
||||||
}).catch((errorResponse) => {
|
}).catch((errorResponse) => {
|
||||||
try {
|
try {
|
||||||
|
var errorTitle;
|
||||||
|
var errorMessage;
|
||||||
|
if (errorResponse.response.data == 'refundExceedsAmount') {
|
||||||
|
errorTitle = this.$tc('vrpayment-order.refundAction.refundExceedsTotalError.title');
|
||||||
|
errorMessage = this.$tc('vrpayment-order.refundAction.refundExceedsTotalError.messageRefundAmountExceedsAvailableBalance');
|
||||||
|
} else {
|
||||||
|
errorTitle = errorResponse.response.data.errors[0].title;
|
||||||
|
errorMessage = errorResponse.response.data.errors[0].detail;
|
||||||
|
}
|
||||||
this.createNotificationError({
|
this.createNotificationError({
|
||||||
title: errorResponse.response.data.errors[0].title,
|
title: errorTitle,
|
||||||
message: errorResponse.response.data.errors[0].detail,
|
message: errorMessage,
|
||||||
autoClose: false
|
autoClose: false
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -77,7 +77,11 @@
|
|||||||
"successMessage": "Ihre Rückerstattung war erfolgreich",
|
"successMessage": "Ihre Rückerstattung war erfolgreich",
|
||||||
"successTitle": "Erfolg",
|
"successTitle": "Erfolg",
|
||||||
"maxAvailableItemsToRefund": "Maximal Verfügbare Artikel zum Erstatten",
|
"maxAvailableItemsToRefund": "Maximal Verfügbare Artikel zum Erstatten",
|
||||||
"maxAvailableAmountToRefund": "Maximal verfügbarer Erstattungsbetrag"
|
"maxAvailableAmountToRefund": "Maximal verfügbarer Erstattungsbetrag",
|
||||||
|
"refundExceedsTotalError": {
|
||||||
|
"title": "Fehler beim Erstellen der Rückerstattung.",
|
||||||
|
"messageRefundAmountExceedsAvailableBalance": "Der Rückerstattungsbetrag übersteigt das verfügbare Guthaben."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"transactionHistory": {
|
"transactionHistory": {
|
||||||
"cardTitle": "Einzelheiten",
|
"cardTitle": "Einzelheiten",
|
||||||
|
|||||||
@@ -78,7 +78,11 @@
|
|||||||
"successMessage": "Your refund was successful.",
|
"successMessage": "Your refund was successful.",
|
||||||
"successTitle": "Success",
|
"successTitle": "Success",
|
||||||
"maxAvailableItemsToRefund": "Maximum available items to refund",
|
"maxAvailableItemsToRefund": "Maximum available items to refund",
|
||||||
"maxAvailableAmountToRefund": "Maximum available amount to refund"
|
"maxAvailableAmountToRefund": "Maximum available amount to refund",
|
||||||
|
"refundExceedsTotalError": {
|
||||||
|
"title": "Error while creating the refund.",
|
||||||
|
"messageRefundAmountExceedsAvailableBalance": "Refund amount exceeds available balance."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"transactionHistory": {
|
"transactionHistory": {
|
||||||
"cardTitle": "Details",
|
"cardTitle": "Details",
|
||||||
|
|||||||
@@ -77,7 +77,11 @@
|
|||||||
"successMessage": "Votre remboursement a été effectué avec succès.",
|
"successMessage": "Votre remboursement a été effectué avec succès.",
|
||||||
"successTitle": "Succès",
|
"successTitle": "Succès",
|
||||||
"maxAvailableItemsToRefund": "Nombre maximum d'articles disponibles pour le remboursement",
|
"maxAvailableItemsToRefund": "Nombre maximum d'articles disponibles pour le remboursement",
|
||||||
"maxAvailableAmountToRefund": "Montant maximal disponible pour le remboursement"
|
"maxAvailableAmountToRefund": "Montant maximal disponible pour le remboursement",
|
||||||
|
"refundExceedsTotalError": {
|
||||||
|
"title": "Erreur lors de la création du remboursement.",
|
||||||
|
"messageRefundAmountExceedsAvailableBalance": "Le montant du remboursement dépasse le solde disponible."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"transactionHistory": {
|
"transactionHistory": {
|
||||||
"cardTitle": "Détails",
|
"cardTitle": "Détails",
|
||||||
|
|||||||
@@ -77,7 +77,11 @@
|
|||||||
"successMessage": "Il tuo rimborso è andato a buon fine.",
|
"successMessage": "Il tuo rimborso è andato a buon fine.",
|
||||||
"successTitle": "Successo",
|
"successTitle": "Successo",
|
||||||
"maxAvailableItemsToRefund": "Numero massimo di articoli disponibili da rimborsare",
|
"maxAvailableItemsToRefund": "Numero massimo di articoli disponibili da rimborsare",
|
||||||
"maxAvailableAmountToRefund": "Importo massimo disponibile per il rimborso"
|
"maxAvailableAmountToRefund": "Importo massimo disponibile per il rimborso",
|
||||||
|
"refundExceedsTotalError": {
|
||||||
|
"title": "Errore durante la creazione del rimborso.",
|
||||||
|
"messageRefundAmountExceedsAvailableBalance": "LL'importo del rimborso supera il saldo disponibile."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"transactionHistory": {
|
"transactionHistory": {
|
||||||
"cardTitle": "Dettagli",
|
"cardTitle": "Dettagli",
|
||||||
|
|||||||
+3
-3
@@ -45,15 +45,15 @@
|
|||||||
<mt-card title="Sales Channel Switch">
|
<mt-card title="Sales Channel Switch">
|
||||||
|
|
||||||
{% block vrpayment_settings_content_card_channel_config_sales_channel_card_title %}
|
{% block vrpayment_settings_content_card_channel_config_sales_channel_card_title %}
|
||||||
<sw-single-select
|
<sw-entity-single-select
|
||||||
v-model:value="selectedSalesChannelId"
|
v-model:value="selectedSalesChannelId"
|
||||||
labelProperty="translated.name"
|
labelProperty="translated.name"
|
||||||
valueProperty="id"
|
valueProperty="id"
|
||||||
:mapInheritance="props"
|
:mapInheritance="props"
|
||||||
:isLoading="isLoading"
|
:isLoading="isLoading"
|
||||||
:options="salesChannel"
|
entity="sales_channel"
|
||||||
@update:value="onInput">
|
@update:value="onInput">
|
||||||
</sw-single-select>
|
</sw-entity-single-select>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block vrpayment_settings_content_card_channel_config_sales_channel_card_footer %}
|
{% block vrpayment_settings_content_card_channel_config_sales_channel_card_footer %}
|
||||||
<template #footer>
|
<template #footer>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
],
|
],
|
||||||
"dynamic": [],
|
"dynamic": [],
|
||||||
"js": [
|
"js": [
|
||||||
"/bundles/vrpaymentpayment/administration/assets/v-r-payment-payment-CRU13hxm.js"
|
"/bundles/vrpaymentpayment/administration/assets/v-r-payment-payment-C6eiDWfX.js"
|
||||||
],
|
],
|
||||||
"legacy": false,
|
"legacy": false,
|
||||||
"preload": []
|
"preload": []
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"main.js": {
|
"main.js": {
|
||||||
"file": "assets/v-r-payment-payment-CRU13hxm.js",
|
"file": "assets/v-r-payment-payment-C6eiDWfX.js",
|
||||||
"name": "v-r-payment-payment",
|
"name": "v-r-payment-payment",
|
||||||
"src": "main.js",
|
"src": "main.js",
|
||||||
"isEntry": true,
|
"isEntry": true,
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user