diff --git a/README.md b/README.md index ea5d9481..9ff4ddad 100644 --- a/README.md +++ b/README.md @@ -21,4 +21,4 @@ Die jeweils geforderten Versionen und sonstige Anforderungen entnehmen Sie bitte ## Installation: -Eine detaillierte Installationsanleitung finden Sie [online](https://docs.oxidmodule.com/Auftragsmanager/) und im docs-Verzeichnis dieses Pakets. +Eine detaillierte Installationsanleitung finden Sie [online](https://docs.oxidmodule.com/Auftragsmanager/) und im docs-Verzeichnis dieses Pakets. \ No newline at end of file diff --git a/composer.json b/composer.json index 38b15e78..9d06a459 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,7 @@ { "name": "D3 Data Development (Inh. Thomas Dartsch)", "email": "info@shopmodule.com", - "homepage": "http://www.d3data.de", + "homepage": "https://www.d3data.de", "role": "Owner" } ], @@ -32,20 +32,23 @@ } }, "require": { - "php": "7.1 - 7.3", "ext-ionCube-Loader": "*", + "php": "7.1 - 7.4", "ext-ionCube-Loader": "*", "ext-pdo": "*", "oxid-esales/oxideshop-ce": "6.5 - 6.5", "d3/modcfg": "^5.3.1.100", "league/flysystem": "^1.0", "splitbrain/php-cli": "^1.1", "html2text/html2text": "^4.2", - "nilportugues/sql-query-formatter": "^1.2.2" + "nilportugues/sql-query-formatter": "^1.2.2", + "guzzlehttp/guzzle": "^6.5.3" }, "require-dev": { - "mikey179/vfsstream": "^1.4" + "mikey179/vfsstream": "^1.4", + "donatj/mock-webserver": "^2.1" }, "suggest": { - "oxid-projects/pdf-invoice-module": "enables the automatic generation, dispatch and storage of PDF documents" + "d3/pdfdocuments": "enables the automatic generation, dispatch and storage of highly customizable PDF documents", + "oxid-projects/pdf-invoice-module": "enables the automatic generation, dispatch and storage of OXID invoice PDF documents" }, "autoload": { "psr-4": { diff --git a/docs/daux/changelog/010_Changelog.md b/docs/daux/changelog/010_Changelog.md index 5298aea1..18f8b5c2 100644 --- a/docs/daux/changelog/010_Changelog.md +++ b/docs/daux/changelog/010_Changelog.md @@ -2,6 +2,28 @@ title: Changelog --- +## 4.1.0.0 - (2020-08-20) + +### Added +- PDF-Dokumente können optional aus D³ PDF Dokumente Modul sowie auch aus OXID PDF Invoice Modul generiert werden +- Push-Notifications können versendet werden + +### Changed +- OXID Invoice PDF Modul ist keine Anforderung mehr +- jeder ausgeführte Task wird auf Abbrüche kontrolliert, um Folgetasks weiter ausführen zu können +- Inhalte der E-Mails werden in Bestellssprache geladen +- Sprachumschalter bei den Moduleinstellungen entfernt, um Verwirrungen bei unterschiedlichen Konfigurationen zu vermeiden +- Währung der Bestellung wird im Maileditor geladen, um passende Formatierung zu verwenden +- umfangreicher Setupschritt wird nur noch einmalig ausgeführt + +### Fixed +- Dateinamen der PDF-Dokumente werden auf ungültige Zeichen geprüft und korrigiert +- RemarkHandler verliert Informationen beim Ausführen von Cronjobs +- ungültige Zeichen in PDF-Dateinamen werden ersetzt +- alte Cronaufrufe ohne Command starten Verarbeitung nicht + +--- + ## 4.0.0.0 - (2020-04-29) ** Hinweis für kleinere Versions-Upgrades: Es gibt einige rückwärts-inkompatible Änderungen an dieser Version. ** diff --git a/docs/daux/config.json b/docs/daux/config.json index 36c1816e..ecce8777 100644 --- a/docs/daux/config.json +++ b/docs/daux/config.json @@ -1,9 +1,9 @@ { "title": " Auftragsmanager", - "moduleversion": "4.0.0.0", + "moduleversion": "4.1.0.0", "titledesc": "für den Oxid eShop", "author": "D³ Data Development", - "moduledate": "30.04.2020", + "moduledate": "20.08.2020", "editors": "", "tagline": "", "image": "", diff --git a/docs/daux/editions/010_Editionen.md b/docs/daux/editions/010_Editionen.md index c8bc69f5..2376af9e 100644 --- a/docs/daux/editions/010_Editionen.md +++ b/docs/daux/editions/010_Editionen.md @@ -67,8 +67,10 @@ Das Modul **{$modulename}** erhalten Sie in verschiedenen Editionen mit untersch | Bezahlt-am Datum setzen | | X | X | | Versandkosten ändern | | X | X | | Rabatte ändern | | X | X | -| PDF generieren | | X | X | -| Feld mit Wert füllen | | | X | +| PDF generieren (aus OXID Invoice PDF) | | X | X | +| PDF generieren (aus (D3) PDF Dokumente) | | X | X | | Kundengruppe zuordnen / entfernen | | X | X | | Export in Liste | | X | X | +| Feld mit Wert füllen | | | X | | Individualaktionen / -bedingungen definieren | | | X | +| Push-Notification senden | | | X | diff --git a/docs/daux/installation/010_Anforderungen/030_Kompatibilitaet_mit_anderen_Modulen.md b/docs/daux/installation/010_Anforderungen/030_Kompatibilitaet_mit_anderen_Modulen.md index 1baf34fd..4ee666c5 100644 --- a/docs/daux/installation/010_Anforderungen/030_Kompatibilitaet_mit_anderen_Modulen.md +++ b/docs/daux/installation/010_Anforderungen/030_Kompatibilitaet_mit_anderen_Modulen.md @@ -2,7 +2,13 @@ title: Kompatibilität mit anderen Modulen --- -Der **{$modulename}** integriert die Erweiterung "Invoice PDF" von OXID eSales AG, sofern diese im Shop installiert wurde. Diese Integration wurde für die Version 2.1.1 des „Invoice PDF“-Moduls entwickelt. +Der **{$modulename}** integriert die Erweiterung "PDF Dokumente" von (D3) Data Development, sofern diese im Shop installiert wurde. Diese Integration wurde für die Version 1.0.0 des "PDF Dokumente"-Moduls entwickelt. + +Der **{$modulename}** ist natürlich auch ohne das "PDF Dokumente"-Modul einsetzbar, kann jedoch dann keine PDF-Exporte verwenden. + +--- + +Der **{$modulename}** integriert die Erweiterung "Invoice PDF" von OXID eSales AG, sofern diese im Shop installiert wurde. Diese Integration wurde für die Version 2.1.1 des "Invoice PDF"-Moduls entwickelt. Der **{$modulename}** ist natürlich auch ohne das "Invoice PDF"-Modul einsetzbar, kann jedoch dann keine PDF-Exporte verwenden. diff --git a/docs/daux/installation/020_Neuinstallation/020_Modul_hinzufuegen.md b/docs/daux/installation/020_Neuinstallation/020_Modul_hinzufuegen.md index 36cf73f4..85888d96 100644 --- a/docs/daux/installation/020_Neuinstallation/020_Modul_hinzufuegen.md +++ b/docs/daux/installation/020_Neuinstallation/020_Modul_hinzufuegen.md @@ -5,7 +5,7 @@ title: Modul zur Installation hinzufügen Führen Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des `source`- und `vendor`-Verzeichnisses) diesen Befehl aus, um das Modul **{$modulename}** zur Installation hinzuzufügen: ```bash -php composer require {$composerident} --update-no-dev +php composer require {$composerident}:^{$moduleversion} --update-no-dev ``` > [!] Achten Sie darauf, dass die Installation über Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. diff --git a/docs/daux/installation/020_Neuinstallation/_index.md b/docs/daux/installation/020_Neuinstallation/_index.md index cac2ce2f..3c7760a0 100644 --- a/docs/daux/installation/020_Neuinstallation/_index.md +++ b/docs/daux/installation/020_Neuinstallation/_index.md @@ -5,7 +5,7 @@ Title: Schnellstart per Composer ## Schnellstart per Composer ```bash -php composer require {$composerident} --update-no-dev +php composer require {$composerident}:^{$moduleversion} --update-no-dev ``` -Detailliertere Angaben zur Installation entnehmen Sie bitte den folgenden Seiten. \ No newline at end of file +Detailliertere Angaben zur Installation entnehmen Sie bitte den folgenden Seiten. diff --git a/docs/daux/installation/030_Update/020_Dateien_erneuern.md b/docs/daux/installation/030_Update/020_Dateien_erneuern.md index 950d51e6..d49d8409 100644 --- a/docs/daux/installation/030_Update/020_Dateien_erneuern.md +++ b/docs/daux/installation/030_Update/020_Dateien_erneuern.md @@ -6,9 +6,11 @@ Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ih Shops (oberhalb des `source`- und `vendor`-Verzeichnisses). Führen Sie dort diesen Befehl aus: ```bash -php composer update {$composerident} --no-dev +php composer require {$composerident}:^{$moduleversion} --update-no-dev ``` +Im weiteren Ablauf werden Sie gefragt, ob die Moduldateien überschrieben werden sollen. Bestätigen Sie dies für den Eintrag `{$composerident}`. + > [!] Achten Sie darauf, dass die Installation über Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. > [i] Benötigt Ihre Installation einen anderen Aufruf von Composer, ändern Sie den Befehl bitte entsprechend ab. Für weitere Optionen dieses Befehls lesen Sie bitte die [Dokumentation von Composer](https://getcomposer.org/doc/03-cli.md#require). \ No newline at end of file diff --git a/docs/daux/manual/030_Aufgaben/050_Aktionen.md b/docs/daux/manual/030_Aufgaben/050_Aktionen.md index 49c6dda9..5405f8e3 100644 --- a/docs/daux/manual/030_Aufgaben/050_Aktionen.md +++ b/docs/daux/manual/030_Aufgaben/050_Aktionen.md @@ -6,29 +6,63 @@ Haben Sie die Bedingungen gesetzt, setzen Sie nun die Aktionen, die ausschließl Auch hier verzichten wir in diesem Handbuch auf die Auflistung der Aktionen, da diese normalerweise selbsterklärend sind. Im Folgenden sind nun Besonderheiten aufgeführt, auf die Sie speziell achten sollten: +### "Bestellung löschen" Beachten Sie, dass die Aktion „Löschen von Bestellungen“ nicht rückgängig gemacht werden kann. Lassen Sie bei solchen Aktionen erst während eines Testzeitraums die Infomails zusenden, mit denen Sie prüfen können, ob die Löschaktionen auch die richtigen Bestellungen betreffen. Wir übernehmen keine Gewährleistung bei Datenverlust auf Grund von unzureichend geprüften Aufgaben. +### Aktionen mit Währungsmengen Alle Aktionen, die sich auf Währungsmengen beziehen (z.B. Versandkosten oder Rabatte), verwenden die Angabe immer in der Shop-Hauptwährung. Rechnen Sie Angaben in Fremdwährung für die Aktionen daher bitte immer um. +### "Feld auf Wert prüfen / mit Wert füllen" Geben Sie bei Veränderung eines Freitextfeldes als Feldname immer das Stammfeld an. Die Angabe des sprachabhängigen Suffix (z.B. ..._1) wird vom Modul bei Bedarf selbst vorgenommen. +### "E-Mail senden" Beim Versand von Mails können Sie als Quelle Ihres Mailinhalts CMS-Bausteine aus Ihrem Shop oder komplette Templatedateien verwenden. In beiden Möglichkeiten haben Sie die folgenden Variablen zur Verfügung, um die Mail zu individualisieren: -| Variable | Inhalt | +| Variable | Inhalt | |-------------------|-----------------------------------------------------------------------------------------------------------------------| -| $oShop | enthält das Shop-Objekt und alle seine Möglichkeiten | -| $shop | enthält das Shop-Objekt und alle seine Möglichkeiten | -| $oViewConf | enthält das Shop-Objekt und alle seine Möglichkeiten | -| $oOrder | enthält das Bestellungen-Objekt und alle seine Möglichkeiten | -| $order | enthält das Bestellungen-Objekt und alle seine Möglichkeiten | -| $oUser | enthält das Benutzer-Objekt und alle seine Möglichkeiten | -| $user | enthält das Benutzer-Objekt und alle seine Möglichkeiten | -| $shopTemplateDir | enthält das Verzeichnis zum Template | -| $charset | enthält den Zeichensatz für die Mail | -| $basket | enthält das Warenkorb-Objekt und alle seine Möglichkeiten (erfordert, dass alle Artikel noch im Stamm vorhanden sind) | -| $payment | enthält das Bezahlarten-Objekt und alle seine Möglichkeiten | -| $oDelSet | enthält das Versandarten-Objekt und alle seine Möglichkeiten | -| $currency | enthält das Währungs-Objekt und alle seine Möglichkeiten | +| $oShop | enthält das Shop-Objekt und alle seine Möglichkeiten | +| $shop | enthält das Shop-Objekt und alle seine Möglichkeiten | +| $oViewConf | enthält das Shop-Objekt und alle seine Möglichkeiten | +| $oOrder | enthält das Bestellungen-Objekt und alle seine Möglichkeiten | +| $order | enthält das Bestellungen-Objekt und alle seine Möglichkeiten | +| $oUser | enthält das Benutzer-Objekt und alle seine Möglichkeiten | +| $user | enthält das Benutzer-Objekt und alle seine Möglichkeiten | +| $shopTemplateDir | enthält das Verzeichnis zum Template | +| $charset | enthält den Zeichensatz für die Mail | +| $basket | enthält das Warenkorb-Objekt und alle seine Möglichkeiten (erfordert, dass alle Artikel noch im Stamm vorhanden sind) | +| $payment | enthält das Bezahlarten-Objekt und alle seine Möglichkeiten | +| $oDelSet | enthält das Versandarten-Objekt und alle seine Möglichkeiten | +| $currency | enthält das Währungs-Objekt und alle seine Möglichkeiten | Legen Sie die Templatedateien im auszuwählenden Ordner ab. + +### "Push-Benachrichtigung senden" +Hierbei wird eine Benachrichtigung an eine eigene Schnittstelle oder einen Dienst (z.B. [IFTTT](https://ifttt.com/) oder [Automate.io](https://automate.io/)) gesendet, der damit weitere Aktionen auslösen kann. Welche Aktionen möglich sind, hängt vom verwendeten Dienst ab. + +Bei Push-Benachrichtigungen können der Benachrichtung Daten mitgegeben werden, die vom benachrichtigten Dienst ausgewertet werden können. Der mögliche Funktionsumfang ist so groß, dass wir nur ein Beispiel mitgeben. Möchten Sie die Daten über den konfigurierbaren Umfang hinaus verändern, stehen Ihnen dazu diese Funktionen zur Verfügung, die modular überladen werden können. + +| Element | Klasse | Methode | Parameter | erwarteter Rückgabetyp | +|--------------------------------|--------------------------------------------------------------------------------------|---------------------|-----------|------------------------| +| Headerangaben | D3\Ordermanager\Application\Model\Actions\d3ordermanager_action_sendpushnotification | getHeaders | keine | Array | +| Nachrichtenbody | D3\Ordermanager\Application\Model\Actions\d3ordermanager_action_sendpushnotification | getSubmittedBody | keine | String | +| alle zu übertragenden Optionen | D3\Ordermanager\Application\Model\Actions\d3ordermanager_action_sendpushnotification | getSubmittedOptions | keine | Array | +| Übertragungsmethode | D3\Ordermanager\Application\Model\Actions\d3ordermanager_action_sendpushnotification | getRequestMethod | keine | String | +| Zieladresse | D3\Ordermanager\Application\Model\Actions\d3ordermanager_action_sendpushnotification | getRequestUrl | keine | String | + +In den meisten Fällen wird das Anpassen des Nachrichtenbody ausreichen. Im Standard werden dort benötigte Felder als json encodetes Array zurückgegeben. + +Innerhalb der Methoden stehen folgende Objekte und deren Eigenschaften zur Verfügung: + +| Aufruf | Inhalt | +|-------------------------------------------------------|-----------------------------------------------------------------------| +| $this->getManager() | enthält die Auftragsmanager-Aufgabe und alle seine Möglichkeiten | +| ...->getId() | die eindeutige Identnummer | +| ...->getFieldData('oxtitle') | den Aufgabentitel | +| ...->getFieldData('oxsort') | die Aufgabensortiernummer | +| ...->getFieldData('d3_cronjobid') | die Cronjob-ID | +| | | +| $this->getManager()->getCurrentItem() | enthält das Bestellungsobjekt und alle seine Möglichkeiten | +| $this->getManager()->getCurrentItem()->getOrderUser() | enthält das Kundenobjekt der Bestellung und alle seine Möglichkeiten | + +Benötigen Sie Unterstützung bei der Einrichtung, kontaktieren Sie uns bitte. diff --git a/docs/html/changelog/Changelog.html b/docs/html/changelog/Changelog.html index 7e795e9e..216ba2d8 100644 --- a/docs/html/changelog/Changelog.html +++ b/docs/html/changelog/Changelog.html @@ -53,7 +53,7 @@
Shop
Blog
- FAQ
+ FAQ
Dokumentationen
D³ Support Center
Kontakt
@@ -72,20 +72,43 @@
-

4.0.0.0 - (2020-04-29)

+

4.1.0.0 - (2020-08-20)

+

Added

+ +

Changed

+ +

Fixed

+ +
+

4.0.0.0 - (2020-04-29)

** Hinweis für kleinere Versions-Upgrades: Es gibt einige rückwärts-inkompatible Änderungen an dieser Version. **

** Mit dieser Modulversion wurde das InvoicePDF-Modul aus den Anforderungen des Auftragsmanagers entfernt. Das PDF-Modul wird weitherin unterstützt, ist jedoch keine Bedingung mehr. Wenn das PDF-Modul benötigt wird, kann es mit php composer require oxid-projects/pdf-invoice-module wieder zur Installation hinzugefügt werden. **

-

Added

+

Added

-

Changed

+

Changed

@@ -95,7 +118,7 @@ -

Fixed

+

Fixed

@@ -76,7 +76,7 @@