X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=ea2785bdf0793abc8ebf1656c3929f5cd327b23b;hp=fa5d3c1b41e891152ec28e9e43a211b0061d42e4;hb=c2146ae32fdef80049abfa13098db2d45f3ebdd5;hpb=ba6db3949242ec66556f193da0779c9082c0d0aa
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index fa5d3c1b4..ea2785bdf 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -95,6 +95,21 @@ sub config {
}
}
+=item config_binary KEY
+
+Returns the exact scalar value for key.
+
+=cut
+
+sub config_binary {
+ my($self,$file)=@_;
+ my($dir)=$self->dir;
+ my $fh = new IO::File "<$dir/$file" or return;
+ local $/;
+ my $content = <$fh>;
+ $content;
+}
+
=item exists KEY
Returns true if the specified key exists, even if the corresponding value
@@ -209,6 +224,31 @@ sub config_items {
new FS::ConfItem {
'key' => $basename,
'section' => 'billing',
+ 'description' => 'Alternate HTML template for invoices. See the billing documentation for details.',
+ 'type' => 'textarea',
+ }
+ } glob($self->dir. '/invoice_html_*')
+ ),
+ ( map {
+ my $basename = basename($_);
+ $basename =~ /^(.*)$/;
+ $basename = $1;
+ ($latexname = $basename ) =~ s/latex/html/;
+ new FS::ConfItem {
+ 'key' => $basename,
+ 'section' => 'billing',
+ 'description' => "Alternate Notes section for HTML invoices. Defaults to the same data in $latexname if not specified.",
+ 'type' => 'textarea',
+ }
+ } glob($self->dir. '/invoice_htmlnotes_*')
+ ),
+ ( map {
+ my $basename = basename($_);
+ $basename =~ /^(.*)$/;
+ $basename = $1;
+ new FS::ConfItem {
+ 'key' => $basename,
+ 'section' => 'billing',
'description' => 'Alternate LaTeX template for invoices. See the billing documentation for details.',
'type' => 'textarea',
}
@@ -540,9 +580,38 @@ httemplate/docs/config.html
},
{
+ 'key' => 'invoice_html',
+ 'section' => 'billing',
+ 'description' => 'Optional HTML template for invoices. See the billing documentation for details.',
+
+ 'type' => 'textarea',
+ },
+
+ {
+ 'key' => 'invoice_htmlnotes',
+ 'section' => 'billing',
+ 'description' => 'Notes section for HTML invoices. Defaults to the same data in invoice_latexnotes if not specified.',
+ 'type' => 'textarea',
+ },
+
+ {
+ 'key' => 'invoice_htmlfooter',
+ 'section' => 'billing',
+ 'description' => 'Footer for HTML invoices. Defaults to the same data in invoice_latexfooter if not specified.',
+ 'type' => 'textarea',
+ },
+
+ {
+ 'key' => 'invoice_htmlreturnaddress',
+ 'section' => 'billing',
+ 'description' => 'Return address for HTML invoices. Defaults to the same data in invoice_latexreturnaddress if not specified.',
+ 'type' => 'textarea',
+ },
+
+ {
'key' => 'invoice_latex',
'section' => 'billing',
- 'description' => 'Optional LaTeX template for typeset PostScript invoices.',
+ 'description' => 'Optional LaTeX template for typeset PostScript invoices. See the billing documentation for details.',
'type' => 'textarea',
},
@@ -561,6 +630,13 @@ httemplate/docs/config.html
},
{
+ 'key' => 'invoice_latexreturnaddress',
+ 'section' => 'billing',
+ 'description' => 'Return address for LaTeX typeset PostScript invoices.',
+ 'type' => 'textarea',
+ },
+
+ {
'key' => 'invoice_latexsmallfooter',
'section' => 'billing',
'description' => 'Optional small footer for multi-page LaTeX typeset PostScript invoices.',
@@ -647,7 +723,7 @@ httemplate/docs/config.html
'editlist_parts' => [ { type=>'text' },
{ type=>'immutable', value=>'IN' },
{ type=>'select',
- select_enum=>{ map { $_=>$_ } qw(A CNAME MX NS)} },
+ select_enum=>{ map { $_=>$_ } qw(A CNAME MX NS TXT)} },
{ type=> 'text' }, ],
},
@@ -1373,9 +1449,10 @@ httemplate/docs/config.html
{
'key' => 'ticket_system',
'section' => '',
- 'description' => 'Ticketing system integraiton. RT_Internal uses the built-in RT ticketing system (use make create-rt
to create the necessary tables). RT_Libs uses the built-in RT libraries to access an RT installation in a separate database (local or remote). RT_External uses raw SQL access (and eventually RT\'s XML interface and RTx::Atom?) to access an RT installation in a separate database (local or remote).',
+ 'description' => 'Ticketing system integraiton. RT_Internal uses the built-in RT ticketing system (see the integrated ticketing installation instructions). RT_External accesses an external RT installation in a separate database (local or remote).',
'type' => 'select',
- 'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ],
+ #'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ],
+ 'select_enum' => [ '', qw(RT_Internal RT_External) ],
},
{
@@ -1447,6 +1524,13 @@ httemplate/docs/config.html
'type' => [qw( checkbox textarea )],
},
+ {
+ 'key' => 'svc_acct-usage_suspend',
+ 'section' => 'billing',
+ 'description' => 'Suspends the package an account belongs to when svc_acct.seconds is decremented to 0 or below (accounts with an empty seconds value are ignored). Typically used in conjunction with prepaid packages and freeside-sqlradius-radacctd.',
+ 'type' => 'checkbox',
+ },
+
);
1;