invoice configurations, #24723
[freeside.git] / httemplate / edit / process / invoice_conf.html
diff --git a/httemplate/edit/process/invoice_conf.html b/httemplate/edit/process/invoice_conf.html
new file mode 100644 (file)
index 0000000..1d45e12
--- /dev/null
@@ -0,0 +1,21 @@
+<& elements/process.html,
+  'table'       => 'invoice_conf',
+  'viewall_dir' => 'browse',
+  'fields'      => [ FS::invoice_conf->fields, 'modename', 'agentnum' ],
+  'precheck_callback' => \&precheck_callback,
+&>
+<%init>
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right(['Edit templates','Edit global templates']);
+
+sub precheck_callback {
+  my $cgi = shift;
+  $cgi->param('locale') =~ /^(\w*)$/;
+  my $locale = $1;
+  return mt('Language required') if $locale eq 'new'; # the user didn't choose
+  die "unknown locale $locale" if ( $locale and 
+                                    !FS::Locales->locale_info($locale) );
+}
+# invoice_conf itself knows to create/update invoice_mode if necessary,
+# so nothing special here
+</%init>