Files
thetool/application/AddressPriceType/AddressPriceTypeController.php

64 lines
1.9 KiB
PHP

<?php
class AddressPriceTypeController extends mfBaseController {
protected function init() {
$this->needlogin = true;
$user = new User();
$user->loadMe();
$this->me = $user;
}
public function getAction() {
$addressId = $_GET['address_id'] ?? null;
if (!$addressId) {
self::returnJson(['success' => false, 'message' => 'Address ID required']);
}
$priceType = AddressPriceTypeModel::getFirst(['address_id' => $addressId]);
self::returnJson([
'success' => true,
'priceType_id' => $priceType ? $priceType->priceType_id : null
]);
}
public function saveAction() {
$addressId = $_POST['address_id'] ?? null;
$priceTypeId = $_POST['priceType_id'] ?? null;
if (!$addressId) {
self::returnJson(['success' => false, 'message' => 'Address ID required']);
}
$existing = AddressPriceTypeModel::getFirst(['address_id' => $addressId]);
if (empty($priceTypeId)) {
if ($existing) {
AddressPriceTypeModel::delete($existing->id);
}
self::returnJson(['success' => true, 'message' => 'Preistyp entfernt']);
}
if ($existing) {
$updateData = (array) $existing;
$updateData['priceType_id'] = $priceTypeId;
$result = AddressPriceTypeModel::update($updateData);
} else {
$result = AddressPriceTypeModel::create([
'address_id' => $addressId,
'priceType_id' => $priceTypeId,
'create' => time(),
'createBy' => $this->me->id
]);
}
if ($result) {
self::returnJson(['success' => true, 'message' => 'Preistyp gespeichert']);
} else {
self::returnJson(['success' => false, 'message' => 'Fehler beim Speichern']);
}
}
}