warn " inserting $self\n"
if $DEBUG > 1;
+ $self->signupdate(time) unless $self->signupdate;
+
my $error = $self->SUPER::insert;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
|| $self->ut_name('last')
|| $self->ut_name('first')
|| $self->ut_snumbern('birthdate')
+ || $self->ut_snumbern('signupdate')
|| $self->ut_textn('company')
|| $self->ut_text('address1')
|| $self->ut_textn('address2')
sub suspend {
my $self = shift;
- grep { $_->suspend } $self->unsuspended_pkgs;
+ grep { $_->suspend(@_) } $self->unsuspended_pkgs;
}
=item suspend_if_pkgpart PKGPART [ , PKGPART ... ]
sub suspend_if_pkgpart {
my $self = shift;
- my @pkgparts = @_;
- grep { $_->suspend }
+ my (@pkgparts, %opt);
+ if (ref($_[0]) eq 'HASH'){
+ @pkgparts = @{$_[0]{pkgparts}};
+ %opt = %{$_[0]};
+ }else{
+ @pkgparts = @_;
+ }
+ grep { $_->suspend(%opt) }
grep { my $pkgpart = $_->pkgpart; grep { $pkgpart eq $_ } @pkgparts }
$self->unsuspended_pkgs;
}
sub suspend_unless_pkgpart {
my $self = shift;
- my @pkgparts = @_;
- grep { $_->suspend }
+ my (@pkgparts, %opt);
+ if (ref($_[0]) eq 'HASH'){
+ @pkgparts = @{$_[0]{pkgparts}};
+ %opt = %{$_[0]};
+ }else{
+ @pkgparts = @_;
+ }
+ grep { $_->suspend(%opt) }
grep { my $pkgpart = $_->pkgpart; ! grep { $pkgpart eq $_ } @pkgparts }
$self->unsuspended_pkgs;
}
Accepts the following options: I<search>, the string to search for. The string
will be searched for as a customer number, phone number, name or company name,
-first searching for an exact match then fuzzy and substring matches (in some
-cases - see the source code for the exact heuristics used).
+as an exact, or, in some cases, a substring or fuzzy match (see the source code
+for the exact heuristics used).
-Any additional options treated as an additional qualifier on the search
+Any additional options are treated as an additional qualifier on the search
(i.e. I<agentnum>).
Returns a (possibly empty) array of FS::cust_main objects.
'extra_sql' => "$sql AND $agentnums_sql", #agent virtualization
} );
- unless ( @cust_main ) { #no exact match, trying substring/fuzzy
+ #always do substring & fuzzy,
+ #getting complains searches are not returning enough
+ #unless ( @cust_main ) { #no exact match, trying substring/fuzzy
#still some false laziness w/ search/cust_main.cgi
FS::cust_main->fuzzy_search( { $field => $value }, @fuzopts );
}
- }
+ #}
#eliminate duplicates
my %saw = ();