Skip to content

Commit

Permalink
Release 1.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
vttn committed Nov 26, 2020
1 parent c310cbc commit 59d431a
Show file tree
Hide file tree
Showing 7 changed files with 180 additions and 13 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# 1.2.0
- Add payment method availability rule
- Hardcoded system languages

# 1.1.27
- Retry orders on unavailable payment method

Expand Down
107 changes: 107 additions & 0 deletions CHANGELOG_de-DE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# 1.2.0
- Verfügbarkeitsregel für Zahlungsmethoden hinzufügen
- Hardcodierte Systemsprachen

# 1.1.27
- Wiederholen Sie Bestellungen bei nicht verfügbarer Zahlungsmethode

# 1.1.26
- Korrigieren Sie Gebietsschemas und Übersetzungen

# 1.1.25
- E-Mail-Versand korrigiert

# 1.1.24
- Webhook-Antwort korrigiert
- Übersetzung korrigieren
- Bereiten Sie sich auf Shopware vor 6.4

# 1.1.23
- Senden Sie das Zahlungsformular, wenn iframe keine Felder enthält

# 1.1.22
- Einstellung zum Herunterladen der Bestellrechnung

# 1.1.21
- Entfernen Sie die fest codierte Shopware-API-Version

# 1.1.20
- Aktualisieren Sie die Webhook-URLs beim Plugin-Update
- Übersetzungen hinzufügen
- E-Mail-Fehler behoben

# 1.1.19
- Kunden können Bestellrechnungen herunterladen

# 1.1.18
- Test gegen Shopware 6.3
- Fehler bei ungültiger Speicherplatz-ID behoben
- Entfernen Sie die fest codierte Shopware-API-Version

# 1.1.17
- Verwenden Sie DAL für Webhook-Sperren

# 1.1.16
- Stellen Sie nur Übersetzungen für verfügbare Sprachen bereit
- CustomerCanceledAsyncPaymentException für stornierte Transaktionen zurückgeben
- Aktualisieren Sie das SDK auf 2.1.1

# 1.1.15
- Senden Sie den Vor- und Nachnamen des Kunden aus den Rechnungs- und Versandprofilen
- Respektieren Sie die Shop-URL

# 1.1.14
- Fügen Sie dem Cookie-Manager Cookies hinzu
- Ändern Sie die Größe des Symbols auf 40px * 40px
- Korrektur von Werbebuchungsattributen

# 1.1.13
- Fügen Sie den Lieferantenordner in Shopware Store-Versionen ein

# 1.1.12
- Dokumentpfad aktualisieren

# 1.1.11
- Dokumentation hinzufügen

# 1.1.10
- Reagieren Sie nicht mehr mit Serverfehlern, wenn keine Bestellungen gefunden werden

# 1.1.9
- Setzen Sie try catch auf die Webhook-Installation

# 1.1.8
- Entfernen Sie nicht hilfreiche Ticketinformationen in den Release-Kommentaren

# 1.1.7
- Werbeaktionen durchführen
- Code Refactoring

# 1.1.6
- Deaktivieren Sie die Auswahl der Vertriebskanäle für Vitrinen
- Fügen Sie der Transaktionsnutzlast Produktattribute hinzu

# 1.1.5
- Einstellungsfehler behoben

# 1.1.4
- Deaktivieren Sie das Ändern der Anmeldeinformationen für die Vitrinen

# 1.1.3
- Legen Sie die Konsistenz der Werbebuchung als Standard fest
- Bestätigen Sie die Transaktion sofort
- Aktualisieren Sie die Einstellungsbeschreibungen

# 1.1.2
- Bereiten Sie die interne serverseitige Installation für Vitrinen und Demos vor

# 1.1.1
- Stoppen Sie das Senden von Standard-E-Mails
- Verschönern Sie die Zahlungsseite

# 1.1.0
- Behandeln Sie leere / Standardeinstellungswerte
- Speichern Sie Rückerstattungen in db und laden Sie die Registerkarte Bestellung bei Änderungen neu

# 1.0.0
- Erste Version der PostFinanceCheckout-Integrationen für Shopware 6
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ account dashboard.

## Documentation

