diff --git a/html/ajax_rulesuggest.php b/html/ajax_rulesuggest.php
index 0515fcc655..7312e73930 100644
--- a/html/ajax_rulesuggest.php
+++ b/html/ajax_rulesuggest.php
@@ -91,6 +91,7 @@ if( isset($_GET['term'],$_GET['device_id']) ) {
$chk[] = $tst['TABLE_NAME'].'.';
}
$chk[] = 'macros.';
+ $chk[] = 'bills.';
}
}
if( sizeof($chk) > 0 ) {
diff --git a/html/includes/functions.inc.php b/html/includes/functions.inc.php
index bc474737da..7118facdb9 100644
--- a/html/includes/functions.inc.php
+++ b/html/includes/functions.inc.php
@@ -468,6 +468,10 @@ function generate_peer_url($peer, $vars=array())
return generate_url(array('page' => 'device', 'device' => $peer['device_id'], 'tab' => 'routing', 'proto' => 'bgp'), $vars);
}
+function generate_bill_url($bill, $vars=array()) {
+ return generate_url(array('page' => 'bill', 'bill_id' => $bill['bill_id']), $vars);
+}
+
function generate_port_image($args)
{
if (!$args['bg']) { $args['bg'] = "FFFFFF"; }
diff --git a/html/includes/table/alerts.inc.php b/html/includes/table/alerts.inc.php
index 837e30b358..fb23c6c841 100644
--- a/html/includes/table/alerts.inc.php
+++ b/html/includes/table/alerts.inc.php
@@ -42,11 +42,17 @@ foreach (dbFetchRows($sql,$param) as $alert) {
$log_detail = json_decode(gzuncompress($log),true);
$fault_detail = '';
foreach ( $log_detail['rule'] as $o=>$tmp_alerts ) {
+ $fallback = true;
$fault_detail .= "#".($o+1).": ";
- $tmp = generate_port_link($tmp_alerts);
- if( substr($tmp,-5,1) != ">" ) {
- $fault_detail .= $tmp;
- } else {
+ if( $tmp_alerts['bill_id'] ) {
+ $fault_detail .= ''.$tmp_alerts['bill_name'].'; ';
+ $fallback = false;
+ }
+ if( $tmp_alerts['port_id'] ) {
+ $fault_detail .= generate_port_link($tmp_alerts).'; ';
+ $fallback = false;
+ }
+ if( $fallback === true ) {
foreach ($tmp_alerts as $k=>$v) {
if (!empty($v) && $k != 'device_id' && (stristr($k,'id') || stristr($k,'desc') || stristr($k,'msg')) && substr_count($k,'_') <= 1) {
$fault_detail .= "$k => '$v', ";