event refactor, landing on HEAD!
[freeside.git] / httemplate / edit / part_pkg.cgi
index f970508..90e328d 100755 (executable)
 %my ($query) = $cgi->keywords;
 %
 %my $part_pkg = '';
+%my @agent_type = ();
 %if ( $cgi->param('error') ) {
 %  $part_pkg = new FS::part_pkg ( {
 %    map { $_, scalar($cgi->param($_)) } fields('part_pkg')
 %  } );
+%  (@agent_type) = $cgi->param('agent_type');
 %}
 %
 %my $action = '';
@@ -30,6 +32,8 @@
 %  $part_pkg ||= $clone_part_pkg->clone;
 %  $part_pkg->disabled('Y'); #isn't sticky on errors
 %} elsif ( $query && $query =~ /^(\d+)$/ ) {
+%  (@agent_type) = map {$_->typenum} qsearch('type_pkgs',{'pkgpart'=>$1})
+%    unless $part_pkg;
 %  $part_pkg ||= qsearchs('part_pkg',{'pkgpart'=>$1});
 %  $pkgpart = $part_pkg->pkgpart;
 %} else {
@@ -85,7 +89,10 @@ Package information
       <INPUT TYPE="text" NAME="comment" SIZE=32 VALUE="<%$part_pkg->comment%>">
     </TD>
   </TR>
-  <% include( '/elements/tr-select-pkg_class.html', $part_pkg->classnum ) %>
+  <% include( '/elements/tr-select-pkg_class.html',
+                'curr_value' => $part_pkg->classnum,
+            )
+  %>
   <TR>
     <TD ALIGN="right">Promotional code</TD>
     <TD>
@@ -153,6 +160,25 @@ Line-item revenue recognition
 % }
 </TABLE>
 
+</TD><TD VALIGN="top">
+
+Reseller information 
+<% ntable("#cccccc", 2) %>
+  <TR>
+    <TD ALIGN="right"><% 'Agent Types' %></TD>
+    <TD>
+      <% include( '/elements/select-table.html',
+                  'element_name' => 'agent_type',
+                  'table'        => 'agent_type',
+                 'name_col'     => 'atype',
+                 'value'        => \@agent_type,
+                 'empty_label'  => '(none)',
+                 'element_etc'  => 'multiple size="10"',
+                )
+      %>
+    </TD>
+  </TR>
+</TABLE>
 </TD></TR></TABLE>
 %
 %
@@ -248,7 +274,7 @@ Line-item revenue recognition
 %#} else {
 %#  push @fixups, 'taxclass'; #hidden
 %#}
-%my @form_elements = ( 'classnum', 'taxclass' );
+%my @form_elements = ( 'classnum', 'taxclass', 'agent_type' );
 %
 %my @form_radio = ();
 %if ( dbdef->table('pkg_svc')->column('primary_svc') ) {
@@ -300,12 +326,14 @@ Line-item revenue recognition
 %
 %      $html .= '<TR><TD ALIGN="right">'. $href->{$field}{'name'}. '</TD><TD>';
 %
+%      my $format = sub { shift };
+%      $format = $href->{$field}{'format'} if exists($href->{$field}{'format'});
 %      if ( ! exists($href->{$field}{'type'}) ) {
 %        $html .= qq!<INPUT TYPE="text" NAME="$field" VALUE="!.
 %                 ( exists($plandata{$field})
-%                     ? $plandata{$field}
+%                     ? &$format($plandata{$field})
 %                     : $href->{$field}{'default'} ).
-%                 qq!" onChange="fchanged(this)">!;
+%                 qq!">!;
 %      } elsif ( $href->{$field}{'type'} eq 'checkbox' ) {
 %        $html .= qq!<INPUT TYPE="checkbox" NAME="$field" VALUE=1 !.
 %                 ( exists($plandata{$field}) && $plandata{$field}
@@ -316,7 +344,7 @@ Line-item revenue recognition
 %        $html .= '<SELECT';
 %        $html .= ' MULTIPLE'
 %          if $href->{$field}{'type'} eq 'select_multiple';
-%        $html .= qq! NAME="$field" onChange="fchanged(this)">!;
+%        $html .= qq! NAME="$field">!;
 %
 %        if ( $href->{$field}{'select_table'} ) {
 %          foreach my $record (
@@ -360,7 +388,7 @@ Line-item revenue recognition
 %             
 %    $html .= '<INPUT TYPE="submit" VALUE="'.
 %             ( $hashref->{pkgpart} ? "Apply changes" : "Add package" ).
-%             '" onClick="fchanged(this)">';
+%             '">';
 %
 %    $html;
 %