default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / httemplate / edit / elements / class_Common.html
index b5f4939..723227f 100644 (file)
@@ -1,17 +1,11 @@
 <% include( 'edit.html',
-              'fields' => [
-                            'classname',
-                            (scalar(@category)
-                              ? { field=>'categorynum', type=>'select-table', 'empty_label'=>'(none)', 'table'=>'pkg_category', 'name_col'=>'categoryname' }
-                              : { field=>'categorynum', type=>'hidden' }
-                            ),
-                            { field=>'disabled', type=>'checkbox', value=>'Y', },
-                          ],
+              'fields' => $fields,
               'labels' => { 
                             'classnum'    => 'Class number',
                             'classname'   => 'Class name',
                             'categorynum' => 'Category',
                             'disabled'    => 'Disable class',
+                            %addl_labels,
                           },
               'viewall_dir' => 'browse',
               %opt,
@@ -26,7 +20,30 @@ die "access denied"
 my %opt = @_;
 
 my $table = $opt{'table'};
-( my $category_table = $table ) =~ s/class/category/ or die;
 
-my @category = qsearch($category_table, { 'disabled' => '' });
+my @category;
+my $category_table;
+unless ( $opt{'nocat'} ) {
+    ( $category_table = $table ) =~ s/class/category/ or die;
+    @category = qsearch($category_table, { 'disabled' => '' });
+}
+
+my $fields = [   'classname',
+        (scalar(@category)
+          ? { field       => 'categorynum',
+              type        => 'select-table',
+              table       => $category_table,
+              hashref     => { 'disabled' => '' },
+              name_col    => 'categoryname',
+              empty_label => '(none)',
+            }
+          : { field=>'categorynum', type=>'hidden' }
+        ),
+        { field=>'disabled', type=>'checkbox', value=>'Y', },
+        ];
+push @$fields, @{ $opt{'addl_fields'} } if $opt{'addl_fields'};
+
+my %addl_labels = ();
+%addl_labels = %{ $opt{'addl_labels'} } if $opt{'addl_labels'};
+
 </%init>