added new et ref field for eshop

This commit is contained in:
2024-09-12 08:36:14 +02:00
parent 19e786abd0
commit f5dde09ea5
4 changed files with 32 additions and 4 deletions
@@ -5,6 +5,7 @@ class WarehouseEShopOrderController extends TTCrud {
protected bool $createText = false; protected bool $createText = false;
protected array $columns = [['key' => 'id', 'text' => 'ID', 'modal' => false], protected array $columns = [['key' => 'id', 'text' => 'ID', 'modal' => false],
['key' => 'extRef', 'text' => 'Externe Referenz', 'required' => true],
['key' => 'status', ['key' => 'status',
'text' => 'Status', 'text' => 'Status',
'required' => true, 'required' => true,
@@ -54,7 +55,7 @@ class WarehouseEShopOrderController extends TTCrud {
return ['value' => intval($user->id), 'text' => $user->name]; return ['value' => intval($user->id), 'text' => $user->name];
}, UserModel::search()); }, UserModel::search());
$this->columns[8]['modal']['items'] = $users; $this->columns[9]['modal']['items'] = $users;
} }
protected function singleOrderEmailAction() { protected function singleOrderEmailAction() {
@@ -219,6 +220,7 @@ class WarehouseEShopOrderController extends TTCrud {
Helper::validateArray($json, $this->getCheckArray()); Helper::validateArray($json, $this->getCheckArray());
$id = WarehouseEShopOrderModel::create(['status' => 'new', $id = WarehouseEShopOrderModel::create(['status' => 'new',
'extRef' => $json['extRef'],
'deliveryMode' => $json['deliveryMode'], 'deliveryMode' => $json['deliveryMode'],
'deliveryAddressName' => $json['deliveryAddressName'], 'deliveryAddressName' => $json['deliveryAddressName'],
'deliveryAddressLine' => $json['deliveryAddressLine'], 'deliveryAddressLine' => $json['deliveryAddressLine'],
@@ -249,7 +251,7 @@ class WarehouseEShopOrderController extends TTCrud {
$subjectId = str_pad($id, 3, '0', STR_PAD_LEFT); $subjectId = str_pad($id, 3, '0', STR_PAD_LEFT);
// create email body with all items (use $shoppingCart) // create email body with all items (use $shoppingCart)
$body = "Bestellung #$subjectId\n\n"; $body = "Bestellung #$subjectId\n\nIhre Referenz: " . $json['extRef'] . "\n\n";
$body .= "Lieferadresse:\n"; $body .= "Lieferadresse:\n";
$body .= $json['deliveryAddressName'] . "\n"; $body .= $json['deliveryAddressName'] . "\n";
$body .= $json['deliveryAddressLine'] . "\n"; $body .= $json['deliveryAddressLine'] . "\n";
@@ -266,7 +268,7 @@ class WarehouseEShopOrderController extends TTCrud {
foreach (["office@xinon.at", $user->email] as $emailAddr) { foreach (["office@xinon.at", $user->email] as $emailAddr) {
$email = new Emailnotification(); $email = new Emailnotification();
$email->setSubject("Bestellbestätigung Bestellung #$subjectId"); $email->setSubject("Bestellbestätigung Bestellung #$subjectId - Referenz: " . $json['extRef']);
$email->setBody($body); $email->setBody($body);
$email->setFrom(TT_OUTGOING_EMAIL_2FA, TT_OUTGOING_EMAIL_2FA); $email->setFrom(TT_OUTGOING_EMAIL_2FA, TT_OUTGOING_EMAIL_2FA);
$email->setTo($emailAddr); $email->setTo($emailAddr);
@@ -1,4 +1,5 @@
<?php <?php
//TODO: fix phpdoc
/** /**
* @property int $id * @property int $id
* @property 'new'|'accepted'|'sent'|'done' $status * @property 'new'|'accepted'|'sent'|'done' $status
@@ -13,6 +14,7 @@
class WarehouseEShopOrderModel extends TTCrudBaseModel { class WarehouseEShopOrderModel extends TTCrudBaseModel {
public int $id; public int $id;
public string $extRef;
public string $status; public string $status;
public string $deliveryMode; public string $deliveryMode;
public string $deliveryAddressName; public string $deliveryAddressName;
@@ -0,0 +1,22 @@
<?php /** @noinspection ALL */
declare(strict_types=1);
use Phinx\Migration\AbstractMigration;
final class WarehouseAddEShopExtRef extends AbstractMigration {
public function up(): void {
if ($this->getEnvironment() == "thetool") {
$WarehouseEShopOrder = $this->table("WarehouseEShopOrder");
$WarehouseEShopOrder->addColumn("ext_ref", "string", ["limit" => 255, "null" => true]);
$WarehouseEShopOrder->update();
}
}
public function down(): void {
if ($this->getEnvironment() == "thetool") {
$WarehouseEShopOrder = $this->table("WarehouseEShopOrder");
$WarehouseEShopOrder->removeColumn("ext_ref");
$WarehouseEShopOrder->update();
}
}
}
@@ -56,7 +56,8 @@ Vue.component('warehouse-e-shop', {
<tt-select v-model="createOrderDialogData.deliveryMode" label="Adresse" :options="[ <tt-select v-model="createOrderDialogData.deliveryMode" label="Adresse" :options="[
{text: 'Einzelne Adresse', value: 'singleAddress'}, {text: 'Einzelne Adresse', value: 'singleAddress'},
// {text: 'Mehrere Adressen', value: 'multipleAddresses'}, // {text: 'Mehrere Adressen', value: 'multipleAddresses'},
]" sm row/> ]" sm row/>
<tt-input v-model="createOrderDialogData.extRef" label="Externe Referenz" sm row/>
<tt-input v-model="createOrderDialogData.deliveryAddressName" label="Name" sm row/> <tt-input v-model="createOrderDialogData.deliveryAddressName" label="Name" sm row/>
<tt-input v-model="createOrderDialogData.deliveryAddressLine" label="Straße" sm row/> <tt-input v-model="createOrderDialogData.deliveryAddressLine" label="Straße" sm row/>
<tt-input v-model="createOrderDialogData.deliveryAddressPLZ" label="PLZ" sm row/> <tt-input v-model="createOrderDialogData.deliveryAddressPLZ" label="PLZ" sm row/>
@@ -113,6 +114,7 @@ Vue.component('warehouse-e-shop', {
this.shoppingCart = []; this.shoppingCart = [];
this.createOrderDialogData = { this.createOrderDialogData = {
deliveryMode: 'singleAddress', deliveryMode: 'singleAddress',
extRef: '',
deliveryAddressName: '', deliveryAddressName: '',
deliveryAddressLine: '', deliveryAddressLine: '',
deliveryAddressPLZ: '', deliveryAddressPLZ: '',