projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix fallout: allowing selectable choice for arbitrary things broke classic selectable...
[freeside.git]
/
httemplate
/
edit
/
elements
/
svc_Common.html
diff --git
a/httemplate/edit/elements/svc_Common.html
b/httemplate/edit/elements/svc_Common.html
index
0955d49
..
7ab08a3
100644
(file)
--- a/
httemplate/edit/elements/svc_Common.html
+++ b/
httemplate/edit/elements/svc_Common.html
@@
-103,13
+103,27
@@
$f->{'extra_sql'} .= ' OR svcnum = '. $object->svcnum
if $object->svcnum;
$f->{'extra_sql'} .= ' ) ';
$f->{'extra_sql'} .= ' OR svcnum = '. $object->svcnum
if $object->svcnum;
$f->{'extra_sql'} .= ' ) ';
- $f->{'disable_empty'} = $object->svcnum ? 1 : 0,
+ $f->{'disable_empty'} = $object->svcnum ? 1 : 0;
+ if ( $f->{'field'} eq 'mac_addr' ) {
+ $f->{'compare_sub'} = sub {
+ my($a, $b) = @_;
+ $a =~ s/[-: ]//g;
+ $b =~ s/[-: ]//g;
+ lc($a) eq lc($b);
+ };
+ }
} elsif ( $flag eq 'H' ) {
$f->{'type'} = 'select-hardware_type';
$f->{'hashref'} = {
'classnum'=>$columndef->columnvalue
};
} elsif ( $flag eq 'H' ) {
$f->{'type'} = 'select-hardware_type';
$f->{'hashref'} = {
'classnum'=>$columndef->columnvalue
};
- $f->{'empty_label'} = 'Select hardware type';
+
+ } elsif ( $flag eq 'S' #selectable choice
+ && $f->{type} !~ /^select-svc(-domain|_pbx)$/ ) {
+ $f->{type} = 'select';
+ $f->{options} = [ split( /\s*,\s*/,
+ $columndef->columnvalue)
+ ];
}
if ( $f->{'type'} eq 'select-svc_pbx'
}
if ( $f->{'type'} eq 'select-svc_pbx'
@@
-128,6
+142,10
@@
$object->set('custnum', $cust_pkg->custnum);
}
$object->set('custnum', $cust_pkg->custnum);
}
+ if ( my $cb = $opt{'svc_field_callback'} ) {
+ &{ $cb }( $cgi, $object, $f);
+ }
+
},
'html_init' => sub {
},
'html_init' => sub {