Work on invoice printing - to clean up

This commit is contained in:
Deon George
2011-05-02 22:28:17 +10:00
parent 2f7a10804e
commit 8013aadc4c
16 changed files with 1045 additions and 73 deletions

View File

@@ -32,7 +32,7 @@ class Model_Account extends Model_Auth_UserDefault {
}
public function accnum() {
return sprintf('%02s-%06s',Config::siteid(),$this->id);
return sprintf('%02s-%04s',Config::siteid(),$this->id);
}
public function date_last() {
@@ -73,4 +73,45 @@ class Model_Account extends Model_Auth_UserDefault {
return FALSE;
}
/**
* Get a list of all invoices for this account
*/
public function invoices() {
$return = array();
foreach ($this->invoice->distinct('id')->find_all() as $invoice)
$return[$invoice->id] = $invoice;
return $return;
}
/**
* Get a list of due invoices for this account
*/
public function invoices_due() {
$return = array();
foreach ($this->invoices() as $invoice)
if ($invoice->due())
$return[$invoice->id] = $invoice;
return $return;
}
/**
* Calculate the total of invoices due for this account
*/
public function invoices_due_total($format=FALSE) {
$result = 0;
foreach ($this->invoices_due() as $invoice)
$result += $invoice->due();
if ($format)
return Currency::display($result);
else
return $result;
}
}
?>