summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Conf.pm7
-rwxr-xr-xFS/FS/svc_broadband.pm8
2 files changed, 13 insertions, 2 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 267d2397e..c40db33fb 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -4394,6 +4394,13 @@ and customer address. Include units.',
},
{
+ 'key' => 'svc_broadband-require-nw-coordinates',
+ 'section' => 'UI',
+ 'description' => 'On svc_broadband add/edit, require latitude and longitude in the North Western quadrant',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'cust-email-high-visibility',
'section' => 'UI',
'description' => 'Move the invoicing e-mail address field to the top of the billing address section and highlight it.',
diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm
index 2b794aa4b..f1a233b40 100755
--- a/FS/FS/svc_broadband.pm
+++ b/FS/FS/svc_broadband.pm
@@ -334,6 +334,10 @@ sub check {
return $x unless ref($x);
+ my $nw_coords = $conf->exists('svc_broadband-require-nw-coordinates');
+ my $lat_lower = $nw_coords ? 1 : -90;
+ my $lon_upper = $nw_coords ? -1 : 180;
+
my $error =
$self->ut_numbern('svcnum')
|| $self->ut_numbern('blocknum')
@@ -343,8 +347,8 @@ sub check {
|| $self->ut_ipn('ip_addr')
|| $self->ut_hexn('mac_addr')
|| $self->ut_hexn('auth_key')
- || $self->ut_coordn('latitude', -90, 90)
- || $self->ut_coordn('longitude', -180, 180)
+ || $self->ut_coordn('latitude', $lat_lower, 90)
+ || $self->ut_coordn('longitude', -180, $lon_upper)
|| $self->ut_sfloatn('altitude')
|| $self->ut_textn('vlan_profile')
|| $self->ut_textn('plan_id')