[Documentation](https://plugin-documentation.postfinance-checkout.ch/pfpayments/shopware-6/1.1.27/docs/en/documentation.html)
[Documentation](https://plugin-documentation.postfinance-checkout.ch/pfpayments/shopware-6/1.2.0/docs/en/documentation.html)

## License

Expand Down
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@
"ext-json": "*",
"ext-mbstring": "*",
"php": ">=7.2",
"shopware/core": "~6.2.3 || ~6.3.0",
"shopware/storefront": "~6.2.3 || ~6.3.0",
"shopware/core": "~6.2.3 || ~6.3",
"shopware/storefront": "~6.2.3 || ~6.3",
"postfinancecheckout/sdk": "2.1.4"
},
"type": "shopware-platform-plugin",
"version": "1.1.27"
"version": "1.2.0"
}
2 changes: 1 addition & 1 deletion docs/en/documentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ <h2>Documentation</h2> </div>
</a>
</li>
<li>
<a href="https://github.com/pfpayments/shopware-6/releases/tag/1.1.27/">
<a href="https://github.com/pfpayments/shopware-6/releases/tag/1.2.0/">
Source
</a>
</li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use Psr\Log\LoggerInterface;
use Shopware\Core\{
Checkout\Cart\Rule\CartAmountRule,
Content\ImportExport\DataAbstractionLayer\Serializer\Entity\MediaSerializer,
Content\ImportExport\DataAbstractionLayer\Serializer\SerializerRegistry,
Content\ImportExport\Struct\Config,
Expand All @@ -12,6 +13,7 @@
Framework\DataAbstractionLayer\Search\Criteria,
Framework\DataAbstractionLayer\Search\Filter\EqualsFilter,
Framework\Plugin\Util\PluginIdProvider,
Framework\Rule\Container\AndRule,
Framework\Uuid\Uuid};
use Symfony\Component\DependencyInjection\ContainerInterface;
use PostFinanceCheckout\Sdk\{
Expand All @@ -36,6 +38,8 @@
*/
class PaymentMethodConfigurationService {

public const POSTFINANCECHECKOUT_AVAILABILITY_RULE_NAME = 'PostFinanceCheckoutAvailabilityRule';

/**
* @var \PostFinanceCheckoutPayment\Core\Settings\Service\SettingsService
*/
Expand Down Expand Up @@ -88,6 +92,11 @@ class PaymentMethodConfigurationService {
*/
private $localeCodeProvider;

/**
* @var \Shopware\Core\Framework\DataAbstractionLayer\EntityRepositoryInterface
*/
private $ruleRepository;

/**
* PaymentMethodConfigurationService constructor.
*
Expand All @@ -108,6 +117,7 @@ public function __construct(
$this->mediaSerializer = $mediaSerializer;
$this->serializerRegistry = $serializerRegistry;
$this->localeCodeProvider = $this->container->get(LocaleCodeProvider::class);
$this->ruleRepository = $this->container->get('rule.repository');;
}

/**
Expand Down Expand Up @@ -365,13 +375,16 @@ protected function upsertPaymentMethod(
$context
);

$availabilityRuleId = $this->getAvailabilityRuleId($context);

$data = [
'id' => $id,
'handlerIdentifier' => PostFinanceCheckoutPaymentHandler::class,
'pluginId' => $pluginId,
'position' => $paymentMethodConfiguration->getSortOrder() - 100,
'active' => true,
'translations' => $this->getPaymentMethodConfigurationTranslation($paymentMethodConfiguration, $context),
'id' => $id,
'handlerIdentifier' => PostFinanceCheckoutPaymentHandler::class,
'availabilityRuleId' => $availabilityRuleId,
'pluginId' => $pluginId,
'position' => $paymentMethodConfiguration->getSortOrder() - 100,
'active' => true,
'translations' => $this->getPaymentMethodConfigurationTranslation($paymentMethodConfiguration, $context),
];

$data['mediaId'] = $this->upsertMedia($id, $paymentMethodConfiguration, $context);
Expand All @@ -381,6 +394,47 @@ protected function upsertPaymentMethod(
$this->container->get('payment_method.repository')->upsert([$data], $context);
}

/**
* @param \Shopware\Core\Framework\Context $context
*
* @return string
*/
private function getAvailabilityRuleId(Context $context): string
{
$criteria = (new Criteria())->addFilter(new EqualsFilter('name', self::POSTFINANCECHECKOUT_AVAILABILITY_RULE_NAME));
$availabilityRule = $this->ruleRepository->search($criteria, $context)->first();

if (!is_null($availabilityRule)) {
return $availabilityRule->getId();
}

$ruleId = Uuid::randomHex();
$data = [
'id' => $ruleId,
'name' => self::POSTFINANCECHECKOUT_AVAILABILITY_RULE_NAME,
'priority' => 1,
'description' => 'Determines whether or not PostFinanceCheckout payment methods are available for the given rule context.',
'conditions' => [
[
'type' => (new AndRule())->getName(),
'children' => [
[
'type' => (new CartAmountRule())->getName(),
'value' => [
'operator' => CartAmountRule::OPERATOR_GTE,
'amount' => 0,
],
],
],
],
],
];

$this->ruleRepository->create([$data], $context);

return $ruleId;
}

/**
* @param \PostFinanceCheckout\Sdk\Model\PaymentMethodConfiguration $paymentMethodConfiguration
* @param \Shopware\Core\Framework\Context $context
Expand All @@ -392,8 +446,8 @@ protected function upsertPaymentMethod(
*/
protected function getPaymentMethodConfigurationTranslation(PaymentMethodConfiguration $paymentMethodConfiguration, Context $context): array
{
$translations = [];
$locales = $this->localeCodeProvider->getAvailableLocales($context);
$translations = [];
$locales = $this->localeCodeProvider->getAvailableLocales($context);
foreach ($locales as $locale) {
$translations[$locale] = [
'name' => $this->translate($paymentMethodConfiguration->getResolvedTitle(), $locale) ?? $paymentMethodConfiguration->getName(),
Expand Down
2 changes: 2 additions & 0 deletions src/Core/Util/LocaleCodeProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ public function getAvailableLocales(Context $context): array
$availableLanguages->jsonSerialize()
);
$locales[] = $this->getDefaultLocaleCode($context);
$locales[] = 'de-DE';
$locales[] = 'en-GB';
$locales = array_unique($locales);
return $locales;
}
Expand Down

0 comments on commit 59d431a

Please sign in to comment.