diff --git a/application/Order/OrderModel.php b/application/Order/OrderModel.php index ea8cd61e0..db4a8ca51 100644 --- a/application/Order/OrderModel.php +++ b/application/Order/OrderModel.php @@ -250,6 +250,13 @@ class OrderModel { $where .= " AND (Address.street like '%$owner_address%' OR Address.zip like '%$owner_address%' OR Address.city like '%$owner_address%')"; } } + + if(array_key_exists("billingaddress_id", $filter)) { + $ownerid = $filter['billingaddress_id']; + if(is_numeric($ownerid)) { + $where .= " AND `Order`.billingaddress_id=$ownerid"; + } + } /* if(array_key_exists("owner", $filter)) { diff --git a/scripts/contract/check-addresses.php b/scripts/contract/check-addresses.php new file mode 100644 index 000000000..76696a225 --- /dev/null +++ b/scripts/contract/check-addresses.php @@ -0,0 +1,42 @@ +#!/usr/bin/php +owner_id); + if(!$address) { + echo "contract id ".$contract->id." missing owner\n"; + } + + if($contract->billingaddress_id) { + $address = new Address($contract->billingaddress_id); + if(!$address) { + echo "contract id ".$contract->id." missing billingaddress\n"; + } + } +} + +foreach(OrderModel::getAll() as $order) { + $address = new Address($order->owner_id); + if(!$address) { + echo "order id ".$order->id." missing owner\n"; + } + + if($order->billingaddress_id) { + $address = new Address($order->billingaddress_id); + if(!$address) { + echo "order id ".$order->id." missing billingaddress\n"; + } + } +} diff --git a/scripts/contract/delete-unused-billingaddresses.php b/scripts/contract/delete-unused-billingaddresses.php new file mode 100644 index 000000000..fa079ac3b --- /dev/null +++ b/scripts/contract/delete-unused-billingaddresses.php @@ -0,0 +1,74 @@ +#!/usr/bin/php + "billing"]) as $link) { + //var_dump($link);exit; + + if($link->address_id == $link->origin_address_id) { + echo $link->address_id." == ".$link->origin_address_id."\n"; + $link->delete(); + } + + $bill_id = $link->address_id; + + + $contract = ContractModel::getFirst(["owner_id" => $bill_id]); + if($contract) { + //echo "$bill_id als owner in Contract ID ".$contract->id." gefunden\n"; + continue; + } + + $contract = ContractModel::getFirst(["billingaddress_id" => $bill_id]); + if($contract) { + //echo "$bill_id als billing in Contract ID ".$contract->id." gefunden\n"; + continue; + } + + $order = OrderModel::getFirst(["owner_id" => $bill_id]); + if($order) { + //echo "$bill_id in als owner Order ".$order->id." gefunden\n"; + continue; + } + + $order = OrderModel::getFirst(["billingaddress_id" => $bill_id]); + if($order) { + //echo "$bill_id in als billing Order ".$order->id." gefunden\n"; + continue; + } + + $bill = new Address($bill_id); + if(!$bill || $bill->id != $bill_id) { + echo "what !?\n"; + } + + if($bill->customer_number) { + echo $bill_id." has customer number\n"; + } + if($bill->fibu_account_number) { + echo $bill_id." has fibu account number\n"; + } + + echo "deleting ".$bill_id."\n"; + //$bill->delete(); + foreach(AddresstypeModel::search(["address_id" => $bill_id]) as $type) { + echo "deleting AddressType bill_id $bill_id\n"; + //$type->delete(); + } + echo "deleting link ".$link->origin_address_id." -> ".$link->address_id."\n"; + //$link->delete(); + + + +}