<?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) {
		$result = array();

		foreach ($rtmo->agents_direct() as $artmo)
			$result = $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->where_active()->find_all();
	}
}
?>