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']); } } }