4.x style
[freeside.git] / httemplate / edit / part_pkg.cgi
index a6a2a89..0a0b01e 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);
                      #recurring frequency
                      #recurring fee (auto-disable)
 
-                   { type => 'columnnext' },
+                   { type => 'columnnext', value=>'Taxation', },
 
-                     {type=>'justtitle', value=>'Taxation' },
                      {field=>'setuptax', type=>'checkbox', value=>'Y'},
                      {field=>'recurtax', type=>'checkbox', value=>'Y'},
                      {field=>'taxclass', type=>'select-taxclass' },
                          )
                      ),
 
-                   { type => 'columnnext' },
-
-                     {type=>'justtitle', value=>'Agent (reseller) types' },
+                   { type => 'columnnext', value=>'Agent (reseller) types' },
 
                      { field       => 'agent_type',
                        type        => 'select-agent_type',
@@ -855,8 +854,9 @@ my $javascript = <<'END';
         supp_pkg_rows[0].style.display = 'none';
         var button = document.getElementById('show_supp_pkgs');
         button.onclick = show_supp_pkgs_click;
-        button.style.backgroundColor = '#cccccc';
-        button.style.border = '1px solid #7e0079';
+        //button.style.backgroundColor = '#cccccc';
+        //button.style.border = '1px solid #7e0079';
+        button.style.border = 'thin solid #999999';
         button.style.padding = '1px';
       }
     }
@@ -895,6 +895,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 ) = @_;
 
@@ -903,7 +912,7 @@ my $html_bottom = sub {
   my $layer_callback = sub {
   
     my $layer = shift;
-    my $html = ntable("#cccccc",2);
+    my $html = '<TABLE CLASS="fsinnerbox">';
   
     #$html .= '
     #  <TR>
@@ -1003,6 +1012,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',