+if ($cgi->param('action')) {
+
+ # contact_class_X params in preview
+ if ($cgi->param('emailtovoice_contact')) {
+ $email_to = $cgi->param('emailtovoice_contact') . '@' . $send_to_domain;
+ push @contact_classnum, 'emailtovoice';
+ push @contact_classname, $email_to;
+ }
+ elsif ($cgi->param('to_contact_classnum')) {
+ foreach my $c (split(/,/, $cgi->param('to_contact_classnum'))) {
+ push @contact_classnum, $c;
+ if ( $c eq 'invoice' ) {
+ push @contact_classname, 'Invoice recipients';
+ } else {
+ my $contact_class = FS::contact_class->by_key($c);
+ push @contact_classname, encode_entities($contact_class->classname);
+ }
+ }
+ }
+ else {
+ foreach my $param ( $cgi->param ) {
+ if ( $param =~ /^contact_class_(\w+)$/ ) {
+ push @contact_classnum, $1;
+ if ( $1 eq 'invoice' ) {
+ push @contact_classname, 'Invoice recipients';
+ } else {
+ my $contact_class = FS::contact_class->by_key($1);
+ push @contact_classname, encode_entities($contact_class->classname);
+ }
+ }
+ }
+ }
+
+}
+
+# and set up contact checkboxes for edit mode
+my @contact_checkboxes = (
+ [ 'invoice' => { label => 'Invoice recipients' } ]
+);
+
+foreach my $class (qsearch('contact_class', { disabled => '' })) {
+ push @contact_checkboxes, [
+ $class->classnum,
+ { label => $class->classname }
+ ];
+}
+