summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2007-09-11 01:33:50 +0000
committerivan <ivan>2007-09-11 01:33:50 +0000
commit6f7d4483b99c758e112cbe5a3a6a34617f80fce7 (patch)
treeb9ed8a541d7a01820b385b939084bcf575a78ce4
parenta8336c295da4207b7d5a6f0ae594200b0f5cda01 (diff)
add cust_main-require_phone and cust_main-require_invoicing_list_email options
-rw-r--r--FS/FS/Conf.pm14
-rw-r--r--FS/FS/cust_main.pm27
2 files changed, 39 insertions, 2 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 0d37feaef..bd1e67a39 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -2054,6 +2054,20 @@ httemplate/docs/config.html
'type' => 'textarea',
},
+ {
+ 'key' => 'cust_main-require_phone',
+ 'section' => '',
+ 'description' => 'Require daytime or night for all customer records.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'cust_main-require_invoicing_list_email',
+ 'section' => '',
+ 'description' => 'Require at least one invoicing email address for all customer records.',
+ 'type' => 'checkbox',
+ },
+
);
1;
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm
index 9030f7ed3..bb3dcdb37 100644
--- a/FS/FS/cust_main.pm
+++ b/FS/FS/cust_main.pm
@@ -350,7 +350,8 @@ sub insert {
$error = $self->check_invoicing_list( $invoicing_list );
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
- return "checking invoicing_list (transaction rolled back): $error";
+ #return "checking invoicing_list (transaction rolled back): $error";
+ return $error;
}
$self->invoicing_list( $invoicing_list );
}
@@ -1274,6 +1275,21 @@ sub check {
;
return $error if $error;
+ if ( $conf->exists('cust_main-require_phone')
+ && ! length($self->daytime) && ! length($self->night)
+ ) {
+
+ my $daytime_label = FS::Msgcat::_gettext('daytime') =~ /^(daytime)?$/
+ ? 'Day Phone'
+ : FS::Msgcat::_gettext('daytime');
+ my $night_label = FS::Msgcat::_gettext('night') =~ /^(night)?$/
+ ? 'Night Phone'
+ : FS::Msgcat::_gettext('night');
+
+ return "$daytime_label or $night_label is required"
+
+ }
+
my @addfields = qw(
last first company address1 address2 city county state zip
country daytime night fax
@@ -4131,7 +4147,8 @@ is an error, returns the error, otherwise returns false.
sub check_invoicing_list {
my( $self, $arrayref ) = @_;
- foreach my $address ( @{$arrayref} ) {
+
+ foreach my $address ( @$arrayref ) {
if ($address eq 'FAX' and $self->getfield('fax') eq '') {
return 'Can\'t add FAX invoice destination with a blank FAX number.';
@@ -4146,7 +4163,13 @@ sub check_invoicing_list {
: $cust_main_invoice->checkdest
;
return $error if $error;
+
}
+
+ return "Email address required"
+ if $conf->exists('cust_main-require_invoicing_list_email')
+ && ! grep { $_ !~ /^([A-Z]+)$/ } @$arrayref;
+
'';
}