TRUE, 'revenue'=>TRUE, ); public function action_index() { $t = time(); // Show outstanding invoices $o = ORM::factory('Invoice'); Block::factory() ->title($this->ao->RTM->display('name')) ->body(''); Block::factory() ->title('Invoices Overdue - No Auto Billing') ->title_icon('icon-info-sign') ->span(6) ->body(Table::factory() ->data($o->list_overdue_billing($t)) ->columns(array( 'id'=>'ID', 'due_date'=>'Due', 'account->accnum()'=>'Num', 'account->name()'=>'Account', 'total(TRUE)'=>'Total', 'due(TRUE)'=>'Due', )) ->prepend(array( 'id'=>array('url'=>URL::link('user','invoice/view/')), )) ); Block::factory() ->title('Invoices Overdue - Auto Billing') ->title_icon('icon-info-sign') ->span(6) ->body(Table::factory() ->data($o->list_overdue_billing($t,TRUE)) ->columns(array( 'id'=>'ID', 'due_date'=>'Due', 'account->accnum()'=>'Num', 'account->name()'=>'Account', 'total(TRUE)'=>'Total', 'due(TRUE)'=>'Due', )) ->prepend(array( 'id'=>array('url'=>URL::link('user','invoice/view/')), )) ); Block::factory() ->title('Upcoming Invoices') ->title_icon('icon-info-sign') ->span(6) ->body(Table::factory() ->data($o->list_due(time())) ->columns(array( 'id'=>'ID', 'due_date'=>'Due', 'account->accnum()'=>'Num', 'account->name()'=>'Account', 'total(TRUE)'=>'Total', 'due(TRUE)'=>'Due', )) ->prepend(array( 'id'=>array('url'=>URL::link('user','invoice/view/')), )) ); Block::factory() ->title('Un-applied payments') ->title_icon('icon-info-sign') ->span(6) ->body(Table::factory() ->data(ORM::factory('Payment')->where_authorised()->list_unapplied()) ->columns(array( 'id'=>'ID', 'date_payment'=>'Pay Date', 'account->accnum()'=>'Num', 'account->name()'=>'Account', 'account->display("status")'=>'Active', 'total(TRUE)'=>'Total', 'balance(TRUE)'=>'Balance', )) ->prepend(array( 'id'=>array('url'=>URL::link('reseller','payment/view/')), )) ); } /** * Show Revenue Summary Information */ public function action_revenue() { $result = array(); // ADSL $svs = ORM::factory('Service')->where_authorised()->list_active(); foreach ($svs as $so) { if (! isset($result[$so->product->prod_plugin_file][$so->product->supplier()])) { $result[$so->product->prod_plugin_file][$so->product->supplier()]['count'] = 0; $result[$so->product->prod_plugin_file][$so->product->supplier()]['cost'] = 0; $result[$so->product->prod_plugin_file][$so->product->supplier()]['revenue'] = 0; } $result[$so->product->prod_plugin_file][$so->product->supplier()]['count']++; $result[$so->product->prod_plugin_file][$so->product->supplier()]['cost'] += $so->product->cost(TRUE); $result[$so->product->prod_plugin_file][$so->product->supplier()]['revenue'] += $so->revenue(TRUE); } Block::factory() ->title('Revenue / Cost Analysis') ->title_icon('icon-info-sign') ->span(6) ->body(View::factory('summary/reseller/index')->set('o',$result)); } } ?>