notices, RT#8324
[freeside.git] / FS / FS / part_event / Action / notice.pm
1 package FS::part_event::Action::notice;
2
3 use strict;
4 use base qw( FS::part_event::Action );
5 use FS::Record qw( qsearchs );
6 use FS::msg_template;
7
8 sub description { 'Send a notice from a message template'; }
9
10 #sub eventtable_hashref {
11 #    { 'cust_main' => 1,
12 #      'cust_bill' => 1,
13 #      'cust_pkg'  => 1,
14 #    };
15 #}
16
17 sub option_fields {
18   (
19     'msgnum' => { 'label' => 'Template' },
20   );
21
22 sub default_weight { 55; } #?
23
24 sub do_action {
25   my( $self, $object ) = @_;
26
27   my $cust_main = $self->cust_main($object);
28
29   my $msgnum = $self->option('msgnum');
30
31   my $msg_template = qsearchs('msg_template', { 'msgnum' => $msgnum } )
32       or die "Template $msgnum not found";
33
34   $msg_template->send(
35     'cust_main' => $cust_main,
36     'object'    => $object,
37   );
38
39 }
40
41 1;