<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* OSB Route to Market
*
* @package OSB
* @category Models
* @author Deon George
* @copyright (c) 2009-2013 Open Source Billing
* @license http://dev.osbill.net/license.html
*/
class Model_RTM extends ORM_OSB {
protected $_belongs_to = array(
'account' => array(),
);
protected $_has_many = array(
'customer' => array('model'=>'account','far_key'=>'id','foreign_key'=>'rtm_id'),
'agent' => array('model'=>'rtm','far_key'=>'id','foreign_key'=>'parent_id'),
public function customers(Model_RTM $rtmo) {
// If our RTM is NULL, then we are our only customer.
if (is_null($rtmo->id))
return (array(Auth::Instance()->get_user()));
$result = array();
foreach ($rtmo->agents_direct() as $artmo)
$result = Arr::merge($result,$rtmo->customers($artmo));
foreach ($rtmo->customers_direct() as $ao)
array_push($result,$ao);
return $result;
}
public function agents_direct() {
return $this->agent->find_all();
public function customers_direct() {
return $this->customer->find_all();
?>