diff options
| -rw-r--r-- | FS/FS/part_export/sqlradius.pm | 6 | ||||
| -rw-r--r-- | FS/FS/type_pkgs.pm | 15 | ||||
| -rwxr-xr-x | bin/fs-setup | 11 | ||||
| -rw-r--r-- | httemplate/docs/install.html | 2 | ||||
| -rwxr-xr-x | httemplate/edit/process/cust_pkg.cgi | 25 | ||||
| -rwxr-xr-x | httemplate/search/cust_main.cgi | 19 | ||||
| -rwxr-xr-x | httemplate/view/cust_main.cgi | 3 | 
7 files changed, 57 insertions, 24 deletions
| diff --git a/FS/FS/part_export/sqlradius.pm b/FS/FS/part_export/sqlradius.pm index 3c781c043..265f00c28 100644 --- a/FS/FS/part_export/sqlradius.pm +++ b/FS/FS/part_export/sqlradius.pm @@ -187,8 +187,8 @@ sub sqlradius_insert { #subroutine, not method      } else {        my $i_sth = $dbh->prepare( -        "INSERT INTO rad$table ( id, UserName, Attribute, Value ) ". -          "VALUES ( ?, ?, ?, ? )" +        "INSERT INTO rad$table ( UserName, Attribute, Value ) ". +          "VALUES ( ?, ?, ? )"        ) or die $dbh->errstr;        $i_sth->execute( '', $username, $attribute, $attributes{$attribute} )          or die $i_sth->errstr; @@ -204,7 +204,7 @@ sub sqlradius_usergroup_insert { #subroutine, not method    my( $username, @groups ) = @_;    my $sth = $dbh->prepare(  -    "INSERT INTO usergroup ( id, UserName, GroupName ) VALUES ( ?, ?, ? )" +    "INSERT INTO usergroup ( UserName, GroupName ) VALUES ( ?, ? )"    ) or die $dbh->errstr;    foreach my $group ( @groups ) {      $sth->execute( '', $username, $group ) diff --git a/FS/FS/type_pkgs.pm b/FS/FS/type_pkgs.pm index 8e0d4ef56..99a79b93f 100644 --- a/FS/FS/type_pkgs.pm +++ b/FS/FS/type_pkgs.pm @@ -94,11 +94,24 @@ sub check {    ''; #no error  } +=item part_pkg + +Returns the FS::part_pkg object associated with this record. + +=cut + +sub part_pkg { +  my $self = shift; +  qsearchs( 'part_pkg', { 'pkgpart' => $self->pkgpart } ); +} + +=cut +  =back  =head1 VERSION -$Id: type_pkgs.pm,v 1.1 1999-08-04 09:03:53 ivan Exp $ +$Id: type_pkgs.pm,v 1.1.14.1 2002-10-04 12:56:35 ivan Exp $  =head1 BUGS diff --git a/bin/fs-setup b/bin/fs-setup index 9522ce370..f37c4e3ad 100755 --- a/bin/fs-setup +++ b/bin/fs-setup @@ -1,6 +1,6 @@  #!/usr/bin/perl -Tw  # -# $Id: fs-setup,v 1.96 2002-07-06 12:13:49 ivan Exp $ +# $Id: fs-setup,v 1.96.4.1 2002-10-04 12:56:36 ivan Exp $  #to delay loading dbdef until we're ready  BEGIN { $FS::Record::setup_hack = 1; } @@ -106,8 +106,9 @@ my($dbdef) = new DBIx::DBSchema ( map {  my $cust_main = $dbdef->table('cust_main');  unless ($ship) { #remove ship_ from cust_main    $cust_main->delcolumn($_) foreach ( grep /^ship_/, $cust_main->columns ); -} else { #add indices on ship_last and ship_company -  push @{$cust_main->index->lol_ref}, ( ['ship_last'], ['ship_company'] )  +} else { #add indices +  push @{$cust_main->index->lol_ref}, +    map { [ "ship_$_" ] } qw( last company daytime night fax );  }  #add radius attributes to svc_acct @@ -501,7 +502,9 @@ sub tables_hash_hack {        'primary_key' => 'custnum',        'unique' => [],        #'index' => [ ['last'], ['company'] ], -      'index' => [ ['last'], [ 'company' ], [ 'referral_custnum' ] ], +      'index' => [ ['last'], [ 'company' ], [ 'referral_custnum' ], +                   [ 'daytime' ], [ 'night' ], [ 'fax' ], +                 ],      },      'cust_main_invoice' => { diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html index 74aa9a286..4862feb9e 100644 --- a/httemplate/docs/install.html +++ b/httemplate/docs/install.html @@ -12,7 +12,7 @@ Before installing, you need:    <li><a href="http://rsync.samba.org/">rsync</a>    <li>A <b>transactional</b> database engine <a href="http://search.cpan.org/search?mode=module&query=DBD%3A%3A">supported</a> by Perl's <a href="http://dbi.perl.org">DBI</a>.      <ul> -      <li><a href="http://www.postgresql.org/">PostgreSQL</a> (v7 or higher) is recommended. +      <li><a href="http://www.postgresql.org/">PostgreSQL</a> is recommended (v7.1.x or later, not 7.0.x).        <li>MySQL versions before 4.1 do not support standard SQL subqueries and are <b>NOT SUPPORTED</b>.  If you are a developer who wishes to contribute MySQL 3.x/4.0 support, see <a href="http://pouncequick.420.am/rt/Ticket/Display.html?id=438">ticket #438</a> in the bug-tracking system and ask on the -devel mailing list.  <!--       <li>MySQL has been reported to work.           <b>MySQL's default <a href="http://www.mysql.com/doc/M/y/MyISAM.html">MyISAM</a> and <a href="http://www.mysql.com/doc/I/S/ISAM.html">ISAM</a> table types are not supported</b>.  If you want to use MySQL, you <b>must</b> use one of the new <a href="http://www.mysql.com/doc/T/a/Table_types.html">transaction-safe table types</a> such as <a href="http://www.mysql.com/doc/B/D/BDB.html">BDB</a> or <a href="http://www.mysql.com/doc/I/n/InnoDB.html">InnoDB</a>, and set it as the default table type using the <code>--default-table-type=BDB</code> or <code>--default-table-type=InnoDB</code> <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Command-line_options">mysqld command-line option</a> or by setting <code>default-table-type=BDB</code> or <code>default-table-type=InnoDB</code> in the <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Option_files">my.cnf option file</a>. --> diff --git a/httemplate/edit/process/cust_pkg.cgi b/httemplate/edit/process/cust_pkg.cgi index f8c9f5151..df8471c27 100755 --- a/httemplate/edit/process/cust_pkg.cgi +++ b/httemplate/edit/process/cust_pkg.cgi @@ -11,16 +11,23 @@ my @remove_pkgnums = map {    $1;  } $cgi->param('remove_pkg'); +my $error_redirect;  my @pkgparts; -foreach my $pkgpart ( map /^pkg(\d+)$/ ? $1 : (), $cgi->param ) { -  if ( $cgi->param("pkg$pkgpart") =~ /^(\d+)$/ ) { -    my $num_pkgs = $1; -    while ( $num_pkgs-- ) { -      push @pkgparts,$pkgpart; +if ( $cgi->param('new_pkgpart') =~ /^(\d+)$/ ) { #came from misc/change_pkg.cgi +  $error_redirect = "misc/change_pkg.cgi"; +  @pkgparts = ($1); +} else { #came from edit/cust_pkg.cgi +  $error_redirect = "edit/cust_pkg.cgi"; +  foreach my $pkgpart ( map /^pkg(\d+)$/ ? $1 : (), $cgi->param ) { +    if ( $cgi->param("pkg$pkgpart") =~ /^(\d+)$/ ) { +      my $num_pkgs = $1; +      while ( $num_pkgs-- ) { +        push @pkgparts,$pkgpart; +      } +    } else { +      $error = "Illegal quantity"; +      last;      } -  } else { -    $error = "Illegal quantity"; -    last;    }  } @@ -28,7 +35,7 @@ $error ||= FS::cust_pkg::order($custnum,\@pkgparts,\@remove_pkgnums);  if ($error) {    $cgi->param('error', $error); -  print $cgi->redirect(popurl(2). "cust_pkg.cgi?". $cgi->query_string ); +  print $cgi->redirect(popurl(3). $error_redirect. '?'. $cgi->query_string );  } else {    print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum");  } diff --git a/httemplate/search/cust_main.cgi b/httemplate/search/cust_main.cgi index 0a98b1891..ac238b63e 100755 --- a/httemplate/search/cust_main.cgi +++ b/httemplate/search/cust_main.cgi @@ -636,12 +636,19 @@ sub phonesearch {    my $phone = $cgi->param('phone_text'); -  #false laziness with Record::ut_phonen, only works with US/CA numbers... +  #(no longer really) false laziness with Record::ut_phonen +  #only works with US/CA numbers...    $phone =~ s/\D//g; -  $phone =~ /^(\d{3})(\d{3})(\d{4})(\d*)$/ -    or eidiot gettext('illegal_phone'). ": $phone"; -  $phone = "$1-$2-$3"; -  $phone .= " x$4" if $4; +  if ( $phone =~ /^(\d{3})(\d{3})(\d{4})(\d*)$/ ) { +    $phone = "$1-$2-$3"; +    $phone .= " x$4" if $4; +  } elsif ( $phone =~ /^(\d{3})(\d{4})$/ ) { +    $phone = "$1-$2"; +  } elsif ( $phone =~ /^(\d{3,4})$/ ) { +    $phone = $1; +  } else { +    eidiot gettext('illegal_phone'). ": $phone"; +  }    my @fields = qw(daytime night fax);    push @fields, qw(ship_daytime ship_night ship_fax) @@ -650,7 +657,7 @@ sub phonesearch {    for my $field ( @fields ) {      push @cust_main, qsearch ( 'cust_main',                                  { $field => { 'op'    => 'LIKE', -                                             'value' => "$phone%" } } ); +                                             'value' => "%$phone%" } } );    }    \@cust_main; diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi index 0610bc324..707de8d70 100755 --- a/httemplate/view/cust_main.cgi +++ b/httemplate/view/cust_main.cgi @@ -370,6 +370,9 @@ foreach my $package (@packages) {          qq!$pkg - $comment ( <a href="$pkgview">Details</a> )!;         # | !; +  print qq! ( <A HREF="${p}misc/change_pkg.cgi?$pkgnum">!. +        'Change package</A> )'; +    #false laziness with view/cust_pkg.cgi, but i'm trying to make that go away so    unless ( $package->getfield('cancel') ) {      print ' ( '; | 
