RT# 82949 - changes section name from fees to pricing, better opiton
[freeside.git] / httemplate / edit / process / msg_template.html
index b19f5c5..d8b125a 100644 (file)
@@ -1,7 +1,7 @@
 <% include( 'elements/process.html',  
               'table'       => 'msg_template',
-              'viewall_dir' => 'browse',
-              #'popup_reload'=> 1,
+              'fields'      => $fields,
+              'viewall_url' => "browse/msg_template/$msgclass.html",
               'debug'       => 0,
               'precheck_callback' => \&precheck_callback,
               'args_callback' => \&args_callback,
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right(['Edit templates','Edit global templates']);
 
+my $msgclass = 'email';
+if ( $cgi->param('msgclass') =~ /^(\w+)$/ ) {
+  $msgclass = $1;
+}
+
+my $fields = [ fields('msg_template') ];
+my $class = "FS::msg_template::$msgclass";
+eval "use $class;";
+if ( $class->extension_table ) {
+  push @$fields, fields($class->extension_table);
+}
+
 sub precheck_callback {
   my $cgi = shift;
-  # validate some fields
+  # validate locale field (for email-type records)
   $cgi->param('locale') =~ /^(\w*)$/;
   my $locale = $1;
   return mt('Language required') if $locale eq 'new'; # the user didn't choose
@@ -29,6 +41,8 @@ sub args_callback {
   # no validation of these; they can contain just about anything
   $content{'subject'} = $cgi->param('subject') || '';
   $content{'body'} = $cgi->param('body') || '';
+  $object->subject('');
+  $object->body('');
   return %content;
 }