diff --git a/Model/Config/Source/State.php b/Model/Config/Source/State.php
index 7ca30a4..a1235b4 100644
--- a/Model/Config/Source/State.php
+++ b/Model/Config/Source/State.php
@@ -35,8 +35,8 @@ public function toOptionArray()
$options = [];
foreach ($collection as $item) {
$options[] = [
- 'value' => __($item->getData('label')) . Status::STATUS_STATE_SEPARATOR . $item->getState(),
- 'label' => $item->getState()
+ 'value' => $item->getStatus() . Status::STATUS_STATE_SEPARATOR . $item->getState(),
+ 'label' => __($item->getLabel())
];
}
diff --git a/Model/OrderImporter/Creator.php b/Model/OrderImporter/Creator.php
index a3ac45d..f200d48 100644
--- a/Model/OrderImporter/Creator.php
+++ b/Model/OrderImporter/Creator.php
@@ -323,11 +323,9 @@ protected function processStatus(OrderInterface $order, CheckoutFormInterface $c
{
$status = $this->status->get($checkoutForm);
- if ($status[Status::STATE_KEY] != Order::STATE_NEW) {
- $order
- ->setStatus($status[Status::STATUS_KEY])
- ->setState($status[Status::STATE_KEY]);
- }
+ $order
+ ->setStatus($status[Status::STATUS_KEY])
+ ->setState($status[Status::STATE_KEY]);
if ($status[Status::PAID_KEY]) {
$this->invoice->create($order);
diff --git a/Model/OrderImporter/Status.php b/Model/OrderImporter/Status.php
index 9b2c55f..b04eed0 100644
--- a/Model/OrderImporter/Status.php
+++ b/Model/OrderImporter/Status.php
@@ -14,7 +14,7 @@ class Status
const PENDING_STATUS = 'pending';
const PROCESSING_STATUS = 'processing';
const OVERPAYMENT_STATUS_CONFIG_KEY = 'allegro/order/overpayment_status';
- const UNDERPAYMENT_STATUS_CONFIG_KEY = 'allegro/order/overpayment_status';
+ const UNDERPAYMENT_STATUS_CONFIG_KEY = 'allegro/order/underpayment_status';
const STATUS_KEY = 'status';
const STATE_KEY = 'state';
const PAID_KEY = 'paid';
@@ -40,7 +40,7 @@ public function __construct(ScopeConfigInterface $scopeConfig)
public function get(CheckoutFormInterface $checkoutForm)
{
$paidAmountValue = $checkoutForm->getPayment()->getPaidAmount()->getAmount();
- if ($paidAmountValue == 0.) {
+ if ($paidAmountValue == 0) {
return $this->arrayResponse(self::PENDING_STATUS, Order::STATE_NEW);
}
diff --git a/README.md b/README.md
index 4301de5..767426c 100644
--- a/README.md
+++ b/README.md
@@ -81,7 +81,13 @@ produktu i przesyła go do Allegro w celu aktualizacji.
![stock_inventory_synchronization](README/stockInventorySynchronizationDiagram.png)
-Synchronizację stanów magazynowych można włączać lub wyłączać w konfiguracji wtyczki.
+Synchronizację stanów magazynowych można włączyć w konfiguracji wtyczki.
+
+## Synchronizacja cen
+Wtyczka oferuję również możliwość synchronizacji cen produktów Magento z cenami ofert na Allegro. Każdorazowa zmiana ceny produktu jest przesyłana do odpowiedniej oferty na Allegro. Można ustawić, aby ceny były wyższe na Allegro niż w Magento o odpowiedni procent (procent jest jednakowy dla każdej oferty).
+
+Synchronizację cen można włączyć w konfiguracji wtyczki.
+![price_policy_configuration](README/allegroPricePolicyConfiguration.png)
## Integracja zamówień
Po nawiązaniu połączenia sklepu z aplikacją Allegro możemy włączyć w konfiguracji import zamówień.
@@ -146,7 +152,7 @@ Za pomocą wtyczki możemy wystawiać produkty z Magento na Allegro. Aby to zrob
2. Dodać informacje o [zwrotach](https://allegro.pl/dla-sprzedajacych/warunki-oferty-zwroty-a124GwdXZFA), [reklamacji](https://allegro.pl/dla-sprzedajacych/warunki-oferty-reklamacje-vKgeWL5GnHA) oraz [gwarancji](https://allegro.pl/dla-sprzedajacych/warunki-oferty-gwarancje-9dXYn0VeXHM) na Allegro (wymagane tylko dla konta firmowego)
3. Uzupełnić informacje o loklizacji (Sklepy->Konfiguracja->Allegro->Konfiguracja->Pochodzenie)
![origin_configuration](README/originConfiguration.png)
-4. (opcjonalnie) Wybrać atrybuty produktów, z których ma być pobierany kod EAN oraz opis (Sklepy->Konfiguracja->Allegro->Konfiguracja->Tworzenie oferty)
+4. (opcjonalnie) Wybrać atrybuty produktów, z których mają być pobierane kod EAN, opis oraz cena (Sklepy->Konfiguracja->Allegro->Konfiguracja->Tworzenie oferty)
![ean_select](README/allegroOfferCreateConfiguration.png)
Po wprowadzeniu wymaganych danych można zacząć wystawiać oferty z poziomu Magento.
diff --git a/README/allegroOfferCreateConfiguration.png b/README/allegroOfferCreateConfiguration.png
index 96ed6c8..6268d4a 100644
Binary files a/README/allegroOfferCreateConfiguration.png and b/README/allegroOfferCreateConfiguration.png differ
diff --git a/README/allegroOrderImporterConfiguration.png b/README/allegroOrderImporterConfiguration.png
index 32c417d..3410843 100644
Binary files a/README/allegroOrderImporterConfiguration.png and b/README/allegroOrderImporterConfiguration.png differ
diff --git a/README/allegroPricePolicyConfiguration.png b/README/allegroPricePolicyConfiguration.png
new file mode 100644
index 0000000..39d57c6
Binary files /dev/null and b/README/allegroPricePolicyConfiguration.png differ
diff --git a/Setup/Patch/Data/OrderStatuses.php b/Setup/Patch/Data/OrderStatuses.php
new file mode 100644
index 0000000..86ec361
--- /dev/null
+++ b/Setup/Patch/Data/OrderStatuses.php
@@ -0,0 +1,79 @@
+moduleDataSetup = $moduleDataSetup;
+ }
+
+ /**
+ * @return array
+ */
+ public static function getDependencies()
+ {
+ return [];
+ }
+
+ /**
+ * @return array
+ */
+ public function getAliases()
+ {
+ return [];
+ }
+
+ /**
+ * @return OrderStatuses|void
+ */
+ public function apply()
+ {
+ $connection = $this->moduleDataSetup->getConnection();
+
+ $connection->startSetup();
+
+ $sosTable = $this->moduleDataSetup->getTable('sales_order_status');
+ $sossTable = $this->moduleDataSetup->getTable('sales_order_status_state');
+
+ //Remove incorrect statuses
+ $connection->delete($sossTable, ['state = ?' => self::ALLEGRO_UNDERPAYMENT_STATUS]);
+ $connection->delete($sossTable, ['state = ?' => self::ALLEGRO_OVERPAYMENT_STATUS]);
+
+ $data[] = ['status' => self::ALLEGRO_UNDERPAYMENT_STATUS, 'label' => 'Allegro underpayment'];
+ $data[] = ['status' => self::ALLEGRO_OVERPAYMENT_STATUS, 'label' => 'Allegro overpayment'];
+ $connection->insertArray(
+ $sosTable,
+ ['status', 'label'],
+ $data
+ );
+
+ $connection->insertArray(
+ $sossTable,
+ ['status', 'state', 'is_default','visible_on_front'],
+ [
+ [self::ALLEGRO_UNDERPAYMENT_STATUS,'new', '0', '1'],
+ [self::ALLEGRO_OVERPAYMENT_STATUS, 'new', '0', '1']
+ ]
+ );
+
+ $connection->endSetup();
+ }
+}
diff --git a/etc/config.xml b/etc/config.xml
index 4eb4f2b..6f400b6 100644
--- a/etc/config.xml
+++ b/etc/config.xml
@@ -16,8 +16,8 @@
1
1
0
- Pending:allegro_overpayment
- Pending:allegro_underpayment
+ allegro_overpayment:new
+ allegro_underpayment:new
0
@@ -27,6 +27,7 @@
sku
+ description
price
diff --git a/i18n/pl_PL.csv b/i18n/pl_PL.csv
index 80f87e5..1d2730d 100644
--- a/i18n/pl_PL.csv
+++ b/i18n/pl_PL.csv
@@ -179,3 +179,5 @@
"Creation date","Data utworzenia"
"Cron for cleaning old reservations enabled","Cron do czyszczenia starych rezerwacji jest włączony"
"Cron deletes reservations older than 10 days","Cron usuwa rezerwacje starsze niż 10 dni"
+"Allegro underpayment","Allegro niedopłata"
+"Allegro overpayment","Allegro nadpłata"