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

View File

@@ -5,6 +5,7 @@ class WarehouseEShopOrderController extends TTCrud {
protected bool $createText = false;
protected array $columns = [['key' => 'id', 'text' => 'ID', 'modal' => false],
['key' => 'extRef', 'text' => 'Externe Referenz', 'required' => true],
['key' => 'status',
'text' => 'Status',
'required' => true,
@@ -54,7 +55,7 @@ class WarehouseEShopOrderController extends TTCrud {
return ['value' => intval($user->id), 'text' => $user->name];
}, UserModel::search());
$this->columns[8]['modal']['items'] = $users;
$this->columns[9]['modal']['items'] = $users;
}
protected function singleOrderEmailAction() {
@@ -219,6 +220,7 @@ class WarehouseEShopOrderController extends TTCrud {
Helper::validateArray($json, $this->getCheckArray());
$id = WarehouseEShopOrderModel::create(['status' => 'new',
'extRef' => $json['extRef'],
'deliveryMode' => $json['deliveryMode'],
'deliveryAddressName' => $json['deliveryAddressName'],
'deliveryAddressLine' => $json['deliveryAddressLine'],
@@ -249,7 +251,7 @@ class WarehouseEShopOrderController extends TTCrud {
$subjectId = str_pad($id, 3, '0', STR_PAD_LEFT);
// 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 .= $json['deliveryAddressName'] . "\n";
$body .= $json['deliveryAddressLine'] . "\n";
@@ -266,7 +268,7 @@ class WarehouseEShopOrderController extends TTCrud {
foreach (["office@xinon.at", $user->email] as $emailAddr) {
$email = new Emailnotification();
$email->setSubject("Bestellbestätigung Bestellung #$subjectId");
$email->setSubject("Bestellbestätigung Bestellung #$subjectId - Referenz: " . $json['extRef']);
$email->setBody($body);
$email->setFrom(TT_OUTGOING_EMAIL_2FA, TT_OUTGOING_EMAIL_2FA);
$email->setTo($emailAddr);

View File

@@ -1,4 +1,5 @@
<?php
//TODO: fix phpdoc
/**
* @property int $id
* @property 'new'|'accepted'|'sent'|'done' $status
@@ -13,6 +14,7 @@
class WarehouseEShopOrderModel extends TTCrudBaseModel {
public int $id;
public string $extRef;
public string $status;
public string $deliveryMode;
public string $deliveryAddressName;

View File

@@ -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();
}
}
}

View File

@@ -56,7 +56,8 @@ Vue.component('warehouse-e-shop', {
<tt-select v-model="createOrderDialogData.deliveryMode" label="Adresse" :options="[
{text: 'Einzelne Adresse', value: 'singleAddress'},
// {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.deliveryAddressLine" label="Straße" sm row/>
<tt-input v-model="createOrderDialogData.deliveryAddressPLZ" label="PLZ" sm row/>
@@ -113,6 +114,7 @@ Vue.component('warehouse-e-shop', {
this.shoppingCart = [];
this.createOrderDialogData = {
deliveryMode: 'singleAddress',
extRef: '',
deliveryAddressName: '',
deliveryAddressLine: '',
deliveryAddressPLZ: '',