textarea for SQL external statements, RT#78543
[freeside.git] / httemplate / edit / part_pkg.cgi
index eed466e..f9cfee8 100755 (executable)
@@ -559,7 +559,7 @@ my $clone_callback = sub {
 
   if ( $cgi->param('pkgnum') ) {
 
-    my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $cgi->param('pkgnum') } );
+    my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => scalar($cgi->param('pkgnum')) } );
     $object->agentnum( $cust_pkg->cust_main->agentnum );
 
     $opt->{action} = 'Custom';
@@ -586,6 +586,11 @@ my $clone_callback = sub {
 
   $recur_disabled = $object->freq ? 0 : 1;
 
+  $recur_show_zero_disabled =
+    $object->freq
+      ? $object->option('recur_fee') > 0 ? 1 : 0
+      : 1;
+
 };
 
 my $discount_error_callback = sub {
@@ -859,6 +864,14 @@ my $html_bottom = sub {
                      : $href->{$field}{'default'} ).
                  qq!">!;
   
+      } elsif ( $href->{$field}{'type'} eq 'textarea' ) {
+
+        $html .= qq!<TEXTAREA NAME="${layer}__$field">!.
+                 ( exists($options{$field})
+                     ? &$format($options{$field})
+                     : $href->{$field}{'default'} ).
+                 qq!</TEXTAREA>!;
+
       } elsif ( $href->{$field}{'type'} eq 'checkbox' ) {
   
         $html .= qq!<INPUT TYPE="checkbox" NAME="${layer}__$field" VALUE=1 !.
@@ -867,6 +880,16 @@ my $html_bottom = sub {
                    : ''
                  ). '>';
 
+      } elsif ( $href->{$field}{'type'} =~ /^select-rt-/ ) {
+
+        $html .= include('/elements/'.$href->{$field}{'type'}.'.html',
+                           'name'       => $layer.'__'.$field,
+                           'curr_value' => $options{$field},
+                           map { $_ => $href->{$field}{$_} }
+                             grep { $_ !~ /^(name|type|parse)$/ }
+                               keys %{ $href->{$field} }
+                        );
+
       } elsif ( $href->{$field}{'type'} eq 'select-rate' ) {
 
         $html .= include('/elements/select-rate.html',