4.x style
[freeside.git] / httemplate / edit / part_pkg.cgi
index 84aac5b..78e4427 100755 (executable)
@@ -9,8 +9,10 @@
      #'viewall_dir'           => 'browse',
      'viewall_url'           => $p.'browse/part_pkg.cgi',
      'html_init'             => include('/elements/init_overlib.html').
+                                include('/elements/init_calendar.html').
                                 $javascript,
      'html_bottom'           => $html_bottom,
+     'extra_fields_validate' => $validate_priceplan_fields,
      'body_etc'              =>
        'onLoad="agent_changed(document.edit_topform.agentnum);
                 aux_planchanged(document.edit_topform.plan);
@@ -895,6 +897,15 @@ tie my %plan_labels, 'Tie::IxHash',
   map {  $_ => ( $plans{$_}->{'shortname'} || $plans{$_}->{'name'} ) }
       keys %plans;
 
+my $validate_priceplan_fields = {};
+foreach my $priceplan (keys %plans) {
+  my $plan_fields = $plans{$priceplan}->{fields};
+  foreach my $price_plan_field (keys %$plan_fields) {
+    $validate_priceplan_fields->{$priceplan."__".$price_plan_field} = $plan_fields->{$price_plan_field}->{"js_validate"}
+      if exists $plan_fields->{$price_plan_field}->{"js_validate"};
+  }
+}
+
 my $html_bottom = sub {
   my( $object ) = @_;
 
@@ -987,6 +998,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 !.
@@ -995,6 +1014,13 @@ my $html_bottom = sub {
                    : ''
                  ). '>';
 
+      } elsif ( $href->{$field}{'type'} eq 'date' ) {
+
+        $html .= include('/elements/input-date-field.html', {
+                           'name'  => $layer.'__'.$field,
+                           'value' => $options{$field},
+                        });
+
       } elsif ( $href->{$field}{'type'} =~ /^select-rt-/ ) {
 
         $html .= include('/elements/'.$href->{$field}{'type'}.'.html',