event refactor, landing on HEAD!
[freeside.git] / httemplate / edit / part_svc.cgi
index a2ceced..9432839 100755 (executable)
@@ -166,12 +166,13 @@ that field.
 %
 %      foreach my $field (@fields) {
 %
-%        my $part_svc_column = $part_svc->part_svc_column($field);
-%        my $value = $part_svc_column->columnvalue;
-%        my $flag = $part_svc_column->columnflag;
 %        #my $def = $defs{$layer}{$field};
 %        my $def = FS::part_svc->svc_table_fields($layer)->{$field};
 %        my $label = $def->{'def_label'} || $def->{'label'};
+%        my $formatter = $def->{'format'} || sub { shift };
+%        my $part_svc_column = $part_svc->part_svc_column($field);
+%        my $value = &$formatter($part_svc_column->columnvalue);
+%        my $flag = $part_svc_column->columnflag;
 %
 %        if ( $bgcolor eq $bgcolor1 ) {
 %          $bgcolor = $bgcolor2;
@@ -223,7 +224,7 @@ that field.
 %            '    } else if ( f == "D" || f == "F" || f =="S" ) { //enable, text box',
 %            "      what.form.${layer}__${field}.disabled = false;".
 %            "      what.form.${layer}__${field}.style.backgroundColor = '#ffffff';".
-%            '      if ( f == "S" ) {'.
+%            "      if ( f == 'S' || '${field}' == 'usergroup' ) {". # kludge
 %            "        what.form.${layer}__${field}.multiple = true;".
 %            "      } else {".
 %            "        what.form.${layer}__${field}.multiple = false;".
@@ -280,7 +281,9 @@ that field.
 %
 %        } elsif ( $def->{type} eq 'select' ) {
 %
-%          $html .= qq!<SELECT NAME="${layer}__${field}" $disabled>!;
+%          $html .= qq!<SELECT NAME="${layer}__${field}" $disabled!;
+%          $html .= ' MULTIPLE' if $flag eq 'S';
+%          $html .= '>';
 %          $html .= '<OPTION> </OPTION>' unless $value;
 %          if ( $def->{select_table} ) {
 %            foreach my $record ( qsearch( $def->{select_table}, {} ) ) {