This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/modules/adsl/classes/Model/Product/Plugin/Adsl.php

70 lines
1.8 KiB
PHP
Raw Normal View History

2013-10-10 02:44:53 +00:00
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class supports ADSL products
*
* @package ADSL
* @category Models
* @author Deon George
* @copyright (c) 2009-2013 Open Source Billing
* @license http://dev.osbill.net/license.html
*/
class Model_Product_Plugin_Adsl extends Model_Product_Plugin {
protected $_table_name = 'adsl_plan';
protected $_belongs_to = array(
'adsl_supplier_plan'=>array('model'=>'ADSL_Supplier_Plan'),
);
protected $_display_filters = array(
'extra_down_peak'=>array(
array('Tax::add',array(':value')),
array('Currency::display',array(':value')),
),
'extra_down_offpeak'=>array(
array('Tax::add',array(':value')),
array('Currency::display',array(':value')),
),
);
public function admin_update() {
return '';
}
// Our required abstract methods
2013-10-28 23:36:57 +00:00
public function cost($annual=FALSE) {
$x = $this->adsl_supplier_plan->total();
return $annual ? $x*12 : $x;
}
2013-10-10 02:44:53 +00:00
public function feature_summary() {
// @todo This view should render based on the the results of this::allowance();
return View::factory('product/plugin/adsl/feature_summary')
->set('po',$this);
}
2013-10-28 23:36:57 +00:00
public function supplier() {
return $this->adsl_supplier_plan->supplier_id;
}
2013-10-10 02:44:53 +00:00
/**
* Show the ADSL allowance as a peak/offpeak metric
*/
public function allowance($string=TRUE) {
$output = ADSL::allowance(array(
'base_down_peak'=>$this->base_down_peak,
'base_down_offpeak'=>$this->base_down_offpeak,
'base_up_peak'=>$this->base_up_peak,
'base_up_offpeak'=>$this->base_up_offpeak,
'extra_down_peak'=>$this->extra_down_peak,
'extra_down_offpeak'=>$this->extra_down_offpeak,
'extra_up_peak'=>$this->extra_up_peak,
'extra_up_offpeak'=>$this->extra_up_offpeak,
));
return $string ? implode('/',$output) : $output;
}
}
?>