diff options
author | Ivan Kohler <ivan@freeside.biz> | 2016-03-09 11:17:03 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2016-03-09 11:17:03 -0800 |
commit | d9f0a98539cd8dd957ea9a4b5d77fbb739d43d2e (patch) | |
tree | 7965730b96115c1bfb5dd4e5dc6b31f98a873bb4 /httemplate/elements/select-cust_location.html | |
parent | 796780078517c26803a7689ccd80931381de23ea (diff) |
package filters in a large package list, RT#39822
Diffstat (limited to 'httemplate/elements/select-cust_location.html')
-rw-r--r-- | httemplate/elements/select-cust_location.html | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/httemplate/elements/select-cust_location.html b/httemplate/elements/select-cust_location.html new file mode 100644 index 000000000..29563c50e --- /dev/null +++ b/httemplate/elements/select-cust_location.html @@ -0,0 +1,65 @@ +<SELECT NAME = "locationnum" + ID = "locationnum" +% if ( $opt{onchange} ) { + onchange = "<% $opt{onchange} %>" +% } + > + +% #false laziness w/select-table.html +% my @pre_options = $opt{pre_options} ? @{ $opt{pre_options} } : (); +% while ( @pre_options ) { +% my $pre_opt = shift(@pre_options); +% my $pre_label = shift(@pre_options); +% my $selected = #$opt{'all_selected'} +% # || ( ref($locationnum) && $locationnum->{$pre_opt} ) +% # || +% ( $locationnum eq $pre_opt ); + <OPTION VALUE="<% $pre_opt %>" + <% $selected ? 'SELECTED' : '' %> + ><% $pre_label %> +% } + +% if ( $cust_main ) { +% my $selected = ( $locationnum == $cust_main->ship_locationnum ); + <OPTION VALUE="<% $cust_main->ship_locationnum %>" + <% $selected ? 'SELECTED' : '' %> + ><% $opt{'empty_label'} || '(default service address)' |h %> +% } + +% if ( $opt{'is_optional'} ) { + <OPTION VALUE="-2" <% $locationnum == -2 ? 'SELECTED' : ''%>><% $opt{'optional_label'} || '(not required)' |h %> +% } + +% foreach my $loc ( @{ $opt{cust_location} } ) { +% # don't show the ship_location redundantly +% next if $cust_main && $cust_main->ship_locationnum == $loc->locationnum; + <OPTION VALUE="<% $loc->locationnum %>" + <% $locationnum == $loc->locationnum ? 'SELECTED' : '' %> + ><% $loc->line( cust_main => $cust_main, + countrydefault => $countrydefault, + ) + |h %> +% } + +% if ( $addnew ) { + <OPTION VALUE="-1" + <% $locationnum == -1 ? 'SELECTED' : '' %> + >Add new location +% } + +</SELECT> +<%init> + +my $conf = new FS::Conf; +my $countrydefault = $conf->config('countrydefault') || 'US'; + +my %opt = @_; +my $cust_main = $opt{'cust_main'}; +my $locationnum = $opt{'curr_value'}; + +$opt{'cust_location'} ||= [ $cust_main ? $cust_main->cust_location : () ]; + +my $addnew = exists($opt{addnew}) ? $opt{addnew} + : $cust_main ? 1 : ( $locationnum>0 ? 0 : 1 ); + +</%init> |