X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fedit%2Fpart_bill_event.cgi;h=2f99ca58fc2084505212954da0a06c879e6e1220;hb=59c328d950e0d5275a1b5cf3357729212dd0e26a;hp=6426eed93fbdeabdae52393c7e7efeac263ed075;hpb=0ebeec96313dd7edfca340f01f8fbbbac1f4aa1d;p=freeside.git
diff --git a/httemplate/edit/part_bill_event.cgi b/httemplate/edit/part_bill_event.cgi
index 6426eed93..2f99ca58f 100755
--- a/httemplate/edit/part_bill_event.cgi
+++ b/httemplate/edit/part_bill_event.cgi
@@ -20,7 +20,7 @@ if ( $query && $query =~ /^(\d+)$/ ) {
} else {
$part_bill_event ||= new FS::part_bill_event {};
}
-$action ||= $part_bill_event->pkgpart ? 'Edit' : 'Add';
+$action ||= $part_bill_event->eventpart ? 'Edit' : 'Add';
my $hashref = $part_bill_event->hashref;
print header("$action Invoice Event Definition", menubar(
@@ -68,6 +68,31 @@ print '
Action | ';
#print ntable();
+sub select_pkgpart {
+ my $label = shift;
+ my $plandata = shift;
+ my %selected = map { $_=>1 } split(/,\s*/, $plandata->{$label});
+ qq(';
+}
+
+sub select_agentnum {
+ my $plandata = shift;
+ my $agentnum = $plandata->{'agentnum'};
+ '';
+}
+
#this is pretty kludgy right here.
tie my %events, 'Tie::IxHash',
@@ -84,6 +109,18 @@ tie my %events, 'Tie::IxHash',
'code' => '$cust_main->suspend();',
'weight' => 10,
},
+ 'suspend-if-pkgpart' => {
+ 'name' => 'Suspend packages',
+ 'code' => '$cust_main->suspend_if_pkgpart(%%%if_pkgpart%%%);',
+ 'html' => sub { &select_pkgpart('if_pkgpart', @_) },
+ 'weight' => 10,
+ },
+ 'suspend-unless-pkgpart' => {
+ 'name' => 'Suspend packages except',
+ 'code' => '$cust_main->suspend_unless_pkgpart(%%%unless_pkgpart%%%);',
+ 'html' => sub { &select_pkgpart('unless_pkgpart', @_) },
+ 'weight' => 10,
+ },
'cancel' => {
'name' => 'Cancel',
'code' => '$cust_main->cancel();',
@@ -140,6 +177,32 @@ tie my %events, 'Tie::IxHash',
'weight' => 50,
},
+ 'send_agent' => {
+ 'name' => 'Send invoice (email/print) ',
+ 'code' => '$cust_bill->send(\'%%%agent_templatename%%%\', %%%agentnum%%%, \'%%%agent_invoice_from%%%\');',
+ 'html' => sub {
+ '';
+ },
+ 'weight' => 50,
+ },
+
'send_csv_ftp' => {
'name' => 'Upload CSV invoice data to an FTP server',
'code' => '$cust_bill->send_csv( protocol => \'ftp\',
@@ -188,6 +251,9 @@ foreach my $event ( keys %events ) {
my %plandata = map { /^(\w+) (.*)$/; ($1, $2); }
split(/\n/, $part_bill_event->plandata);
my $html = $events{$event}{html};
+ if ( ref($html) eq 'CODE' ) {
+ $html = &{$html}(\%plandata);
+ }
while ( $html =~ /%%%(\w+)%%%/ ) {
my $field = $1;
$html =~ s/%%%$field%%%/$plandata{$field}/;
|