use FS::svc_www;
use FS::cdr;
use FS::tower_sector;
+use FS::Misc;
$DEBUG = 0;
$me = '[FS::svc_acct]';
'display_weight' => 10,
'cancel_weight' => 50,
'ip_field' => 'slipip',
+ 'manual_require' => 1,
'fields' => {
'dir' => 'Home directory',
'uid' => {
disable_default => 1,
disable_fixed => 1,
disable_select => 1,
+ required => 1,
},
'password_selfchange' => { label => 'Password modification',
type => 'checkbox',
type => 'text',
disable_inventory => 1,
},
- '_password' => 'Password',
+ '_password' => { label => 'Password',
+ required => 1
+ },
'gid' => {
label => 'GID',
def_info => 'when blank, defaults to UID',
select_key => 'svcnum',
select_label => 'domain',
disable_inventory => 1,
+ required => 1,
},
'pbxsvc' => { label => 'PBX',
type => 'select-svc_pbx.html',
$cust_main->invoicing_list(\@invoicing_list);
}
- #welcome email
+ #welcome email/letter
my @welcome_exclude_svcparts = $conf->config('svc_acct_welcome_exclude');
unless ( grep { $_ eq $self->svcpart } @welcome_exclude_svcparts ) {
+ #indent skips a level for some reason
+ #welcome email
my $error = '';
my $msgnum = $conf->config('welcome_msgnum', $agentnum);
if ( $msgnum ) {
} # if $welcome_template
} # if !$msgnum
- }
+ # print welcome letter
+ if ($conf->exists('svc_acct_welcome_letter')) {
+ my $queue = new FS::queue {
+ 'job' => 'FS::svc_acct::process_print_welcome_letter',
+ };
+ $error = $queue->insert(
+ 'svcnum' => $self->svcnum,
+ 'template' => 'svc_acct_welcome_letter',
+ );
+ if ($error) {
+ warn "can't send welcome letter: $error";
+ }
+ }
+ #indent skipped a level for some reason
+ } # unless in @welcome_exclude_svcparts
} # if $cust_pkg
$dbh->commit or die $dbh->errstr if $oldAutoCommit;
}
}
+sub process_print_welcome_letter {
+ my %opt = @_;
+
+ my $self = qsearchs('svc_acct', { 'svcnum' => $opt{'svcnum'} } )
+ or die "invalid svc_acct: " . $opt{'svcnum'};
+ my $cust_main = $self->cust_svc->cust_pkg->cust_main;
+
+ my $ps = $cust_main->print_ps('svc_acct_welcome_letter',
+ 'extra_fields' => {
+ map { $_ => $self->$_ } $self->fields, # or maybe just username & password?
+ },
+ );
+ my $error = FS::Misc::do_print(
+ [ $ps ],
+ 'agentnum' => $cust_main->agentnum,
+ );
+ die $error if $error;
+
+}
+
=back
=head1 BUGS