event refactor, landing on HEAD!
[freeside.git] / httemplate / edit / part_svc.cgi
index ba152db..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,6 +224,11 @@ 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' || '${field}' == 'usergroup' ) {". # kludge
+%            "        what.form.${layer}__${field}.multiple = true;".
+%            "      } else {".
+%            "        what.form.${layer}__${field}.multiple = false;".
+%            "      }".
 %            "      what.form.${layer}__${field}.style.display = '';".
 %            "      if ( what.form.${layer}__${field}_classnum ) {".
 %            "        what.form.${layer}__${field}_classnum.disabled = false;".
@@ -276,7 +282,7 @@ that field.
 %        } elsif ( $def->{type} eq 'select' ) {
 %
 %          $html .= qq!<SELECT NAME="${layer}__${field}" $disabled!;
-%          $html .= ' multiple' if $flag == 'S';
+%          $html .= ' MULTIPLE' if $flag eq 'S';
 %          $html .= '>';
 %          $html .= '<OPTION> </OPTION>' unless $value;
 %          if ( $def->{select_table} ) {