[freeside-commits] branch FREESIDE_4_BRANCH updated. d0373d64f79a086c6fbb95e2fac6ec542f3d928f

Mark Wells mark at 420.am
Mon Aug 31 14:56:01 PDT 2015


The branch, FREESIDE_4_BRANCH has been updated
       via  d0373d64f79a086c6fbb95e2fac6ec542f3d928f (commit)
      from  703681fd46e80770d2aeee6062ae9025f4c8baae (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d0373d64f79a086c6fbb95e2fac6ec542f3d928f
Author: Mark Wells <mark at freeside.biz>
Date:   Mon Aug 31 14:55:34 2015 -0700

    one more repeatability fix + documentation, #37340

diff --git a/FS-Test/README b/FS-Test/README
index b1518bd..8e9681c 100644
--- a/FS-Test/README
+++ b/FS-Test/README
@@ -2,42 +2,36 @@ FS-Test
 
 INSTALLATION
 
-To install this module, install Freeside as usual. Then run the following 
-commands:
-
-	perl Makefile.PL
-	make
-	make install
-
-INITIALIZATION
-
-Run "freeside-test-start" from an account that can sudo to root. This will
-create a database with the test image and set the system clock to one day
-after the last bill. If there's an existing Freeside database, it will be
-renamed to "freeside_YYYYMMDD" (the current date).
-
-To restore the system clock and put the existing database back in place,
-run "freeside-test-stop".
+This module no longer needs to be installed. Run it directly from the source
+tree.
 
 RUNNING TESTS
 
-"freeside-test-run" is the main test script. Currently there's only one 
-test plan, "ui_tests". freeside-test-run will:
+"freeside-test-run" is the main test script. Currently there's only one test
+plan, "ui_tests". freeside-test-run will:
 
 - download all the URLs listed in the test plan into a directory in /tmp
 - compare them to the reference versions with "diff -ur"
 - write the output to "freeside_test.YYYYMMDD.diff"
-- display the results of "diffstat" on that diff
 
 The raw output directory will not be deleted, so you can examine the results
-yourself. This is recommended for files that don't diff nicely like Excel 
-versions of reports and PDF invoices.
+yourself.
+
+If you want to do anything with the database besides compare the test results
+to reference, run "freeside-test-start" by hand first. This will create a
+database with the test image and start Apache with a fake time of one day after
+the last bill. If there's an existing Freeside database, it will be renamed to
+"freeside_YYYYMMDD" (the current date).
+
+To put the existing database back in place, run "freeside-test-stop", then
+restart Apache and any Freeside services.
 
 UPDATING THE REFERENCE PAGES
 
 The simplest way to update the reference copies of the test pages is
 
-freeside-test-fetch -d ./share/output
+bin/freeside-test-start
+bin/freeside-test-fetch -d ./share/output
 
 (from the FS-Test source directory). If you're installing from a git repo,
 this will overwrite the working tree with the newly downloaded test pages.
diff --git a/FS-Test/share/output/edit/part_pkg.cgi/2 b/FS-Test/share/output/edit/part_pkg.cgi/2
index 9aba158..798351f 100644
--- a/FS-Test/share/output/edit/part_pkg.cgi/2
+++ b/FS-Test/share/output/edit/part_pkg.cgi/2
@@ -4720,9 +4720,9 @@ spawn_supp_dst_pkgpart(this);"
       <INPUT TYPE="checkbox" NAME="voip_cdr__skip_same_customer" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Calculate usage based on the duration field instead of the billsec field</TD><TD>
       <INPUT TYPE="checkbox" NAME="voip_cdr__use_duration" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Rewrite these (comma-separated) destination numbers to 411 for rating purposes (also ignore any carrierid check): </TD><TD>
       <INPUT TYPE="text" NAME="voip_cdr__411_rewrite" VALUE=""></TD></TR><TR><TD ALIGN="right">CDR display format for invoices</TD><TD>
-      <SELECT NAME="voip_cdr__output_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="basic">Basic<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="source_default">Default with source<OPTION VALUE="simple2">Simple with source<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="default">Default<OPTION VALUE="simple">Simple<OPTION VALUE="accountcode_default">Default plus accountcode</SELECT></TD></TR><TR><TD ALIGN="right">CDR display format for selfservice</TD><TD>
-      <SELECT NAME="voip_cdr__selfservice_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="basic">Basic<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="source_default">Default with source<OPTION VALUE="simple2">Simple with source<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="default">Default<OPTION VALUE="simple">Simple<OPTION VALUE="accountcode_default">Default plus accountcode</SELECT></TD></TR><TR><TD ALIGN="right">Inbound CDR display format for selfservice</TD><TD>
-      <SELECT NAME="voip_cdr__selfservice_inbound_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="basic">Basic<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="source_default">Default with source<OPTION VALUE="simple2">Simple with source<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="default">Default<OPTION VALUE="simple">Simple<OPTION VALUE="accountcode_default">Default plus accountcode</SELECT></TD></TR><TR><TD ALIGN="right">Always put usage details in separate section.  The section is defined in the next option.</TD><TD>
+      <SELECT NAME="voip_cdr__output_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="basic">Basic<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="default">Default<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="simple">Simple<OPTION VALUE="simple2">Simple with source<OPTION VALUE="source_default">Default with source<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix</SELECT></TD></TR><TR><TD ALIGN="right">CDR display format for selfservice</TD><TD>
+      <SELECT NAME="voip_cdr__selfservice_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="basic">Basic<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="default">Default<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="simple">Simple<OPTION VALUE="simple2">Simple with source<OPTION VALUE="source_default">Default with source<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix</SELECT></TD></TR><TR><TD ALIGN="right">Inbound CDR display format for selfservice</TD><TD>
+      <SELECT NAME="voip_cdr__selfservice_inbound_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="basic">Basic<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="default">Default<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="simple">Simple<OPTION VALUE="simple2">Simple with source<OPTION VALUE="source_default">Default with source<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix</SELECT></TD></TR><TR><TD ALIGN="right">Always put usage details in separate section.  The section is defined in the next option.</TD><TD>
       <INPUT TYPE="checkbox" NAME="voip_cdr__usage_mandate" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Section in which to place usage charges (whether separated or not): </TD><TD>
       <INPUT TYPE="text" NAME="voip_cdr__usage_section" VALUE=""></TD></TR><TR><TD ALIGN="right">Include usage summary with recurring charges when usage is in separate section</TD><TD>
       <INPUT TYPE="checkbox" NAME="voip_cdr__summarize_usage" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Show details for included / no-charge calls.</TD><TD>
@@ -4775,7 +4775,7 @@ spawn_supp_dst_pkgpart(this);"
       <INPUT TYPE="text" NAME="voip_inbound__skip_dst_length_less" VALUE=""></TD></TR><TR><TD ALIGN="right">Do not charge for CDRs where the lastapp matches this value</TD><TD>
       <INPUT TYPE="text" NAME="voip_inbound__skip_lastapp" VALUE=""></TD></TR><TR><TD ALIGN="right">Calculate usage based on the duration field instead of the billsec field</TD><TD>
       <INPUT TYPE="checkbox" NAME="voip_inbound__use_duration" VALUE=1 ></TD></TR><TR><TD ALIGN="right">CDR invoice display format</TD><TD>
-      <SELECT NAME="voip_inbound__output_format"><OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="basic">Basic<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="source_default">Default with source<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="simple2">Simple with source<OPTION VALUE="default">Default<OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="simple">Simple<OPTION VALUE="description_default">Default with description field as destination</SELECT></TD></TR><TR><TD ALIGN="right">Always put usage details in separate section</TD><TD>
+      <SELECT NAME="voip_inbound__output_format"><OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="simple2">Simple with source<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="simple">Simple<OPTION VALUE="source_default">Default with source<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="basic">Basic<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="default">Default</SELECT></TD></TR><TR><TD ALIGN="right">Always put usage details in separate section</TD><TD>
       <INPUT TYPE="checkbox" NAME="voip_inbound__usage_mandate" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Include usage summary with recurring charges when usage is in separate section</TD><TD>
       <INPUT TYPE="checkbox" NAME="voip_inbound__summarize_usage" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Section in which to place usage charges (whether separated or not)</TD><TD>
       <INPUT TYPE="text" NAME="voip_inbound__usage_section" VALUE=""></TD></TR><TR><TD ALIGN="right">Generate an invoice immediately for every call.  Useful for prepaid.</TD><TD>
@@ -4834,9 +4834,9 @@ spawn_supp_dst_pkgpart(this);"
       <INPUT TYPE="checkbox" NAME="voip_tiered__skip_same_customer" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Calculate usage based on the duration field instead of the billsec field</TD><TD>
       <INPUT TYPE="checkbox" NAME="voip_tiered__use_duration" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Rewrite these (comma-separated) destination numbers to 411 for rating purposes (also ignore any carrierid check): </TD><TD>
       <INPUT TYPE="text" NAME="voip_tiered__411_rewrite" VALUE=""></TD></TR><TR><TD ALIGN="right">CDR display format for invoices</TD><TD>
-      <SELECT NAME="voip_tiered__output_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="basic">Basic<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="source_default">Default with source<OPTION VALUE="simple2">Simple with source<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="default">Default<OPTION VALUE="simple">Simple<OPTION VALUE="accountcode_default">Default plus accountcode</SELECT></TD></TR><TR><TD ALIGN="right">CDR display format for selfservice</TD><TD>
-      <SELECT NAME="voip_tiered__selfservice_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="basic">Basic<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="source_default">Default with source<OPTION VALUE="simple2">Simple with source<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="default">Default<OPTION VALUE="simple">Simple<OPTION VALUE="accountcode_default">Default plus accountcode</SELECT></TD></TR><TR><TD ALIGN="right">Inbound CDR display format for selfservice</TD><TD>
-      <SELECT NAME="voip_tiered__selfservice_inbound_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="basic">Basic<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="source_default">Default with source<OPTION VALUE="simple2">Simple with source<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="default">Default<OPTION VALUE="simple">Simple<OPTION VALUE="accountcode_default">Default plus accountcode</SELECT></TD></TR><TR><TD ALIGN="right">Always put usage details in separate section.  The section is defined in the next option.</TD><TD>
+      <SELECT NAME="voip_tiered__output_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="basic">Basic<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="default">Default<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="simple">Simple<OPTION VALUE="simple2">Simple with source<OPTION VALUE="source_default">Default with source<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix</SELECT></TD></TR><TR><TD ALIGN="right">CDR display format for selfservice</TD><TD>
+      <SELECT NAME="voip_tiered__selfservice_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="basic">Basic<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="default">Default<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="simple">Simple<OPTION VALUE="simple2">Simple with source<OPTION VALUE="source_default">Default with source<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix</SELECT></TD></TR><TR><TD ALIGN="right">Inbound CDR display format for selfservice</TD><TD>
+      <SELECT NAME="voip_tiered__selfservice_inbound_format"><OPTION VALUE="" SELECTED><OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="basic">Basic<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="default">Default<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="simple">Simple<OPTION VALUE="simple2">Simple with source<OPTION VALUE="source_default">Default with source<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix</SELECT></TD></TR><TR><TD ALIGN="right">Always put usage details in separate section.  The section is defined in the next option.</TD><TD>
       <INPUT TYPE="checkbox" NAME="voip_tiered__usage_mandate" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Section in which to place usage charges (whether separated or not): </TD><TD>
       <INPUT TYPE="text" NAME="voip_tiered__usage_section" VALUE=""></TD></TR><TR><TD ALIGN="right">Include usage summary with recurring charges when usage is in separate section</TD><TD>
       <INPUT TYPE="checkbox" NAME="voip_tiered__summarize_usage" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Show details for included / no-charge calls.</TD><TD>
@@ -4872,7 +4872,7 @@ spawn_supp_dst_pkgpart(this);"
       <INPUT TYPE="checkbox" NAME="cdr_termination__prorate_round_day" VALUE=1  CHECKED></TD></TR><TR><TD ALIGN="right">When prorating first month, also bill for one full period after that</TD><TD>
       <INPUT TYPE="checkbox" NAME="cdr_termination__add_full_period" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Show prorate details on the invoice</TD><TD>
       <INPUT TYPE="checkbox" NAME="cdr_termination__prorate_verbose" VALUE=1  CHECKED></TD></TR><TR><TD ALIGN="right">CDR invoice display format</TD><TD>
-      <SELECT NAME="cdr_termination__output_format"><OPTION VALUE="simple">Simple<OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="default">Default<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="simple2">Simple with source<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="source_default">Default with source<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="basic">Basic<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="accountcode_simple">Simple with accountcode</SELECT></TD></TR><TR><TD ALIGN="right">Section in which to place separate usage charges</TD><TD>
+      <SELECT NAME="cdr_termination__output_format"><OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="basic">Basic<OPTION VALUE="default">Default<OPTION VALUE="source_default">Default with source<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="simple">Simple<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="simple2">Simple with source<OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="sum_duration">Summary, one line per service</SELECT></TD></TR><TR><TD ALIGN="right">Section in which to place separate usage charges</TD><TD>
       <INPUT TYPE="text" NAME="cdr_termination__usage_section" VALUE=""></TD></TR><TR><TD ALIGN="right">Include usage summary with recurring charges when usage is in separate section</TD><TD>
       <INPUT TYPE="checkbox" NAME="cdr_termination__summarize_usage" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Always put usage details in separate section</TD><TD>
       <INPUT TYPE="checkbox" NAME="cdr_termination__usage_mandate" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Credit the customer for the unused portion of service at cancellation</TD><TD>
@@ -4992,7 +4992,7 @@ spawn_supp_dst_pkgpart(this);"
       <INPUT TYPE="checkbox" NAME="agent_cdr__prorate_round_day" VALUE=1  CHECKED></TD></TR><TR><TD ALIGN="right">When prorating first month, also bill for one full period after that</TD><TD>
       <INPUT TYPE="checkbox" NAME="agent_cdr__add_full_period" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Show prorate details on the invoice</TD><TD>
       <INPUT TYPE="checkbox" NAME="agent_cdr__prorate_verbose" VALUE=1  CHECKED></TD></TR><TR><TD ALIGN="right">CDR invoice display format</TD><TD>
-      <SELECT NAME="agent_cdr__output_format"><OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="simple">Simple<OPTION VALUE="default">Default<OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="simple2">Simple with source<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name<OPTION VALUE="source_default">Default with source<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="basic">Basic<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="accountcode_simple">Simple with accountcode</SELECT></TD></TR><TR><TD ALIGN="right">Section in which to place separate usage charges</TD><TD>
+      <SELECT NAME="agent_cdr__output_format"><OPTION VALUE="sum_duration_prefix">Summary, one line per destination prefix<OPTION VALUE="sum_count">Number of calls, one line per service<OPTION VALUE="simple">Simple<OPTION VALUE="sum_count_class">Summary, one line per usage class<OPTION VALUE="basic">Basic<OPTION VALUE="default">Default<OPTION VALUE="source_default">Default with source<OPTION VALUE="description_default">Default with description field as destination<OPTION VALUE="simple2">Simple with source<OPTION VALUE="accountcode_default">Default plus accountcode<OPTION VALUE="sum_duration">Summary, one line per service<OPTION VALUE="accountcode_simple">Simple with accountcode<OPTION VALUE="basic_upstream_dst_regionname">Basic with upstream destination name</SELECT></TD></TR><TR><TD ALIGN="right">Section in which to place separate usage charges</TD><TD>
       <INPUT TYPE="text" NAME="agent_cdr__usage_section" VALUE=""></TD></TR><TR><TD ALIGN="right">Include usage summary with recurring charges when usage is in separate section</TD><TD>
       <INPUT TYPE="checkbox" NAME="agent_cdr__summarize_usage" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Always put usage details in separate section</TD><TD>
       <INPUT TYPE="checkbox" NAME="agent_cdr__usage_mandate" VALUE=1 ></TD></TR><TR><TD ALIGN="right">Credit the customer for the unused portion of service at cancellation</TD><TD>
diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm
index 1a36660..775c791 100644
--- a/FS/FS/cdr.pm
+++ b/FS/FS/cdr.pm
@@ -1463,7 +1463,7 @@ as keys (for use with part_pkg::voip_cdr) and "pretty" format names as values.
 sub invoice_formats {
   map { ($_ => $export_names{$_}->{'name'}) }
     grep { $export_names{$_}->{'invoice_header'} }
-    keys %export_names;
+    sort keys %export_names;
 }
 
 =item invoice_header FORMAT

-----------------------------------------------------------------------

Summary of changes:
 FS-Test/README                           |   38 +++++++++++++-----------------
 FS-Test/share/output/edit/part_pkg.cgi/2 |   18 +++++++-------
 FS/FS/cdr.pm                             |    2 +-
 3 files changed, 26 insertions(+), 32 deletions(-)




More information about the freeside-commits mailing list