64 lines
1.9 KiB
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']);
|
|
}
|
|
}
|
|
}
|