X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Fselect-state.html;h=8db157b9295426cbe39a87597163e6a0a0af1044;hb=474e879c6c47d23aa155d6f4b9c7a51b8badf8d9;hp=2d60fde0f0f031ae02201e58b3f5ec5883a7b4b5;hpb=d13845e64b5d9dd5f5d7a04f4d8120c4de1ddbee;p=freeside.git
diff --git a/httemplate/elements/select-state.html b/httemplate/elements/select-state.html
index 2d60fde0f..8db157b92 100644
--- a/httemplate/elements/select-state.html
+++ b/httemplate/elements/select-state.html
@@ -2,7 +2,7 @@
Example:
- include( '/elements/select-state.html',
+ <& /elements/select-state.html,
#recommended
country => $current_country,
state => $current_state,
@@ -15,7 +15,7 @@ Example:
empty_label => 'all', #label for empty option
disable_countyupdate => 0, #bool - disabled update of the select-state.html
style => [ 'attribute:value', 'another:value' ],
- );
+ &>
%doc>
@@ -27,22 +27,21 @@ Example:
>
% unless ( $opt{'disable_empty'} ) {
-
% }
% foreach my $state ( keys %states ) {
-
-
% }
-
<%init>
my %opt = @_;
-foreach my $opt (qw( state country prefix onchange disabled empty_label )) {
+foreach my $opt (qw(
+ state country prefix onchange disabled empty_label svcpart
+)) {
$opt{$opt} = '' unless exists($opt{$opt}) && defined($opt{$opt});
}
@@ -62,5 +61,23 @@ my $style =
tie my %states, 'Tie::IxHash', states_hash( $opt{'country'} );
+if ( $opt{'svcpart'} ) {
+
+ my $part_svc = qsearchs('part_svc', { 'svcpart' => $opt{'svcpart'} } );
+ if ( $part_svc && $part_svc->exporttype eq 'internal_diddb' ) {
+
+ my $sth = dbh->prepare(
+ 'SELECT DISTINCT state FROM phone_avail WHERE svcnum IS NULL'
+ ) or die dbh->errstr;
+ $sth->execute or die $sth->errstr;
+ my %avail_states = map { $_->[0] => 1 } @{ $sth->fetchall_arrayref };
+
+ if ( %avail_states ) {
+ delete $states{$_} foreach grep ! $avail_states{$_}, keys %states;
+ }
+
+ }
+}
+
%init>