X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fsvc_acct.pm;h=0a7d6be6da52d5ab1727ebfda2a34bb07617c198;hp=32ffb76d15dac80cf57ab34bdbb16987dffc3aec;hb=65b1729a22924fd72ba24449727268159b070b36;hpb=1eab936f24926c3f0ce408c508ea5cd378209374 diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm index 32ffb76d1..0a7d6be6d 100644 --- a/FS/FS/svc_acct.pm +++ b/FS/FS/svc_acct.pm @@ -8,7 +8,8 @@ use vars qw( @ISA $DEBUG $me $conf $skip_fuzzyfiles $username_noperiod $username_nounderscore $username_nodash $username_uppercase $username_percent $password_noampersand $password_noexclamation - $welcome_template $welcome_from $welcome_subject $welcome_mimetype + $welcome_template $welcome_from + $welcome_subject $welcome_subject_template $welcome_mimetype $warning_template $warning_from $warning_subject $warning_mimetype $warning_cc $smtpmachine @@ -71,6 +72,10 @@ $FS::UID::callback{'FS::svc_acct'} = sub { ) or warn "can't create welcome email template: $Text::Template::ERROR"; $welcome_from = $conf->config('welcome_email-from'); # || 'your-isp-is-dum' $welcome_subject = $conf->config('welcome_email-subject') || 'Welcome'; + $welcome_subject_template = new Text::Template ( + TYPE => 'STRING', + SOURCE => $welcome_subject, + ) or warn "can't create welcome email subject template: $Text::Template::ERROR"; $welcome_mimetype = $conf->config('welcome_email-mimetype') || 'text/plain'; } else { $welcome_template = ''; @@ -232,17 +237,20 @@ sub table_info { select_table => 'svc_acct_pop', select_key => 'popnum', select_label => 'city', + disable_select => 1, }, 'username' => { label => 'Username', type => 'text', disable_default => 1, disable_fixed => 1, + disable_select => 1, }, 'quota' => { label => 'Quota', type => 'text', disable_inventory => 1, + disable_select => 1, }, '_password' => 'Password', 'gid' => { @@ -257,16 +265,18 @@ sub table_info { type =>'select', select_list => [ $conf->config('shells') ], disable_inventory => 1, + disable_select => 1, }, 'finger' => 'Real name (GECOS)', 'domsvc' => { label => 'Domain', - def_label => 'svcnum from svc_domain', + #def_label => 'svcnum from svc_domain', type => 'select', select_table => 'svc_domain', select_key => 'svcnum', select_label => 'domain', disable_inventory => 1, + }, 'usergroup' => { label => 'RADIUS groups', @@ -277,6 +287,7 @@ sub table_info { 'seconds' => { label => 'Seconds', type => 'text', disable_inventory => 1, + disable_select => 1, }, }, }; @@ -468,6 +479,15 @@ sub insert { if ( $welcome_template && $cust_pkg ) { my $to = join(', ', grep { $_ !~ /^(POST|FAX)$/ } $cust_main->invoicing_list ); if ( $to ) { + + my %hash = ( + 'custnum' => $self->custnum, + 'username' => $self->username, + 'password' => $self->_password, + 'first' => $cust_main->first, + 'last' => $cust_main->getfield('last'), + 'pkg' => $cust_pkg->part_pkg->pkg, + ); my $wqueue = new FS::queue { 'svcnum' => $self->svcnum, 'job' => 'FS::svc_acct::send_email' @@ -475,16 +495,9 @@ sub insert { my $error = $wqueue->insert( 'to' => $to, 'from' => $welcome_from, - 'subject' => $welcome_subject, + 'subject' => $welcome_subject_template->fill_in( HASH => \%hash, ), 'mimetype' => $welcome_mimetype, - 'body' => $welcome_template->fill_in( HASH => { - 'custnum' => $self->custnum, - 'username' => $self->username, - 'password' => $self->_password, - 'first' => $cust_main->first, - 'last' => $cust_main->getfield('last'), - 'pkg' => $cust_pkg->part_pkg->pkg, - } ), + 'body' => $welcome_template->fill_in( HASH => \%hash, ), ); if ( $error ) { $dbh->rollback if $oldAutoCommit;