summaryrefslogtreecommitdiff
path: root/httemplate/edit/svc_dsl.cgi
diff options
context:
space:
mode:
authorivan <ivan>2011-03-28 02:00:53 +0000
committerivan <ivan>2011-03-28 02:00:53 +0000
commite0a26680d75fc2000bde195eba7946805a3aaa28 (patch)
treea91f1afc3d19238f260c86fc5e315f7cb07d9bd8 /httemplate/edit/svc_dsl.cgi
parente5d67ff80245eec9100e9fdacd94b95aa8157414 (diff)
finish existing customer dsl order, RT#7111
Diffstat (limited to 'httemplate/edit/svc_dsl.cgi')
-rw-r--r--httemplate/edit/svc_dsl.cgi140
1 files changed, 100 insertions, 40 deletions
diff --git a/httemplate/edit/svc_dsl.cgi b/httemplate/edit/svc_dsl.cgi
index 7ecf906f0..5896f18ae 100644
--- a/httemplate/edit/svc_dsl.cgi
+++ b/httemplate/edit/svc_dsl.cgi
@@ -3,6 +3,7 @@
'fields' => \@fields,
'svc_new_callback' => $new_cb,
'svc_edit_callback' => $edit_cb,
+ 'svc_error_callback' => $error_cb,
'html_foot' => $html_foot,
)
%>
@@ -61,32 +62,58 @@ my $edit_cb = sub {
my $new_cb = sub {
my( $cgi,$svc_x, $part_svc,$cust_pkg, $fields1,$opt) = @_;
my @exports = $part_svc->part_export_dsl_pull;
- die "more than one DSL-pulling export attached to svcpart ".$part_svc->svcpart
- if ( scalar(@exports) > 1 );
+ die "more than one DSL-pulling export for svcpart ".$part_svc->svcpart
+ if ( scalar(@exports) > 1 );
+
+ my $cust_main = $cust_pkg->cust_main;
+
+ @fields = (
+ { field => 'first',
+ value => $cust_main->ship_first ? $cust_main->ship_first
+ : $cust_main->first,
+ },
+ { field => 'last',
+ value => $cust_main->ship_last ? $cust_main->ship_last
+ : $cust_main->last,
+ },
+ { field => 'company',
+ value => $cust_pkg->cust_main->ship_company,
+ value => $cust_main->ship_company ? $cust_main->ship_company
+ : $cust_main->company,
+ },
+ );
+
+ my $vendor_qual_id = '';
+ my $qual = '';
+ if ( $cgi->param('qualnum') ) {
+
+ $qual =
+ qsearchs('qual', { 'qualnum' => scalar($cgi->param('qualnum')) } )
+ or die 'unknown qualnum';
+
+ $vendor_qual_id = $qual->vendor_qual_id;
+
+ push @fields, { 'field' => 'qualnum',
+ 'type' => 'hidden',
+ 'value' => $qual->qualnum,
+ },
+ { 'field' => 'phonenum',
+ 'type' => 'fixed',
+ 'value' => $qual->phonenum,
+ };
+
+ } else {
+
+ my $phonenum = $cust_main->ship_daytime ? $cust_main->ship_daytime
+ : $cust_main->daytime;
+ $phonenum =~ s/[^0-9]//g;
+
+ push @fields,
+ { field => 'phonenum',
+ value => $phonenum,
+ };
- my $cust_main = $cust_pkg->cust_main;
- my $defsvctn = $cust_main->ship_daytime ? $cust_main->ship_daytime
- : $cust_main->daytime;
- $defsvctn =~ s/[^0-9]//g;
-
- @fields = (
- { field => 'first',
- value => $cust_main->ship_first ? $cust_main->ship_first
- : $cust_main->first,
- },
- { field => 'last',
- value => $cust_main->ship_last ? $cust_main->ship_last
- : $cust_main->last,
- },
- { field => 'company',
- value => $cust_pkg->cust_main->ship_company,
- value => $cust_main->ship_company ? $cust_main->ship_company
- : $cust_main->company,
- },
- { field => 'phonenum',
- value => $defsvctn,
- },
- );
+ }
if ( scalar(@exports) == 1 ) {
my $export = @exports[0];
@@ -104,30 +131,52 @@ my $new_cb = sub {
.$qual->qualnum;
}
- splice @fields, -1, 0,
- { field => 'loop_type',
- type => 'select',
- options => [ '', '0' ],
- labels => { '' => 'Line-share', '0', => 'Standalone' },
- onchange => 'ikano_loop_type_changed',
- },
- ;
+ if ( $vendor_qual_id ) {
+ splice @fields, -1, 0,
+ { field => 'loop_type',
+ type => 'fixed',
+ value => ( $qual->phonenum ? '' : '0' ),
+ formatted_value => ( $qual->phonenum ? 'Line-share'
+ : 'Standalone' ),
+ };
+ } else {
+ splice @fields, -1, 0,
+ { field => 'loop_type',
+ type => 'select',
+ options => [ '', '0' ],
+ labels => { '' => 'Line-share', '0', => 'Standalone' },
+ onchange => 'ikano_loop_type_changed',
+ };
+ }
push @fields,
'password',
{ field => 'isp_chg', type => 'checkbox', value=>'Y', },
'isp_prev',
- { field => 'vendor_qual_id',
- type => 'select',
- options => \@prequalids,
- labels => \%prequal_labels,
+ ;
+
+ if ( $vendor_qual_id ) {
+ push @fields,
+ { field => 'vendor_qual_id',
+ type => 'fixed',
+ value => $vendor_qual_id,
+ };
+ } else {
+ push @fields,
+ { field => 'vendor_qual_id',
+ type => 'select',
+ options => \@prequalids,
+ labels => \%prequal_labels,
onchange => 'ikano_vendor_qual_id_changed',
- },
+ };
+ }
+
+ push @fields,
{ field => 'vendor_order_type',
- type => 'hidden',
+ type => 'hidden',
value => 'NEW' },
{ field => 'desired_due_date',
- type => 'fixed',
+ type => 'fixed',
formatted_value =>
time2str($date_format,$ddd),
value => $ddd,
@@ -140,4 +189,15 @@ my $new_cb = sub {
push @fields, qw( rate_band circuitnum vpi vci );
}
};
+
+my $error_cb = sub {
+ my( $cgi ) = @_;
+ #my( $cgi,$svc_x, $part_svc,$cust_pkg, $fields,$opt) = @_;
+ if ( $cgi->param('svcnum') ) {
+ &{ $edit_cb }( @_ );
+ } else {
+ &{ $new_cb }( @_ );
+ }
+};
+
</%init>