ikano, svc_dsl, qual, on-going implementation, RT7111
[freeside.git] / httemplate / view / svc_dsl.cgi
1 <% include('elements/svc_Common.html',
2             'table'     => 'svc_dsl',
3             'labels'    => \%labels,
4             'fields' => \@fields,
5             'svc_callback' => $svc_cb,
6             'html_foot' => $html_foot,
7           )
8 %>
9 <%init>
10
11 # XXX: AJAX auto-pull
12
13 my $fields = FS::svc_dsl->table_info->{'fields'};
14 my %labels = map { $_ =>  ( ref($fields->{$_})
15                              ? $fields->{$_}{'label'}
16                              : $fields->{$_}
17                          );
18                  } keys %$fields;
19 my @fields = keys %$fields;
20
21 my $footer;
22
23 my $html_foot = sub {
24     return $footer;
25 };
26
27 my $svc_cb = sub {
28     my( $cgi,$svc_x, $part_svc,$cust_pkg, $fields1,$opt) = @_;
29
30     my @exports = $part_svc->part_export_dsl_pull;
31     die "more than one DSL-pulling export attached to svcpart ".$part_svc->svcpart
32         if ( scalar(@exports) > 1 );
33     
34     # if no DSL-pulling exports, then just display everything, which is the
35     # default behaviour implemented above
36     return if ( scalar(@exports) == 0 );
37
38     my $export = @exports[0];
39     $opt->{'disable_unprovision'} = 1;
40
41     @fields = ( 'phonenum',
42             { field => 'loop_type', 
43               value => 'FS::part_export::'.$export->exporttype.'::loop_type_long'
44             },
45             { field => 'desired_due_date', type => 'date', },
46             { field => 'due_date', type => 'date', },
47             { field => 'pushed', type => 'datetime', },
48             { field => 'monitored', type => 'checkbox', },
49             { field => 'last_pull', type => 'datetime', },
50             'first',
51             'last',
52             'company'  );
53
54     if($export->exporttype eq 'ikano') {
55         push @fields, qw ( username password isp_chg isp_prev staticips );
56     }
57     # else add any other export-specific stuff here
58    
59     $footer = "<B>".$export->status_line($svc_x)."</B>";
60     $footer .= "<BR><BR><BR>Order Notes:<BR>".$export->notes_html;
61 };
62 </%init>