Work on HTML invoice and internal logic
This commit is contained in:
@@ -24,6 +24,7 @@ class Controller_Admin_Service extends Controller_TemplateDefault_Admin {
|
||||
'listwebservices'=>TRUE,
|
||||
'listinvoicesoon'=>TRUE,
|
||||
'update'=>TRUE,
|
||||
'view'=>TRUE,
|
||||
);
|
||||
|
||||
public function action_autolist() {
|
||||
@@ -591,5 +592,35 @@ class Controller_Admin_Service extends Controller_TemplateDefault_Admin {
|
||||
'data'=>'css/dhtml.calendar.css',
|
||||
));
|
||||
}
|
||||
|
||||
public function action_view() {
|
||||
list($id,$output) = Table::page(__METHOD__);
|
||||
|
||||
$so = ORM::factory('service',$id);
|
||||
|
||||
if (! $so->loaded() OR ! Auth::instance()->authorised($so->account_id,$so->affiliate_id)) {
|
||||
$this->template->content = 'Unauthorised or doesnt exist?';
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$loutput = '';
|
||||
|
||||
$loutput .= View::factory($this->viewpath())
|
||||
->set('so',$so);
|
||||
|
||||
Block::add(array(
|
||||
'title'=>sprintf('Transaction History for %s: %s',$so->id(),$so->name()),
|
||||
'body'=>$loutput,
|
||||
));
|
||||
|
||||
$output .= View::factory('service/user/view')
|
||||
->set('so',$so);
|
||||
|
||||
Block::add(array(
|
||||
'title'=>sprintf('%s: %s',$so->id(),$so->service_name()),
|
||||
'body'=>$output,
|
||||
));
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@@ -20,6 +20,7 @@ class Model_Service extends ORMOSB {
|
||||
'service_billing'=>array('far_key'=>'account_billing_id','foreign_key'=>'id'),
|
||||
);
|
||||
protected $_has_many = array(
|
||||
'invoice_item'=>array('far_key'=>'id'),
|
||||
'invoice'=>array('through'=>'invoice_item'),
|
||||
);
|
||||
protected $_belongs_to = array(
|
||||
@@ -118,6 +119,10 @@ class Model_Service extends ORMOSB {
|
||||
return $plugin->admin_update();
|
||||
}
|
||||
|
||||
public function transactions() {
|
||||
return $this->invoice_item->order_by('date_start,date_stop')->find_all();
|
||||
}
|
||||
|
||||
/** LIST FUNCTIONS **/
|
||||
|
||||
private function _list_active() {
|
||||
|
41
modules/service/views/service/admin/view.php
Normal file
41
modules/service/views/service/admin/view.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<!-- @todo NEEDS TO BE TRANSLATED -->
|
||||
<table class="box-left" width="100%">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Transactions for this service</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ID</td>
|
||||
<td>Invoice</td>
|
||||
<td>Product</td>
|
||||
<td>IT</td>
|
||||
<td>RS</td>
|
||||
<td>Start</td>
|
||||
<td>Stop</td>
|
||||
<td>Desc</td>
|
||||
<td>Charge</td>
|
||||
<td>Quantity</td>
|
||||
</tr>
|
||||
<?php $lp=NULL;$i=0; foreach ($so->transactions() as $iio) { ?>
|
||||
<?php if (! is_null($iio->product_id) AND $lp != $iio->product_id) {
|
||||
$lp = $iio->product_id; ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="head" colspan="10"><?php echo sprintf('%s: %s',$iio->product_id,$iio->product->name()); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="icon" width="20px"><?php echo $iio->id; ?></td>
|
||||
<td class="data"><?php echo HTML::anchor('/user/invoice/view/'.$iio->invoice_id,$iio->invoice_id); ?></td>
|
||||
<td class="data"><?php echo $iio->display('product_id'); ?></td>
|
||||
<td class="data"><?php echo $iio->display('item_type'); ?></td>
|
||||
<td class="data"><?php echo $iio->display('recurring_schedule'); ?></td>
|
||||
<td class="data"><?php echo $iio->display('date_start'); ?></td>
|
||||
<td class="data"><?php echo $iio->display('date_stop'); ?></td>
|
||||
<td class="data"><?php echo $iio->display('product_name'); ?></td>
|
||||
<td class="data"><?php echo $iio->display('price_base'); ?></td>
|
||||
<td class="data"><?php echo $iio->display('quantity'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
Reference in New Issue
Block a user