Added invoice reminder details and other misc fixes

This commit is contained in:
Deon George 2013-10-29 10:41:14 +11:00
parent c347032497
commit 1407da5e01
8 changed files with 58 additions and 11 deletions

View File

@ -109,7 +109,7 @@ Kohana::$config->attach(new Config_File);
* Enable modules. Modules are referenced by a relative or absolute path.
*/
Kohana::modules(array(
'lnapp' => MODPATH.'lnApp',
'lnapp' => MODPATH.'lnApp', // lnApp Base Application Tools
'oauth' => MODPATH.'oauth', // OAuth Module for External Authentication
'auth' => SMDPATH.'auth', // Basic authentication
'cache' => SMDPATH.'cache', // Caching with multiple backends

View File

@ -64,17 +64,20 @@ class Config extends Kohana_Config {
return Company::instance()->country();
}
/**
* Show a date using a site configured format
*/
public static function date($date) {
return is_null($date) ? '' : date(Company::instance()->date_format(),$date);
}
/**
* Show a date using a site configured format
* Show a date using a site configured format
* @note We need this function here, since we call static:: methods, which need to resolve to the child class.
*/
public static function datetime($date) {
return sprintf('%s %s',static::date($date),static::time($date));
}
*/
public static function datetime($date) {
return sprintf('%s %s',static::date($date),static::time($date));
}
public static function language() {
return Company::instance()->language();
@ -138,6 +141,9 @@ class Config extends Kohana_Config {
return array_key_exists(strtolower($module),static::modules()) ? TRUE : FALSE;
}
/**
* Work out our site ID for multiehosting
*/
public static function siteid($format=FALSE) {
return Company::instance()->site($format);
}
@ -173,6 +179,9 @@ class Config extends Kohana_Config {
return 'theme/'.(URL::admin_url() ? Kohana::$config->load('config')->theme_admin : Kohana::$config->load('config')->theme);
}
/**
* Show a date using a site configured format
*/
public static function time($date) {
return date(Company::instance()->time_format(),($date ? $date : time()));
}

View File

@ -9,7 +9,7 @@
* @copyright (c) 2009-2013 Open Source Billing
* @license http://dev.osbill.net/license.html
*/
class Controller_TemplateDefault extends lnApp_Controller_TemplateDefault {
abstract class Controller_TemplateDefault extends lnApp_Controller_TemplateDefault {
protected $auth_required = TRUE;
// Our acccount object

View File

@ -17,9 +17,9 @@ abstract class Minion_Task extends Kohana_Minion_Task {
/**
* Override our __construct so that we can specify options in each class file
*/
protected function __construct() {
// Populate $_accepted_options based on keys from $_options
$this->_accepted_options = array_keys(Arr::merge($this->_sysoptions,$this->_options));
}
protected function __construct() {
// Populate $_accepted_options based on keys from $_options
$this->_accepted_options = array_keys(Arr::merge($this->_sysoptions,$this->_options));
}
}
?>

View File

@ -10,6 +10,10 @@
* @license http://dev.osbill.net/license.html
*/
class Task_Adsl_Trafficcharge extends Task_Adsl_Trafficget {
protected $_options = array(
'verbose'=>FALSE,
);
protected function _execute(array $params) {
foreach ($this->_traffic_suppliers(TRUE) as $aso) {
if ($params['verbose'])

View File

@ -26,5 +26,9 @@ class Model_Email_Template extends ORM_OSB {
array('StaticList_YesNo::get',array(':value')),
),
);
public function name() {
return ! is_null($this->description) ? $this->description : $this->name;
}
}
?>

View File

@ -121,6 +121,27 @@ class Model_Invoice extends ORM_OSB implements Cartable {
return $result;
}
/**
* Returns the array of Email Template Objects
*/
public function reminders($key=NULL,$format=FALSE) {
$prefix = 'task_invoice_';
if (is_null($key)) {
$result = array();
foreach ($this->reminders as $k=>$v)
array_push($result,ORM::factory('Email_Template',array('name'=>$prefix.$k)));
return $result;
} else {
$key = preg_replace("/^$prefix/",'',$key);
return isset($this->reminders[$key]) ? ($format ? Config::date($this->reminders[$key]) : $this->reminders[$key]) : NULL;
}
}
/**
* Return the service items on an invoice relating to an invoice_item
* IE: item_type == 0

View File

@ -53,6 +53,15 @@
<div class="row">
<div class="span11">
<div class="span5">
<div class="row">
<h5>Reminder Details</h5>
<div class="dl-horizontal pull-left">
<?php foreach ($o->reminders() as $eto) : ?>
<dt><?php echo $o->reminders($eto->name,TRUE); ?></dt>
<dd><?php echo $eto->name(); ?></dd>
<?php endforeach ?>
</div>
</div> <!-- /row -->
</div> <!-- /span -->
<div class="span5">