[freeside-commits] freeside/FS/FS Schema.pm, 1.239.2.7, 1.239.2.8 svc_phone.pm, 1.28.2.3, 1.28.2.4
Erik Levinson
levinse at wavetail.420.am
Tue Dec 28 07:58:16 PST 2010
Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail.420.am:/tmp/cvs-serv7911/FS/FS
Modified Files:
Tag: FREESIDE_2_1_BRANCH
Schema.pm svc_phone.pm
Log Message:
LNP improvements, RT9527
Index: Schema.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Schema.pm,v
retrieving revision 1.239.2.7
retrieving revision 1.239.2.8
diff -u -w -d -r1.239.2.7 -r1.239.2.8
--- Schema.pm 26 Dec 2010 04:09:33 -0000 1.239.2.7
+++ Schema.pm 28 Dec 2010 15:58:13 -0000 1.239.2.8
@@ -2778,6 +2778,7 @@
'lnp_due_date', 'int', 'NULL', '', '', '',
'lnp_other_provider', 'varchar', 'NULL', $char_d, '', '',
'lnp_other_provider_account', 'varchar', 'NULL', $char_d, '', '',
+ 'lnp_reject_reason', 'varchar', 'NULL', $char_d, '', '',
],
'primary_key' => 'svcnum',
'unique' => [],
Index: svc_phone.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/svc_phone.pm,v
retrieving revision 1.28.2.3
retrieving revision 1.28.2.4
diff -u -w -d -r1.28.2.3 -r1.28.2.4
--- svc_phone.pm 26 Dec 2010 20:25:14 -0000 1.28.2.3
+++ svc_phone.pm 28 Dec 2010 15:58:14 -0000 1.28.2.4
@@ -140,6 +140,10 @@
type => 'select-lnp_status.html',
%dis2,
},
+ 'lnp_reject_reason' => {
+ label => 'LNP Reject Reason',
+ %dis2,
+ },
'portable' => { label => 'Portable?', %dis2, },
'lrn' => { label => 'LRN',
disable_inventory => 1,
@@ -353,6 +357,17 @@
}
#what about on-the-fly edits? if the ui supports it?
+ # LNP data validation
+ return 'Invalid LNP status' # if someone does really stupid stuff
+ if ( ($old->lnp_status eq 'portingout' && $new->lnp_status eq 'portingin')
+ || ($old->lnp_status eq 'portout-reject' && $new->lnp_status eq 'portingin')
+ || ($old->lnp_status eq 'portin-reject' && $new->lnp_status eq 'portingout')
+ || ($old->lnp_status eq 'portingin' && $new->lnp_status eq 'native')
+ || ($old->lnp_status eq 'portin-reject' && $new->lnp_status eq 'native')
+ || ($old->lnp_status eq 'portingin' && $new->lnp_status eq 'portingout')
+ || ($old->lnp_status eq 'portingout' && $new->lnp_status eq 'portin-reject')
+ );
+
my $error = $new->SUPER::replace($old, %options);
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
@@ -419,11 +434,26 @@
|| $self->ut_numbern('lnp_due_date')
|| $self->ut_textn('lnp_other_provider')
|| $self->ut_textn('lnp_other_provider_account')
- || $self->ut_enumn('lnp_status', ['','portingin','portingout','portedin','native'])
+ || $self->ut_enumn('lnp_status', ['','portingin','portingout','portedin',
+ 'native', 'portin-reject', 'portout-reject'])
|| $self->ut_enumn('portable', ['','Y'])
+ || $self->ut_textn('lnp_reject_reason')
;
return $error if $error;
+ # LNP data validation
+ return 'Cannot set LNP fields: no LNP in progress'
+ if ( ($self->lnp_desired_due_date || $self->lnp_due_date
+ || $self->lnp_other_provider || $self->lnp_other_provider_account
+ || $self->lnp_reject_reason)
+ && (!$self->lnp_status || $self->lnp_status eq 'native') );
+ return 'Cannot set LNP reject reason: no LNP in progress or status is not reject'
+ if ($self->lnp_reject_reason && (!$self->lnp_status
+ || $self->lnp_status !~ /^port(in|out)-reject$/) );
+ return 'Cannot port-out a non-portable number'
+ if (!$self->portable && $self->lnp_status eq 'portingout');
+
+
return 'Name ('. $self->phone_name.
") is longer than $phone_name_max characters"
if $phone_name_max && length($self->phone_name) > $phone_name_max;
More information about the freeside-commits
mailing list