add northern cyprus, RT#39335
[freeside.git] / httemplate / elements / tr-select-sip_server.html
1 % if ( $columnflag eq 'F' ) {
2 <& fixed.html, %opt &>
3 % } elsif ( $use_selector ) {
4 %   my $servers = $exports[0]->get_sip_servers;
5 %   # pretty simple selector, they're all just hostnames/IP addresses
6 <& tr-select.html,
7     %opt,
8     options     => $servers,
9 &>
10 % } else {
11 <& tr-input-text.html, %opt &>
12 % }
13 </TR>
14
15 <%init>
16
17 my %opt = @_;
18 my $cell_style = $opt{'cell_style'} ? 'STYLE="'. $opt{'cell_style'}. '"' : '';
19
20 $opt{'field'} ||= 'sip_server';
21
22 #false laziness w/select-did.html
23 #XXX make sure this comes through on errors too
24 my $svcpart  = $opt{'svcpart'}
25             || $opt{'object'}->svcpart
26             || $opt{'object'}->cust_svc->svcpart;
27
28 my $part_svc = qsearchs('part_svc', { 'svcpart'=>$svcpart } );
29 die "unknown svcpart $svcpart" unless $part_svc;
30
31 my $columnflag;
32 my $psc = $part_svc->part_svc_column($opt{'field'});
33 if ( $psc ) {
34   $columnflag = $psc->columnflag;
35 }
36
37 my @exports = $part_svc->part_export_did;
38 if ( scalar(@exports) > 1 ) {
39   die "more than one DID-providing export attached to svcpart $svcpart";
40 }
41
42 my $use_selector = 0;
43
44 if ( $exports[0] and $exports[0]->can('get_sip_servers') ) {
45   $use_selector = 1;
46 }
47
48 </%init>