public function onBillableReceiptCreated($receipt) { $receipt->flatten(); $openItem = new Billing_Model_OpenItem(null, true); //$order = Billing_Controller_Order::getInstance()->get($receipt->__get('order_id')); $order = $receipt->getForeignRecord('order_id', Billing_Controller_Order::getInstance()); $debitorId = $order->getForeignId('debitor_id'); $openItem->__set('order_id', $receipt->__get('order_id')); $openItem->__set('receipt_id', $receipt->getId()); $openItem->__set('debitor_id', $debitorId); $openItem->__set('payment_method_id', $receipt->getForeignId('payment_method_id')); $rNr = $receipt->__get('invoice_nr'); $rDate = $receipt->__get('invoice_date'); $openItem->__set('is_cancellation', $receipt->__get('is_cancellation')); $openItem->__set('is_cancelled', $receipt->__get('is_cancelled')); if ($receipt->__get('is_cancellation')) { $openItem->__set('state', 'DONE'); } if ($receipt->isCredit()) { $rNr = $receipt->__get('credit_nr'); $rDate = $receipt->__get('credit_date'); $openItem->__set('type', 'CREDIT'); } else { $openItem->__set('type', 'DEBIT'); } $openItem->__set('receipt_nr', $rNr); $openItem->__set('receipt_date', $rDate); $openItem->__set('total_netto', 0); $openItem->__set('total_brutto', 0); // TODO: check this --> // $openItem->__set('open_sum', $receipt->__get('total_brutto')); // changed to: $openItem->__set('open_sum', $receipt->__get('open_sum')); // <-- $openItem->__set('payed_sum', $receipt->__get('payed_sum')); $openItem->__set('erp_context_id', $receipt->__get('erp_context_id')); $openItem->__set('usage', $receipt->__get('usage')); if ($receipt->isDonation()) { $openItem->__set('donation_id', $receipt->getForeignId('donation_id')); } $this->create($openItem); }
public function syncOpenItem(Billing_Model_OpenItem $openItem) { $this->__set('payment_state', Billing_Model_OpenItem::$convertState($openItem->__get('payment_state'))); $this->__set('open_sum', $openItem->__get('open_sum')); $this->__set('payed_sum', $openItem->__get('payed_sum')); }