From d2bc1bd45169121ac25264b9b0480460adfad056 Mon Sep 17 00:00:00 2001 From: Deon George Date: Sat, 31 Mar 2012 14:33:13 +1100 Subject: [PATCH] More minor fixes --- .../lnapp/controller/templatedefault.php | 5 +- .../js/jquery.jstree.themes/classic/style.css | 2 +- .../theme/yaml/css/screen/contentmod.css | 8 +++ .../classes/model/product/plugin/host.php | 1 + .../classes/controller/admin/service.php | 60 ++++++++++++++++++- modules/service/classes/model/service.php | 2 +- modules/service/views/service/admin/view.php | 59 +++++++++--------- .../ssl/classes/model/product/plugin/ssl.php | 2 + 8 files changed, 103 insertions(+), 36 deletions(-) diff --git a/application/classes/lnapp/controller/templatedefault.php b/application/classes/lnapp/controller/templatedefault.php index dbd8aa5c..1c6f419d 100644 --- a/application/classes/lnapp/controller/templatedefault.php +++ b/application/classes/lnapp/controller/templatedefault.php @@ -155,7 +155,10 @@ abstract class lnApp_Controller_TemplateDefault extends Controller_Template { if ($this->auto_render) { // Application Title - $this->meta->title = Kohana::Config('config.appname'); + if ($mo=ORM::factory('module',array('name'=>Request::current()->controller())) AND $mo->loaded()) + $this->meta->title = sprintf('%s: %s',Kohana::Config('config.appname'),$mo->display('name')); + else + $this->meta->title = Kohana::Config('config.appname'); $this->template->title = ''; // Language diff --git a/application/media/js/jquery.jstree.themes/classic/style.css b/application/media/js/jquery.jstree.themes/classic/style.css index 8b25f871..b1b7f88d 100644 --- a/application/media/js/jquery.jstree.themes/classic/style.css +++ b/application/media/js/jquery.jstree.themes/classic/style.css @@ -18,7 +18,7 @@ .jstree-classic .jstree-open > a .jstree-icon { background-position:-56px -36px; } .jstree-classic a.jstree-loading .jstree-icon { background:url("throbber.gif") center center no-repeat !important; } -.jstree-classic.jstree-focused { background:#FCFCFE; } +/* .jstree-classic.jstree-focused { background:#FCFCFE; } */ .jstree-classic .jstree-no-dots li, .jstree-classic .jstree-no-dots .jstree-leaf > ins { background:transparent; } diff --git a/application/media/theme/yaml/css/screen/contentmod.css b/application/media/theme/yaml/css/screen/contentmod.css index aaade003..a8b383b3 100644 --- a/application/media/theme/yaml/css/screen/contentmod.css +++ b/application/media/theme/yaml/css/screen/contentmod.css @@ -134,4 +134,12 @@ input#mailformformtype_mail{margin-left:11.1em} #category ul li p {padding:0;margin:0;} #category ul li a {color:#111;text-decoration:none} #category ul li a:focus, #category ul li a:hover, #category ul li a:active {color:#811;text-decoration:none;} +.list-box-left { border: 1px solid #AAAACC; margin-right: auto; } +.list-box-left tr.list-head { background-color: #E1E1E3; } +.list-box-left tr.list-sub-head { background-color: #EDEDEF; } +.list-box-left tr th { font-style: bold; } +.list-box-left tr .id { width: 25px; text-align: right; } +.list-box-left tr.list-data:nth-child(even) { background-color: #FCFCFE; } +.list-box-left tr.list-data:nth-child(odd) { background-color: #F6F6F8; } +.list-box-left tr.list-data .right { text-align: right; } } diff --git a/modules/host/classes/model/product/plugin/host.php b/modules/host/classes/model/product/plugin/host.php index 32c5bf85..4ccfbf5b 100644 --- a/modules/host/classes/model/product/plugin/host.php +++ b/modules/host/classes/model/product/plugin/host.php @@ -16,6 +16,7 @@ class Model_Product_Plugin_Host extends Model_Product_Plugin { } // Our required abstract methods + public function admin_update() {} public function feature_summary() {} // @todo This is not used, but should be. diff --git a/modules/service/classes/controller/admin/service.php b/modules/service/classes/controller/admin/service.php index a2a7a818..1578ece0 100644 --- a/modules/service/classes/controller/admin/service.php +++ b/modules/service/classes/controller/admin/service.php @@ -605,16 +605,74 @@ class Controller_Admin_Service extends Controller_TemplateDefault_Admin { return FALSE; } - $loutput = ''; + $doutput = $loutput = ''; $loutput .= View::factory($this->viewpath()) ->set('so',$so); + // Validate the transactions + $bt = NULL; + $save = (isset($_REQUEST['go']) && $_REQUEST['go']=1) ? 1 : 0; + $xsid=197; + foreach ($so->transactions()->where('item_type','=',0)->find_all() as $iio) { + if ($iio->service_id == $xsid AND $iio->invoice_id < 3070) continue; + if ($iio->quantity < 0 OR $iio->price_base < 0) + continue; + if (in_array($iio->id,array(960))) + continue; + + if ($iio->invoice_id > 4000 OR $iio->product->prod_plugin_file=="ADSL") + $a = FALSE; + else + $a = TRUE; + + if (is_null($bt)) + $bt = $iio->date_start; + +// $doutput .= sprintf('%s: BT is: %s [%s]
',$iio->id,Config::date($bt),$bt); + + $pdata = Period::details($iio->recurring_schedule,$a ? NULL : $iio->product->price_recurr_weekday,$bt,TRUE); + + switch ($iio->recurring_schedule) { + case 1: + case 2: + case 4: + case 5: + if ($iio->date_start != $pdata['start_time']) { + $doutput .= sprintf('%s: Set start_time: %s [%s]
',$iio->id,Config::date($pdata['start_time']),$pdata['start_time']); + $iio->date_start=$pdata['start_time']; + } + + if ($iio->date_stop != $pdata['end_time']) { + $doutput .= sprintf('%s: Set end_time: %s [%s]
',$iio->id,Config::date($pdata['end_time']),$pdata['end_time']); + $iio->date_stop=$pdata['end_time']; + } + $bt = $pdata['end_time']+86400; + + //$doutput .= sprintf('%s: BT now: %s (%s) [%s]
',$iio->id,Config::date($bt),Config::date($pdata['end_time']),$bt); + break; + + default: + $doutput .= sprintf('%s: %s Not handled',$iio->id,$iio->recurring_schedule); + } + //$doutput .= '
'; + if ($save) { + $iio->save(); + } + } + + if (isset($_REQUEST['go'])) + $this->request->redirect('admin/service/view/'.$so->id); Block::add(array( 'title'=>sprintf('Transaction History for %s: %s',$so->id(),$so->name()), 'body'=>$loutput, )); + Block::add(array( + 'title'=>sprintf('Transaction Debug for %s: %s',$so->id(),$so->name()), + 'body'=>$doutput, + )); + $output .= View::factory('service/user/view') ->set('so',$so); diff --git a/modules/service/classes/model/service.php b/modules/service/classes/model/service.php index 7c81f0de..b78ab4f3 100644 --- a/modules/service/classes/model/service.php +++ b/modules/service/classes/model/service.php @@ -131,7 +131,7 @@ class Model_Service extends ORMOSB { } public function transactions() { - return $this->invoice_item->order_by('date_start,date_stop')->find_all(); + return $this->invoice_item->order_by('date_start,date_stop'); } // @todo To implement diff --git a/modules/service/views/service/admin/view.php b/modules/service/views/service/admin/view.php index 2c540a05..551314f3 100644 --- a/modules/service/views/service/admin/view.php +++ b/modules/service/views/service/admin/view.php @@ -1,41 +1,36 @@ - - - +
Transactions for this service
+ + + + + + + + + + + - - - - - - - - - - - - - - - - transactions() as $iio) { ?> + transactions()->find_all() as $iio) { ?> product_id) AND $lp != $iio->product_id) { $lp = $iio->product_id; ?> - - + + + - - - - - - - - - - - + + + + + + + + + + +
IDInvoiceProductITRSStartStopDescQuantityCharge
 
IDInvoiceProductITRSStartStopDescChargeQuantity
product_id,$iio->product->name()); ?>
product_id; ?>product->name(); ?>
id; ?>invoice_id,$iio->invoice_id); ?>display('product_id'); ?>display('item_type'); ?>display('recurring_schedule'); ?>display('date_start'); ?>display('date_stop'); ?>display('product_name'); ?>display('price_base'); ?>display('quantity'); ?>
id; ?>invoice_id,$iio->invoice_id); ?>display('product_id'); ?>display('item_type'); ?>display('recurring_schedule'); ?>display('date_start'); ?>display('date_stop'); ?>display('product_name'); ?>display('quantity'); ?>display('price_base'); ?>
diff --git a/modules/ssl/classes/model/product/plugin/ssl.php b/modules/ssl/classes/model/product/plugin/ssl.php index ac067e8c..c0581066 100644 --- a/modules/ssl/classes/model/product/plugin/ssl.php +++ b/modules/ssl/classes/model/product/plugin/ssl.php @@ -14,6 +14,8 @@ class Model_Product_Plugin_SSL extends Model_Product_Plugin { protected $_table_name = 'ssl'; // Our required abstract methods + public function admin_update() {} + public function feature_summary() { // @todo This view should render based on the the results of this::allowance(); return View::factory('product/plugin/ssl/feature_summary')