reincorporate the changes from http://www.sisd.com/cgi-bin/viewcvs.cgi/freeside/httem...
authorivan <ivan>
Sat, 10 Feb 2007 06:13:15 +0000 (06:13 +0000)
committerivan <ivan>
Sat, 10 Feb 2007 06:13:15 +0000 (06:13 +0000)
FS/FS/svc_acct.pm
FS/FS/svc_phone.pm
httemplate/edit/part_svc.cgi

index 32ffb76..0a7d6be 100644 (file)
@@ -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;
index 8e39b9f..00ccc19 100644 (file)
@@ -74,11 +74,13 @@ sub table_info {
         'countrycode' => { label => 'Country code',
                            type  => 'text',
                            disable_inventory => 1,
+                           disable_select => 1,
                          },
         'phonenum'    => 'Phone number',
         'pin'         => { label => 'Personal Identification Number',
                            type  => 'text',
                            disable_inventory => 1,
+                           disable_select => 1,
                          },
     },
   };
index 4b841dd..6ba9240 100755 (executable)
@@ -280,7 +280,9 @@ that field.
 %
 %        } elsif ( $def->{type} eq 'select' ) {
 %
-%          $html .= qq!<SELECT NAME="${layer}__${field}" $disabled>!;
+%          $html .= qq!<SELECT NAME="${layer}__${field}" $disabled!;
+%          $html .= ' MULTIPLE' if $flag eq 'S';
+%          $html .= '>';
 %          $html .= '<OPTION> </OPTION>' unless $value;
 %          if ( $def->{select_table} ) {
 %            foreach my $record ( qsearch( $def->{select_table}, {} ) ) {