X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Fpart_event.html;h=ea97391476df7bc34453895347bb2af206c817fe;hb=35ac5f08fc816cd7d79dc9a861652537061aed03;hp=4a0582633c906a3bb886cfab82a452e8a799d490;hpb=5e05724a635a22776f1b973f5d7e77989da4e048;p=freeside.git
diff --git a/httemplate/browse/part_event.html b/httemplate/browse/part_event.html
index 4a0582633..ea9739147 100644
--- a/httemplate/browse/part_event.html
+++ b/httemplate/browse/part_event.html
@@ -10,7 +10,7 @@
'query' => { 'select' => 'part_event.*',
'table' => 'part_event',
'addl_from' => $join_conditions,
- 'hashref' => {},
+ 'hashref' => $hashref,
'order_by' => $order_conditions,
},
'count_query' => $count_query,
@@ -22,14 +22,14 @@
'Action',
],
'fields' => [ 'eventpart',
- 'event',
+ $event_sub,
$eventtable_sub,
$check_freq_sub,
$conditions_sub,
$action_sub,
],
'links' => [ $link,
- $link,
+ '',
'',
'',
'',
@@ -40,6 +40,34 @@
%>
<%once>
+my $link = [ $p.'edit/part_event.html?', 'eventpart' ];
+
+my $event_sub = sub {
+ my $part_event = shift;
+ my $onclick = include('/elements/popup_link_onclick.html',
+ action => $p.'view/part_event-targets.html?eventpart='.
+ $part_event->eventpart,
+ actionlabel => 'Event query', #no, XSS - '.$part_event->event,
+ width => 650,
+ height => 420,
+ close_text => 'Close',
+ );
+ [#rows
+ [#subcolumns
+ {
+ 'data' => encode_entities($part_event->event),
+ 'link' => $p.'edit/part_event.html?'.$part_event->eventpart,
+ },
+ {
+ 'data' => '(query) ',
+ 'size' => '-1',
+ 'data_style' => 'b',
+ 'onclick' => $onclick,
+ },
+ ],
+ ];
+};
+
my $eventtable_labels = FS::part_event->eventtable_labels;
my $eventtable_sub = sub { $eventtable_labels->{ shift->eventtable }; };
@@ -50,14 +78,39 @@ my $conditions_sub = sub {
my $part_event = shift;
my $addl = 0;
+
[
map {
my $part_event_condition = $_;
my %options = $part_event_condition->options;
+ my $desc = $part_event_condition->description;
+
+ if ( $cgi->param('test_eventtable_num') =~ /^(\d+)$/ ) {
+
+ my $tablenum = $1;
+
+ if ( $cgi->param('eventtable') =~ /^(cust_main|cust_pkg|cust_bill)$/ ) {
+ my $eventtable = "FS::$1";
+ my $object = $eventtable->by_key($tablenum);
+
+ my $cust_event = $part_event->new_cust_event($object);
+
+ my $test = $part_event_condition->condition(
+ $object,
+ 'cust_event' => $cust_event,
+ );
+
+ my $yesno = $test ? '(yes)'
+ : '(no)';
+
+ $desc .= " $yesno";
+ }
+ }
+
[
{
- 'data' => $part_event_condition->description,
+ 'data' => $desc,
'width' => '100%',
'align' => 'center',
'colspan' => 2,
@@ -131,8 +184,6 @@ my $action_sub = sub {
};
-my $link = [ $p.'edit/part_event.html?', 'eventpart' ];
-
%once>
<%init>
@@ -140,18 +191,44 @@ die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Edit billing events')
|| $FS::CurrentUser::CurrentUser->access_right('Edit global billing events');
+
my $html_init =
#XXX better description
'Events are billing, collection or other actions triggered when certain '.
'customer, invoice, package or other conditions are met.
'.
- qq!Add a new event
!;
-
+ qq!