2013-10-10 02:44:53 +00:00
|
|
|
<?php defined('SYSPATH') or die('No direct access allowed.');
|
|
|
|
|
|
|
|
/**
|
|
|
|
* OSB Admin Main home page
|
|
|
|
*
|
|
|
|
* @package OSB
|
|
|
|
* @category Controllers/Admin
|
|
|
|
* @author Deon George
|
|
|
|
* @copyright (c) 2009-2013 Open Source Billing
|
|
|
|
* @license http://dev.osbill.net/license.html
|
|
|
|
*/
|
|
|
|
class Controller_Admin_Welcome extends Controller_Welcome {
|
|
|
|
protected $auth_required = TRUE;
|
|
|
|
public $secure_actions = array(
|
|
|
|
'index'=>TRUE,
|
|
|
|
);
|
|
|
|
|
|
|
|
public function action_index() {
|
|
|
|
$t = time();
|
|
|
|
|
|
|
|
// Show outstanding invoices
|
|
|
|
$o = ORM::factory('Invoice');
|
|
|
|
|
|
|
|
Block_Sub::add(array(
|
|
|
|
'title'=>'Invoices Overdue - No Auto Billing',
|
|
|
|
'body'=>Table::display(
|
|
|
|
$o->list_overdue_billing($t),
|
|
|
|
25,
|
|
|
|
array(
|
|
|
|
'due_date'=>array('label'=>'Due Date'),
|
|
|
|
'account->accnum()'=>array('label'=>'Num'),
|
|
|
|
'account->name()'=>array('label'=>'Account'),
|
|
|
|
'account->display("status")'=>array('label'=>'Active'),
|
|
|
|
'id'=>array('label'=>'ID','url'=>URL::link('user','invoice/view/')),
|
|
|
|
'total(TRUE)'=>array('label'=>'Total','class'=>'right'),
|
|
|
|
'due(TRUE)'=>array('label'=>'Amount Due','class'=>'right'),
|
|
|
|
),
|
|
|
|
array('page'=>TRUE)),
|
|
|
|
'position'=>1,
|
|
|
|
'order'=>1,
|
|
|
|
));
|
|
|
|
|
|
|
|
Block_Sub::add(array(
|
|
|
|
'title'=>'Invoices Overdue - Auto Billing',
|
|
|
|
'body'=>Table::display(
|
|
|
|
$o->list_overdue_billing($t,TRUE),
|
|
|
|
25,
|
|
|
|
array(
|
|
|
|
'due_date'=>array('label'=>'Due Date'),
|
|
|
|
'account->accnum()'=>array('label'=>'Num'),
|
|
|
|
'account->name()'=>array('label'=>'Account'),
|
|
|
|
'account->display("status")'=>array('label'=>'Active'),
|
|
|
|
'id'=>array('label'=>'ID','url'=>URL::link('user','invoice/view/')),
|
|
|
|
'total(TRUE)'=>array('label'=>'Total','class'=>'right'),
|
|
|
|
'due(TRUE)'=>array('label'=>'Amount Due','class'=>'right'),
|
|
|
|
),
|
|
|
|
array('page'=>TRUE)),
|
|
|
|
'position'=>2,
|
|
|
|
'order'=>1,
|
|
|
|
));
|
|
|
|
|
|
|
|
Block_Sub::add(array(
|
|
|
|
'title'=>'Invoices Due',
|
|
|
|
'body'=>Table::display(
|
|
|
|
$o->list_due(),
|
|
|
|
25,
|
|
|
|
array(
|
|
|
|
'due_date'=>array('label'=>'Due Date'),
|
|
|
|
'account->accnum()'=>array('label'=>'Num'),
|
|
|
|
'account->name()'=>array('label'),
|
|
|
|
'account->display("status")'=>array('label'=>'Active'),
|
|
|
|
'id'=>array('label'=>'ID','url'=>URL::link('user','invoice/view/')),
|
|
|
|
'total(TRUE)'=>array('label'=>'Total','class'=>'right'),
|
|
|
|
'due(TRUE)'=>array('label'=>'Amount Due','class'=>'right'),
|
|
|
|
),
|
|
|
|
array('show_other'=>'due()')),
|
|
|
|
'position'=>3,
|
|
|
|
'order'=>1,
|
|
|
|
));
|
|
|
|
|
|
|
|
// Show un-applied payments
|
|
|
|
Block_Sub::add(array(
|
|
|
|
'title'=>'Unapplied Payments',
|
|
|
|
'body'=>Table::display(
|
|
|
|
ORM::factory('Payment')->list_unapplied(),
|
|
|
|
25,
|
|
|
|
array(
|
|
|
|
'date_payment'=>array('label'=>'Pay Date'),
|
|
|
|
'account->accnum()'=>array('label'=>'Num'),
|
|
|
|
'account->name()'=>array('label'=>'Account'),
|
|
|
|
'account->display("status")'=>array('label'=>'Active'),
|
2013-06-19 09:26:07 +00:00
|
|
|
'id'=>array('label'=>'ID','url'=>URL::link('admin','payment/edit/')),
|
|
|
|
'total(TRUE)'=>array('label'=>'Total','class'=>'right'),
|
2013-10-10 02:44:53 +00:00
|
|
|
'balance(TRUE)'=>array('label'=>'Balance','class'=>'right'),
|
|
|
|
),
|
|
|
|
array('show_other'=>'balance()')),
|
|
|
|
'position'=>1,
|
|
|
|
'order'=>2,
|
|
|
|
));
|
|
|
|
|
|
|
|
Block::add(array(
|
|
|
|
'title'=>sprintf('%s: %s %s',$this->ao->accnum(),$this->ao->first_name,$this->ao->last_name),
|
|
|
|
'subtitle'=>_('Administrator Overview'),
|
|
|
|
'body'=>(string)Block_Sub::factory(),
|
|
|
|
));
|
|
|
|
|
|
|
|
// We are a site administrator
|
|
|
|
$output = '';
|
|
|
|
if ($this->ao->rtm_id == NULL) {
|
|
|
|
$rtmo = ORM::factory('RTM',array('account_id','=',$this->ao->id))->find();
|
|
|
|
|
|
|
|
// Quick validation, if we are an admin, we should have an entry in the RTM table.
|
|
|
|
if (! $rtmo->loaded())
|
|
|
|
throw new Kohana_Exception('User :aid not set up properly',array(':aid'=>$this->ao->id));
|
|
|
|
|
|
|
|
$output = View::factory('welcome/admin')
|
|
|
|
->set('o',$rtmo);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
$rtmo = ORM::factory('RTM',$this->ao->rtm_id);
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($output)
|
|
|
|
Block::add(array(
|
|
|
|
'title'=>sprintf('Reseller %s',$this->ao->display('company')),
|
|
|
|
'body'=>$output,
|
|
|
|
));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
?>
|