This commit was manufactured by cvs2svn to create tag 'freeside_1_9_2'. freeside_1_9_2
authorcvs2git <cvs2git>
Mon, 5 Apr 2010 07:08:57 +0000 (07:08 +0000)
committercvs2git <cvs2git>
Mon, 5 Apr 2010 07:08:57 +0000 (07:08 +0000)
126 files changed:
ChangeLog
FS/FS.pm
FS/FS/Conf.pm
FS/FS/Mason.pm
FS/FS/Misc.pm
FS/FS/Schema.pm
FS/FS/TicketSystem/RT_External.pm
FS/FS/UID.pm
FS/FS/Upgrade.pm
FS/FS/access_user.pm
FS/FS/cust_bill_pkg_detail.pm
FS/FS/cust_credit.pm
FS/FS/cust_event.pm
FS/FS/cust_location.pm
FS/FS/cust_main.pm
FS/FS/cust_pkg.pm
FS/FS/export_device.pm [deleted file]
FS/FS/h_svc_mailinglist.pm [new file with mode: 0644]
FS/FS/location_Mixin.pm [new file with mode: 0644]
FS/FS/mailinglist.pm [new file with mode: 0644]
FS/FS/mailinglistmember.pm [new file with mode: 0644]
FS/FS/part_device.pm
FS/FS/part_event/Action/Mixin/credit_pkg.pm [new file with mode: 0644]
FS/FS/part_event/Action/pkg_agent_credit.pm [new file with mode: 0644]
FS/FS/part_event/Action/pkg_agent_credit_pkg.pm [new file with mode: 0644]
FS/FS/part_event/Action/pkg_employee_credit.pm [new file with mode: 0644]
FS/FS/part_event/Action/pkg_employee_credit_pkg.pm [new file with mode: 0644]
FS/FS/part_event/Action/pkg_referral_credit.pm
FS/FS/part_event/Action/pkg_referral_credit_pkg.pm
FS/FS/part_event/Condition/balance.pm
FS/FS/part_event/Condition/balance_age.pm
FS/FS/part_event/Condition/balance_under.pm
FS/FS/part_event/Condition/cust_bill_has_service.pm
FS/FS/part_event/Condition/cust_bill_owed.pm
FS/FS/part_event/Condition/cust_bill_owed_under.pm
FS/FS/part_event_condition.pm
FS/FS/part_export/communigate_pro.pm
FS/FS/part_export/indosoft.pm [new file with mode: 0644]
FS/FS/part_export/thirdlane.pm
FS/FS/part_pkg.pm
FS/FS/part_pkg/flat.pm
FS/FS/part_pkg/sql_external.pm
FS/FS/part_pkg/voip_cdr.pm
FS/FS/pay_batch.pm
FS/FS/pay_batch/RBC.pm
FS/FS/phone_device.pm
FS/FS/rate_detail.pm
FS/FS/reason.pm
FS/FS/svc_mailinglist.pm [new file with mode: 0644]
FS/FS/svc_phone.pm
FS/FS/tax_rate.pm
FS/MANIFEST
FS/bin/freeside-paymentech-upload
FS/bin/freeside-upgrade
FS/bin/freeside-void-payments
FS/t/export_device.t [deleted file]
FS/t/h_svc_mailinglist.t [new file with mode: 0644]
FS/t/location_Mixin.t [new file with mode: 0644]
FS/t/mailinglist.t [new file with mode: 0644]
FS/t/mailinglistmember.t [new file with mode: 0644]
FS/t/svc_mailinglist.t [new file with mode: 0644]
Makefile
conf/invoice_from
debian/changelog
htetc/handler.pl
httemplate/browse/access_user.html
httemplate/browse/rate_detail.html
httemplate/docs/about.html
httemplate/docs/credits.html
httemplate/docs/man/FS/part_export/.cvs_is_on_crack [deleted file]
httemplate/edit/REAL_cust_pkg.cgi
httemplate/edit/access_user.html
httemplate/edit/cust_main/bottomfixup.js
httemplate/edit/cust_main/top_misc.html
httemplate/edit/cust_main_note.cgi
httemplate/edit/elements/edit.html
httemplate/edit/elements/svc_Common.html
httemplate/edit/mailinglistmember.html [new file with mode: 0644]
httemplate/edit/part_pkg.cgi
httemplate/edit/part_svc.cgi
httemplate/edit/process/REAL_cust_pkg.cgi
httemplate/edit/process/mailinglistmember.html [new file with mode: 0644]
httemplate/edit/process/part_device.html
httemplate/edit/process/rate_region.cgi
httemplate/edit/process/svc_mailinglist.html [new file with mode: 0644]
httemplate/edit/process/svc_phone.html
httemplate/edit/rate_detail.html
httemplate/edit/rate_region.cgi
httemplate/edit/svc_broadband.cgi
httemplate/edit/svc_mailinglist.cgi [new file with mode: 0644]
httemplate/edit/svc_phone.cgi
httemplate/elements/checkboxes-table.html
httemplate/elements/header.html
httemplate/elements/location.html
httemplate/elements/menu.html
httemplate/elements/search-cust_main.html
httemplate/elements/select-areacode.html
httemplate/elements/select-did.html
httemplate/elements/tr-search-cust_main.html [new file with mode: 0644]
httemplate/elements/tr-select-cust_location.html
httemplate/misc/delay_susp_pkg.html
httemplate/misc/delete-mailinglistmember.html [new file with mode: 0644]
httemplate/misc/phone_device_config.html [deleted file]
httemplate/misc/process/bulk_pkg_increment_bill.cgi [deleted file]
httemplate/misc/process/copy-rate_detail.html
httemplate/misc/process/tax-import.cgi
httemplate/misc/rate_edit_excel.html
httemplate/misc/tax-import.cgi
httemplate/search/cust_bill_pkg.cgi
httemplate/search/cust_main-zip.html
httemplate/search/elements/cust_pay_or_refund.html
httemplate/search/h_cust_pay.html [new file with mode: 0755]
httemplate/search/mailinglistmember.html [new file with mode: 0644]
httemplate/search/part_pkg.html [new file with mode: 0644]
httemplate/search/report_cust_main-zip.html
httemplate/search/report_employee_commission.html [new file with mode: 0644]
httemplate/search/report_h_cust_pay.html [new file with mode: 0644]
httemplate/search/report_prepaid_income.cgi
httemplate/view/cust_main.cgi
httemplate/view/cust_main/notes.html
httemplate/view/cust_main/tickets.html
httemplate/view/svc_acct/tr.html [deleted file]
httemplate/view/svc_mailinglist.cgi [new file with mode: 0644]
httemplate/view/svc_phone.cgi
rpm/freeside.spec
rt/etc/rt.spec [deleted file]

index 4114eed..f7a95ca 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2010-01-14 19:59  ivan
+2010-04-04 23:58  ivan
 
-       * httemplate/edit/process/part_pkg.cgi: remove extraneous debugging
+       * conf/invoice_from: company email
 
-2010-01-12 19:14  ivan
+2010-04-04 23:57  ivan
 
-       * FS/FS/tax_rate.pm: if ignore_icalculable_taxes is on, don't call
-         the errors fatal
+       * FS/bin/freeside-upgrade: require DBIx::DBSchema 0.39 for mysql
 
-2010-01-12 09:17  jeff
+2010-04-04 23:50  ivan
 
-       * FS/FS/part_export/prizm.pm: add some debugging
+       * FS/FS/part_export/thirdlane.pm: thirdlane deletion fix
 
-2010-01-12 09:16  jeff
+2010-04-04 22:20  ivan
 
-       * FS/FS/part_export/prizm.pm: eliminate harmless argument isn't
-         numeric messages
+       * FS/FS/part_export/indosoft.pm: initial indosoft export, RT#4068
 
-2010-01-09 02:03  ivan
+2010-04-04 18:23  ivan
 
-       * FS/FS/Record.pm: need DBIx::DBSchema w/quoted_default to make
-         this all work right :/
+       * httemplate/search/part_pkg.html: last fix for employee
+         commisssion report, RT#6991
 
-2010-01-09 00:21  ivan
+2010-04-04 17:59  ivan
 
-       * FS/bin/freeside-upgrade: undo damage from DBIx::DBSchema 0.37_03
+       * httemplate/elements/menu.html: add employee commission report to
+         menu, RT#6991
 
-2010-01-07 01:48  mark
+2010-04-04 16:47  ivan
 
-       * FS/FS/: pay_batch.pm, pay_batch/RBC.pm: Fix problems with RBC
-         batch import (RT#6967)
+       * FS/FS/Schema.pm: fix otaker upgrade
 
-2010-01-05 20:47  ivan
+2010-04-04 16:37  ivan
 
-       * FS/FS/svc_acct.pm: eliminate spurious warnings on usage
-         changes...
+       * FS/FS/cust_pay_void.pm: fix otaker upgrade
 
-2010-01-05 20:43  ivan
+2010-04-04 16:27  ivan
 
-       * FS/FS/cust_main.pm: eliminate ya "use of uninitialized value"
-         warning
+       * FS/FS/: cust_attachment.pm, cust_main_note.pm: fix otaker upgrade
+         for cust_attachment & cust_main_note, hopefully
 
-2010-01-05 20:41  ivan
+2010-04-04 16:18  ivan
 
-       * FS/FS/cust_main.pm: doc
+       * FS/FS/: cust_attachment.pm, cust_main_note.pm: fix otaker upgrade
+         for cust_attachment & cust_main_note, hopefully
 
-2010-01-03 19:23  jeff
+2010-04-04 15:52  ivan
 
-       * bin/monitor: add some debugging
+       * FS/FS/: cust_main.pm: fix otaker upgrade for cust_main
 
-2010-01-02 18:54  ivan
+2010-04-04 15:44  ivan
 
-       * Makefile: fix RT_SiteConfig.pm substitution
+       * FS/FS/cust_main_note.pm: fix note editing of old notes until we
+         can fix the cust_main_note.otaker disaster, RT#7991
 
-2009-12-31 15:03  mark
+2010-04-01 14:30  mark
 
-       * FS/FS/pay_batch/RBC.pm: Add pre-header line
+       * httemplate/search/elements/cust_main_dayranges.html: fix column
+         alignment
 
-2009-12-31 04:56  ivan
+2010-04-01 01:10  ivan
 
-       * rt/: Makefile, lib/RT.pm: rt 3.6.10
+       * FS/FS/part_pkg/: flat.pm, subscription.pm: fix nasty discount
+         fallout (i hope)
 
-2009-12-31 04:44  ivan
+2010-04-01 00:39  ivan
 
-       * rt/: etc/RT_Config.pm.in, html/Admin/Users/Modify.html,
-         html/Elements/Footer, html/Elements/Header, html/Elements/Menu,
-         html/Elements/PageLayout, html/Elements/QuickCreate,
-         html/Elements/SelectDate, html/Elements/SimpleSearch,
-         html/Elements/Tabs, html/Elements/TicketList,
-         html/Elements/TitleBoxStart, html/Elements/CollectionAsTable/Row,
-         html/NoAuth/css/3.5-default/main.css,
-         html/NoAuth/css/3.5-default/misc.css,
-         html/NoAuth/css/3.5-default/titlebox.css,
-         html/NoAuth/css/3.5-default/transactions.css,
-         html/Prefs/SearchOptions.html, html/Search/Bulk.html,
-         html/Ticket/Create.html, html/Ticket/Display.html,
-         html/Ticket/Elements/ShowSummary,
-         html/Ticket/Elements/ShowTransactionAttachments,
-         html/Ticket/Elements/Tabs, html/User/Prefs.html,
-         html/Widgets/TitleBoxStart, lib/RT/Groups_Overlay.pm,
-         lib/RT/Record.pm, lib/RT/SearchBuilder.pm,
-         lib/RT/Ticket_Overlay.pm, lib/RT/Transaction_Overlay.pm,
-         lib/RT/User_Overlay.pm, lib/RT/Users_Overlay.pm,
-         sbin/rt-setup-database.in: rt 3.6.10
+       * FS/FS/part_pkg/flat.pm: fix nasty discount fallout (i hope)
 
-2009-12-31 04:35  ivan
+2010-03-31 21:43  mark
 
-       * rt/FREESIDE_MODIFIED: up-to-date
+       * FS/FS/UI/Web.pm, httemplate/search/report_receivables.cgi,
+         httemplate/search/elements/cust_main_dayranges.html,
+         httemplate/search/elements/search-html.html,
+         httemplate/search/elements/search.html: RT#866: links to process
+         payments from aging report
 
-2009-12-30 23:16  ivan
+2010-03-31 08:48  jeff
 
-       * FS/FS/Schema.pm: fix h_cdr acctid changing from bigint to int
-         with recent DBIx::DBSchema
+       * FS/: MANIFEST, FS/part_export/dashcs_e911.pm: add dash carrier
+         services e911 support RT7103
 
-2009-12-30 21:10  ivan
+2010-03-31 00:41  mark
 
-       * FS/: FS/Cron/bill.pm, bin/freeside-daily: specify multiple
-         agentnums with freeside-daily
+       * httemplate/search/: report_receivables.cgi,
+         report_receivables.html, report_unapplied_cust_pay.html,
+         unapplied_cust_pay.html, elements/cust_main_dayranges.html:
+         RT#7266: aging reports as of a past date
 
-2009-12-30 19:33  ivan
+2010-03-31 00:35  ivan
 
-       * Makefile: goodbye conf dir
+       * httemplate/: edit/process/cust_main_attach.cgi,
+         edit/process/cust_main_note.cgi, view/cust_main/attachments.html,
+         view/cust_main/notes.html: fix customer notes and attachments wrt
+         s/otaker/usernum/ changes; still need to look at the migration,
+         RT#7935
 
-2009-12-30 18:50  jeff
+2010-03-30 23:30  ivan
 
-       * FS/FS/cust_main.pm: really reduce the noise
+       * FS/FS/Misc.pm: eliminate harmless "Use of uninitialized value
+         $enc in string eq" warnings
 
-2009-12-29 22:41  jeff
+2010-03-30 05:12  ivan
 
-       * FS/FS/part_pkg/voip_cdr.pm: define all detail header list
-         elements
+       * httemplate/search/part_pkg.html, FS/FS/Schema.pm: employee
+         commission reporting, RT#6991
 
-2009-12-29 22:05  jeff
+2010-03-30 05:07  ivan
 
-       * FS/FS/cust_main.pm: noise reduction
+       * httemplate/search/report_employee_commission.html,
+         FS/FS/cust_main.pm, FS/FS/cust_credit.pm, FS/FS/cust_event.pm,
+         FS/FS/part_event/Action/pkg_agent_credit.pm,
+         FS/FS/part_event/Action/pkg_employee_credit.pm,
+         FS/FS/part_event/Action/pkg_referral_credit.pm: employee
+         commission reporting, RT#6991
 
-2009-12-29 21:22  jeff
+2010-03-29 20:28  ivan
 
-       * FS/FS/tax_rate.pm: noise reduction
+       * FS/FS/Record.pm: regexp_sql
 
-2009-12-29 18:39  jeff
+2010-03-29 20:10  ivan
 
-       * FS/FS/cust_bill_pkg_detail.pm: use the class used
+       * FS/MANIFEST: employee (otaker / access_user) commissioning,
+         RT#6991
 
-2009-12-29 18:26  jeff
+2010-03-29 19:53  ivan
 
-       * FS/FS/cust_main.pm: noise reduction
+       * httemplate/browse/access_user.html,
+         httemplate/edit/access_user.html, FS/FS/part_pkg.pm,
+         FS/FS/part_event/Action/pkg_agent_credit.pm,
+         FS/FS/part_event/Action/pkg_agent_credit_pkg.pm,
+         FS/FS/part_event/Action/pkg_employee_credit_pkg.pm,
+         FS/FS/part_event/Action/pkg_referral_credit.pm,
+         FS/FS/part_event/Action/pkg_referral_credit_pkg.pm,
+         FS/FS/part_event/Action/Mixin/credit_pkg.pm,
+         httemplate/elements/search-cust_main.html,
+         httemplate/elements/tr-search-cust_main.html: employee (otaker /
+         access_user) commissioning, RT#6991
 
-2009-12-28 20:49  ivan
+2010-03-29 19:52  ivan
 
-       * FS/bin/freeside-upgrade: output SQL statements as we run them
-         (and only the ones we run), not immediately
+       * FS/FS/part_event/Action/pkg_employee_credit.pm: employee
+         commissions, RT#6991
 
-2009-12-28 20:44  ivan
+2010-03-29 19:04  ivan
 
-       * FS/FS/Conf.pm: oops, syntax error adding queued-sleep_time
+       * FS/FS/: part_event_condition.pm, part_event/Condition/balance.pm,
+         part_event/Condition/balance_age.pm,
+         part_event/Condition/balance_under.pm,
+         part_event/Condition/cust_bill_has_service.pm,
+         part_event/Condition/cust_bill_owed.pm,
+         part_event/Condition/cust_bill_owed_under.pm: fixes for MySQL
+         CAST drain bramage
 
-2009-12-28 20:24  ivan
+2010-03-29 02:18  mark
 
-       * FS/bin/: freeside-upgrade: don't change h_queue.job type under
-         non-mysql, takes forever on large dbs, RT#6946
+       * FS/FS/Mason.pm, FS/FS/cust_main.pm,
+         httemplate/elements/select-user.html,
+         httemplate/elements/tr-select-user.html,
+         httemplate/graph/report_signupdate.html,
+         httemplate/graph/signupdate.cgi,
+         httemplate/graph/elements/monthly.html,
+         httemplate/graph/elements/report.html,
+         httemplate/search/cust_main.html: RT#884: search customers by
+         signup time of day
 
-2009-12-28 17:38  ivan
+2010-03-28 17:38  ivan
 
-       * FS/bin/freeside-daily: add -u option for vacuuming, RT#5258
+       * FS/FS/cust_pay.pm: move from otaker to proper usernum FK
 
-2009-12-28 17:00  mark
+2010-03-28 17:23  ivan
 
-       * FS/FS/AccessRight.pm, httemplate/browse/cust_attachment.html,
-         httemplate/elements/menu.html: Add Browse attachments ACL
-         (RT#4964)
+       * FS/FS/: Schema.pm, Upgrade.pm, access_user.pm, banned_pay.pm,
+         cust_attachment.pm, cust_credit.pm, cust_main.pm,
+         cust_main_note.pm, cust_pay_void.pm, cust_pkg.pm,
+         cust_pkg_discount.pm, cust_pkg_reason.pm, cust_refund.pm,
+         otaker_Mixin.pm: move from otaker to proper usernum FK
 
-2009-12-28 16:33  mark
+2010-03-26 23:21  ivan
 
-       * FS/FS/Conf.pm: RT#6358
+       * FS/FS/cust_bill_pkg_detail.pm: fix cust_bill_pkg_detail throwing
+         a fatal error w/MySQL
 
-2009-12-27 21:25  ivan
+2010-03-26 23:09  ivan
 
-       * FS/FS/: part_pkg_taxclass.pm, phone_device.pm: use blessed
+       * httemplate/: view/cust_main.cgi, view/cust_main/notes.html,
+         edit/cust_main_note.cgi: resize customer not add popup, eliminate
+         needless <BR> in popup
 
-2009-12-26 17:00  jeff
+2010-03-26 21:37  ivan
 
-       * FS/FS/: cust_main.pm, cust_location.pm: improve spacing around
-         county
+       * FS/FS/Upgrade.pm: these are now supported in supported in
+         DBIx-DBSchema and friends
 
-2009-12-23 15:32  jeff
+2010-03-26 20:43  ivan
 
-       * bin/monitor: remove debugging
+       * FS/FS/: reason.pm, tax_rate.pm: these are now supported in
+         supported in DBIx-DBSchema and friends
 
-2009-12-23 15:29  jeff
+2010-03-26 15:25  ivan
 
-       * bin/: monitor: add non-forking one machine monitor program
+       * httemplate/elements/: select-areacode.html, select-did.html: fix
+         E911 vs. DID selector on phone provision, RT#7819
 
-2009-12-23 15:29  jeff
+2010-03-26 14:43  ivan
 
-       * bin/monitor: file monitor was added on branch FREESIDE_1_9_BRANCH
-         on 2009-12-23 23:29:54 +0000
+       * FS/FS/cust_pkg.pm: no DISTINCT ON in MySQL makes kittens cry
 
-2009-12-23 15:14  jeff
+2010-03-26 00:52  ivan
 
-       * FS/FS/Yori.pm: teach yori to do some load monitoring
+       * httemplate/elements/: freeside-menu.css, freeside.css: that'll do
+         for now
 
-2009-12-23 13:21  jeff
+2010-03-25 22:02  ivan
 
-       * FS/FS/cust_bill.pm, FS/FS/cust_location.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_pkg.pm,
-         httemplate/view/cust_main/packages/location.html: correct invoice
-         package address display and reduce false laziness
+       * FS/FS/Schema.pm: kludge a fix for the MySQL statustext index
+         problem, fix s/serial/int/ for non-primary keys in
+         part_pkg_taxoverride, and s/TEXT/LONGTEXT/ ourselves until
+         DBIx::DBSchema 0.39
 
-2009-12-22 16:30  mark
+2010-03-25 21:50  ivan
 
-       * FS/FS/svc_acct.pm, httemplate/edit/svc_acct.cgi,
-         httemplate/edit/process/svc_acct.cgi,
-         httemplate/view/svc_acct.cgi: Tweak set_password per RT#6358
+       * FS/FS/UID.pm: don't warn about the configuration table during
+         setup
 
-2009-12-21 06:36  jeff
+2010-03-25 19:19  ivan
 
-       * bin/fetch_and_expand_taxes: file fetch_and_expand_taxes was added
-         on branch FREESIDE_1_9_BRANCH on 2009-12-21 14:37:22 +0000
+       * bin/build_exten.php: adding build_exten.php since FreePBX won't
+         ship it
 
-2009-12-21 06:36  jeff
+2010-03-25 18:06  ivan
 
-       * bin/reassemble_taxes: file reassemble_taxes was added on branch
-         FREESIDE_1_9_BRANCH on 2009-12-21 14:37:22 +0000
+       * rt/lib/RT/: Ticket_Overlay.pm: ticket auto-association in the
+         correct spot.  how the hell did it get merged there?  RT#7882
 
-2009-12-21 06:36  jeff
+2010-03-25 15:30  ivan
 
-       * bin/fetch_and_expand_taxes, bin/reassemble_taxes, FS/FS/Conf.pm,
-         FS/FS/tax_rate.pm: move cch conf into database and add a couple
-         small tools for processing updates more manually
+       * httemplate/elements/header.html: fix new header in RT
 
-2009-12-20 18:56  mark
+2010-03-25 15:21  ivan
 
-       * httemplate/search/elements/search-xls.html: Fix filename for
-         Excel spreadsheet reports
+       * rt/lib/RT/User_Overlay.pm: fix user modification?
 
-2009-12-20 18:00  ivan
+2010-03-25 14:22  ivan
 
-       * FS/FS/cust_main.pm, httemplate/misc/bill.cgi: have 'Bill now'
-         link cancel expired (and suspend adjourned) packages, and catch
-         and return errors in all cases, RT#6627
+       * rt/lib/RT/URI/freeside.pm: generate a stack backtrace for mystery
+         freeside link resolution problems
 
-2009-12-20 13:52  ivan
+2010-03-25 13:21  ivan
 
-       * FS/FS/Conf.pm: late fee package class specified in the event
-         action instead of a global finance_pkgclass config, RT#6617
+       * httemplate/elements/: header.html, searchbar-address2.html,
+         searchbar-cust_bill.html, searchbar-cust_main.html,
+         searchbar-cust_svc.html, searchbar-prospect.html,
+         searchbar-ticket.html: when using a side menubar, put search
+         boxes on the side too
 
-2009-12-20 13:48  ivan
+2010-03-24 18:37  mark
 
-       * FS/FS/part_event/Action/: cust_bill_fee_percent.pm, fee.pm: late
-         fee package class specified in the event action instead of a
-         global finance_pkgclass config, RT#6617
+       * FS/FS/Mason.pm, httemplate/view/cust_main/notes.html: RT#6226:
+         security fix for customer notes
 
-2009-12-20 11:42  ivan
+2010-03-24 01:37  ivan
 
-       * FS/FS/ClientAPI/MyAccount.pm: fix usage details pulling from
-         wrong account for customers who have multiple accounts, RT#6681,
-         fallout from RT#4189
+       * FS/FS/Conf.pm, httemplate/search/cust_bill_pkg.cgi,
+         httemplate/search/report_prepaid_income.cgi: better prepaid
+         income reporting, with line item detail, RT#7776
 
-2009-12-19 22:52  ivan
+2010-03-23 02:13  ivan
 
-       * httemplate/search/cust_pkg.cgi: fix address fields on advanced
-         package search, RT#6609
+       * FS/FS/mailinglist.pm, FS/FS/mailinglistmember.pm,
+         FS/FS/svc_mailinglist.pm, FS/FS/part_export/communigate_pro.pm,
+         httemplate/elements/header.html,
+         httemplate/search/mailinglistmember.html: export svc_mailinglist
+         to CGP groups, RT#7514
 
-2009-12-19 18:51  ivan
+2010-03-23 01:27  ivan
 
-       * FS/FS/cust_pkg.pm: fix bulk package order with one package
-         changing to one new package, RT#6519, fallout from RT#4499
+       * httemplate/images/: black-gray-side.png, gray-black-side.png:
+         goodbye and good riddance
 
-2009-12-19 17:02  ivan
+2010-03-22 20:53  ivan
 
-       * httemplate/view/cust_main/: packages.html, payment_history.html:
-         fix cust_main-packages-years, RT#6798
+       * FS/: FS.pm, FS/h_svc_mailinglist.pm, t/h_svc_mailinglist.t,
+         FS/Mason.pm: adding svc_mailinglist for communigate "groups"
+         (mailing lists), RT#7514
 
-2009-12-19 14:41  ivan
+2010-03-22 20:47  ivan
 
-       * httemplate/edit/cust_credit.cgi: add add'l info field as a
-         customer-editable field, RT#6505
+       * FS/MANIFEST, FS/FS/Schema.pm, FS/FS/mailinglist.pm,
+         FS/FS/mailinglistmember.pm, FS/FS/svc_mailinglist.pm,
+         FS/t/mailinglist.t, FS/t/mailinglistmember.t,
+         FS/t/svc_mailinglist.t, httemplate/edit/mailinglistmember.html,
+         httemplate/edit/part_svc.cgi,
+         httemplate/edit/svc_mailinglist.cgi,
+         httemplate/edit/process/mailinglistmember.html,
+         httemplate/edit/process/svc_mailinglist.html,
+         httemplate/misc/delete-mailinglistmember.html,
+         httemplate/search/mailinglistmember.html,
+         httemplate/view/svc_mailinglist.cgi: adding svc_mailinglist for
+         communigate "groups" (mailing lists), RT#7514
 
-2009-12-19 14:32  ivan
+2010-03-22 20:34  ivan
 
-       * httemplate/view/cust_main/payment_history.html: make room for
-         credit reasons in popup
+       * httemplate/elements/freeside.css: little bit further, just a
+         little bit more
 
-2009-12-19 12:58  mark
+2010-03-22 18:17  ivan
 
-       * FS/: bin/freeside-paymentech-upload, FS/pay_batch/paymentech.pm,
-         bin/freeside-paymentech-download: Fix date format string and
-         quoting of password
+       * httemplate/elements/menubar.html: don't like that <BR> after
+         all... for now
 
-2009-12-19 12:29  ivan
+2010-03-22 18:07  ivan
 
-       * FS/FS/cust_main_Mixin.pm: fix event report w/ a customer status
+       * httemplate/elements/freeside.css: wfm
 
-2009-12-19 11:10  ivan
+2010-03-22 18:04  ivan
 
-       * FS/FS/part_pkg.pm: fix package order to really display only those
-         pacakges available
+       * httemplate/elements/: xmenu.css, xmenu.top.css: purple on pink is
+         WAY too my little pony.  man, its not easy being purple
 
-2009-12-19 11:09  ivan
+2010-03-22 12:46  ivan
 
-       * httemplate/misc/cust-part_pkg.cgi: fix order of packages after
-         class selection changes
+       * httemplate/elements/: freeside.css, menubar.html: 1.9-style
+         menubar was hurting my eyes
 
-2009-12-16 09:35  ivan
+2010-03-22 07:08  jeff
 
-       * httemplate/edit/cust_main_attach.cgi: tweak attachment adding UI:
-         table consistency, input sizes and maxlengths, RT#4964
+       * FS/FS/tax_rate.pm: fix restore of setup and recur taxproducts on
+         tax data replacement
 
-2009-12-16 07:07  jeff
+2010-03-21 23:34  ivan
 
-       * FS/FS/: Conf.pm, Record.pm, cust_bill.pm, cust_location.pm,
-         cust_main.pm, cust_pkg.pm: group invoice line items by location,
-         show location address on invoice, option for due date rather than
-         invoice date on prior unpaid invoice line items, and option for
-         aging on invoice (#6418, #5235, #4648)
+       * httemplate/elements/freeside.css: fix link hover effect so it
+         doesn't underline A NAME tags
 
-2009-12-13 23:52  ivan
+2010-03-21 16:56  ivan
 
-       * FS/FS/svc_acct.pm: use a global config too
+       * httemplate/elements/freeside.css: fix inadvertant button styling
 
-2009-12-13 23:10  ivan
+2010-03-21 16:13  ivan
 
-       * FS/FS/: Conf.pm, svc_acct.pm, part_export/sqlradius.pm: add
-         overlimit_groups agent-specific config, overriding
-         export-specific overlimit_groups, RT#6622
+       * FS/FS/Schema.pm, FS/FS/rate_detail.pm,
+         FS/FS/part_pkg/voip_cdr.pm, httemplate/browse/rate_detail.html,
+         httemplate/edit/rate_detail.html,
+         httemplate/edit/rate_region.cgi,
+         httemplate/edit/process/rate_region.cgi,
+         httemplate/misc/rate_edit_excel.html,
+         httemplate/misc/process/copy-rate_detail.html: connection fee for
+         initial N seconds support, RT#7018
 
-2009-12-13 17:41  mark
+2010-03-21 12:34  ivan
 
-       * FS/FS/AccessRight.pm, httemplate/browse/cust_attachment.html,
-         httemplate/edit/cust_main_attach.cgi,
-         httemplate/elements/menu.html, httemplate/view/cust_main.cgi,
-         httemplate/view/cust_main/attachments.html: Add access right to
-         view attachments
+       * rt/etc/RT_SiteConfig.pm: make the fckeditor taller, way too small
 
-2009-12-12 18:10  ivan
+2010-03-20 22:18  ivan
 
-       * ChangeLog: 1.9.2ish
+       * rt/FREESIDE_MODIFIED: think this fixes the "results box color
+         infects everything else" problem
 
-2009-12-12 14:35  ivan
+2010-03-20 16:30  ivan
 
-       * FS/FS/cust_credit_bill_pkg.pm: doc
+       * httemplate/docs/credits.html: more RT integration / reskin / 2.1,
+         RT#6640
 
-2009-12-12 14:22  ivan
+2010-03-20 16:22  ivan
 
-       * Makefile: sync versioning with branches, sorry jeremy
+       * httemplate/: elements/menu.html,
+         elements/popup_link_onclick.html, images/cvv2.png,
+         images/cvv2_amex.png: more RT integration / reskin / 2.1, RT#6640
 
-2009-12-10 15:03  ivan
+2010-03-20 15:44  ivan
 
-       * FS/FS/cust_main.pm: fully fix bulk customer reports, RT#6778
+       * httemplate/elements/: freeside-menu.css, header.html, xmenu.css,
+         xmenu.js, xmenu.top.css: more RT integration / reskin / 2.1,
+         RT#6640
 
-2009-12-07 22:29  mark
+2010-03-20 15:11  ivan
 
-       * FS/FS/Schema.pm: Fix cust_attachment.disabled type
+       * httemplate/elements/calendar-win2k-2.css,
+         httemplate/elements/freeside-menu.css,
+         httemplate/elements/header.html, httemplate/elements/menu.html,
+         httemplate/elements/xmenu.top.css,
+         httemplate/elements/xmenu.top.js,
+         httemplate/images/arrow.down.black.png,
+         httemplate/images/black-gradient.png,
+         httemplate/images/black-gray-gradient.png, rt/FREESIDE_MODIFIED,
+         httemplate/elements/freeside.css: more RT integration / reskin /
+         2.1, RT#6640
 
-2009-12-06 15:44  ivan
+2010-03-19 01:27  ivan
 
-       * httemplate/edit/part_pkg.cgi: fix initial value of agent types
-         when cloning
+       * httemplate/: docs/cvv2.html, elements/header-minimal.html,
+         elements/header-popup.html, elements/header.html,
+         elements/tr-justtitle.html, elements/tr-title.html,
+         elements/freeside-menu.css, elements/menu.html,
+         elements/menubar.html, elements/xmenu.top.css: skin RT 3.8,
+         slight new look for 2.1, RT#6640
 
-2009-12-06 15:18  ivan
+2010-03-19 01:26  ivan
 
-       * httemplate/elements/header.html: fix search box clearing from
-         within RT, caused by different quoting rules in RT comp_root.
-         grr.
+       * rt/FREESIDE_MODIFIED: skin RT 3.8, RT#6640
 
-2009-12-06 11:19  ivan
+2010-03-19 01:20  mark
 
-       * FS/FS/Schema.pm: more reasonable sizes for filename, mime type
-         and title, RT#6823
+       * httemplate/misc/batch-cust_pay.html: RT#7812: confirm before
+         closing quick payment entry
 
-2009-12-05 15:36  jeff
+2010-03-18 01:02  ivan
 
-       * FS/FS/cust_bill.pm: holy cow! correct sense of skip usage testing
+       * httemplate/edit/cust_main/top_misc.html: signup date fix?
 
-2009-12-03 20:45  ivan
+2010-03-18 00:59  ivan
 
-       * FS/FS/svc_acct.pm, httemplate/search/svc_acct.cgi:
-         customer-specific account report (and some small refactoring of
-         method names to clash less), RT#6180
+       * FS/FS/Schema.pm, FS/FS/cust_bill.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_pkg.pm, FS/FS/part_pkg.pm,
+         httemplate/edit/quick-charge.html,
+         FS/FS/part_event/Condition/cust_bill_has_noauto.pm,
+         FS/FS/part_event/Condition/cust_bill_hasnt_noauto.pm,
+         httemplate/edit/process/quick-charge.cgi,
+         httemplate/edit/process/quick-cust_pkg.cgi,
+         httemplate/misc/order_pkg.html,
+         httemplate/view/cust_main/one_time_charge_link.html,
+         httemplate/view/cust_main/order_pkg_link.html,
+         httemplate/view/cust_main/packages/status.html: disable
+         auto-billing of specific customer packages, RT#6378
+
+2010-03-16 01:05  mark
+
+       * httemplate/edit/cust_main_note.cgi: minor bugfix
+
+2010-03-16 00:49  mark
+
+       * httemplate/elements/fckeditor/: fckconfig.js, fckeditor.js,
+         fckpackager.xml, fckstyles.xml, fcktemplates.xml,
+         editor/fckdebug.html, editor/fckdialog.html,
+         editor/fckeditor.html, editor/fckeditor.original.html,
+         editor/css/fck_editorarea.css, editor/css/fck_internal.css,
+         editor/css/fck_showtableborders_gecko.css,
+         editor/css/images/block_address.png,
+         editor/css/images/block_blockquote.png,
+         editor/css/images/block_div.png, editor/css/images/block_h1.png,
+         editor/css/images/block_h2.png, editor/css/images/block_h3.png,
+         editor/css/images/block_h4.png, editor/css/images/block_h5.png,
+         editor/css/images/block_h6.png, editor/css/images/block_p.png,
+         editor/css/images/block_pre.png,
+         editor/css/images/fck_plugin.gif, editor/dialog/fck_about.html,
+         editor/dialog/fck_anchor.html, editor/dialog/fck_button.html,
+         editor/dialog/fck_checkbox.html,
+         editor/dialog/fck_colorselector.html, editor/dialog/fck_div.html,
+         editor/dialog/fck_docprops.html, editor/dialog/fck_flash.html,
+         editor/dialog/fck_form.html, editor/dialog/fck_hiddenfield.html,
+         editor/dialog/fck_image.html, editor/dialog/fck_link.html,
+         editor/dialog/fck_listprop.html, editor/dialog/fck_paste.html,
+         editor/dialog/fck_radiobutton.html,
+         editor/dialog/fck_replace.html, editor/dialog/fck_scayt.html,
+         editor/dialog/fck_select.html, editor/dialog/fck_smiley.html,
+         editor/dialog/fck_source.html,
+         editor/dialog/fck_specialchar.html,
+         editor/dialog/fck_spellerpages.html,
+         editor/dialog/fck_table.html, editor/dialog/fck_tablecell.html,
+         editor/dialog/fck_template.html, editor/dialog/fck_textarea.html,
+         editor/dialog/fck_textfield.html,
+         editor/dialog/common/fck_dialog_common.css,
+         editor/dialog/common/fck_dialog_common.js,
+         editor/dialog/fck_docprops/fck_document_preview.html,
+         editor/dialog/fck_flash/fck_flash.js,
+         editor/dialog/fck_flash/fck_flash_preview.html,
+         editor/dialog/fck_image/fck_image.js,
+         editor/dialog/fck_image/fck_image_preview.html,
+         editor/dialog/fck_link/fck_link.js,
+         editor/dialog/fck_select/fck_select.js,
+         editor/dialog/fck_spellerpages/spellerpages/spellChecker.js,
+         editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css,
+         editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl,
+         editor/filemanager/browser/default/browser.css,
+         editor/filemanager/browser/default/browser.html,
+         editor/filemanager/browser/default/frmactualfolder.html,
+         editor/filemanager/browser/default/frmcreatefolder.html,
+         editor/filemanager/browser/default/frmfolders.html,
+         editor/filemanager/browser/default/frmresourceslist.html,
+         editor/filemanager/browser/default/frmresourcetype.html,
+         editor/filemanager/browser/default/frmupload.html,
+         editor/filemanager/browser/default/js/common.js,
+         editor/filemanager/browser/default/js/fckxml.js,
+         editor/js/fckadobeair.js, editor/js/fckeditorcode_gecko.js,
+         editor/js/fckeditorcode_ie.js,
+         editor/lang/_translationstatus.txt, editor/lang/af.js,
+         editor/lang/ar.js, editor/lang/bg.js, editor/lang/bn.js,
+         editor/lang/bs.js, editor/lang/ca.js, editor/lang/cs.js,
+         editor/lang/da.js, editor/lang/de.js, editor/lang/el.js,
+         editor/lang/en-au.js, editor/lang/en-ca.js, editor/lang/en-uk.js,
+         editor/lang/en.js, editor/lang/eo.js, editor/lang/es.js,
+         editor/lang/et.js, editor/lang/eu.js, editor/lang/fa.js,
+         editor/lang/fi.js, editor/lang/fo.js, editor/lang/fr-ca.js,
+         editor/lang/fr.js, editor/lang/gl.js, editor/lang/gu.js,
+         editor/lang/he.js, editor/lang/hi.js, editor/lang/hr.js,
+         editor/lang/hu.js, editor/lang/is.js, editor/lang/it.js,
+         editor/lang/ja.js, editor/lang/km.js, editor/lang/ko.js,
+         editor/lang/lt.js, editor/lang/lv.js, editor/lang/mn.js,
+         editor/lang/ms.js, editor/lang/nb.js, editor/lang/nl.js,
+         editor/lang/no.js, editor/lang/pl.js, editor/lang/pt-br.js,
+         editor/lang/pt.js, editor/lang/ro.js, editor/lang/ru.js,
+         editor/lang/sk.js, editor/lang/sl.js, editor/lang/sr-latn.js,
+         editor/lang/sr.js, editor/lang/sv.js, editor/lang/th.js,
+         editor/lang/tr.js, editor/lang/uk.js, editor/lang/vi.js,
+         editor/lang/zh-cn.js, editor/lang/zh.js,
+         editor/plugins/autogrow/fckplugin.js,
+         editor/plugins/placeholder/fck_placeholder.html,
+         editor/plugins/placeholder/fckplugin.js,
+         editor/plugins/placeholder/lang/de.js,
+         editor/plugins/placeholder/lang/en.js,
+         editor/plugins/placeholder/lang/es.js,
+         editor/plugins/placeholder/lang/fr.js,
+         editor/plugins/placeholder/lang/it.js,
+         editor/plugins/placeholder/lang/pl.js,
+         editor/plugins/simplecommands/fckplugin.js,
+         editor/plugins/tablecommands/fckplugin.js,
+         editor/skins/_fckviewstrips.html,
+         editor/skins/default/fck_dialog.css,
+         editor/skins/default/fck_dialog_ie6.js,
+         editor/skins/default/fck_editor.css,
+         editor/skins/default/fck_strip.gif,
+         editor/skins/default/images/dialog.sides.gif,
+         editor/skins/default/images/dialog.sides.png,
+         editor/skins/default/images/dialog.sides.rtl.png,
+         editor/skins/default/images/sprites.gif,
+         editor/skins/default/images/sprites.png,
+         editor/skins/office2003/fck_dialog.css,
+         editor/skins/office2003/fck_dialog_ie6.js,
+         editor/skins/office2003/fck_editor.css,
+         editor/skins/office2003/fck_strip.gif,
+         editor/skins/office2003/images/dialog.sides.gif,
+         editor/skins/office2003/images/dialog.sides.png,
+         editor/skins/office2003/images/dialog.sides.rtl.png,
+         editor/skins/office2003/images/sprites.gif,
+         editor/skins/office2003/images/sprites.png,
+         editor/skins/silver/fck_dialog.css,
+         editor/skins/silver/fck_dialog_ie6.js,
+         editor/skins/silver/fck_editor.css,
+         editor/skins/silver/fck_strip.gif,
+         editor/skins/silver/images/dialog.sides.gif,
+         editor/skins/silver/images/dialog.sides.png,
+         editor/skins/silver/images/dialog.sides.rtl.png,
+         editor/skins/silver/images/sprites.gif,
+         editor/skins/silver/images/sprites.png: FCKeditor 2.6.6
+
+2010-03-15 19:51  mark
+
+       * httemplate/: edit/cust_main_note.cgi, view/cust_main/notes.html,
+         elements/htmlarea.html: RT#6226: fckeditor for customer notes
+
+2010-03-15 19:14  ivan
+
+       * rt/etc/rt.spec: remove rt.spec, borking our build somehow
+
+2010-03-15 18:00  ivan
+
+       * httemplate/search/: cust_main-zip.html,
+         report_cust_main-zip.html: w/svc_whatever option on zip code
+         distribution report, RT#7784
+
+2010-03-15 15:31  mark
+
+       * FS/bin/freeside-paymentech-upload: RT#7473: add -p option
+
+2010-03-15 00:13  ivan
+
+       * httemplate/edit/svc_broadband.cgi: fix editing svc_broadband
+         service w/no ip address, RT#7786
+
+2010-03-14 23:18  ivan
+
+       * httemplate/search/elements/cust_pay_or_refund.html: deleted
+         payment report, RT#7694
+
+2010-03-14 23:10  ivan
+
+       * httemplate/search/: h_cust_pay.html, report_h_cust_pay.html,
+         elements/cust_pay_or_refund.html: deleted payment report, RT#7694
+
+2010-03-14 19:06  ivan
+
+       * httemplate/edit/part_pkg.cgi: fix diabled package optional
+         reporting classes still selectable on package def edit, RT#7658
+
+2010-03-13 15:50  ivan
+
+       * FS/FS/cust_pkg.pm: quiet extraneous warnings from
+         expire_months/start_1st stuff, getting in the way of debugging
+         for ncic, RT#7780
+
+2010-03-12 13:56  ivan
+
+       * FS/FS/Conf.pm, FS/FS/svc_phone.pm, httemplate/edit/svc_phone.cgi:
+         add svc_phone-phone_name-max_length config, RT#7047
+
+2010-03-12 13:29  ivan
+
+       * FS/FS/cust_location.pm, FS/FS/cust_main.pm,
+         FS/FS/location_Mixin.pm, FS/FS/svc_phone.pm,
+         httemplate/edit/svc_phone.cgi,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/edit/process/svc_phone.html,
+         httemplate/elements/tr-select-cust_location.html,
+         httemplate/view/svc_phone.cgi: finishing e911/svc_phone location,
+         RT#7047
 
-2009-12-03 20:40  ivan
+2010-03-12 03:48  mark
 
-       * FS/FS/cust_bill.pm, FS/FS/cust_bill_event.pm,
-         FS/FS/cust_event.pm, FS/FS/cust_main.pm,
-         httemplate/search/477.html, httemplate/search/cust_bill.html,
-         httemplate/search/cust_bill_event.cgi,
-         httemplate/search/cust_event.html,
-         httemplate/search/cust_main.html, httemplate/search/cust_pkg.cgi,
-         httemplate/search/report_svc_acct.html,
-         httemplate/view/cust_main/packages.html, FS/FS/cust_pkg.pm,
-         httemplate/misc/email-customers.html,
-         httemplate/misc/process/bulk_change_pkg.cgi,
-         httemplate/misc/process/email-customers.html: customer-specific
-         account report (and some small refactoring of method names to
-         clash less), RT#6180
+       * httemplate/edit/svc_broadband.cgi: RT#7765: sort broadband router
+         names
 
-2009-12-03 11:22  ivan
+2010-03-11 19:36  ivan
 
-       * httemplate/graph/cust_bill_pkg.cgi: average per cust_pkg option
-         for peter
+       * FS/FS/Schema.pm, FS/FS/cust_pkg.pm, FS/FS/location_Mixin.pm,
+         FS/FS/svc_phone.pm, FS/t/location_Mixin.t,
+         httemplate/edit/svc_phone.cgi,
+         httemplate/edit/elements/edit.html,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/elements/location.html,
+         httemplate/elements/tr-select-cust_location.html,
+         httemplate/view/svc_phone.cgi: add location to svc_phone, RT#7047
 
-2009-12-03 11:06  ivan
+2010-03-11 19:30  ivan
 
-       * FS/FS/Report/Table/Monthly.pm,
-         httemplate/graph/cust_bill_pkg.cgi,
-         httemplate/graph/report_cust_bill_pkg.html: average per cust_pkg
-         option for peter
+       * FS/MANIFEST: add location to svc_phone, RT#7047
 
-2009-12-02 23:53  ivan
+2010-03-10 19:27  ivan
 
-       * FS/FS/Schema.pm: index cdrbatchnum
+       * FS/FS/TicketSystem/RT_External.pm,
+         httemplate/view/cust_main/tickets.html: add queue selection to
+         customer ticket creation, RT#7656
 
-2009-12-02 23:37  ivan
+2010-03-10 18:15  ivan
 
-       * FS/FS/: Record.pm, cdr/sansay.pm: fix startdate in sansay CDR
-         import (and skip blank lines), RT#6801
+       * httemplate/docs/credits.html: Mark Wells is now a member of the
+         core team.  Kristian Hoffman has been moved to the core emeritus
 
-2009-12-02 23:18  ivan
+2010-03-10 00:20  mark
 
-       * httemplate/search/cdr.html: fix cdr search
+       * httemplate/edit/svc_acct.cgi: fix probably misplaced text field
 
-2009-12-02 20:22  ivan
+2010-03-09 23:50  mark
 
-       * FS/FS/cdr/sansay.pm: no header?
+       * httemplate/edit/svc_domain.cgi: fix probably misplaced text field
 
-2009-12-02 12:58  ivan
+2010-03-09 22:52  ivan
 
-       * FS/FS/Schema.pm: add index to rate_prefix.npa for a performance
-         improvement on CDR billing, RT#6386
+       * FS/FS/cust_pkg.pm: oops, move start_1st and expire_months
+         handling from check to insert, so it doesn't get triggered on
+         edit, RT#7347
 
-2009-12-02 12:51  ivan
+2010-03-09 22:47  ivan
 
-       * httemplate/view/: svc_broadband.cgi, svc_domain.cgi,
-         svc_external.cgi, svc_forward.cgi, svc_www.cgi: fix viewing
-         unlinked forwards, domains, broadband/external/www services,
-         RT#6794
+       * httemplate/edit/process/REAL_cust_pkg.cgi: fix warning about
+         adding a start date to actually check its *added*, RT#7352
 
-2009-12-01 11:16  jeff
+2010-03-09 15:47  ivan
 
-       * FS/FS/cust_bill.pm: want a listref not a list
+       * httemplate/misc/delay_susp_pkg.html: tyop too
 
-2009-11-29 16:38  ivan
+2010-03-09 14:37  mark
 
-       * FS/FS/cust_main.pm, httemplate/misc/email-customers.html: fix
-         bulk sending of customer notices, RT#6778
+       * httemplate/misc/cancel_pkg.html: fix typo
 
-2009-11-29 16:06  ivan
+2010-03-09 13:57  mark
 
-       * httemplate/edit/REAL_cust_pkg.cgi: fix
+       * FS/FS/prepay_credit.pm, httemplate/edit/prepay_credit.cgi,
+         httemplate/edit/process/prepay_credit.cgi: RT#7407, variable
+         length prepaid card codes
 
-2009-11-29 16:04  ivan
+2010-03-09 00:37  ivan
 
-       * httemplate/edit/: REAL_cust_pkg.cgi, process/REAL_cust_pkg.cgi:
-         UI changes to make it impossible to add a start date to a package
-         that already has a setup fee (can still remove an existing start
-         date causing problems), RT#6712
+       * FS/FS/part_pkg/sql_external.pm: move sql_external to use
+         recur_Common, RT#7212
 
-2009-11-29 15:18  ivan
+2010-03-09 00:05  ivan
 
-       * FS/FS/: Conf.pm, cust_pkg.pm: add
-         cust_pkg-change_pkgpart-bill_now option to bill the new package
-         immediately on package changes.  Useful for prepaid situations
-         with RADIUS where an Expiration attribute base don the package
-         must be present at all times.  RT#6692
+       * httemplate/edit/REAL_cust_pkg.cgi: date editing fix, fallout from
+         date_format
 
-2009-11-29 15:15  ivan
+2010-03-08 18:43  ivan
 
-       * FS/FS/cust_main.pm: doc: spelling
+       * FS/FS/: cust_pkg.pm, part_pkg/flat.pm: a package that starts on
+         the 1st and expires after N months, RT#7738
 
-2009-11-25 16:27  ivan
+2010-03-08 18:39  ivan
 
-       * FS/FS/part_pkg/voip_cdr.pm: debugging left on
+       * FS/FS/cust_main.pm: fix ACH refunds w/IPPay.  B:OP 3.01 and IPPay
+         0.05_02 required.  RT#_7673
 
-2009-11-25 11:58  ivan
+2010-03-08 18:12  ivan
 
-       * httemplate/edit/part_pkg.cgi: don't consider disabled report
-         classes, don't load up the whole table just to see if there are
-         any
+       * FS/FS/cust_pkg.pm: init ticket system new-style
 
-2009-11-25 11:32  jeff
+2010-03-08 16:23  jeff
 
-       * FS/FS/: cust_bill.pm, usage_class.pm: improve appearance of cdr
-         records in cdr sections
+       * FS/FS/Setup.pm: tyop broke populate_initial_data
 
-2009-11-25 08:13  jeff
+2010-03-08 16:18  jeff
 
-       * FS/FS/cust_bill.pm: bug fixes, reuse summary_page, eliminate
-         dups, and rearrange
+       * FS/FS/reason_type.pm: and this is not 1.7.x
 
-2009-11-25 08:09  jeff
+2010-03-08 15:07  jeff
 
-       * conf/invoice_latex: really insert a pagebreak
+       * FS/FS/part_export/prizm.pm: try a delete before adding an element
+         to prizm
 
-2009-11-25 08:07  jeff
+2010-03-08 14:13  ivan
 
-       * conf/invoice_latex: oops.. need updated template for new formats
+       * FS/FS/cust_main.pm: fix ACH refunds w/IPPay.  B:OP 3.01 and IPPay
+         0.05_02 required.  RT#_7673
 
-2009-11-24 13:00  ivan
+2010-03-08 02:57  ivan
 
-       * FS/FS/cust_bill.pm: debugging left on
+       * FS/FS/Conf.pm, FS/FS/cust_bill.pm,
+         httemplate/edit/REAL_cust_pkg.cgi,
+         httemplate/edit/cust_credit.cgi, httemplate/edit/cust_pay.cgi,
+         httemplate/edit/cust_refund.cgi,
+         httemplate/edit/quick-charge.html,
+         httemplate/edit/elements/ApplicationCommon.html,
+         httemplate/elements/tr-input-beginning_ending.html,
+         httemplate/elements/tr-input-date-field.html,
+         httemplate/misc/cancel_pkg.html,
+         httemplate/misc/delay_susp_pkg.html,
+         httemplate/misc/order_pkg.html,
+         httemplate/search/report_prepaid_income.html,
+         httemplate/view/cust_main/payment_history.html,
+         httemplate/view/cust_main/payment_history/credit.html,
+         httemplate/view/cust_main/payment_history/payment.html,
+         httemplate/view/cust_main/payment_history/voided_payment.html:
+         proper use of date_format config for international date formats,
+         RT#7009
 
-2009-11-24 09:05  jeff
+2010-03-07 23:02  ivan
 
-       * FS/FS/cust_bill.pm: cope with sections lacking a pkg_category
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/svc_Domain_Mixin.pm,
+         FS/FS/svc_acct.pm, FS/FS/svc_phone.pm, FS/MANIFEST,
+         FS/FS/part_export/netsapiens.pm, FS/t/svc_Domain_Mixin.t,
+         httemplate/edit/svc_phone.cgi,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/elements/select-svc-domain.html,
+         httemplate/elements/tr-select-svc-domain.html,
+         httemplate/view/svc_phone.cgi: domain names in netsapiens export
+         (domain name association w/svc_phone), RT#5864
 
-2009-11-23 23:42  ivan
+2010-03-07 10:07  jeff
 
-       * httemplate/: misc/timeworked.html, misc/process/timeworked.html,
-         search/timeworked.html: timeworked report: carry the date range
-         through to the success redirect
+       * FS/FS/tax_rate.pm: pass format and correct filenames
 
-2009-11-23 23:23  ivan
+2010-03-05 11:09  ivan
 
-       * httemplate/search/: report_timeworked.html: add date constratint
-         on time worked search
+       * FS/FS/part_export/grandstream.pm: random nits for grandstream
+         provisioning :UI, docs, java path, s/system/IPC::Run/ for better
+         error handling.  RT#7132
 
-2009-11-23 23:23  ivan
+2010-03-05 11:02  ivan
 
-       * httemplate/search/report_timeworked.html: file
-         report_timeworked.html was added on branch FREESIDE_1_9_BRANCH on
-         2009-11-24 07:23:47 +0000
+       * httemplate/edit/part_device.html,
+         FS/FS/part_export/grandstream.pm: random nits for grandstream
+         provisioning :UI, docs, java path, s/system/IPC::Run/ for better
+         error handling.  RT#7132
 
-2009-11-23 22:04  ivan
+2010-03-05 10:25  ivan
 
-       * FS/FS/cust_main.pm: send card number with void transactions for
-         B:OP:IPPay, RT#5690
+       * httemplate/docs/ssh.html: moved to wiki
 
-2009-11-23 17:11  mark
+2010-03-05 10:24  ivan
 
-       * FS/FS/Schema.pm, httemplate/browse/cust_attachment.html,
-         httemplate/edit/cust_main_attach.cgi,
-         httemplate/edit/process/cust_main_attach.cgi,
-         httemplate/elements/menu.html,
-         httemplate/misc/cust_attachment.cgi,
-         httemplate/search/elements/search-html.html,
-         httemplate/view/cust_main/attachments.html: cust_attachment
-         improvement, RT#4964 and #6225
+       * FS/FS/part_export/: domain_shellcommands.pm,
+         forward_shellcommands.pm, phone_shellcommands.pm,
+         shellcommands.pm, shellcommands_withdomain.pm, textradius.pm,
+         vpopmail.pm, www_shellcommands.pm: point to wiki docs
 
-2009-11-20 09:39  jeff
+2010-03-05 10:10  ivan
 
-       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cust_bill.pm,
-         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_detail.pm,
-         FS/FS/usage_class.pm, FS/FS/part_pkg/voip_cdr.pm,
-         conf/invoice_html, httemplate/browse/pkg_category.html,
-         httemplate/browse/usage_class.html,
-         httemplate/edit/pkg_category.html,
-         httemplate/edit/usage_class.html: invoice formatting: add
-         sections for usage, add sections per svc_phone, add folding like
-         line items into one #6592
+       * FS/FS/part_export/grandstream.pm,
+         httemplate/edit/part_device.html: random nits for grandstream
+         provisioning :UI, docs, java path, s/system/IPC::Run/ for better
+         error handling.  RT#7132
 
-2009-11-19 01:47  ivan
+2010-03-03 21:31  jeff
 
-       * FS/FS.pm, FS/FS/Record.pm, FS/FS/cdr.pm,
-         FS/bin/freeside-cdr-sftp_and_import, bin/cdr-transnexus.import,
-         bin/cdr.http_and_import, bin/cdr.import,
-         httemplate/elements/select-cdrbatch.html,
-         httemplate/elements/tr-select-cdrbatch.html,
-         httemplate/search/cdr.html, httemplate/search/report_cdr.html,
-         httemplate/view/svc_phone.cgi: proper cdr_batch table, RT#6386
+       * FS/FS/cust_bill.pm: always show the previous section when
+         previous_balance-summary_only is enabled
 
-2009-11-19 01:43  ivan
+2010-03-02 17:39  jeff
 
-       * FS/FS/: Mason.pm, Schema.pm, Upgrade.pm: proper cdr_batch table,
-         RT#6386
+       * FS/FS/tax_rate.pm, httemplate/misc/tax-import.cgi: tweak,
+         rearrange, and avoid the vacuum
 
-2009-11-19 01:39  ivan
+2010-03-02 17:00  jeff
 
-       * FS/MANIFEST: proper cdr_batch table, RT#6386
+       * httemplate/edit/cust_main/bottomfixup.js: clear geocode when we
+         DO have plus four
 
-2009-11-19 01:32  ivan
+2010-03-02 09:18  ivan
 
-       * FS/FS/cdr_batch.pm: file cdr_batch.pm was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-19 09:35:13 +0000
+       * httemplate/: search/elements/search-html.html,
+         misc/bulk_pkg_increment_bill.cgi, search/cust_pkg.cgi: UI: get
+         rid of undocumented extra_choices_callback in search.html: a
+         terrible place to put action links from a UI perspective, move
+         package links to html_init, now consitent with customer links,
+         change label on popup from "increment bill date" to "increment
+         next bill date", RT#7132
 
-2009-11-19 01:32  ivan
+2010-03-01 14:18  ivan
 
-       * FS/t/cdr_batch.t: file cdr_batch.t was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-19 09:35:13 +0000
+       * httemplate/edit/elements/svc_Common.html: fixup editing w/manual
+         inventory, RT#7010
 
-2009-11-19 01:32  ivan
+2010-03-01 14:00  ivan
 
-       * FS/: FS/cdr_batch.pm, t/cdr_batch.t: proper cdr_batch table,
-         RT#6386
+       * httemplate/elements/select-table.html: fix up editing services
+         w/manual select from inventory, RT#7010
 
-2009-11-18 23:06  ivan
+2010-03-01 13:56  ivan
 
-       * FS/FS/cdr.pm: format CDRs durations as NNm MMs instead of NN.MMm,
-         RT#6316
+       * FS/FS/svc_Common.pm: fix up editing services w/manual select from
+         inventory, RT#7010
 
-2009-11-18 22:21  ivan
+2010-03-01 13:36  ivan
 
-       * FS/FS/Cron/breakage.pm: consider credits and refunds in breakage,
-         RT#6407
+       * httemplate/edit/elements/edit.html: fix up editing services
+         w/manual select from inventory, RT#7010
 
-2009-11-18 01:39  mark
+2010-03-01 13:05  ivan
 
-       * FS/FS/Conf.pm, FS/FS/pay_batch/RBC.pm,
-         httemplate/search/cust_pay_batch.cgi: RT#4786, RBC batch format
+       * httemplate/search/inventory_item.html: fix inventory item links
+         to non-svc_acct services, RT#7010
 
-2009-11-18 01:27  mark
+2010-03-01 11:38  ivan
 
-       * FS/FS/pay_batch/RBC.pm: RT#4768, RBC batch format
+       * FS/FS/svc_Common.pm: enable manual selection from inventory
+         dropdowns for svc_broadband, svc_external & svc_phone, RT#7010
 
-2009-11-18 01:27  mark
+2010-03-01 11:29  ivan
 
-       * FS/FS/pay_batch/RBC.pm: file RBC.pm was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-18 09:40:04 +0000
+       * httemplate/: edit/part_svc.cgi, edit/elements/edit.html,
+         edit/elements/svc_Common.html, elements/select-table.html: enable
+         manual selection from inventory dropdowns for svc_broadband,
+         svc_external & svc_phone, RT#7010
 
-2009-11-18 01:09  mark
+2010-03-01 11:10  jeff
 
-       * httemplate/: browse/cust_attachment.html,
-         misc/cust_attachment.cgi: cust_attachment improvement, RT#4964
-         and #6225
+       * Makefile: get along better with RTless installs
 
-2009-11-18 01:09  mark
+2010-02-26 19:15  ivan
 
-       * httemplate/misc/cust_attachment.cgi: file cust_attachment.cgi was
-         added on branch FREESIDE_1_9_BRANCH on 2009-11-24 01:11:22 +0000
+       * httemplate/edit/cust_refund.cgi: expiration date not meaningful
+         for non-CARD, RT#7419
 
-2009-11-18 01:09  mark
+2010-02-26 18:59  ivan
 
-       * httemplate/browse/cust_attachment.html: file cust_attachment.html
-         was added on branch FREESIDE_1_9_BRANCH on 2009-11-24 01:11:21
-         +0000
+       * FS/FS/cust_bill_ApplicationCommon.pm: fix rare "Illegal division
+         by zero" error applying things when using weights, RT#7491
 
-2009-11-17 14:06  ivan
+2010-02-24 15:32  mark
 
-       * FS/FS/cust_main.pm: do a case-insensive search on
-         browser-remembered results, so starting to use USPS verification
-         (which UPPERCASES everything) doesn't invalidate everything your
-         browser remembered in quick payment entry
+       * httemplate/: misc/bulk_pkg_increment_bill.cgi,
+         misc/process/bulk_pkg_increment_bill.cgi, search/cust_pkg.cgi:
+         RT#7132: bulk increment package bill dates
 
-2009-11-16 23:42  ivan
+2010-02-22 02:35  ivan
 
-       * httemplate/search/: report_cust_pay.html,
-         report_cust_refund.html, elements/cust_pay_or_refund.html: add
-         otaker to payment/refund search, RT#6407
+       * FS/FS/part_export/communigate_pro.pm: communigate: domain account
+         defaults, RT#7083
 
-2009-11-16 23:08  ivan
+2010-02-22 01:18  ivan
 
-       * httemplate/: elements/menu.html, search/report_cust_refund.html:
-         add refund report, RT#6407
+       * httemplate/edit/svc_domain.cgi: communigate: domain account
+         defaults, RT#7083
 
-2009-11-15 19:55  ivan
+2010-02-22 01:14  ivan
 
-       * FS/FS/cust_bill.pm, FS/FS/cust_main.pm,
-         httemplate/search/cust_bill.html,
-         httemplate/search/report_cust_bill.html: add ability to search on
-         ranges of charged, owed to adv. invoice report, RT#6407
+       * FS/FS/Schema.pm, FS/FS/svc_acct.pm, FS/FS/svc_domain.pm,
+         httemplate/edit/part_svc.cgi,
+         httemplate/edit/process/svc_domain.cgi,
+         httemplate/view/svc_domain.cgi, httemplate/view/elements/tr.html,
+         httemplate/view/svc_acct/basics.html,
+         httemplate/view/svc_domain/acct_defaults.html,
+         httemplate/view/svc_domain/basics.html,
+         httemplate/view/svc_domain/dns.html,
+         httemplate/edit/svc_acct.cgi: communigate: domain account
+         defaults, RT#7083
 
-2009-11-15 18:27  ivan
+2010-02-21 23:13  ivan
 
-       * FS/: FS/Conf.pm, FS/Cron/bill.pm, bin/freeside-daily: add
-         disable_cron_billing config, RT#6407
+       * FS/FS/svc_domain.pm, FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/svc_domain.cgi, httemplate/view/svc_domain.cgi:
+         communigate: domain aliases, enabled services & administrator
+         domain, RT#7083
 
-2009-11-13 16:08  ivan
+2010-02-21 19:22  ivan
 
-       * FS/FS/cust_main.pm, httemplate/elements/select-terms.html,
-         httemplate/search/cust_main.html,
-         httemplate/search/report_cust_main.html: add invoice terms to
-         advanced customer report.  dogfood.
+       * FS/FS/Schema.pm, FS/FS/part_export/communigate_pro.pm,
+         FS/FS/svc_acct.pm, FS/FS/svc_domain.pm,
+         httemplate/edit/svc_domain.cgi,
+         httemplate/edit/process/svc_domain.cgi,
+         httemplate/view/svc_domain.cgi,
+         httemplate/edit/process/svc_acct.cgi: communigate: domain
+         aliases, enabled services, RT#7083
 
-2009-11-12 08:56  jeff
+2010-02-21 14:54  ivan
 
-       * FS/FS/: tax_rate.pm, Schema.pm: correct bugs in tax replacement
-         routine and allow updates to function
+       * FS/FS/part_export/communigate_pro.pm, FS/FS/Conf.pm,
+         httemplate/edit/svc_forward.cgi, httemplate/view/svc_forward.cgi:
+         communigate forwarders, RT#7083
 
-2009-11-06 14:07  ivan
+2010-02-21 01:19  ivan
 
-       * FS/FS/cust_main.pm: use business-onlinepayment-description in
-         1.9, even without $pkgs
+       * FS/FS/Schema.pm, FS/FS/svc_acct.pm,
+         FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/svc_acct.cgi,
+         httemplate/view/svc_acct/basics.html: communigate, RT#7083
 
-2009-11-05 17:51  ivan
+2010-02-20 23:32  ivan
 
-       * FS/FS/: Conf.pm, cust_main_invoice.pm: add
-         emailinvoice-apostrophe config option to allow apostrophies in
-         invoice email addresses, RT#6464
+       * httemplate/view/svc_acct/basics.html: communigate, RT#7083
 
-2009-11-05 16:25  ivan
+2010-02-20 23:28  ivan
 
-       * FS/FS/cust_main.pm, httemplate/search/cust_main.html,
-         httemplate/search/report_cust_main.html: add "payment expiration
-         before" to customer report, RT#6447
+       * FS/FS/Schema.pm, FS/FS/svc_acct.pm,
+         FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/svc_acct.cgi,
+         httemplate/view/elements/svc_export_settings.html,
+         httemplate/view/svc_acct/tr.html: communigate, RT#7083
 
-2009-11-05 15:55  ivan
+2010-02-20 19:16  ivan
 
-       * FS/FS/ConfDefaults.pm: try not to make the "Customer Fields"
-         SELECT so huge
+       * FS/FS/part_svc.pm, FS/FS/svc_acct.pm,
+         FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/process/svc_acct.cgi,
+         httemplate/elements/communigate_pro-accessmodes.html,
+         httemplate/pref/pref-process.html, httemplate/pref/pref.html,
+         httemplate/view/elements/svc_export_settings.html,
+         httemplate/view/svc_acct/basics.html: communigate, RT#7083
 
-2009-11-05 14:01  ivan
+2010-02-20 14:34  ivan
 
-       * httemplate/search/svc_acct.cgi: improvements in time remaining
-         report: correctly account for unpaid time for non-monthly
-         customers, report in hours+minutes intead of using Time::Duration
-         days/hours
+       * FS/FS/Conf.pm: communigate pro provisioning, RT#7083
 
-2009-11-05 13:22  ivan
+2010-02-20 14:31  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: back to old host name, info from
-         customer/paymentech was bogus, RT#5650
+       * httemplate/view/elements/svc_export_settings.html,
+         httemplate/view/svc_acct/basics.html,
+         httemplate/view/svc_acct/change_svc.html,
+         httemplate/view/svc_acct/change_svc_form.html,
+         httemplate/view/svc_acct/hosting.html,
+         httemplate/view/svc_acct/radius_usage.html,
+         httemplate/view/svc_acct/usage.html, FS/FS/Record.pm,
+         FS/FS/Schema.pm, FS/FS/svc_acct.pm,
+         FS/FS/part_export/communigate_pro.pm,
+         httemplate/edit/svc_acct.cgi, httemplate/view/svc_acct.cgi,
+         httemplate/view/svc_domain.cgi: communigate pro provisioning,
+         RT#7083
 
-2009-11-05 11:40  ivan
+2010-02-17 19:48  mark
 
-       * FS/FS/pkg_category.pm: fix pkg_category upgrade on 1.9 too
+       * FS/bin/freeside-void-payments: Documentation cleanup
 
-2009-11-04 17:47  ivan
+2010-02-17 01:00  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: update paymentech live server,
-         RT#5650
+       * httemplate/edit/svc_Common.html: fix svc_pbx provisioniing
 
-2009-11-04 16:52  ivan
+2010-02-17 00:30  ivan
 
-       * FS/FS/pkg_category.pm: fix pkg_category upgrades
+       * FS/FS/part_export.pm, FS/FS/part_export/communigate_pro.pm,
+         FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/svc_Common.pm,
+         FS/FS/svc_domain.pm, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/process/svc_domain.cgi,
+         httemplate/view/svc_domain.cgi, FS/FS/cust_svc.pm: communigate
+         pro provisioning, RT#7083
 
-2009-11-03 17:40  ivan
+2010-02-16 10:36  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: add explicit use of Expect module, so
-         the error is thrown immediate, RT#5650
+       * FS/FS/Conf.pm,
+         fs_selfservice/FS-SelfService/cgi/make_ach_payment.html,
+         fs_selfservice/FS-SelfService/cgi/make_payment.html,
+         FS/FS/ClientAPI/MyAccount.pm: option to uncheck the save checkbox
+         in self-service by default, RT#6955
 
-2009-11-03 17:04  ivan
+2010-02-15 18:19  jeff
 
-       * FS/FS/Cron/breakage.pm, httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi: reconcile breakage from stale
-         accounts, RT#6407
+       * FS/FS/tax_rate.pm, httemplate/misc/tax-import.cgi,
+         httemplate/misc/process/tax-import.cgi: refactor cch tax import
+         to remove tons of false laziness and improve flexibility; allow
+         reload from local files
 
-2009-11-03 16:59  ivan
+2010-02-15 08:34  jeff
 
-       * FS/FS/part_pkg.pm: silence "use of uninitialized value in split"
-         warning
+       * htetc/handler.pl: lexical instead of dynamic warnings
 
-2009-11-03 16:53  ivan
+2010-02-15 06:39  jeff
 
-       * FS/FS/cust_pkg.pm, httemplate/browse/part_pkg.cgi: fix customer
-         package search (fallout from customer classes) & add "not yet
-         billed" status to customer package report
+       * htetc/handler.pl: get rid of some very annoying and pointless
+         noise
 
-2009-11-03 12:44  ivan
+2010-02-14 18:09  ivan
 
-       * FS/FS/pay_batch.pm: fix warning replacing pay_batch, RT#5650
+       * FS/FS/Conf.pm, FS/FS/Misc.pm, debian/control: switch to
+         Email::Sender and add options for every kind of mail encryption &
+         authentication, RT#7285
 
-2009-11-03 11:56  ivan
+2010-02-12 18:53  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: check for zip and unzip commands, use
-         multi-arg version of system to prevent the shell getting its
-         hands on things (metacharacters in pw or whatnot), RT#5650
+       * FS/FS/svc_external.pm, httemplate/edit/svc_Common.html,
+         httemplate/edit/svc_external.cgi,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/edit/process/svc_external.html: svc_external.title
+         from inventory, RT#7010
 
-2009-11-03 11:11  ivan
+2010-02-12 18:16  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: update usage & manpage w/ freeside-
-         prefix
+       * httemplate/search/: inventory_item.html: fix inventory item
+         search w/customer classes
 
-2009-11-03 11:03  ivan
+2010-02-12 15:44  ivan
 
-       * FS/bin/: freeside-paymentech-download,
-         freeside-paymentech-upload: fix usage of File::Temp->newdir, not
-         in 0.18 File::Temp on perl 5.10.0, RT#5650
+       * FS/FS/ClientAPI/MyAccount.pm: don't return an error about
+         changing the cust_main record to the user as a payment processing
+         error, log a bunch of verbose stuff in this case so we can track
+         down wtf is going on, RT#6955
 
-2009-11-03 10:54  ivan
+2010-02-12 14:42  ivan
 
-       * FS/bin/freeside-paymentech-download: file
-         freeside-paymentech-download was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-03 18:54:19 +0000
+       * httemplate/search/: svc_acct.cgi, elements/search-html.html:
+         totals time used on svc_acct report
 
-2009-11-03 10:54  ivan
+2010-02-12 13:49  ivan
 
-       * FS/bin/freeside-paymentech-upload: file
-         freeside-paymentech-upload was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-03 18:54:19 +0000
+       * fs_selfservice/java/freeside_create_ticket_example.java: tyop,
+         RT#7007
 
-2009-11-03 10:53  ivan
+2010-02-12 11:28  ivan
 
-       * bin/paymentech-download, bin/paymentech-upload,
-         FS/bin/freeside-paymentech-download,
-         FS/bin/freeside-paymentech-upload: moving paymentech-* to FS/bin,
-         RT#5650
+       * FS/FS/ClientAPI/MyAccount.pm, FS/FS/TicketSystem/RT_Internal.pm,
+         fs_selfservice/java/freeside_create_ticket_example.java,
+         fs_selfservice/perl/xmlrpc-create_ticket.pl: add mime_type option
+         to self-service ticket create, RT#7007
 
-2009-11-02 19:13  ivan
+2010-02-12 11:14  ivan
 
-       * FS/FS/Cron/breakage.pm: file breakage.pm was added on branch
-         FREESIDE_1_9_BRANCH on 2009-11-03 03:13:47 +0000
+       * fs_selfservice/perl/xmlrpc-create_ticket.pl,
+         FS/FS/ClientAPI/MyAccount.pm,
+         fs_selfservice/java/freeside_create_ticket_example.java: add
+         queue option to self-service ticket create, RT#7007
 
-2009-11-02 19:13  ivan
+2010-02-11 19:26  ivan
 
-       * FS/FS/Conf.pm, FS/bin/freeside-daily,
-         httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi, httemplate/config/config.cgi,
-         httemplate/elements/tr-select-part_pkg.html,
-         FS/FS/Cron/breakage.pm: (start of) reconcile breakage from stale
-         accounts, RT#6407
+       * FS/FS/part_export/thirdlane.pm: add omit_countrycode option,
+         RT#7379
 
-2009-11-02 17:48  ivan
+2010-02-11 17:35  ivan
 
-       * bin/paymentech-download: spelling
+       * FS/FS/ClientAPI/MyAccount.pm, FS/FS/TicketSystem/RT_External.pm,
+         FS/FS/TicketSystem/RT_Internal.pm,
+         fs_selfservice/FS-SelfService/SelfService.pm, FS/FS/Conf.pm,
+         fs_selfservice/java/freeside_create_ticket_example.java,
+         fs_selfservice/perl/xmlrpc-create_ticket.pl,
+         httemplate/view/cust_svc.cgi, rt/lib/RT/URI/freeside.pm: add
+         ticket creation to self-service API, RT#7007
 
-2009-11-02 17:44  ivan
+2010-02-11 15:14  jeff
 
-       * bin/paymentech-download: add -a option for archive dir
+       * FS/FS/part_export/grandstream.pm: fix quoting
 
-2009-11-02 17:21  ivan
+2010-02-09 18:12  mark
 
-       * FS/FS/Conf.pm: clarify description of batchconfig-paymentech
-         based on notes from #5650
+       * FS/FS/: pay_batch.pm, pay_batch/RBC.pm: RT#7274: accept CR/LF in
+         RBC batch import
 
-2009-11-02 13:21  ivan
+2010-02-09 13:49  ivan
 
-       * httemplate/edit/payment_gateway.html: add Elavon, SagePay,
-         WorldPay, fix extra space on PlugnPay, PPIPayMover, Protx
+       * rt/lib/: RT.pm, RT.pm.in: add NoSignalHandlers option to
+         RT::Init() so we can pull things up the way we want under
+         self-service, RT#7007
 
-2009-11-01 15:03  jeff
+2010-02-09 11:56  ivan
 
-       * httemplate/search/: 477.html, elements/search-csv.html: form 477
-         improvements #6499
+       * httemplate/edit/process/discount.html: doh, fix for discounts
+         winding up with both amount and percent, RT#6679
 
-2009-10-31 14:22  jeff
+2010-02-08 19:37  ivan
 
-       * FS/FS/cust_bill.pm: unbork summary page invoices
+       * rt/lib/RT/Config.pm: fix RT wackiness when loaded concurrently
+         with Fcntl
 
-2009-10-30 16:29  ivan
+2010-02-08 11:01  ivan
 
-       * httemplate/elements/select-part_event.html: file
-         select-part_event.html was added on branch FREESIDE_1_9_BRANCH on
-         2009-10-30 23:30:13 +0000
+       * FS/: FS.pm, FS/h_svc_pbx.pm, t/h_svc_pbx.t, MANIFEST:
+         h_svc_pbx.pm, RT#7322
 
-2009-10-30 16:29  ivan
+2010-02-08 07:37  jeff
 
-       * httemplate/elements/tr-select-part_event.html: file
-         tr-select-part_event.html was added on branch FREESIDE_1_9_BRANCH
-         on 2009-10-30 23:30:12 +0000
+       * FS/FS/Mason.pm, FS/FS/Schema.pm, FS/FS/export_device.pm,
+         FS/FS/part_device.pm, FS/FS/part_export.pm,
+         FS/FS/phone_device.pm, FS/FS/part_export/grandstream.pm,
+         FS/FS/part_export/netsapiens.pm, FS/t/export_device.t, Makefile,
+         FS/MANIFEST, httemplate/edit/part_device.html,
+         httemplate/edit/process/part_device.html,
+         httemplate/elements/checkboxes-table.html,
+         httemplate/misc/phone_device_config.html,
+         httemplate/view/svc_phone.cgi: grandstream device configuration
+         support #4220
 
-2009-10-30 16:29  ivan
+2010-02-05 18:57  ivan
 
-       * httemplate/elements/select-part_event.html,
-         httemplate/elements/tr-select-part_event.html,
-         FS/FS/cust_event.pm, FS/FS/cust_main_Mixin.pm,
-         httemplate/elements/select-payby.html,
-         httemplate/search/cust_event.html,
-         httemplate/search/report_cust_event.html: more reporting options
-         for failed billing events, RT#6447
+       * FS/FS/: cust_pkg_discount.pm, part_pkg/flat.pm: discount
+         reporting, RT#6679
 
-2009-10-30 11:55  ivan
+2010-02-05 18:54  ivan
 
-       * FS/FS/: pay_batch.pm, pay_batch/paymentech.pm: backporting recent
-         paymentech changes to _1_9_BRANCH
+       * FS/FS/Schema.pm, FS/FS/Mason.pm, FS/FS/cust_bill_pkg.pm,
+         FS/FS/cust_bill_pkg_discount.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_pkg.pm, FS/FS.pm, FS/MANIFEST,
+         FS/FS/Report/Table/Monthly.pm, FS/t/cust_bill_pkg_discount.t,
+         httemplate/elements/menu.html,
+         httemplate/misc/delete-cust_pkg_discount.html,
+         httemplate/search/cust_bill_pkg_discount.html,
+         httemplate/search/cust_pkg_discount.html,
+         httemplate/search/report_cust_bill_pkg_discount.html,
+         httemplate/search/report_cust_pkg_discount.html: discount
+         reporting, RT#6679
 
-2009-10-30 11:51  ivan
+2010-02-04 19:02  ivan
 
-       * bin/: paymentech-download, paymentech-upload: adding paymentech-*
-         on _1_9_BRANCH
+       * httemplate/edit/process/cust_pkg_discount.html: discounts,
+         RT#6679
 
-2009-10-30 11:37  ivan
+2010-02-04 18:39  ivan
 
-       * FS/FS/: Conf.pm: add paymentech to batch config options
+       * httemplate/view/cust_main/order_pkg_link.html, FS/FS/cust_pkg.pm,
+         FS/FS/cust_pkg_discount.pm, FS/FS/discount.pm,
+         FS/FS/part_pkg/flat.pm, httemplate/edit/cust_pkg_discount.html,
+         httemplate/edit/discount.html,
+         httemplate/edit/process/discount.html,
+         httemplate/edit/process/quick-cust_pkg.cgi,
+         httemplate/elements/tr-select-discount.html,
+         httemplate/misc/order_pkg.html,
+         httemplate/view/cust_main/packages/status.html: discounts,
+         RT#6679
 
-2009-10-29 17:02  ivan
-
-       * httemplate/: browse/cust_main_county.cgi,
-         edit/bulk-cust_main_county.html,
-         edit/process/bulk-cust_main_county.html: bulk tax changes,
-         RT#6445
+2010-02-04 12:39  ivan
 
-2009-10-29 16:42  mark
+       * FS/FS/discount.pm, httemplate/edit/discount.html,
+         httemplate/elements/select-discount.html,
+         httemplate/elements/select-table.html,
+         httemplate/elements/tr-input-text.html,
+         httemplate/elements/tr-select-discount.html,
+         httemplate/elements/tr-select.html: discounts, RT#6679
 
-       * bin/paymentech-upload: add option to upload all open batches
+2010-02-04 02:00  ivan
 
-2009-10-29 16:42  ivan
+       * httemplate/edit/cust_main/top_misc.html, FS/FS/AccessRight.pm,
+         httemplate/elements/search-cust_main.html: add ability to edit
+         referring customer, RT#7174
 
-       * bin/paymentech-upload: file paymentech-upload was added on branch
-         FREESIDE_1_9_BRANCH on 2009-10-30 18:51:05 +0000
+2010-02-03 22:53  ivan
 
-2009-10-29 16:37  ivan
+       * httemplate/: elements/phonenumber.html, pref/pref-process.html,
+         pref/pref.html: snom autodial integration
 
-       * httemplate/edit/bulk-cust_main_county.html: friendlier error
-         message when you select nothing, RT#6445
+2010-02-03 20:48  ivan
 
-2009-10-29 16:36  ivan
+       * FS/FS/part_event/Condition/every.pm: fix SQL error with date
+         field when using this condition, RT#7218
 
-       * httemplate/elements/errorpage-popup.html: adding errorpage popup,
-         RT#6445
+2010-02-03 11:27  ivan
 
-2009-10-29 15:55  ivan
+       * FS/FS/cust_main.pm: better error msg for profiling
 
-       * FS/bin/freeside-queued: have freeside-queued be more resillient
-         in the face of a database that's gone away, RT#6428
+2010-02-02 18:16  ivan
 
-2009-10-29 15:18  mark
+       * FS/FS/svc_acct.pm: fix time limits getting double added if the
+         service is provisioned before first billing
 
-       * httemplate/edit/payment_gateway.html: add Jety to the list
+2010-01-30 23:04  ivan
 
-2009-10-28 12:04  ivan
+       * FS/FS/discount.pm: discounts, RT#6679
 
-       * FS/FS/: svc_Common.pm, svc_acct.pm, svc_domain.pm,
-         svc_forward.pm, svc_www.pm: fix problems using inventory for UID
-         (and other fields controlled by check in svc_acct and also
-         svc_www, svc_domain and svc_forward), RT#6366
+2010-01-30 19:00  ivan
 
-2009-10-28 11:16  ivan
+       * httemplate/browse/part_pkg_taxclass.html: fix header on report
 
-       * FS/FS/part_svc.pm: fix removing a flag from a service definition
-         column
+2010-01-30 18:57  ivan
 
-2009-10-28 10:26  ivan
+       * FS/FS/: part_pkg/agent.pm, part_pkg/bulk.pm,
+         cust_pkg_discount.pm, part_pkg/flat.pm,
+         part_pkg/flat_comission.pm, part_pkg/flat_comission_cust.pm,
+         part_pkg/flat_comission_pkg.pm, part_pkg/prorate.pm,
+         part_pkg/recur_Common.pm, part_pkg/rt_time.pm,
+         part_pkg/sesmon_hour.pm, part_pkg/sesmon_minute.pm,
+         part_pkg/sql_external.pm, part_pkg/sql_generic.pm,
+         part_pkg/sqlradacct_hour.pm, part_pkg/subscription.pm,
+         part_pkg/voip_sqlradacct.pm: discounts, RT#6679
 
-       * httemplate/misc/inventory_item-import.html: fix inventory upload,
-         RT#6366
+2010-01-30 15:00  ivan
 
-2009-10-27 23:13  ivan
+       * httemplate/: view/cust_main/packages/package.html,
+         edit/cust_pkg_discount.html, edit/process/cust_pkg_discount.html,
+         misc/delete-cust_pkg_discount.html,
+         view/cust_main/packages/status.html: discounts, RT#6679
 
-       * FS/FS/cust_pkg.pm, httemplate/misc/bulk_change_pkg.cgi,
-         httemplate/search/cust_pkg.cgi,
-         httemplate/search/report_cust_pkg.html,
-         httemplate/view/cust_main/packages.html: customer link to package
-         reports for that customer, RT#6180
+2010-01-30 12:05  ivan
 
-2009-10-27 11:11  ivan
+       * httemplate/: misc/cust-part_pkg.cgi, misc/order_pkg.html,
+         view/cust_main/packages.html, elements/select-part_pkg.html,
+         elements/select-table.html,
+         elements/tr-select-cust-part_pkg.html,
+         view/cust_main/order_pkg_link.html: discounts, RT#6679
 
-       * FS/FS/Conf.pm, FS/FS/cust_main.pm,
-         httemplate/elements/header.html: address1 search, RT#5060
+2010-01-30 00:55  ivan
 
-2009-10-26 16:20  ivan
+       * FS/FS/cust_pkg.pm, FS/FS/cust_pkg_discount.pm,
+         httemplate/edit/process/quick-cust_pkg.cgi,
+         httemplate/elements/select-discount.html,
+         httemplate/elements/tr-select-discount.html,
+         httemplate/misc/order_pkg.html,
+         httemplate/view/cust_main/packages/status.html,
+         httemplate/view/cust_main/packages/package.html: discounts,
+         RT#6679
 
-       * httemplate/elements/tr-select-pkg_class.html: didn't want to
-         revert that, though
+2010-01-29 23:55  ivan
 
-2009-10-26 16:17  ivan
+       * FS/FS/part_pkg/rt_time.pm: giving it a weight avoids weight use
+         of uninitialized value in sort messages in part_pkg.pm
 
-       * httemplate/elements/tr-select-pkg_class.html: better fix for
-         ignoring disabled package classes that doesn't search them twice
+2010-01-29 23:38  ivan
 
-2009-10-26 14:55  ivan
+       * FS/FS.pm, FS/MANIFEST, FS/FS/AccessRight.pm, FS/FS/Mason.pm,
+         FS/FS/Schema.pm, FS/FS/cust_pkg_discount.pm, FS/FS/discount.pm,
+         FS/FS/part_pkg.pm, FS/FS/part_pkg/flat.pm,
+         FS/t/cust_pkg_discount.t, FS/t/discount.t,
+         httemplate/browse/discount.html, httemplate/edit/discount.html,
+         httemplate/edit/elements/edit.html,
+         httemplate/edit/process/discount.html,
+         httemplate/elements/menu.html,
+         httemplate/elements/tr-input-text.html: discounts, RT#6679
 
-       * FS/FS/cust_bill_pkg.pm: turn off debugging
+2010-01-29 12:21  ivan
 
-2009-10-25 18:11  ivan
+       * FS/FS/Conf.pm: add Cleartext-Password to radius-password export
+         options, RT#7150
 
-       * FS/FS/part_pkg/flat.pm: eliminiate noisy but harmless "Use of
-         uninitialized value in numeric gt (>)" warning
+2010-01-29 11:52  ivan
 
-2009-10-25 16:30  ivan
+       * FS/FS/part_export/thirdlane.pm: ssl option
 
-       * FS/FS/: cust_main.pm, ClientAPI/MyAccount.pm: add apply option to
-         realtime_collect, RT#5071
+2010-01-26 21:27  ivan
 
-2009-10-24 16:37  ivan
+       * FS/FS/part_export/thirdlane.pm: URI escape pw, RT#7051
 
-       * bin/paymentech-download: file paymentech-download was added on
-         branch FREESIDE_1_9_BRANCH on 2009-10-30 18:51:05 +0000
+2010-01-26 21:21  ivan
 
-2009-10-24 16:37  mark
+       * FS/FS/part_export/thirdlane.pm: add port option, RT#7051
 
-       * bin/: paymentech-download, paymentech-upload: Scripts for
-         paymentech batch transfer
+2010-01-26 02:40  ivan
 
-2009-10-23 19:04  ivan
+       * FS/FS/svc_pbx.pm: deleting an svc_pbx unlinks svc_phones and
+         deletes svc_accts, RT#7051
 
-       * FS/FS/ClientAPI/MyAccount.pm,
-         fs_selfservice/FS-SelfService/cgi/decline.html,
-         fs_selfservice/FS-SelfService/cgi/login.html,
-         fs_selfservice/FS-SelfService/cgi/selfservice.cgi,
-         fs_selfservice/FS-SelfService/cgi/signup.cgi,
-         fs_selfservice/FS-SelfService/cgi/signup.html,
-         fs_selfservice/FS-SelfService/cgi/success.html: remove an
-         inadvertant debugging call left in, allow an agentnum to be
-         specfied for non-logged in situations, RT#6166
+2010-01-26 02:34  ivan
 
-2009-10-23 17:34  ivan
+       * FS/FS/part_export/thirdlane.pm: admin operations from svc_acct
+         records
 
-       * FS/: FS/Conf.pm, FS/ClientAPI/MyAccount.pm,
-         FS/ClientAPI/Signup.pm, bin/freeside-selfservice-server:
-         selfservice per-agent skinning
+2010-01-26 02:05  ivan
 
-2009-10-23 17:16  ivan
+       * FS/FS/svc_acct.pm, httemplate/edit/process/svc_acct.cgi: more
+         fallout from default pw encryption: fix error reporting when
+         entering a bad password
 
-       * FS/FS/agent.pm: eliminate warnings from Business::CreditCard
-         about being passed an empty number
+2010-01-26 00:35  ivan
 
-2009-10-23 17:04  ivan
+       * FS/FS/: svc_pbx.pm, part_export/thirdlane.pm: svc_pbx.title
+         uniqueness (kludgy) and force to alphanumeric+space and 19 char
+         max when using thirdlane (conservative guess for 1st pass
+         implementation), RT#7051
 
-       * FS/FS/Record.pm: fix cause of harmless 'Premature end of base64
-         data' warning
+2010-01-26 00:18  ivan
 
-2009-10-22 18:41  ivan
+       * FS/FS/svc_pbx.pm: label isn't thirdlane-specific, RT#7051
 
-       * FS/FS/: Conf.pm, cust_pkg.pm: add cust_bill-consolidate_services
-         config to collapse multiple phone numbers (or whatever) into as
-         few lines as possible on invoices, RT#5223
+2010-01-25 23:15  ivan
 
-2009-10-22 15:11  ivan
+       * FS/FS/part_export/thirdlane.pm: figured out success/failure
+         reporting, and wrote DID creation/deletion/assign/unassign,
+         RT#7051
 
-       * FS/FS/cust_bill.pm: fix invoice sub-totals, RT#6489
+2010-01-25 22:15  ivan
 
-2009-10-22 01:08  ivan
+       * FS/FS/part_export/thirdlane.pm: initial thirdlane export w/tenant
+         insert/delete/replace, RT#7051
 
-       * httemplate/search/svc_phone.cgi: should at least run under pg 8.3
-         now, need to test & see if the data make sense, RT#5496
+2010-01-25 22:14  ivan
 
-2009-10-21 22:32  ivan
+       * FS/FS/svc_pbx.pm: fix label method and doc work
 
-       * FS/FS/cust_bill_pkg_display.pm: fix incompatibility
-         w/invoice_sections vs. cust_bill_pkg.pkgnum -1 "virtual line
-         item" (rare)
+2010-01-25 22:14  ivan
 
-2009-10-21 17:28  ivan
+       * FS/FS/svc_Common.pm: remove debugging
 
-       * FS/FS/Schema.pm, bin/cdr-netsapiens.import: fix netsapiens CDR
-         import, RT#5226
+2010-01-25 20:47  jayce
 
-2009-10-21 00:09  ivan
+       * FS/FS/: part_pkg/rt_time.pm, TicketSystem/RT_External.pm: First
+         version of RT Billing pkg.  Basic concept is if a customer has
+         this package, then any time added to ticket comments in RT will
+         be added up and multiplied by the base rate, with each entry
+         showing up as a lineitem on their next invoice.
 
-       * FS/FS/Schema.pm: MySQL doesn't like indexing a text field
+         This has not been used in production yet by anybody, it was just
+         a proposal done for a customer.   Modified Files:
+         TicketSystem/RT_External.pm   Added Files:
+         part_pkg/rt_time.pm
 
-2009-10-20 23:34  ivan
+2010-01-25 14:14  ivan
 
-       * httemplate/search/prepay_credit.html: fix agent link in unused
-         prepaid card report
+       * httemplate/elements/select-svc_pbx.html,
+         httemplate/elements/tr-select-svc_pbx.html, FS/FS/Schema.pm,
+         FS/FS/svc_Common.pm, FS/FS/svc_acct.pm, FS/FS/svc_pbx.pm,
+         FS/FS/svc_phone.pm, httemplate/edit/part_svc.cgi,
+         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_phone.cgi,
+         httemplate/edit/elements/edit.html,
+         httemplate/edit/elements/svc_Common.html,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_phone.cgi:
+         linking DIDs and users to PBXes, RT#7051
 
-2009-10-20 16:24  ivan
+2010-01-25 09:41  ivan
 
-       * FS/FS/cust_bill_pay_pkg.pm: should fix problems sending a receipt
-         against a specific package when taxes are in use
+       * httemplate/edit/part_svc.cgi, FS/MANIFEST, FS/FS/Mason.pm,
+         FS/FS/Schema.pm: initial svc_pbx implementation, RT#7051
 
-2009-10-20 13:47  ivan
+2010-01-25 09:35  ivan
 
-       * bin/cdr-netsapiens.import: basic import working, still need
-         better src/dst mapping, RT#5226
+       * FS/: FS/svc_pbx.pm, t/svc_pbx.t: initial svc_pbx implementation,
+         RT#7051
 
-2009-10-20 13:43  ivan
+2010-01-24 16:31  ivan
 
-       * FS/FS/part_export/netsapiens.pm: better debug line showing full
-         URL, RT#5226
+       * FS/FS/svc_acct.pm: fix password length checks from applyhing to
+         already-crypted legacy passwords, RT#7139
 
-2009-10-20 11:30  ivan
+2010-01-24 14:38  ivan
 
-       * fs_selfservice/FS-SelfService/cgi/change_pay.html: don't show
-         duplicate 'Credit card' or 'Check' choices even when
-         signup_server-payby has CARD & DCRD (or CHEK & DCHK)
+       * httemplate/elements/: overlibmws.js, overlibmws_crossframe.js,
+         overlibmws_draggable.js, overlibmws_iframe.js: update overlib to
+         upstream v281 (jan 20, 2010)
 
-2009-10-16 15:39  ivan
+2010-01-24 12:37  ivan
 
-       * FS/FS/cust_bill_pkg.pm: make warning about expensive lookup a
-         carp & controlled by $DEBUG
+       * FS/FS/UI/Web.pm: right-align customer # in reports
 
-2009-10-12 07:11  ivan
+2010-01-24 11:53  ivan
 
-       * bin/cdr-netsapiens.import: finish netsapiens import, RT#6365
+       * httemplate/search/cust_bill.html: fix alignment of customer data
 
-2009-10-12 06:09  ivan
+2010-01-24 11:52  ivan
 
-       * FS/FS/part_export/shellcommands.pm: terrible typo
+       * httemplate/search/cust_bill_pay.html: separate out the invoice
+         and payment info into multiple columns, and fix application date
+         showing as payment date
 
-2009-10-12 05:50  ivan
+2010-01-21 00:54  ivan
 
-       * FS/FS/part_export/shellcommands.pm: add customer information to
-         shellcommands export, RT#5351
+       * FS/FS/Conf.pm: correct description for selfservice-body_footer
 
-2009-10-12 02:10  ivan
+2010-01-21 00:38  ivan
 
-       * fs_selfservice/FS-SelfService/cgi/: signup.cgi, signup.html: use
-         modules in signup.cgi instead of in the template, fixes "Insecure
-         dependency in rquire"
+       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: more
+         self-service skinning config options, and start taking a stab at
+         reorganizing config sections, RT#6893
 
-2009-10-11 23:48  ivan
+2010-01-21 00:34  ivan
 
-       * FS/FS/ClientAPI/MyAccount.pm,
+       * fs_selfservice/FS-SelfService/cgi/ach_payment_results.html,
+         fs_selfservice/FS-SelfService/cgi/change_bill.html,
+         fs_selfservice/FS-SelfService/cgi/change_password.html,
+         fs_selfservice/FS-SelfService/cgi/change_pay.html,
+         fs_selfservice/FS-SelfService/cgi/change_ship.html,
+         fs_selfservice/FS-SelfService/cgi/customer_change_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/customer_order_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/delete_svc.html,
+         fs_selfservice/FS-SelfService/cgi/header.html,
+         fs_selfservice/FS-SelfService/cgi/make_ach_payment.html,
+         fs_selfservice/FS-SelfService/cgi/make_payment.html,
+         fs_selfservice/FS-SelfService/cgi/make_thirdparty_payment.html,
          fs_selfservice/FS-SelfService/cgi/myaccount.html,
-         fs_selfservice/FS-SelfService/cgi/myaccount_menu.html: fix
-         inadvertant "unknown package" error, fallout from pkg-balance
-         work, RT#6125
+         fs_selfservice/FS-SelfService/cgi/myaccount_menu.html,
+         fs_selfservice/FS-SelfService/cgi/order_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/payment_results.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_bill.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_password.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_pay.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/process_change_ship.html,
+         fs_selfservice/FS-SelfService/cgi/process_order_pkg.html,
+         fs_selfservice/FS-SelfService/cgi/process_order_recharge.html,
+         fs_selfservice/FS-SelfService/cgi/process_svc_acct.html,
+         fs_selfservice/FS-SelfService/cgi/process_svc_external.html,
+         fs_selfservice/FS-SelfService/cgi/provision.html,
+         fs_selfservice/FS-SelfService/cgi/provision_svc_acct.html,
+         fs_selfservice/FS-SelfService/cgi/recharge_prepay.html,
+         fs_selfservice/FS-SelfService/cgi/recharge_results.html,
+         fs_selfservice/FS-SelfService/cgi/view_cdr_details.html,
+         fs_selfservice/FS-SelfService/cgi/view_invoice.html,
+         fs_selfservice/FS-SelfService/cgi/view_usage.html,
+         fs_selfservice/FS-SelfService/cgi/view_usage_details.html,
+         fs_selfservice/FS-SelfService/cgi/image.cgi,
+         FS/FS/ClientAPI/MyAccount.pm, httemplate/config/config-view.cgi,
+         FS/FS/Conf.pm: more self-service skinning config options, and
+         start taking a stab at reorganizing config sections, RT#6893
 
-2009-10-11 23:43  ivan
+2010-01-20 17:25  ivan
 
-       * FS/FS/part_event/Action/: cust_bill_fee_percent.pm, fee.pm: fix
-         for no finance_pkgclass set
+       * FS/: FS/ClientAPI.pm, FS/Mason.pm,
+         bin/freeside-selfservice-server: fix self-service fallout from RT
+         3.8, RT#6640
 
-2009-10-10 19:41  ivan
+2010-01-19 15:11  jeff
 
-       * ChangeLog, debian/changelog: Updated for 1.9.1
+       * FS/FS/part_export/prizm.pm: SM in new window
 
-2009-10-10 18:57  ivan
+2010-01-19 09:48  jeff
 
-       * ChangeLog, rpm/freeside.spec, debian/changelog: Updated for 1.9.1
+       * FS/FS/cust_main.pm: eliminate harmless uninitialized value noise
 
-2009-10-10 18:50  ivan
+2010-01-18 20:54  ivan
 
-       * Makefile, bin/cvs2cl: helps to have the tool
+       * FS/FS/pay_batch/paymentech.pm: patch from Peter Loeppky to make
+         sure some xml fields don't get larger than what paymentech wants
 
-2009-10-10 18:48  ivan
+2010-01-18 19:24  mark
 
-       * Makefile: do it
+       * httemplate/search/elements/search-csv.html: Fix mime type for CSV
+         files, RT#1526
 
-2009-10-10 18:48  ivan
+2010-01-18 18:09  jeff
 
-       * rt/lib/RT.pm: huh #2
+       * FS/FS/part_export/domreg_opensrs.pm: don't really need debugging
+         on
 
-2009-10-10 18:46  ivan
+2010-01-18 18:03  jeff
 
-       * rt/Makefile: huh
+       * FS/FS/: cust_bill_ApplicationCommon.pm,
+         part_export/domreg_opensrs.pm: debugged and tested opensrs export
 
-2009-10-10 18:45  ivan
+2010-01-18 16:13  ivan
 
-       * httemplate/search/elements/search-html.html: don't try to follow
-         a blank redirect
+       * httemplate/search/cust_bill_pkg.cgi: fix color/style after
+         removal of billpkgnum display
 
-2009-10-10 18:45  ivan
+2010-01-16 22:40  ivan
 
-       * httemplate/search/report_cdr.html: end form
+       * FS/FS/ClientAPI/MasonComponent.pm: fix for
+         selfservice_server-base_url without a trailing /
 
-2009-10-10 18:45  ivan
+2010-01-16 19:31  ivan
 
-       * httemplate/elements/tr-textarea.html: new rows and cols options
+       * FS/FS/cust_main.pm: return an error for 0 amount payments to
+         avoid a $0 payment getting stuck in declined or captured status,
+         RT#6993
 
-2009-10-10 18:44  ivan
+2010-01-16 18:34  ivan
 
-       * httemplate/elements/tr-select-pkg_class.html: respect
-         element_name
+       * FS/FS/svc_phone.pm: strip non-digits and 1- when searching for
+         phone numbers, RT#7000
 
-2009-10-10 18:43  ivan
+2010-01-16 18:22  ivan
 
-       * httemplate/browse/agent.cgi: cleanup
+       * FS/FS/: svc_acct.pm: remove svcnum from searchable fields for
+         svc_acct... custnum and invnum are user-visible, other database
+         ids, not so much.  also, breaks phone number search w/current Pg,
+         RT#7000
 
-2009-10-10 18:42  ivan
+2010-01-16 17:20  ivan
 
-       * eg/cdr_template.pm, httemplate/elements/selectlayers.html: doc
+       * ChangeLog: preparing for 2.1.0
 
-2009-10-10 18:41  ivan
+2010-01-16 16:22  jeff
 
-       * FS/FS/part_export/globalpops_voip.pm: correct variable
-         initialization
+       * FS/FS/cust_pkg.pm: work around bug in pre-perl5.10 which is at
+         best noisy and at worst missorting
 
-2009-10-10 18:40  ivan
+2010-01-16 15:39  ivan
 
-       * FS/FS/: access_right.pm, access_usergroup.pm,
-         clientapi_session_field.pm, cust_svc_option.pm: remembered to
-         customize this manpage
+       * FS/FS/part_pkg/: cdr_termination.pm: add usage_mandate option to
+         termination price plan, RT#6932
 
-2009-10-10 18:39  ivan
+2010-01-16 15:06  ivan
 
-       * FS/FS/Record.pm: ::1 becomes 127.0.0.1 in IP checks
+       * httemplate/search/cust_svc.html: fix searching for unlinked
+         services?  RT#7059
 
-2009-10-09 20:22  ivan
+2010-01-14 19:59  ivan
 
-       * ChangeLog: commit message for a file about commitmessages
+       * httemplate/edit/process/part_pkg.cgi: remove extraneous debugging
 
-2009-10-09 16:59  ivan
+2010-01-12 19:14  ivan
 
-       * FS/FS/Schema.pm, FS/FS/cust_main.pm,
-         httemplate/edit/cust_main/billing.html,
-         httemplate/elements/select-terms.html, FS/FS/cust_bill.pm,
-         httemplate/edit/quick-charge.html,
-         httemplate/edit/process/quick-charge.cgi: change invoice terms
-         for one-time charges (& bill them immediately), RT#5891
+       * FS/FS/tax_rate.pm: if ignore_icalculable_taxes is on, don't call
+         the errors fatal
 
-2009-10-09 14:37  ivan
+2010-01-12 09:08  jeff
 
-       * FS/FS/cust_main.pm: add cust_pkg_ref option to charge
+       * FS/FS/part_export/prizm.pm: add some debugging
 
-2009-10-08 01:28  ivan
+2010-01-12 08:40  jeff
 
-       * httemplate/view/cust_main/packages.html: fix "show old packages"
-         accidentally hiding cancelled packages, RT#5276
+       * FS/FS/part_export/prizm.pm: eliminate harmless argument isn't
+         numeric messages
 
-2009-10-07 23:00  ivan
+2010-01-09 15:41  ivan
 
-       * FS/FS/: cust_main.pm, Cron/bill.pm: freeside-daily -g and -m
-         cooperation (and no HASH() queue noise with -m)
+       * rt/etc/RT_SiteConfig.pm: QuickCreateLong obsolete with the better
+         quick create in 3.8
 
-2009-10-07 22:44  ivan
+2010-01-09 15:36  ivan
 
-       * FS/FS/: cust_bill.pm, cust_main.pm: avoid some (look to be
-         harmless) warnings:
+       * rt/: etc/RT_SiteConfig.pm, lib/RT/Config.pm, FREESIDE_MODIFIED,
+         etc/RT_Config.pm, etc/RT_Config.pm.in: add a "freeside2.1"
+         stylesheet to isolate our skinning changes
 
-         Argument "" isn't numeric in sprintf at
-         /usr/local/share/perl/5.10.0/FS/cust_bill.pm line 2358.
+2010-01-09 15:03  ivan
 
-         Argument "" isn't numeric in subtraction (-) at
-         /usr/local/share/perl/5.10.0/FS/cust_bill.pm line 2359.
+       * rt/html/NoAuth/images/small-logo.png: removing HTML files in old
+         location wrt RT 3.8
 
-         Argument "" isn't numeric in addition (+) at
-         /usr/local/share/perl/5.10.0/FS/cust_main.pm line 2788.
+2010-01-09 14:53  ivan
 
-2009-10-07 22:09  ivan
+       * rt/html/NoAuth/css/3.5-default/freeside.css: removing HTML files
+         in old location wrt RT 3.8
 
-       * FS/FS/cust_bill.pm: tyop
+2010-01-09 14:48  ivan
 
-2009-10-07 18:15  ivan
+       * Makefile, rt/FREESIDE_MODIFIED, rt/sbin/rt-setup-database.in:
+         fixup initial RT setup for 3.8
 
-       * FS/FS/Conf.pm, FS/FS/cust_bill.pm, conf/invoice_html,
-         conf/invoice_latex: conf switches to turn on smaller notes and
-         footer sections with stock templates, RT#5218
+2010-01-09 02:03  ivan
 
-2009-10-07 16:51  ivan
+       * FS/FS/Record.pm: need DBIx::DBSchema w/quoted_default to make
+         this all work right :/
 
-       * httemplate/view/cust_statement.html: naming follow-up notices
-         from the event rather than creting a slew of separate templates,
-         RT#5217
+2010-01-09 00:21  ivan
 
-2009-10-07 16:44  ivan
-
-       * FS/FS/cust_bill.pm, httemplate/misc/send-invoice.cgi,
-         httemplate/misc/send-statement.cgi,
-         httemplate/search/cust_event.html,
-         FS/FS/part_event/Action/cust_bill_send_reminder.pm,
-         conf/invoice_html, conf/invoice_latex, conf/invoice_template,
-         httemplate/view/cust_bill-pdf.cgi,
-         httemplate/view/cust_bill-ps.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_statement.html: naming follow-up notices
-         from the event rather than creting a slew of separate templates,
-         RT#5217
-
-2009-10-06 17:43  ivan
-
-       * FS/FS/Conf_compat17.pm: bring up-to-date wrt 1.7 Conf.pm
-         1.180.2.52 (2009-10-03), RT#2873
-
-2009-10-06 16:51  ivan
-
-       * FS/FS/cust_bill_pkg.pm: remove inadvertant debugging warnings
-
-2009-10-06 08:49  jeff
-
-       * httemplate/edit/router.cgi: replace disappearing line
-
-2009-10-05 16:36  ivan
-
-       * FS/FS/svc_acct.pm: remove annoying warning: Use of uninitialized
-         value $FS::svc_acct::passwordmin in pattern match (m//) at
-         /usr/local/share/perl/5.10.0/FS/svc_acct.pm line 60.
-
-2009-10-05 11:17  ivan
-
-       * httemplate/misc/payment.cgi: oops, handle old cust_main.pm
-         properly (should we be bothering?) :/ RT#5889
-
-2009-10-05 09:57  ivan
-
-       * httemplate/view/cust_main/payment_history/voided_payment.html:
-         doh, fix error viewing voided payments, RT#6382
-
-2009-10-05 08:07  jeff
-
-       * httemplate/elements/tr-select-pkg_class.html: remove unused
-         option that DTWT
-
-2009-10-05 07:04  jeff
-
-       * httemplate/edit/cust_main/: bottomfixup.js,
-         choose_tax_location.html, contact.html: low hanging fruit:
-         improvement in tax location selection RT#6000
-
-2009-10-05 07:01  jeff
-
-       * httemplate/edit/router.cgi: low hanging fruit: restore router
-         virtual fields (and svcnum) in 1.9 RT#5960
-
-2009-10-04 19:40  ivan
-
-       * httemplate/misc/payment.cgi: add manual_process-skip_first
-         option, RT#5889
-
-2009-10-04 19:35  ivan
-
-       * FS/FS/Conf.pm, FS/FS/cust_main.pm, httemplate/misc/payment.cgi:
-         add manual_process-skip_first option, RT#5889
-
-2009-10-04 19:16  ivan
-
-       * FS/FS/Conf.pm, httemplate/misc/payment.cgi,
-         httemplate/misc/process/payment.cgi: add manual_process-display
-         config to subtract fee from amount instead of adding, RT#5889
-
-2009-10-04 18:40  jeff
-
-       * conf/invoice_html: can't revert because windows is ghei
-
-2009-10-04 18:07  jeff
-
-       * FS/FS/cust_main.pm: don't consider setup or recurring taxes when
-         billing usage on cancel
-
-2009-10-04 18:00  jeff
-
-       * FS/FS/: cust_bill.pm, cust_main.pm, part_pkg/voip_cdr.pm:
-         invoices with details in separate section but usage not separated
-
-2009-10-04 17:49  jeff
-
-       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/Upgrade.pm,
-         FS/FS/cust_bill.pm, conf/invoice_html, conf/invoice_htmlsummary,
-         conf/invoice_latex, conf/invoice_latexsummary,
-         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_display.pm,
-         FS/FS/cust_main.pm, FS/FS/pkg_category.pm,
-         FS/FS/part_event/Action/cust_bill_fee_percent.pm,
-         FS/FS/part_event/Action/fee.pm,
-         httemplate/browse/pkg_category.html,
-         httemplate/edit/pkg_category.html: leading summary page invoices
-         #RT5086
-
-2009-10-04 16:36  ivan
-
-       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: fix the same
-         problem with processing payments & masked ACH amounts, RT#6374
-
-2009-10-04 16:31  ivan
-
-       * FS/FS/ClientAPI/MyAccount.pm: fix problems "re-saving" a masked
-         card.  hopefully the last of it!
-
-2009-10-03 19:09  ivan
-
-       * httemplate/misc/delete-cust_bill.html: delete invoices, RT#4048
-
-2009-10-03 19:04  ivan
-
-       * FS/FS/AccessRight.pm, FS/FS/Conf.pm, FS/FS/Setup.pm,
-         FS/FS/cust_bill.pm, FS/FS/cust_bill_pkg.pm,
-         FS/bin/freeside-addgroup, bin/mapsecrets2access_user,
-         httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main/payment_history.html,
-         httemplate/view/cust_main/payment_history/invoice.html: delete
-         invoices, RT#4048
-
-2009-10-03 17:08  ivan
-
-       * httemplate/view/cust_main.cgi: more room for cancellation reason
-
-2009-10-03 17:07  ivan
-
-       * httemplate/elements/popup_link-cust_main.html: doc
-
-2009-10-03 15:09  ivan
-
-       * httemplate/edit/part_bill_event.cgi: cancel to 80, comp @ 90,
-         RT#5674
-
-2009-10-03 15:06  ivan
-
-       * httemplate/edit/part_bill_event.cgi: in old invoice events,
-         chance default weight of cancel event to 90 so you can place it
-         at the same time as a realtime event, RT#5674
-
-2009-10-03 13:22  mark
-
-       * FS/FS/: pay_batch.pm, pay_batch/paymentech.pm: Load XML::Simple
-         at runtime to avoid breakage
-
-2009-10-01 16:48  ivan
-
-       * FS/FS/cust_main.pm: hopefully fully fix bulk email errors when
-         selecting a single payby
-
-2009-10-01 16:01  ivan
-
-       * FS/FS/Schema.pm: allow svc_acct._password to be NULL in the
-         schema
-
-2009-10-01 15:02  ivan
-
-       * httemplate/view/cust_main/payment_history/voided_payment.html:
-         consistency with un-voided payments wrt display
-
-2009-09-30 17:52  ivan
-
-       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: hopefully the
-         really final fix for the problems using remembered cards in
-         self-service. *sigh*
-
-2009-09-30 17:29  ivan
-
-       * FS/: FS/Conf.pm, FS/Cron/check.pm, bin/freeside-check: add login
-         check to FS::ClientAPI::SG/SGNG checks. RT#4610
-
-2009-09-30 12:33  ivan
-
-       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: hopefully the
-         final fix for the problems using remembered cards in self-service
+       * FS/bin/freeside-upgrade: undo damage from DBIx::DBSchema 0.37_03
 
-2009-09-29 15:08  ivan
+2010-01-08 08:05  jeff
 
-       * httemplate/misc/email-customers.html: should fix newsletter
-         sending error when you select a single payby only
+       * Makefile, htetc/freeside-base1.99.conf,
+         htetc/freeside-base1.conf, htetc/freeside-base2.conf,
+         htetc/htpasswd.logout, httemplate/elements/header.html,
+         httemplate/elements/logout.html,
+         httemplate/elements/rs_init_object.html,
+         httemplate/elements/xmlhttp.html: add a logout link (RT 1330 &
+         5518)
 
-2009-09-28 23:17  ivan
+2010-01-07 01:48  mark
 
-       * FS/t/cust_attachment.t: forgot
+       * FS/FS/: pay_batch.pm, pay_batch/RBC.pm: Fix problems with RBC
+         batch import (RT#6967)
 
-2009-09-28 15:45  ivan
+2010-01-05 20:47  ivan
 
-       * FS/FS/Cron/check.pm: more accurate SG check, RT#4610
+       * FS/FS/svc_acct.pm: eliminate spurious warnings on usage
+         changes...
 
-2009-09-28 15:35  ivan
+2010-01-05 20:43  ivan
 
-       * FS/: FS/Cron/check.pm, bin/freeside-check: correct place for use
-         Email::Send, RT#4610
+       * FS/FS/cust_main.pm: eliminate ya "use of uninitialized value"
+         warning
 
-2009-09-28 15:23  ivan
+2010-01-05 20:41  ivan
 
-       * FS/FS/Cron/check.pm: oops, hopefully fix sg cron check, RT#4610
+       * FS/FS/cust_main.pm: doc
 
-2009-09-28 08:55  jeff
+2010-01-03 20:13  jeff
 
-       * FS/FS/cust_pkg.pm: use object copy when billing on cancel to
-         avoid very weird side effects ( including 'impossible' history )
-         RT#5723
+       * FS/FS/Conf.pm, FS/FS/cust_bill_ApplicationCommon.pm,
+         FS/FS/part_export/domreg_opensrs.pm, bin/opensrs_domain_pkgs:
+         untested triggering of export on payments, requires config enable
+         (RT5825)
 
-2009-09-25 05:29  ivan
+2010-01-03 19:23  jeff
 
-       * FS/FS/Conf.pm, httemplate/config/config-view.cgi,
-         httemplate/config/config.cgi,
-         httemplate/config/config-process.cgi,
-         httemplate/misc/payment.cgi, httemplate/misc/process/payment.cgi:
-         processing fee on credit card recharges, RT#5889
+       * bin/monitor: add some debugging
 
-2009-09-25 03:29  ivan
+2010-01-03 00:04  ivan
 
-       * FS/FS/Conf.pm: this one too
+       * rt/: html/Elements/AddCustomers, html/Elements/EditCustomers,
+         html/Ticket/ModifyCustomers.html,
+         html/Elements/FreesideInvoiceSearch,
+         html/Elements/FreesideNewCust, html/Elements/FreesideSearch,
+         html/Elements/FreesideSvcSearch, FREESIDE_MODIFIED: port
+         skinning, customer display/edit from RT 3.6 integration to RT 3.8
+         integration
 
-2009-09-25 03:14  ivan
+2010-01-02 23:40  ivan
 
-       * FS/FS/Conf.pm, FS/FS/svc_acct.pm, FS/FS/ClientAPI/Signup.pm,
-         fs_selfservice/FS-SelfService/cgi/signup.cgi,
-         fs_selfservice/FS-SelfService/cgi/signup.html,
-         httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi, httemplate/config/config.cgi,
-         httemplate/elements/select-part_svc.html,
-         httemplate/elements/select-table.html,
-         httemplate/elements/tr-select-part_svc.html: nomadix, RT#5876
+       * htetc/: freeside-base1.99.conf, freeside-base1.conf,
+         freeside-base2.conf, handler.pl: port skinning, customer
+         display/edit from RT 3.6 integration to RT 3.8 integration
 
-2009-09-24 19:30  mark
+2010-01-02 22:42  ivan
 
-       * FS/FS/pay_batch.pm, FS/FS/Conf.pm, FS/FS/pay_batch/BoM.pm,
-         FS/FS/pay_batch/PAP.pm, FS/FS/pay_batch/ach_spiritone.pm,
-         FS/FS/pay_batch/chase_canada.pm, FS/FS/pay_batch/paymentech.pm,
-         FS/FS/pay_batch/td_canada_trust.pm,
-         httemplate/misc/download-batch.cgi,
-         httemplate/search/cust_pay_batch.cgi: Batch payment refactoring
+       * rt/html/Ticket/Elements/: AddCustomers, EditCustomers,
+         ShowCustomers: moved to new location in RT 3.8
 
-2009-09-24 18:04  mark
+2010-01-02 22:24  ivan
 
-       * FS/MANIFEST: Add cust_attachment
+       * FS/FS/TicketSystem/RT_Internal.pm: attempt to get more
+         information on errors using an RT-instansiated session??
 
-2009-09-24 12:59  ivan
+2010-01-02 19:07  ivan
 
-       * FS/FS/: Cron/check.pm, Conf.pm: get the ping username/pass from a
-         config, good enough, RT#4610
+       * Makefile, FS/FS/Mason.pm, FS/FS/Mason/Request.pm,
+         rt/etc/RT_SiteConfig.pm: can't we all just get along (with RT
+         3.8.7)?
 
-2009-09-23 20:14  ivan
+2009-12-31 15:03  mark
 
-       * FS/FS/Cron/check.pm, FS/bin/freeside-check,
-         FS/FS/ClientAPI/SGNG.pm,
-         fs_selfservice/FS-SelfService/SelfService.pm: add SG and SGNG
-         ping, RT#4610
+       * FS/FS/pay_batch/RBC.pm: Add pre-header line
 
-2009-09-23 16:47  ivan
+2009-12-31 06:31  ivan
 
-       * FS/FS/TicketSystem/RT_External.pm: this should fix the occasional
-         extra ticket showing up on wrong customer record
+       * rt/: Makefile, Makefile.in: prevent fatality
 
-2009-09-21 20:08  ivan
+2009-12-31 06:11  ivan
 
-       * FS/FS/Mason.pm: add addl_comp_root.pl and addl_handler_use.pl
-         config files, RT#4743
+       * rt/Makefile: otherwise it aborts bitchinga bout missing
+         schema.Oracle
 
-2009-09-21 13:48  ivan
+2009-12-31 06:08  ivan
 
-       * FS/FS/cust_bill.pm: i think it is new Pg (or... new Record.pm???)
-         that causes this problem... before it just returned nothing for
-         the search instead of erroring out?
+       * rt/: Makefile, config.status: install-sh????
 
-2009-09-20 23:05  ivan
+2009-12-31 05:59  ivan
+
+       * rt/: .gitignore, Makefile, config.status, bin/mason_handler.fcgi,
+         bin/mason_handler.scgi, bin/mason_handler.svc, bin/rt-crontool,
+         bin/rt-mailgate, etc/RT_Config.pm, etc/RT_Config.pm.in,
+         etc/RT_SiteConfig.pm, etc/schema.Pg, etc/schema.mysql,
+         html/autohandler, html/index.html, html/l,
+         html/Admin/autohandler, html/Admin/index.html,
+         html/Admin/CustomFields/GroupRights.html,
+         html/Admin/CustomFields/Modify.html,
+         html/Admin/CustomFields/Objects.html,
+         html/Admin/CustomFields/UserRights.html,
+         html/Admin/CustomFields/index.html,
+         html/Admin/Elements/AddCustomFieldValue,
+         html/Admin/Elements/ConfigureMyRT,
+         html/Admin/Elements/CreateUserCalled,
+         html/Admin/Elements/CustomFieldTabs,
+         html/Admin/Elements/EditCustomField,
+         html/Admin/Elements/EditCustomFieldValues,
+         html/Admin/Elements/EditCustomFields,
+         html/Admin/Elements/EditQueueWatchers,
+         html/Admin/Elements/EditScrip, html/Admin/Elements/EditScrips,
+         html/Admin/Elements/EditTemplates,
+         html/Admin/Elements/EditUserComments,
+         html/Admin/Elements/GlobalCustomFieldTabs,
+         html/Admin/Elements/GroupTabs, html/Admin/Elements/Header,
+         html/Admin/Elements/ListGlobalCustomFields,
+         html/Admin/Elements/ListGlobalScrips,
+         html/Admin/Elements/ModifyTemplate,
+         html/Admin/Elements/ObjectCustomFields,
+         html/Admin/Elements/PickCustomFields,
+         html/Admin/Elements/PickObjects,
+         html/Admin/Elements/QueueRightsForUser,
+         html/Admin/Elements/QueueTabs,
+         html/Admin/Elements/SelectCustomFieldLookupType,
+         html/Admin/Elements/SelectCustomFieldType,
+         html/Admin/Elements/SelectGroups,
+         html/Admin/Elements/SelectModifyGroup,
+         html/Admin/Elements/SelectModifyQueue,
+         html/Admin/Elements/SelectModifyUser,
+         html/Admin/Elements/SelectNewGroupMembers,
+         html/Admin/Elements/SelectRights,
+         html/Admin/Elements/SelectScrip,
+         html/Admin/Elements/SelectScripAction,
+         html/Admin/Elements/SelectScripCondition,
+         html/Admin/Elements/SelectSingleOrMultiple,
+         html/Admin/Elements/SelectStage,
+         html/Admin/Elements/SelectTemplate,
+         html/Admin/Elements/SelectUsers, html/Admin/Elements/SystemTabs,
+         html/Admin/Elements/Tabs, html/Admin/Elements/ToolTabs,
+         html/Admin/Elements/UserTabs, html/Admin/Global/GroupRights.html,
+         html/Admin/Global/MyRT.html, html/Admin/Global/Scrip.html,
+         html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
+         html/Admin/Global/Templates.html,
+         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
+         html/Admin/Global/CustomFields/Groups.html,
+         html/Admin/Global/CustomFields/Queue-Tickets.html,
+         html/Admin/Global/CustomFields/Queue-Transactions.html,
+         html/Admin/Global/CustomFields/Users.html,
+         html/Admin/Global/CustomFields/index.html,
+         html/Admin/Groups/CustomFields.html,
+         html/Admin/Groups/GroupRights.html,
+         html/Admin/Groups/History.html, html/Admin/Groups/Members.html,
+         html/Admin/Groups/Modify.html, html/Admin/Groups/UserRights.html,
+         html/Admin/Groups/index.html, html/Admin/Queues/CustomField.html,
+         html/Admin/Queues/CustomFields.html,
+         html/Admin/Queues/GroupRights.html,
+         html/Admin/Queues/Modify.html, html/Admin/Queues/People.html,
+         html/Admin/Queues/Scrip.html, html/Admin/Queues/Scrips.html,
+         html/Admin/Queues/Template.html,
+         html/Admin/Queues/Templates.html,
+         html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
+         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
+         html/Admin/Users/CustomFields.html,
+         html/Admin/Users/History.html, html/Admin/Users/Memberships.html,
+         html/Admin/Users/Modify.html, html/Admin/Users/MyRT.html,
+         html/Admin/Users/index.html, html/Approvals/Display.html,
+         html/Approvals/index.html, html/Approvals/Elements/Approve,
+         html/Approvals/Elements/PendingMyApproval,
+         html/Approvals/Elements/ShowDependency,
+         html/Approvals/Elements/Tabs,
+         html/Download/CustomFieldValue/dhandler,
+         html/Download/Tabular/dhandler, html/Elements/BevelBoxRaisedEnd,
+         html/Elements/BevelBoxRaisedStart, html/Elements/Callback,
+         html/Elements/Checkbox, html/Elements/CreateTicket,
+         html/Elements/EditCustomField,
+         html/Elements/EditCustomFieldBinary,
+         html/Elements/EditCustomFieldCombobox,
+         html/Elements/EditCustomFieldFreeform,
+         html/Elements/EditCustomFieldImage,
+         html/Elements/EditCustomFieldSelect,
+         html/Elements/EditCustomFieldText,
+         html/Elements/EditCustomFieldWikitext, html/Elements/EditLinks,
+         html/Elements/EmailInput, html/Elements/Error,
+         html/Elements/Footer, html/Elements/GotoTicket,
+         html/Elements/Header, html/Elements/ListActions,
+         html/Elements/Login, html/Elements/Logo, html/Elements/Menu,
+         html/Elements/MessageBox, html/Elements/MyAdminQueues,
+         html/Elements/MyRT, html/Elements/MyReminders,
+         html/Elements/MyRequests, html/Elements/MySupportQueues,
+         html/Elements/MyTickets, html/Elements/PageLayout,
+         html/Elements/QueryString, html/Elements/QueueSummary,
+         html/Elements/QuickCreate, html/Elements/Quicksearch,
+         html/Elements/Refresh, html/Elements/RefreshHomepage,
+         html/Elements/ScrubHTML, html/Elements/Section,
+         html/Elements/SelectAttachmentField, html/Elements/SelectBoolean,
+         html/Elements/SelectCustomFieldOperator,
+         html/Elements/SelectCustomFieldValue, html/Elements/SelectDate,
+         html/Elements/SelectDateRelation, html/Elements/SelectDateType,
+         html/Elements/SelectEqualityOperator, html/Elements/SelectGroups,
+         html/Elements/SelectLang, html/Elements/SelectLinkType,
+         html/Elements/SelectMatch, html/Elements/SelectNewTicketQueue,
+         html/Elements/SelectOwner, html/Elements/SelectQueue,
+         html/Elements/SelectResultsPerPage,
+         html/Elements/SelectSortOrder, html/Elements/SelectStatus,
+         html/Elements/SelectTicketSortBy,
+         html/Elements/SelectTicketTypes, html/Elements/SelectTimeUnits,
+         html/Elements/SelectUsers, html/Elements/SelectWatcherType,
+         html/Elements/SetupSessionCookie,
+         html/Elements/ShowCustomFieldBinary,
+         html/Elements/ShowCustomFieldImage,
+         html/Elements/ShowCustomFieldWikitext,
+         html/Elements/ShowCustomFields, html/Elements/ShowLink,
+         html/Elements/ShowLinks, html/Elements/ShowMemberships,
+         html/Elements/ShowSearch, html/Elements/SimpleSearch,
+         html/Elements/Submit, html/Elements/Tabs,
+         html/Elements/TicketList, html/Elements/TitleBox,
+         html/Elements/TitleBoxEnd, html/Elements/TitleBoxStart,
+         html/Elements/ValidateCustomFields,
+         html/Elements/CollectionAsTable/Header,
+         html/Elements/CollectionAsTable/ParseFormat,
+         html/Elements/CollectionAsTable/Row,
+         html/Elements/RT__Ticket/ColumnMap, html/Helpers/CalPopup.html,
+         html/Helpers/EmailAutocomplete, html/NoAuth/Logout.html,
+         html/NoAuth/Reminder.html, html/NoAuth/css/autohandler,
+         html/NoAuth/css/dhandler, html/NoAuth/css/print.css,
+         html/NoAuth/css/3.4-compat/body.css,
+         html/NoAuth/css/3.4-compat/footer.css,
+         html/NoAuth/css/3.4-compat/forms.css,
+         html/NoAuth/css/3.4-compat/header.css,
+         html/NoAuth/css/3.4-compat/login.css,
+         html/NoAuth/css/3.4-compat/main.css,
+         html/NoAuth/css/3.4-compat/misc.css,
+         html/NoAuth/css/3.4-compat/nav.css,
+         html/NoAuth/css/3.4-compat/quickbar.css,
+         html/NoAuth/css/3.4-compat/ticket.css,
+         html/NoAuth/css/3.4-compat/titlebox.css,
+         html/NoAuth/css/3.4-compat/transactions.css,
+         html/NoAuth/css/3.5-default/approvals.css,
+         html/NoAuth/css/3.5-default/body.css,
+         html/NoAuth/css/3.5-default/footer.css,
+         html/NoAuth/css/3.5-default/forms.css,
+         html/NoAuth/css/3.5-default/header.css,
+         html/NoAuth/css/3.5-default/login.css,
+         html/NoAuth/css/3.5-default/logo.css,
+         html/NoAuth/css/3.5-default/main.css,
+         html/NoAuth/css/3.5-default/misc.css,
+         html/NoAuth/css/3.5-default/nav.css,
+         html/NoAuth/css/3.5-default/quickbar.css,
+         html/NoAuth/css/3.5-default/ticket.css,
+         html/NoAuth/css/3.5-default/titlebox.css,
+         html/NoAuth/css/3.5-default/transactions.css,
+         html/NoAuth/images/autohandler, html/NoAuth/images/bplogo.gif,
+         html/NoAuth/images/favicon.png,
+         html/NoAuth/images/css/cb-light.gif,
+         html/NoAuth/images/css/cb.gif,
+         html/NoAuth/images/css/cbr-b2g.gif,
+         html/NoAuth/images/css/cbr-b2lb.gif,
+         html/NoAuth/images/css/cbr-gray.gif,
+         html/NoAuth/images/css/cbr-trans.gif,
+         html/NoAuth/images/css/cbr.gif,
+         html/NoAuth/images/css/ct-light.gif,
+         html/NoAuth/images/css/ct.gif,
+         html/NoAuth/images/css/ctr-b2g.gif,
+         html/NoAuth/images/css/ctr-b2lb.gif,
+         html/NoAuth/images/css/ctr-gray.gif,
+         html/NoAuth/images/css/ctr-trans.gif,
+         html/NoAuth/images/css/ctr.gif,
+         html/NoAuth/images/css/dark-arrow-up.png,
+         html/NoAuth/images/css/dark-arrow.png,
+         html/NoAuth/images/css/fieldbg-autocomplete.gif,
+         html/NoAuth/images/css/light-arrow-up.png,
+         html/NoAuth/images/css/light-arrow.png,
+         html/NoAuth/images/css/rolldown-arrow.gif,
+         html/NoAuth/images/css/rolldown-arrow.png,
+         html/NoAuth/images/css/rollup-arrow.gif, html/NoAuth/js/ahah.js,
+         html/NoAuth/js/autohandler, html/NoAuth/js/cascaded.js,
+         html/NoAuth/js/class.js, html/NoAuth/js/combobox.js,
+         html/NoAuth/js/list.js, html/NoAuth/js/titlebox-state.js,
+         html/NoAuth/js/util.js, html/NoAuth/js/scriptaculous/controls.js,
+         html/NoAuth/js/scriptaculous/effects.js,
+         html/NoAuth/js/scriptaculous/prototype.js,
+         html/NoAuth/js/scriptaculous/scriptaculous.js,
+         html/Prefs/MyRT.html, html/Prefs/Quicksearch.html,
+         html/Prefs/Search.html, html/Prefs/SearchOptions.html,
+         html/Prefs/Elements/Tabs, html/REST/1.0/autohandler,
+         html/REST/1.0/dhandler, html/REST/1.0/logout,
+         html/REST/1.0/Forms/queue/default, html/REST/1.0/Forms/queue/ns,
+         html/REST/1.0/Forms/ticket/attachments,
+         html/REST/1.0/Forms/ticket/comment,
+         html/REST/1.0/Forms/ticket/default,
+         html/REST/1.0/Forms/ticket/history,
+         html/REST/1.0/Forms/ticket/links,
+         html/REST/1.0/Forms/ticket/merge,
+         html/REST/1.0/Forms/ticket/take,
+         html/REST/1.0/Forms/transaction/default,
+         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
+         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
+         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
+         html/REST/1.0/ticket/link, html/REST/1.0/ticket/merge,
+         html/Search/Build.html, html/Search/Bulk.html, html/Search/Chart,
+         html/Search/Chart.html, html/Search/Edit.html,
+         html/Search/Results.html, html/Search/Results.rdf,
+         html/Search/Results.tsv, html/Search/Simple.html,
+         html/Search/Elements/BuildFormatString,
+         html/Search/Elements/Chart, html/Search/Elements/DisplayOptions,
+         html/Search/Elements/EditFormat, html/Search/Elements/EditQuery,
+         html/Search/Elements/EditSearches,
+         html/Search/Elements/NewListActions,
+         html/Search/Elements/PickBasics, html/Search/Elements/PickCFs,
+         html/Search/Elements/PickCriteria,
+         html/Search/Elements/SearchPrivacy,
+         html/Search/Elements/SearchesForObject,
+         html/Search/Elements/SelectAndOr,
+         html/Search/Elements/SelectChartType,
+         html/Search/Elements/SelectGroup,
+         html/Search/Elements/SelectGroupBy,
+         html/Search/Elements/SelectLinks,
+         html/Search/Elements/SelectPersonType,
+         html/Search/Elements/SelectSearchObject,
+         html/Search/Elements/SelectSearchesForObjects,
+         html/SelfService/Closed.html, html/SelfService/Create.html,
+         html/SelfService/CreateTicketInQueue.html,
+         html/SelfService/Display.html, html/SelfService/Error.html,
+         html/SelfService/Prefs.html, html/SelfService/Update.html,
+         html/SelfService/index.html,
+         html/SelfService/Attachment/dhandler,
+         html/SelfService/Elements/GotoTicket,
+         html/SelfService/Elements/Header,
+         html/SelfService/Elements/MyRequests,
+         html/SelfService/Elements/Tabs, html/Ticket/Create.html,
+         html/Ticket/Display.html, html/Ticket/History.html,
+         html/Ticket/Modify.html, html/Ticket/ModifyAll.html,
+         html/Ticket/ModifyDates.html, html/Ticket/ModifyLinks.html,
+         html/Ticket/ModifyPeople.html, html/Ticket/Reminders.html,
+         html/Ticket/ShowEmailRecord.html, html/Ticket/Update.html,
+         html/Ticket/Attachment/dhandler,
+         html/Ticket/Elements/AddWatchers, html/Ticket/Elements/BulkLinks,
+         html/Ticket/Elements/EditBasics,
+         html/Ticket/Elements/EditCustomField,
+         html/Ticket/Elements/EditCustomFields,
+         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
+         html/Ticket/Elements/EditWatchers,
+         html/Ticket/Elements/FindAttachments,
+         html/Ticket/Elements/LoadTextAttachments,
+         html/Ticket/Elements/PreviewScrips,
+         html/Ticket/Elements/Reminders,
+         html/Ticket/Elements/ShowAttachments,
+         html/Ticket/Elements/ShowBasics,
+         html/Ticket/Elements/ShowCustomFields,
+         html/Ticket/Elements/ShowDates,
+         html/Ticket/Elements/ShowDependencies,
+         html/Ticket/Elements/ShowGroupMembers,
+         html/Ticket/Elements/ShowHistory,
+         html/Ticket/Elements/ShowMembers,
+         html/Ticket/Elements/ShowMessageHeaders,
+         html/Ticket/Elements/ShowMessageStanza,
+         html/Ticket/Elements/ShowPeople, html/Ticket/Elements/ShowQueue,
+         html/Ticket/Elements/ShowRequestor,
+         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/ShowTime,
+         html/Ticket/Elements/ShowTransaction,
+         html/Ticket/Elements/ShowTransactionAttachments,
+         html/Ticket/Elements/ShowUserEntry, html/Ticket/Elements/Tabs,
+         html/Tools/MyDay.html, html/Tools/Offline.html,
+         html/Tools/index.html, html/Tools/Elements/Tabs,
+         html/Tools/Reports/CreatedByDates.html,
+         html/Tools/Reports/ResolvedByDates.html,
+         html/Tools/Reports/ResolvedByOwner.html,
+         html/Tools/Reports/index.html, html/Tools/Reports/Elements/Tabs,
+         html/User/Delegation.html, html/User/Prefs.html,
+         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
+         html/User/Elements/Tabs, html/User/Groups/Members.html,
+         html/User/Groups/Modify.html, html/User/Groups/index.html,
+         html/Widgets/ComboBox, html/Widgets/SavedSearch,
+         html/Widgets/SelectionBox, html/Widgets/TitleBox,
+         html/Widgets/TitleBoxEnd, html/Widgets/TitleBoxStart, lib/RT.pm,
+         lib/RT/Groups_Overlay.pm, lib/RT/Record.pm,
+         lib/RT/SearchBuilder.pm, lib/RT/Ticket_Overlay.pm,
+         lib/RT/Transaction_Overlay.pm, lib/RT/User_Overlay.pm,
+         lib/RT/Users_Overlay.pm, lib/RT/I18N/no.po, lib/RT/I18N/pt_br.po,
+         lib/RT/I18N/pt_pt.po, lib/RT/I18N/zh_cn.po, lib/RT/I18N/zh_tw.po,
+         lib/t/00smoke.t, lib/t/create_data.pl, lib/t/setup_regression.t,
+         lib/t/data/crashes-file-based-parser, lib/t/data/lorem-ipsum,
+         lib/t/data/multipart-alternative-with-umlaut,
+         lib/t/data/multipart-report, lib/t/data/nested-mime-sample,
+         lib/t/data/nested-rfc-822, lib/t/data/new-ticket-from-iso-8859-1,
+         lib/t/data/new-ticket-from-iso-8859-1-full,
+         lib/t/data/notes-uuencoded, lib/t/data/rt-send-cc,
+         lib/t/data/russian-subject-no-content-type,
+         lib/t/data/subject-with-folding-ws,
+         lib/t/data/text-html-in-russian,
+         lib/t/data/text-html-with-umlaut, lib/t/data/very-long-subject,
+         lib/t/data/8859-15-message-series/dir,
+         lib/t/data/8859-15-message-series/msg1,
+         lib/t/data/8859-15-message-series/msg2,
+         lib/t/data/8859-15-message-series/msg3,
+         lib/t/data/8859-15-message-series/msg4,
+         lib/t/data/8859-15-message-series/msg5,
+         lib/t/data/8859-15-message-series/msg6,
+         lib/t/data/8859-15-message-series/msg7,
+         lib/t/regression/00-mason-syntax.t,
+         lib/t/regression/01ticket_link_searching.t,
+         lib/t/regression/02basic_web.t,
+         lib/t/regression/03web_compiliation_errors.t,
+         lib/t/regression/04send_email.t,
+         lib/t/regression/05cronsupport.t,
+         lib/t/regression/06-mime_decoding.t,
+         lib/t/regression/06mailgateway.t, lib/t/regression/07acl.t,
+         lib/t/regression/07rights.t, lib/t/regression/08web_cf_access.t,
+         lib/t/regression/09record_cf_api.t, lib/t/regression/10merge.t,
+         lib/t/regression/11-template-insert.t,
+         lib/t/regression/12-search.t,
+         lib/t/regression/13-attribute-tests.t,
+         lib/t/regression/14linking.t, lib/t/regression/14merge.t,
+         lib/t/regression/15cf_combo_cascade.t,
+         lib/t/regression/15cf_pattern.t,
+         lib/t/regression/15cf_single_values_are_single.t,
+         lib/t/regression/16-transaction_cf_tests.t,
+         lib/t/regression/17custom_search.t,
+         lib/t/regression/17multiple_deleg_revocation.t,
+         lib/t/regression/18custom_frontpage.t,
+         lib/t/regression/18stale_delegations_cleanup.t,
+         lib/t/regression/19-rtname.t, lib/t/regression/19quicksearch.t,
+         lib/t/regression/20-sort-by-queue.t,
+         lib/t/regression/20-sort-by-requestor.t,
+         lib/t/regression/20-sort-by-user.t,
+         lib/t/regression/20savedsearch.t,
+         lib/t/regression/21query-builder.t,
+         lib/t/regression/22search_tix_by_txn.t,
+         lib/t/regression/22search_tix_by_watcher.t,
+         lib/t/regression/23-batch-upload-csv.t,
+         lib/t/regression/23-web_attachments.t,
+         lib/t/regression/23cfsort-freeform-multiple.t,
+         lib/t/regression/23cfsort-freeform-single.t,
+         lib/t/regression/23cfsort.t, lib/t/regression/24-watchers.t,
+         lib/t/regression/24pawsort.t, lib/t/regression/25scrip_order.t,
+         lib/t/regression/26command_line.t, lib/t/regression/27verp.t,
+         lib/t/regression/mime_tests, sbin/extract_pod_tests,
+         sbin/regression_harness, sbin/rt-setup-database.in: merging
+         3.8.7!!!
+
+2009-12-31 05:16  ivan
+
+       * rt/etc/: schema.mysql-4.0, schema.mysql-4.1,
+         upgrade/shrink_cgm_table.pl, upgrade/split-out-cf-categories,
+         upgrade/split-out-cf-categories.in,
+         upgrade/upgrade-mysql-schema.pl,
+         upgrade/3.8-branded-queues-extension,
+         upgrade/3.8-branded-queues-extension.in,
+         upgrade/3.8-ical-extension, upgrade/3.8-ical-extension.in:
+         Initial revision
+
+2009-12-31 05:12  ivan
+
+       * rt/: lib/RT/I18N/pt_BR.po, lib/RT/I18N/nb.po,
+         lib/RT/I18N/zh_CN.po, lib/RT/I18N/ar.po, lib/RT/I18N/pt.po,
+         lib/RT/I18N/ru.pm, lib/RT/Condition/ReopenTicket.pm,
+         lib/RT/Condition/CloseTicket.pm,
+         docs/creating_external_custom_fields.pod,
+         docs/extending_clickable_links.pod, docs/gnupg_integration.pod,
+         docs/porting.windows, docs/queue_subject_tag.pod,
+         docs/templates.pod, docs/using_forms_widgets.pod,
+         docs/design_docs/gnupg_details_on_output_formats: Initial
+         revision
+
+2009-12-31 05:09  ivan
+
+       * rt/: UPGRADING.mysql, lib/RT/Test.pm, sbin/merge-rosetta.pl,
+         sbin/rt-attributes-viewer, sbin/rt-attributes-viewer.in,
+         sbin/rt-clean-sessions, sbin/rt-clean-sessions.in,
+         sbin/rt-email-dashboards, sbin/rt-email-dashboards.in,
+         sbin/rt-email-digest, sbin/rt-email-digest.in,
+         sbin/rt-email-group-admin, sbin/rt-email-group-admin.in,
+         sbin/rt-server, sbin/rt-server.in, sbin/rt-shredder,
+         sbin/rt-shredder.in, sbin/rt-validator, sbin/rt-validator.in,
+         sbin/tweak-template-locstring, lib/RT/Search.pm,
+         lib/RT/Config.pm, lib/RT/Dashboard.pm, lib/RT/Installer.pm,
+         lib/RT/Plugin.pm, lib/RT/Ruleset.pm, lib/RT/Shredder.pm,
+         lib/RT/Approval.pm, lib/RT/Action.pm, lib/RT/SharedSetting.pm,
+         lib/RT/Condition.pm, lib/RT/SQL.pm, lib/RT/Util.pm,
+         lib/RT/Rule.pm, lib/RT/Interface/Web/Request.pm,
+         lib/RT/Interface/Web/Session.pm, lib/RT/Action/LinearEscalate.pm,
+         lib/RT/Action/ExtractSubjectTag.pm, lib/RT/Action/NotifyGroup.pm,
+         lib/RT/Action/NotifyGroupAsComment.pm, lib/RT/I18N/bg.po,
+         lib/RT/I18N/rt.pot, lib/RT/I18N/hr.po, lib/RT/I18N/zh_TW.po:
+         Initial revision
+
+2009-12-31 04:56  ivan
+
+       * rt/: Makefile, lib/RT.pm: rt 3.6.10
+
+2009-12-31 04:44  ivan
+
+       * rt/: etc/RT_Config.pm.in, html/Admin/Users/Modify.html,
+         html/Elements/Footer, html/Elements/Header, html/Elements/Menu,
+         html/Elements/PageLayout, html/Elements/QuickCreate,
+         html/Elements/SelectDate, html/Elements/SimpleSearch,
+         html/Elements/Tabs, html/Elements/TicketList,
+         html/Elements/TitleBoxStart, html/Elements/CollectionAsTable/Row,
+         html/NoAuth/css/3.5-default/main.css,
+         html/NoAuth/css/3.5-default/misc.css,
+         html/NoAuth/css/3.5-default/titlebox.css,
+         html/NoAuth/css/3.5-default/transactions.css,
+         html/Prefs/SearchOptions.html, html/Search/Bulk.html,
+         html/Ticket/Create.html, html/Ticket/Display.html,
+         html/Ticket/Elements/ShowSummary,
+         html/Ticket/Elements/ShowTransactionAttachments,
+         html/Ticket/Elements/Tabs, html/User/Prefs.html,
+         html/Widgets/TitleBoxStart, lib/RT/Groups_Overlay.pm,
+         lib/RT/Record.pm, lib/RT/SearchBuilder.pm,
+         lib/RT/Ticket_Overlay.pm, lib/RT/Transaction_Overlay.pm,
+         lib/RT/User_Overlay.pm, lib/RT/Users_Overlay.pm,
+         sbin/rt-setup-database.in: rt 3.6.10
+
+2009-12-31 04:35  ivan
+
+       * rt/FREESIDE_MODIFIED: up-to-date
+
+2009-12-30 23:16  ivan
+
+       * FS/FS/Schema.pm: fix h_cdr acctid changing from bigint to int
+         with recent DBIx::DBSchema
+
+2009-12-30 21:10  ivan
+
+       * FS/: FS/Cron/bill.pm, bin/freeside-daily: specify multiple
+         agentnums with freeside-daily
+
+2009-12-30 19:33  ivan
+
+       * Makefile: goodbye conf dir
+
+2009-12-30 18:50  jeff
+
+       * FS/FS/cust_main.pm: really reduce the noise
+
+2009-12-30 18:20  ivan
+
+       * httemplate/: edit/prospect_main.html, edit/elements/edit.html,
+         edit/process/elements/process.html, elements/contact.html,
+         elements/menu.html: prospecting: proper contact error handling
+         when you add a prospect
+
+2009-12-29 22:41  jeff
+
+       * FS/FS/part_pkg/voip_cdr.pm: define all detail header list
+         elements
+
+2009-12-29 22:05  jeff
+
+       * FS/FS/cust_main.pm: noise reduction
+
+2009-12-29 21:22  jeff
+
+       * FS/FS/tax_rate.pm: noise reduction
+
+2009-12-29 18:39  jeff
+
+       * FS/FS/cust_bill_pkg_detail.pm: use the class used
+
+2009-12-29 18:26  jeff
+
+       * FS/FS/cust_main.pm: noise reduction
+
+2009-12-28 20:49  ivan
+
+       * FS/bin/freeside-upgrade: output SQL statements as we run them
+         (and only the ones we run), not immediately
+
+2009-12-28 20:44  ivan
+
+       * FS/FS/Conf.pm: oops, syntax error adding queued-sleep_time
+
+2009-12-28 20:24  ivan
+
+       * FS/bin/: freeside-upgrade: don't change h_queue.job type under
+         non-mysql, takes forever on large dbs, RT#6946
+
+2009-12-28 17:38  ivan
+
+       * FS/bin/freeside-daily: add -u option for vacuuming, RT#5258
+
+2009-12-28 17:30  ivan
+
+       * bin/: del-old-history, pg-sizer: some random utils for disk space
+         analysis and eliminating old history records, RT#6914
+
+2009-12-28 17:00  mark
+
+       * FS/FS/AccessRight.pm, httemplate/browse/cust_attachment.html,
+         httemplate/elements/menu.html: Add Browse attachments ACL
+         (RT#4964)
+
+2009-12-28 16:38  ivan
+
+       * FS/: FS/Conf.pm, bin/freeside-queued: add queued-sleep_time
+
+2009-12-28 11:18  ivan
+
+       * FS/FS/AccessRight.pm, FS/FS/Mason.pm, FS/FS/Schema.pm,
+         FS/FS/Setup.pm, FS/FS/Upgrade.pm, FS/FS/contact.pm,
+         FS/FS/contact_email.pm, FS/FS/contact_phone.pm,
+         FS/FS/cust_location.pm, FS/FS/o2m_Common.pm, FS/FS/phone_type.pm,
+         FS/FS/prospect_main.pm, FS/MANIFEST, FS/t/contact.t,
+         FS/t/contact_email.t, FS/t/contact_phone.t, FS/t/phone_type.t,
+         FS/t/prospect_main.t, httemplate/edit/prospect_main.html,
+         httemplate/edit/process/prospect_main.html,
+         httemplate/elements/city.html, httemplate/elements/contact.html,
+         httemplate/elements/header.html, httemplate/elements/menu.html,
+         httemplate/elements/tr-contact.html,
+         httemplate/elements/tr-select-cust_location.html,
+         httemplate/search/prospect_main.html,
+         httemplate/search/report_prospect_main.html,
+         httemplate/view/prospect_main.html,
+         httemplate/edit/elements/edit.html,
+         httemplate/edit/process/elements/process.html,
+         httemplate/misc/location.cgi,
+         httemplate/view/cust_main/packages/location.html, FS/FS.pm:
+         beginning of prospect/CRM/contact work
+
+2009-12-27 21:25  ivan
+
+       * FS/FS/: part_pkg_taxclass.pm, phone_device.pm: use blessed
+
+2009-12-26 17:00  jeff
+
+       * FS/FS/: cust_location.pm, cust_main.pm: improve spacing around
+         county
+
+2009-12-23 15:32  jeff
+
+       * bin/monitor: remove debugging
+
+2009-12-23 15:29  jeff
+
+       * bin/monitor: add non-forking one machine monitor program
+
+2009-12-23 15:14  jeff
+
+       * FS/FS/Yori.pm: teach yori to do some load monitoring
+
+2009-12-23 13:21  jeff
+
+       * FS/FS/cust_bill.pm, FS/FS/cust_location.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_pkg.pm,
+         httemplate/view/cust_main/packages/location.html: correct invoice
+         package address display and reduce false laziness
+
+2009-12-22 16:30  mark
+
+       * FS/FS/svc_acct.pm, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/process/svc_acct.cgi: Tweak set_password per
+         RT#6358
+
+2009-12-21 06:44  jeff
+
+       * FS/FS/: Schema.pm, cust_bill_pkg.pm,
+         cust_bill_pkg_tax_location.pm, cust_credit_bill_pkg.pm,
+         cust_tax_exempt_pkg.pm: manage tax exemptions (texas-tax) on
+         credit application RT953
+
+2009-12-21 06:36  jeff
+
+       * FS/FS/Conf.pm, FS/FS/tax_rate.pm, bin/fetch_and_expand_taxes,
+         bin/reassemble_taxes: move cch conf into database and add a
+         couple small tools for processing updates more manually
+
+2009-12-20 18:00  ivan
+
+       * FS/FS/cust_main.pm, httemplate/misc/bill.cgi: have 'Bill now'
+         link cancel expired (and suspend adjourned) packages, and catch
+         and return errors in all cases, RT#6627
+
+2009-12-20 13:52  ivan
+
+       * FS/FS/Conf.pm: late fee package class specified in the event
+         action instead of a global finance_pkgclass config, RT#6617
+
+2009-12-20 13:48  ivan
+
+       * FS/FS/part_event/Action/: cust_bill_fee_percent.pm, fee.pm: late
+         fee package class specified in the event action instead of a
+         global finance_pkgclass config, RT#6617
+
+2009-12-20 11:42  ivan
+
+       * FS/FS/ClientAPI/MyAccount.pm: fix usage details pulling from
+         wrong account for customers who have multiple accounts, RT#6681,
+         fallout from RT#4189
+
+2009-12-19 22:52  ivan
+
+       * httemplate/search/cust_pkg.cgi: fix address fields on advanced
+         package search, RT#6609
+
+2009-12-19 18:51  ivan
+
+       * FS/FS/cust_pkg.pm: fix bulk package order with one package
+         changing to one new package, RT#6519, fallout from RT#4499
+
+2009-12-19 17:02  ivan
+
+       * httemplate/view/cust_main/: packages.html, payment_history.html:
+         fix cust_main-packages-years, RT#6798
+
+2009-12-19 15:52  ivan
+
+       * FS/FS/cust_bill_ApplicationCommon.pm: fix more
+         ->owed_setup/owed_recur clashing with
+         cust_bill->open_cust_bill_pkg separating line items, RT#4729
+
+2009-12-19 15:28  ivan
+
+       * FS/FS/cust_bill_ApplicationCommon.pm: fix credit application, at
+         least in vedeya's case on HEAD, RT#6819, fallout from tax
+         credits, RT#4729
+
+2009-12-19 14:52  ivan
+
+       * httemplate/edit/elements/ApplicationCommon.html: fix fill-in of
+         credit amount when there aren't tax buttons
+
+2009-12-19 14:41  ivan
+
+       * httemplate/edit/cust_credit.cgi: add add'l info field as a
+         customer-editable field, RT#6505
+
+2009-12-19 14:32  ivan
+
+       * httemplate/view/cust_main/payment_history.html: make room for
+         credit reasons in popup
+
+2009-12-19 12:29  ivan
+
+       * FS/FS/cust_main_Mixin.pm: fix event report w/ a customer status
+
+2009-12-19 11:10  ivan
+
+       * FS/FS/part_pkg.pm: fix package order to really display only those
+         pacakges available
+
+2009-12-19 11:09  ivan
+
+       * httemplate/misc/cust-part_pkg.cgi: fix order of packages after
+         class selection changes
+
+2009-12-18 10:20  jeff
+
+       * FS/FS/cust_bill_pkg_tax_location.pm,
+         FS/FS/cust_bill_pkg_tax_rate_location.pm,
+         httemplate/edit/elements/ApplicationCommon.html,
+         httemplate/misc/xmlhttp-calculate_taxes.html: fix handling of tax
+         location records and add a 'clear' button for tax credits
+
+2009-12-17 16:41  ivan
+
+       * rt/bin/standalone_httpd: Initial revision
+
+2009-12-17 16:38  ivan
+
+       * rt/: .gitignore, sbin/rt-dump-database, lib/RT/I18N/pt_pt.po,
+         lib/t/regression/20-sort-by-user.t,
+         lib/t/regression/20-sort-by-queue.t,
+         lib/t/regression/23cfsort-freeform-multiple.t,
+         lib/t/regression/23cfsort-freeform-single.t,
+         lib/t/regression/24-watchers.t: Initial revision
+
+2009-12-16 09:35  ivan
+
+       * httemplate/edit/cust_main_attach.cgi: tweak attachment adding UI:
+         table consistency, input sizes and maxlengths, RT#4964
+
+2009-12-16 07:03  jeff
+
+       * FS/FS/: Conf.pm, Record.pm, cust_bill.pm, cust_location.pm,
+         cust_main.pm, cust_pkg.pm: group invoice line items by location,
+         show location address on invoice, option for due date rather than
+         invoice date on prior unpaid invoice line items, and option for
+         aging on invoice (#6418, #5235, #4648)
+
+2009-12-13 23:52  ivan
+
+       * FS/FS/svc_acct.pm: use a global config too
+
+2009-12-13 23:10  ivan
+
+       * FS/FS/: Conf.pm, svc_acct.pm, part_export/sqlradius.pm: add
+         overlimit_groups agent-specific config, overriding
+         export-specific overlimit_groups, RT#6622
+
+2009-12-13 19:36  mark
+
+       * httemplate/search/elements/search-xls.html: Fix filename for
+         Excel spreadsheet reports
+
+2009-12-13 17:41  mark
+
+       * FS/FS/AccessRight.pm, httemplate/browse/cust_attachment.html,
+         httemplate/edit/cust_main_attach.cgi,
+         httemplate/elements/menu.html, httemplate/view/cust_main.cgi,
+         httemplate/view/cust_main/attachments.html: Add access right to
+         view attachments
+
+2009-12-12 15:53  ivan
+
+       * httemplate/search/cust_credit_bill_pkg.html,
+         FS/FS/cust_credit_bill_pkg.pm,
+         httemplate/search/cust_bill_pkg.cgi: better reporting for tax
+         credits, RT#4729
+
+2009-12-12 15:32  ivan
+
+       * httemplate/search/: cust_bill_pkg.cgi, cust_credit_bill_pkg.html,
+         report_tax.cgi: better reporting for tax credits, RT#4729
+
+2009-12-12 14:35  ivan
+
+       * FS/FS/cust_credit_bill_pkg.pm: doc
+
+2009-12-12 14:22  ivan
+
+       * Makefile: sync versioning with branches, sorry jeremy
+
+2009-12-12 13:38  ivan
+
+       * FS/FS/cust_pkg.pm, httemplate/search/cust_bill_pkg.cgi,
+         httemplate/search/report_tax.cgi,
+         httemplate/search/report_tax.html: reporting with city taxes,
+         RT#6776
+
+2009-12-10 15:03  ivan
+
+       * FS/FS/cust_main.pm: fully fix bulk customer reports, RT#6778
+
+2009-12-07 22:21  mark
+
+       * FS/FS/Schema.pm: Fix cust_attachment.disabled type
+
+2009-12-06 15:44  ivan
+
+       * httemplate/edit/part_pkg.cgi: fix initial value of agent types
+         when cloning
+
+2009-12-06 15:18  ivan
+
+       * httemplate/elements/header.html: fix search box clearing from
+         within RT, caused by different quoting rules in RT comp_root.
+         grr.
+
+2009-12-06 11:19  ivan
+
+       * FS/FS/Schema.pm: more reasonable sizes for filename, mime type
+         and title, RT#6823
+
+2009-12-04 10:37  jeff
+
+       * FS/FS/cust_bill.pm: holy cow! correct sense of skip usage testing
+
+2009-12-03 20:45  ivan
+
+       * FS/FS/svc_acct.pm, httemplate/search/svc_acct.cgi:
+         customer-specific account report (and some small refactoring of
+         method names to clash less), RT#6180
+
+2009-12-03 20:40  ivan
+
+       * FS/FS/cust_bill.pm, FS/FS/cust_bill_event.pm,
+         httemplate/search/477.html, httemplate/search/cust_bill.html,
+         httemplate/search/cust_bill_event.cgi,
+         httemplate/search/cust_event.html,
+         httemplate/search/cust_main.html, httemplate/search/cust_pkg.cgi,
+         httemplate/search/report_svc_acct.html,
+         httemplate/view/cust_main/packages.html, FS/FS/cust_event.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_pkg.pm,
+         httemplate/misc/email-customers.html,
+         httemplate/misc/process/bulk_change_pkg.cgi,
+         httemplate/misc/process/email-customers.html: customer-specific
+         account report (and some small refactoring of method names to
+         clash less), RT#6180
+
+2009-12-03 19:23  ivan
+
+       * FS/FS/cust_pkg.pm: doh, 1.9 fix customer package search (fallout
+         from customer classes) and add "not yet billed" status to
+         customer package report
+
+2009-12-03 11:22  ivan
+
+       * httemplate/graph/cust_bill_pkg.cgi: average per cust_pkg option
+         for peter
+
+2009-12-03 11:06  ivan
+
+       * FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/cust_bill_pkg.cgi,
+         httemplate/graph/report_cust_bill_pkg.html: average per cust_pkg
+         option for peter
+
+2009-12-02 23:53  ivan
+
+       * FS/FS/Schema.pm: index cdrbatchnum
+
+2009-12-02 23:37  ivan
+
+       * FS/FS/: Record.pm, cdr/sansay.pm: fix startdate in sansay CDR
+         import (and skip blank lines), RT#6801
+
+2009-12-02 23:18  ivan
+
+       * httemplate/search/cdr.html: fix cdr search
+
+2009-12-02 20:22  ivan
+
+       * FS/FS/cdr/sansay.pm: no header?
+
+2009-12-02 12:58  ivan
+
+       * FS/FS/Schema.pm: add index to rate_prefix.npa for a performance
+         improvement on CDR billing, RT#6386
+
+2009-12-02 12:51  ivan
+
+       * httemplate/view/: svc_broadband.cgi, svc_domain.cgi,
+         svc_external.cgi, svc_forward.cgi, svc_www.cgi: fix viewing
+         unlinked forwards, domains, broadband/external/www services,
+         RT#6794
+
+2009-12-01 11:16  jeff
+
+       * FS/FS/cust_bill.pm: want a listref not a list
+
+2009-11-29 16:38  ivan
+
+       * FS/FS/cust_main.pm, httemplate/misc/email-customers.html: fix
+         bulk sending of customer notices, RT#6778
+
+2009-11-29 16:06  ivan
+
+       * httemplate/edit/REAL_cust_pkg.cgi: fix
+
+2009-11-29 16:04  ivan
+
+       * httemplate/edit/: REAL_cust_pkg.cgi, process/REAL_cust_pkg.cgi:
+         UI changes to make it impossible to add a start date to a package
+         that already has a setup fee (can still remove an existing start
+         date causing problems), RT#6712
+
+2009-11-29 15:18  ivan
+
+       * FS/FS/: Conf.pm, cust_pkg.pm: add
+         cust_pkg-change_pkgpart-bill_now option to bill the new package
+         immediately on package changes.  Useful for prepaid situations
+         with RADIUS where an Expiration attribute base don the package
+         must be present at all times.  RT#6692
+
+2009-11-29 15:15  ivan
+
+       * FS/FS/cust_main.pm: doc: spelling
+
+2009-11-25 16:27  ivan
+
+       * FS/FS/part_pkg/voip_cdr.pm: debugging left on
+
+2009-11-25 11:58  ivan
+
+       * httemplate/edit/part_pkg.cgi: don't consider disabled report
+         classes, don't load up the whole table just to see if there are
+         any
+
+2009-11-25 11:32  jeff
+
+       * FS/FS/: cust_bill.pm, usage_class.pm: improve appearance of cdr
+         records in cdr sections
+
+2009-11-25 08:13  jeff
+
+       * FS/FS/cust_bill.pm: bug fixes, reuse summary_page, eliminate
+         dups, and rearrange
+
+2009-11-25 08:09  jeff
+
+       * conf/invoice_latex: really insert a pagebreak
+
+2009-11-25 08:07  jeff
+
+       * conf/invoice_latex: oops.. need updated template for new formats
+
+2009-11-24 13:00  ivan
+
+       * FS/FS/cust_bill.pm: debugging left on
+
+2009-11-24 09:05  jeff
+
+       * FS/FS/cust_bill.pm: cope with sections lacking a pkg_category
+
+2009-11-23 23:42  ivan
+
+       * httemplate/: misc/timeworked.html, misc/process/timeworked.html,
+         search/timeworked.html: timeworked report: carry the date range
+         through to the success redirect
+
+2009-11-23 23:23  ivan
+
+       * httemplate/: search/report_timeworked.html, elements/menu.html,
+         search/timeworked.html: add date constratint on time worked
+         search
+
+2009-11-23 22:04  ivan
+
+       * FS/FS/cust_main.pm: send card number with void transactions for
+         B:OP:IPPay, RT#5690
+
+2009-11-23 14:09  mark
+
+       * FS/FS/Schema.pm: Add title field to cust_attachment
+
+2009-11-22 16:25  jeff
+
+       * FS/FS/cust_bill_ApplicationCommon.pm: apply to taxes last
+
+2009-11-20 09:33  jeff
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cust_bill.pm,
+         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_detail.pm,
+         FS/FS/usage_class.pm, FS/FS/part_pkg/voip_cdr.pm,
+         conf/invoice_html, httemplate/browse/pkg_category.html,
+         httemplate/browse/usage_class.html,
+         httemplate/edit/pkg_category.html,
+         httemplate/edit/usage_class.html: invoice formatting: add
+         sections for usage, add sections per svc_phone, add folding like
+         line items into one #6592
+
+2009-11-19 01:47  ivan
+
+       * FS/FS.pm, FS/FS/Record.pm, FS/FS/cdr.pm,
+         FS/bin/freeside-cdr-sftp_and_import, bin/cdr-transnexus.import,
+         bin/cdr.http_and_import, bin/cdr.import,
+         httemplate/elements/select-cdrbatch.html,
+         httemplate/elements/tr-select-cdrbatch.html,
+         httemplate/search/cdr.html, httemplate/search/report_cdr.html,
+         httemplate/view/svc_phone.cgi: proper cdr_batch table, RT#6386
+
+2009-11-19 01:43  ivan
+
+       * FS/FS/: Mason.pm, Schema.pm, Upgrade.pm: proper cdr_batch table,
+         RT#6386
+
+2009-11-19 01:39  ivan
+
+       * FS/MANIFEST: proper cdr_batch table, RT#6386
+
+2009-11-19 01:32  ivan
+
+       * FS/: FS/cdr_batch.pm, t/cdr_batch.t: proper cdr_batch table,
+         RT#6386
+
+2009-11-18 23:06  ivan
+
+       * FS/FS/cdr.pm: format CDRs durations as NNm MMs instead of NN.MMm,
+         RT#6316
+
+2009-11-18 22:21  ivan
+
+       * FS/FS/Cron/breakage.pm: consider credits and refunds in breakage,
+         RT#6407
+
+2009-11-18 01:39  mark
+
+       * httemplate/search/cust_pay_batch.cgi: RT#4786, RBC batch format
+
+2009-11-18 01:27  mark
+
+       * FS/FS/Conf.pm, FS/FS/pay_batch/RBC.pm,
+         httemplate/search/cust_pay_batch.cgi: RT#4768, RBC batch format
+
+2009-11-18 01:09  mark
+
+       * httemplate/: browse/cust_attachment.html,
+         misc/cust_attachment.cgi: cust_attachment improvement, RT#4964
+         and #6225
+
+2009-11-17 14:06  ivan
+
+       * FS/FS/cust_main.pm: do a case-insensive search on
+         browser-remembered results, so starting to use USPS verification
+         (which UPPERCASES everything) doesn't invalidate everything your
+         browser remembered in quick payment entry
+
+2009-11-17 12:56  jeff
+
+       * httemplate/edit/elements/ApplicationCommon.html: work around ie7
+         javascript issues
+
+2009-11-16 23:42  ivan
+
+       * httemplate/search/: report_cust_pay.html,
+         report_cust_refund.html, elements/cust_pay_or_refund.html: add
+         otaker to payment/refund search, RT#6407
+
+2009-11-16 23:08  ivan
+
+       * httemplate/: elements/menu.html, search/report_cust_refund.html:
+         add refund report, RT#6407
+
+2009-11-16 16:06  mark
+
+       * httemplate/: edit/cust_main_attach.cgi,
+         edit/process/cust_main_attach.cgi, elements/menu.html,
+         search/elements/search-html.html, view/cust_main.cgi,
+         view/cust_main/attachments.html: cust_attachment improvement,
+         RT#4964 and #6225
+
+2009-11-15 19:55  ivan
+
+       * FS/FS/cust_bill.pm, FS/FS/cust_main.pm,
+         httemplate/search/cust_bill.html,
+         httemplate/search/report_cust_bill.html: add ability to search on
+         ranges of charged, owed to adv. invoice report, RT#6407
+
+2009-11-15 18:27  ivan
+
+       * FS/: FS/Conf.pm, FS/Cron/bill.pm, bin/freeside-daily: add
+         disable_cron_billing config, RT#6407
+
+2009-11-13 16:08  ivan
+
+       * FS/FS/cust_main.pm, httemplate/elements/select-terms.html,
+         httemplate/search/cust_main.html,
+         httemplate/search/report_cust_main.html: add invoice terms to
+         advanced customer report.  dogfood.
+
+2009-11-12 23:12  ivan
+
+       * FS/FS/cust_pkg.pm: fix advanced package report fallout from
+         customer classes, RT#6677
+
+2009-11-12 13:45  mark
+
+       * FS/FS/Conf.pm, FS/FS/svc_acct.pm, httemplate/view/svc_acct.cgi,
+         httemplate/edit/svc_acct.cgi,
+         httemplate/edit/process/svc_acct.cgi: Add default password
+         encoding option
+
+2009-11-12 08:56  jeff
+
+       * FS/FS/: Schema.pm, tax_rate.pm: correct bugs in tax replacement
+         routine and allow updates to function
+
+2009-11-11 18:05  mark
+
+       * FS/FS/pay_batch/paymentech.pm: Fix date format string
+
+2009-11-11 18:03  mark
+
+       * FS/bin/: freeside-paymentech-upload,
+         freeside-paymentech-download: Fix zip password
+
+2009-11-11 08:38  jeff
+
+       * httemplate/edit/cust_credit.cgi: cruft removal
+
+2009-11-06 14:25  jeff
+
+       * httemplate/misc/xmlhttp-calculate_taxes.html: oops!  forgot an
+         important file for applying tax credits #4729
+
+2009-11-06 14:07  ivan
+
+       * FS/FS/cust_main.pm: use business-onlinepayment-description in
+         1.9, even without $pkgs
+
+2009-11-05 17:51  ivan
+
+       * FS/FS/: Conf.pm, cust_main_invoice.pm: add
+         emailinvoice-apostrophe config option to allow apostrophies in
+         invoice email addresses, RT#6464
+
+2009-11-05 16:25  ivan
+
+       * FS/FS/cust_main.pm, httemplate/search/cust_main.html,
+         httemplate/search/report_cust_main.html: add "payment expiration
+         before" to customer report, RT#6447
+
+2009-11-05 15:55  ivan
+
+       * FS/FS/ConfDefaults.pm: try not to make the "Customer Fields"
+         SELECT so huge
+
+2009-11-05 14:01  ivan
+
+       * httemplate/search/svc_acct.cgi: improvements in time remaining
+         report: correctly account for unpaid time for non-monthly
+         customers, report in hours+minutes intead of using Time::Duration
+         days/hours
+
+2009-11-05 13:22  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: back to old host name, info from
+         customer/paymentech was bogus, RT#5650
+
+2009-11-04 17:47  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: update paymentech live server,
+         RT#5650
+
+2009-11-04 16:52  ivan
+
+       * FS/FS/pkg_category.pm: fix pkg_category upgrades
+
+2009-11-04 16:48  ivan
+
+       * FS/FS/cust_main.pm: fix bad interaction between new city tax code
+         & using taxclasses without cities, RT#6637
+
+2009-11-04 16:29  ivan
+
+       * FS/FS/Mason.pm: oops, for customer categories
+
+2009-11-04 16:04  ivan
+
+       * httemplate/browse/cust_main_county.cgi: fix county filter on tax
+         config, fallout from city tax changes, RT#5852
+
+2009-11-03 17:40  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: add explicit use of Expect module, so
+         the error is thrown immediate, RT#5650
+
+2009-11-03 17:04  ivan
+
+       * FS/FS/Cron/breakage.pm, httemplate/config/config-process.cgi,
+         httemplate/config/config-view.cgi: reconcile breakage from stale
+         accounts, RT#6407
+
+2009-11-03 16:59  ivan
+
+       * FS/FS/part_pkg.pm: silence "use of uninitialized value in split"
+         warning
+
+2009-11-03 12:44  ivan
+
+       * FS/FS/pay_batch.pm: fix warning replacing pay_batch, RT#5650
+
+2009-11-03 11:56  ivan
+
+       * FS/bin/: freeside-paymentech-upload,
+         freeside-paymentech-download: check for zip and unzip commands,
+         use multi-arg version of system to prevent the shell getting its
+         hands on things (metacharacters in pw or whatnot), RT#5650
+
+2009-11-03 11:11  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: update usage & manpage w/ freeside-
+         prefix
+
+2009-11-03 11:03  ivan
+
+       * FS/bin/: freeside-paymentech-download,
+         freeside-paymentech-upload: fix usage of File::Temp->newdir, not
+         in 0.18 File::Temp on perl 5.10.0, RT#5650
+
+2009-11-03 10:53  ivan
+
+       * bin/paymentech-download, bin/paymentech-upload,
+         FS/bin/freeside-paymentech-download,
+         FS/bin/freeside-paymentech-upload: moving paymentech-* to FS/bin,
+         RT#5650
+
+2009-11-02 19:13  ivan
+
+       * httemplate/config/config.cgi, FS/FS/Conf.pm,
+         FS/bin/freeside-daily, httemplate/config/config-process.cgi,
+         httemplate/config/config-view.cgi,
+         httemplate/elements/tr-select-part_pkg.html,
+         FS/FS/Cron/breakage.pm: (start of) reconcile breakage from stale
+         accounts, RT#6407
+
+2009-11-02 17:48  ivan
+
+       * bin/paymentech-download: spelling
+
+2009-11-02 17:44  ivan
+
+       * bin/paymentech-download: add -a option for archive dir
+
+2009-11-02 17:21  ivan
+
+       * FS/FS/Conf.pm: clarify description of batchconfig-paymentech
+         based on notes from #5650
+
+2009-11-02 13:21  ivan
+
+       * httemplate/edit/payment_gateway.html: add Elavon, SagePay,
+         WorldPay, fix extra space on PlugnPay, PPIPayMover, Protx
+
+2009-11-01 14:12  jeff
+
+       * httemplate/search/: 477.html, elements/search-csv.html: form 477
+         improvements #6499
+
+2009-10-31 13:09  jeff
+
+       * FS/FS/cust_bill.pm: unbork summary page invoices
+
+2009-10-30 16:29  ivan
+
+       * FS/FS/cust_event.pm, FS/FS/cust_main_Mixin.pm,
+         httemplate/elements/select-part_event.html,
+         httemplate/elements/select-payby.html,
+         httemplate/elements/tr-select-part_event.html,
+         httemplate/search/cust_event.html,
+         httemplate/search/report_cust_event.html: more reporting options
+         for failed billing events, RT#6447
+
+2009-10-30 11:37  ivan
+
+       * FS/FS/: Conf.pm: add paymentech to batch config options
+
+2009-10-29 17:02  ivan
+
+       * httemplate/: browse/cust_main_county.cgi,
+         edit/bulk-cust_main_county.html,
+         edit/process/bulk-cust_main_county.html: bulk tax changes,
+         RT#6445
+
+2009-10-29 16:43  mark
+
+       * FS/FS/pay_batch/paymentech.pm: use XML::Writer for tighter
+         compliance with spec
+
+2009-10-29 16:42  mark
+
+       * bin/paymentech-upload: add option to upload all open batches
+
+2009-10-29 16:37  ivan
+
+       * httemplate/edit/bulk-cust_main_county.html: friendlier error
+         message when you select nothing, RT#6445
+
+2009-10-29 16:36  ivan
+
+       * httemplate/elements/errorpage-popup.html: adding errorpage popup,
+         RT#6445
+
+2009-10-29 15:55  ivan
+
+       * FS/bin/freeside-queued: have freeside-queued be more resillient
+         in the face of a database that's gone away, RT#6428
+
+2009-10-29 12:10  ivan
+
+       * FS/FS/cust_bill_pkg.pm: turn off debugging
+
+2009-10-29 12:08  ivan
+
+       * httemplate/search/cust_main.html,
+         httemplate/search/report_cust_main.html, FS/FS/cust_main.pm,
+         httemplate/elements/select-table.html: customer classification,
+         RT#6376
+
+2009-10-29 11:38  ivan
+
+       * FS/MANIFEST, FS/FS/cust_main.pm, FS/t/category_Common.t,
+         FS/t/class_Common.t, httemplate/browse/pkg_category.html,
+         httemplate/edit/cust_main/top_misc.html,
+         httemplate/view/cust_main/misc.html,
+         httemplate/elements/select-cust_class.html,
+         httemplate/elements/tr-select-cust_class.html: customer
+         classification, RT#6376
+
+2009-10-28 18:08  ivan
+
+       * FS/FS.pm, FS/MANIFEST, FS/FS/Schema.pm, FS/FS/category_Common.pm,
+         FS/FS/class_Common.pm, FS/FS/cust_category.pm,
+         FS/FS/cust_class.pm, FS/FS/cust_main.pm, FS/FS/pkg_category.pm,
+         FS/FS/pkg_class.pm, FS/t/cust_category.t, FS/t/cust_class.t,
+         httemplate/elements/menu.html,
+         httemplate/browse/cust_category.html,
+         httemplate/browse/cust_class.html,
+         httemplate/browse/part_pkg_report_option.html,
+         httemplate/browse/pkg_category.html,
+         httemplate/browse/pkg_class.html,
+         httemplate/edit/cust_category.html,
+         httemplate/edit/cust_class.html,
+         httemplate/edit/pkg_category.html,
+         httemplate/edit/pkg_class.html,
+         httemplate/edit/elements/category_Common.html,
+         httemplate/edit/elements/class_Common.html,
+         httemplate/edit/process/cust_category.html,
+         httemplate/edit/process/cust_class.html: customer classification,
+         RT#6376
+
+2009-10-28 12:04  ivan
+
+       * FS/FS/: svc_Common.pm, svc_acct.pm, svc_domain.pm,
+         svc_forward.pm, svc_www.pm: fix problems using inventory for UID
+         (and other fields controlled by check in svc_acct and also
+         svc_www, svc_domain and svc_forward), RT#6366
+
+2009-10-28 12:01  jeff
+
+       * FS/FS/cust_bill_pkg.pm, FS/FS/cust_credit.pm, FS/FS/cust_main.pm,
+         httemplate/edit/elements/ApplicationCommon.html,
+         httemplate/edit/process/cust_credit_bill.cgi,
+         httemplate/edit/process/elements/ApplicationCommon.html: UI
+         changes for credit applications include on the fly tax
+         calculations #4729
+
+2009-10-28 11:16  ivan
+
+       * FS/FS/part_svc.pm: fix removing a flag from a service definition
+         column
+
+2009-10-28 10:26  ivan
+
+       * httemplate/misc/inventory_item-import.html: fix inventory upload,
+         RT#6366
+
+2009-10-27 23:13  ivan
+
+       * FS/FS/cust_pkg.pm, httemplate/misc/bulk_change_pkg.cgi,
+         httemplate/search/cust_pkg.cgi,
+         httemplate/search/report_cust_pkg.html,
+         httemplate/view/cust_main/packages.html: customer link to package
+         reports for that customer, RT#6180
+
+2009-10-27 11:11  ivan
+
+       * FS/FS/Conf.pm, FS/FS/cust_main.pm,
+         httemplate/elements/header.html: address1 search, RT#5060
+
+2009-10-26 18:26  mark
+
+       * httemplate/edit/payment_gateway.html: add Jety to the list
+
+2009-10-26 16:20  ivan
+
+       * httemplate/elements/tr-select-pkg_class.html: didn't want to
+         revert that, though
+
+2009-10-26 16:17  ivan
+
+       * httemplate/elements/tr-select-pkg_class.html: better fix for
+         ignoring disabled package classes that doesn't search them twice
+
+2009-10-26 00:12  jeff
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm,
+         FS/FS/cust_bill_ApplicationCommon.pm, FS/FS/cust_bill_pay_pkg.pm,
+         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_tax_location.pm,
+         FS/FS/cust_bill_pkg_tax_rate_location.pm,
+         FS/FS/cust_credit_bill_pkg.pm, httemplate/edit/cust_credit.cgi,
+         httemplate/edit/elements/ApplicationCommon.html,
+         httemplate/edit/process/elements/ApplicationCommon.html,
+         httemplate/search/cust_bill_pkg.cgi,
+         httemplate/search/report_newtax.cgi,
+         httemplate/search/report_tax.cgi,
+         httemplate/view/cust_main/payment_history/credit.html,
+         httemplate/view/cust_main/payment_history/payment.html: credits
+         return taxes, but the magic calculation button does not yet work
+         properly (grrr - more sleep required) RT#4729
+
+2009-10-25 18:11  ivan
+
+       * FS/FS/part_pkg/flat.pm: eliminiate noisy but harmless "Use of
+         uninitialized value in numeric gt (>)" warning
+
+2009-10-25 16:30  ivan
+
+       * FS/FS/: cust_main.pm, ClientAPI/MyAccount.pm: add apply option to
+         realtime_collect, RT#5071
+
+2009-10-24 17:29  ivan
+
+       * httemplate/search/cust_bill.html: import legacy invoice numbers
+         to cust_bill.agent_invid, RT#5351
+
+2009-10-24 16:37  mark
+
+       * FS/FS/pay_batch.pm, FS/FS/Conf.pm, FS/FS/pay_batch/paymentech.pm,
+         bin/paymentech-download, bin/paymentech-upload: Scripts for
+         paymentech batch transfer
+
+2009-10-23 19:04  ivan
+
+       * FS/FS/ClientAPI/MyAccount.pm,
+         fs_selfservice/FS-SelfService/cgi/decline.html,
+         fs_selfservice/FS-SelfService/cgi/login.html,
+         fs_selfservice/FS-SelfService/cgi/selfservice.cgi,
+         fs_selfservice/FS-SelfService/cgi/signup.cgi,
+         fs_selfservice/FS-SelfService/cgi/signup.html,
+         fs_selfservice/FS-SelfService/cgi/success.html: remove an
+         inadvertant debugging call left in, allow an agentnum to be
+         specfied for non-logged in situations, RT#6166
+
+2009-10-23 17:34  ivan
+
+       * FS/: FS/Conf.pm, FS/ClientAPI/MyAccount.pm,
+         FS/ClientAPI/Signup.pm, bin/freeside-selfservice-server:
+         selfservice per-agent skinning
+
+2009-10-23 17:16  ivan
+
+       * FS/FS/agent.pm: eliminate warnings from Business::CreditCard
+         about being passed an empty number
+
+2009-10-23 17:04  ivan
+
+       * FS/FS/Record.pm: fix cause of harmless 'Premature end of base64
+         data' warning
+
+2009-10-23 01:21  ivan
+
+       * bin/move-unlinked: adding unlinked account migration script,
+         RT#6126
+
+2009-10-22 18:41  ivan
+
+       * FS/FS/: Conf.pm, cust_pkg.pm: add cust_bill-consolidate_services
+         config to collapse multiple phone numbers (or whatever) into as
+         few lines as possible on invoices, RT#5223
+
+2009-10-22 15:11  ivan
+
+       * FS/FS/cust_bill.pm: fix invoice sub-totals, RT#6489
+
+2009-10-22 12:56  ivan
+
+       * FS/FS/ClientAPI/MasonComponent.pm: make sure that in the case
+         where there's no uncancelled active packages, the filter doesn't
+         reduce the package list to nothing, RT#6029
+
+2009-10-22 12:53  ivan
+
+       * FS/FS/ClientAPI/MasonComponent.pm: acciendtally left debugging
+         in, RT#6029
+
+2009-10-22 05:50  ivan
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/part_pkg.pm,
+         FS/FS/ClientAPI/MasonComponent.pm,
+         httemplate/browse/part_pkg.cgi, httemplate/edit/part_pkg.cgi:
+         restrict additinal package order option, RT#6029
+
+2009-10-22 02:34  ivan
+
+       * httemplate/elements/city.html: yay, found blank city problem
+         w/new citytax foo, RT#5852
+
+2009-10-22 01:58  ivan
+
+       * httemplate/elements/select-county.html: fix all location selects
+         hidden on new customer add, fallout from city tax stuff, yay for
+         this not being on _1_9_BRANCH, RT#5852
+
+2009-10-22 01:08  ivan
+
+       * httemplate/search/svc_phone.cgi: should at least run under pg 8.3
+         now, need to test & see if the data make sense, RT#5496
+
+2009-10-21 22:32  ivan
+
+       * FS/FS/cust_bill_pkg_display.pm: fix incompatibility
+         w/invoice_sections vs. cust_bill_pkg.pkgnum -1 "virtual line
+         item" (rare)
+
+2009-10-21 17:28  ivan
+
+       * FS/FS/Schema.pm, bin/cdr-netsapiens.import: fix netsapiens CDR
+         import, RT#5226
+
+2009-10-21 00:09  ivan
+
+       * FS/FS/Schema.pm: MySQL doesn't like indexing a text field
+
+2009-10-20 23:34  ivan
+
+       * httemplate/search/prepay_credit.html: fix agent link in unused
+         prepaid card report
+
+2009-10-20 16:24  ivan
+
+       * FS/FS/cust_bill_pay_pkg.pm: should fix problems sending a receipt
+         against a specific package when taxes are in use
+
+2009-10-20 13:47  ivan
+
+       * bin/cdr-netsapiens.import: basic import working, still need
+         better src/dst mapping, RT#5226
+
+2009-10-20 13:43  ivan
+
+       * FS/FS/part_export/netsapiens.pm: better debug line showing full
+         URL, RT#5226
+
+2009-10-20 11:30  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/change_pay.html: don't show
+         duplicate 'Credit card' or 'Check' choices even when
+         signup_server-payby has CARD & DCRD (or CHEK & DCHK)
+
+2009-10-16 15:39  ivan
+
+       * FS/FS/cust_bill_pkg.pm: make warning about expensive lookup a
+         carp & controlled by $DEBUG
+
+2009-10-12 07:11  ivan
+
+       * bin/cdr-netsapiens.import: finish netsapiens import, RT#6365
+
+2009-10-12 06:09  ivan
+
+       * FS/FS/part_export/shellcommands.pm: terrible typo
+
+2009-10-12 05:50  ivan
+
+       * FS/FS/part_export/shellcommands.pm: add customer information to
+         shellcommands export, RT#5351
+
+2009-10-12 02:10  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/: signup.cgi, signup.html: use
+         modules in signup.cgi instead of in the template, fixes "Insecure
+         dependency in rquire"
+
+2009-10-11 23:48  ivan
+
+       * FS/FS/ClientAPI/MyAccount.pm,
+         fs_selfservice/FS-SelfService/cgi/myaccount.html,
+         fs_selfservice/FS-SelfService/cgi/myaccount_menu.html: fix
+         inadvertant "unknown package" error, fallout from pkg-balance
+         work, RT#6125
+
+2009-10-11 19:34  ivan
+
+       * FS/FS/cust_main.pm: using the per-city taxes sure was a lot
+         easier than the UI... RT#5852
+
+2009-10-11 19:30  ivan
+
+       * FS/FS/part_event/Action/: cust_bill_fee_percent.pm, fee.pm: fix
+         for no finance_pkgclass set
+
+2009-10-11 19:14  ivan
+
+       * httemplate/edit/cust_main_county.html: UI for per-city taxes
+         (setup and assigning to customers/package locations), RT#5852
+
+2009-10-11 18:58  ivan
+
+       * httemplate/: edit/cust_main/contact.html,
+         elements/select-country.html: UI for per-city taxes (setup and
+         assigning to customers/package locations), RT#5852
+
+2009-10-11 18:45  ivan
+
+       * FS/FS/Mason.pm, FS/FS/Misc.pm, FS/FS/Schema.pm,
+         FS/FS/cust_main_county.pm,
+         httemplate/browse/cust_main_county.cgi,
+         httemplate/edit/cust_main.cgi,
+         httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county-collapse.cgi,
+         httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/elements/city.html, httemplate/elements/location.html,
+         httemplate/elements/select-county.html,
+         httemplate/elements/tr-select-cust_location.html,
+         httemplate/misc/cities.cgi: UI for per-city taxes (setup and
+         assigning to customers/package locations), RT#5852
+
+2009-10-11 00:44  ivan
+
+       * conf/ticket_system-default_queueid: default to 1
+
+2009-10-10 19:41  ivan
+
+       * ChangeLog, debian/changelog: Updated for 1.9.1
+
+2009-10-10 18:57  ivan
+
+       * ChangeLog, rpm/freeside.spec, debian/changelog: Updated for 1.9.1
+
+2009-10-10 18:50  ivan
+
+       * Makefile, bin/cvs2cl: helps to have the tool
+
+2009-10-10 18:48  ivan
+
+       * Makefile: do it
+
+2009-10-10 18:48  ivan
+
+       * rt/lib/RT.pm: huh #2
+
+2009-10-10 18:46  ivan
+
+       * rt/Makefile: huh
+
+2009-10-10 18:45  ivan
+
+       * httemplate/search/elements/search-html.html: don't try to follow
+         a blank redirect
+
+2009-10-10 18:45  ivan
+
+       * httemplate/search/report_cdr.html: end form
+
+2009-10-10 18:45  ivan
+
+       * httemplate/elements/tr-textarea.html: new rows and cols options
+
+2009-10-10 18:44  ivan
+
+       * httemplate/elements/tr-select-pkg_class.html: respect
+         element_name
+
+2009-10-10 18:43  ivan
+
+       * httemplate/browse/agent.cgi: cleanup
+
+2009-10-10 18:42  ivan
+
+       * eg/cdr_template.pm, httemplate/elements/selectlayers.html: doc
+
+2009-10-10 18:41  ivan
+
+       * FS/FS/part_export/globalpops_voip.pm: correct variable
+         initialization
+
+2009-10-10 18:40  ivan
+
+       * FS/FS/: access_right.pm, access_usergroup.pm,
+         clientapi_session_field.pm, cust_svc_option.pm: remembered to
+         customize this manpage
+
+2009-10-10 18:39  ivan
+
+       * FS/FS/Record.pm: ::1 becomes 127.0.0.1 in IP checks
+
+2009-10-09 20:22  ivan
+
+       * ChangeLog: commit message for a file about commitmessages
+
+2009-10-09 16:59  ivan
+
+       * FS/FS/Schema.pm, FS/FS/cust_main.pm,
+         httemplate/edit/cust_main/billing.html,
+         httemplate/elements/select-terms.html, FS/FS/cust_bill.pm,
+         httemplate/edit/quick-charge.html,
+         httemplate/edit/process/quick-charge.cgi: change invoice terms
+         for one-time charges (& bill them immediately), RT#5891
+
+2009-10-09 14:37  ivan
+
+       * FS/FS/cust_main.pm: add cust_pkg_ref option to charge
+
+2009-10-08 01:28  ivan
+
+       * httemplate/view/cust_main/packages.html: fix "show old packages"
+         accidentally hiding cancelled packages, RT#5276
+
+2009-10-07 23:00  ivan
+
+       * FS/FS/: cust_main.pm, Cron/bill.pm: freeside-daily -g and -m
+         cooperation (and no HASH() queue noise with -m)
+
+2009-10-07 22:44  ivan
+
+       * FS/FS/: cust_bill.pm, cust_main.pm: avoid some (look to be
+         harmless) warnings:
+
+         Argument "" isn't numeric in sprintf at
+         /usr/local/share/perl/5.10.0/FS/cust_bill.pm line 2358.
+
+         Argument "" isn't numeric in subtraction (-) at
+         /usr/local/share/perl/5.10.0/FS/cust_bill.pm line 2359.
+
+         Argument "" isn't numeric in addition (+) at
+         /usr/local/share/perl/5.10.0/FS/cust_main.pm line 2788.
+
+2009-10-07 22:09  ivan
+
+       * FS/FS/cust_bill.pm: tyop
+
+2009-10-07 18:15  ivan
+
+       * FS/FS/Conf.pm, FS/FS/cust_bill.pm, conf/invoice_html,
+         conf/invoice_latex: conf switches to turn on smaller notes and
+         footer sections with stock templates, RT#5218
+
+2009-10-07 16:51  ivan
+
+       * httemplate/view/cust_statement.html: naming follow-up notices
+         from the event rather than creting a slew of separate templates,
+         RT#5217
+
+2009-10-07 16:44  ivan
+
+       * FS/FS/cust_bill.pm, httemplate/misc/email-statement.cgi,
+         httemplate/misc/send-invoice.cgi,
+         httemplate/misc/send-statement.cgi,
+         httemplate/search/cust_event.html,
+         FS/FS/part_event/Action/cust_bill_send_reminder.pm,
+         conf/invoice_html, conf/invoice_latex, conf/invoice_template,
+         httemplate/view/cust_bill-pdf.cgi,
+         httemplate/view/cust_bill-ps.cgi, httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_statement.html: naming follow-up notices
+         from the event rather than creting a slew of separate templates,
+         RT#5217
+
+2009-10-06 17:43  ivan
+
+       * FS/FS/Conf_compat17.pm: bring up-to-date wrt 1.7 Conf.pm
+         1.180.2.52 (2009-10-03), RT#2873
+
+2009-10-06 16:51  ivan
+
+       * FS/FS/cust_bill_pkg.pm: remove inadvertant debugging warnings
+
+2009-10-06 08:49  jeff
+
+       * httemplate/edit/router.cgi: replace disappearing line
+
+2009-10-05 16:36  ivan
+
+       * FS/FS/svc_acct.pm: remove annoying warning: Use of uninitialized
+         value $FS::svc_acct::passwordmin in pattern match (m//) at
+         /usr/local/share/perl/5.10.0/FS/svc_acct.pm line 60.
+
+2009-10-05 11:17  ivan
+
+       * httemplate/misc/payment.cgi: oops, handle old cust_main.pm
+         properly (should we be bothering?) :/ RT#5889
+
+2009-10-05 09:57  ivan
+
+       * httemplate/view/cust_main/payment_history/voided_payment.html:
+         doh, fix error viewing voided payments, RT#6382
+
+2009-10-05 08:07  jeff
+
+       * httemplate/elements/tr-select-pkg_class.html: remove unused
+         option that DTWT
+
+2009-10-05 07:04  jeff
+
+       * httemplate/edit/cust_main/: bottomfixup.js,
+         choose_tax_location.html, contact.html: low hanging fruit:
+         improvement in tax location selection RT#6000
+
+2009-10-05 07:01  jeff
+
+       * httemplate/edit/router.cgi: low hanging fruit: restore router
+         virtual fields (and svcnum) in 1.9 RT#5960
+
+2009-10-04 19:40  ivan
+
+       * httemplate/misc/payment.cgi: add manual_process-skip_first
+         option, RT#5889
+
+2009-10-04 19:35  ivan
+
+       * FS/FS/Conf.pm, FS/FS/cust_main.pm, httemplate/misc/payment.cgi:
+         add manual_process-skip_first option, RT#5889
+
+2009-10-04 19:16  ivan
+
+       * FS/FS/Conf.pm, httemplate/misc/payment.cgi,
+         httemplate/misc/process/payment.cgi: add manual_process-display
+         config to subtract fee from amount instead of adding, RT#5889
+
+2009-10-04 18:40  jeff
+
+       * conf/invoice_html: can't revert because windows is ghei
+
+2009-10-04 18:07  jeff
+
+       * FS/FS/cust_main.pm: don't consider setup or recurring taxes when
+         billing usage on cancel
+
+2009-10-04 18:00  jeff
+
+       * FS/FS/: cust_bill.pm, cust_main.pm, part_pkg/voip_cdr.pm:
+         invoices with details in separate section but usage not separated
+
+2009-10-04 17:49  jeff
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/Upgrade.pm,
+         FS/FS/cust_bill.pm, conf/invoice_html, conf/invoice_htmlsummary,
+         conf/invoice_latex, conf/invoice_latexsummary,
+         FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_display.pm,
+         FS/FS/cust_main.pm, FS/FS/pkg_category.pm,
+         FS/FS/part_event/Action/cust_bill_fee_percent.pm,
+         FS/FS/part_event/Action/fee.pm,
+         httemplate/browse/pkg_category.html,
+         httemplate/edit/pkg_category.html: leading summary page invoices
+         #RT5086
+
+2009-10-04 16:36  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: fix the same
+         problem with processing payments & masked ACH amounts, RT#6374
+
+2009-10-04 16:31  ivan
+
+       * FS/FS/ClientAPI/MyAccount.pm: fix problems "re-saving" a masked
+         card.  hopefully the last of it!
+
+2009-10-03 19:09  ivan
+
+       * httemplate/misc/delete-cust_bill.html: delete invoices, RT#4048
+
+2009-10-03 19:04  ivan
+
+       * FS/FS/AccessRight.pm, FS/FS/Conf.pm, FS/FS/Setup.pm,
+         FS/FS/cust_bill.pm, FS/FS/cust_bill_pkg.pm,
+         FS/bin/freeside-addgroup, bin/mapsecrets2access_user,
+         httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_main/payment_history.html,
+         httemplate/view/cust_main/payment_history/invoice.html: delete
+         invoices, RT#4048
+
+2009-10-03 17:08  ivan
+
+       * httemplate/view/cust_main.cgi: more room for cancellation reason
+
+2009-10-03 17:07  ivan
+
+       * httemplate/elements/popup_link-cust_main.html: doc
+
+2009-10-03 15:09  ivan
+
+       * httemplate/edit/part_bill_event.cgi: cancel to 80, comp @ 90,
+         RT#5674
+
+2009-10-03 15:06  ivan
+
+       * httemplate/edit/part_bill_event.cgi: in old invoice events,
+         chance default weight of cancel event to 90 so you can place it
+         at the same time as a realtime event, RT#5674
+
+2009-10-03 13:22  mark
+
+       * FS/FS/: pay_batch.pm, pay_batch/paymentech.pm: Load XML::Simple
+         at runtime to avoid breakage
+
+2009-10-01 16:48  ivan
+
+       * FS/FS/cust_main.pm: hopefully fully fix bulk email errors when
+         selecting a single payby
+
+2009-10-01 16:01  ivan
+
+       * FS/FS/Schema.pm: allow svc_acct._password to be NULL in the
+         schema
+
+2009-10-01 15:02  ivan
+
+       * httemplate/view/cust_main/payment_history/voided_payment.html:
+         consistency with un-voided payments wrt display
+
+2009-09-30 17:52  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: hopefully the
+         really final fix for the problems using remembered cards in
+         self-service. *sigh*
+
+2009-09-30 17:29  ivan
+
+       * FS/: FS/Conf.pm, FS/Cron/check.pm, bin/freeside-check: add login
+         check to FS::ClientAPI::SG/SGNG checks. RT#4610
+
+2009-09-30 12:33  ivan
+
+       * fs_selfservice/FS-SelfService/cgi/selfservice.cgi: hopefully the
+         final fix for the problems using remembered cards in self-service
+
+2009-09-29 15:08  ivan
+
+       * httemplate/misc/email-customers.html: should fix newsletter
+         sending error when you select a single payby only
+
+2009-09-28 23:17  ivan
+
+       * FS/t/cust_attachment.t: forgot
+
+2009-09-28 15:45  ivan
+
+       * FS/FS/Cron/check.pm: more accurate SG check, RT#4610
+
+2009-09-28 15:35  ivan
+
+       * FS/: FS/Cron/check.pm, bin/freeside-check: correct place for use
+         Email::Send, RT#4610
+
+2009-09-28 15:23  ivan
+
+       * FS/FS/Cron/check.pm: oops, hopefully fix sg cron check, RT#4610
+
+2009-09-28 08:55  jeff
+
+       * FS/FS/cust_pkg.pm: use object copy when billing on cancel to
+         avoid very weird side effects ( including 'impossible' history )
+         RT#5723
+
+2009-09-25 05:29  ivan
+
+       * FS/FS/Conf.pm, httemplate/config/config-view.cgi,
+         httemplate/config/config.cgi,
+         httemplate/config/config-process.cgi,
+         httemplate/misc/payment.cgi, httemplate/misc/process/payment.cgi:
+         processing fee on credit card recharges, RT#5889
+
+2009-09-25 03:29  ivan
+
+       * FS/FS/Conf.pm: this one too
+
+2009-09-25 03:14  ivan
+
+       * FS/FS/Conf.pm, FS/FS/svc_acct.pm, FS/FS/ClientAPI/Signup.pm,
+         fs_selfservice/FS-SelfService/cgi/signup.cgi,
+         fs_selfservice/FS-SelfService/cgi/signup.html,
+         httemplate/config/config-process.cgi,
+         httemplate/config/config-view.cgi, httemplate/config/config.cgi,
+         httemplate/elements/select-part_svc.html,
+         httemplate/elements/select-table.html,
+         httemplate/elements/tr-select-part_svc.html: nomadix, RT#5876
+
+2009-09-24 19:30  mark
+
+       * FS/FS/pay_batch.pm, FS/FS/Conf.pm, FS/FS/pay_batch/BoM.pm,
+         FS/FS/pay_batch/PAP.pm, FS/FS/pay_batch/ach_spiritone.pm,
+         FS/FS/pay_batch/chase_canada.pm, FS/FS/pay_batch/paymentech.pm,
+         FS/FS/pay_batch/td_canada_trust.pm,
+         httemplate/misc/download-batch.cgi,
+         httemplate/search/cust_pay_batch.cgi: Batch payment refactoring
+
+2009-09-24 18:04  mark
+
+       * FS/MANIFEST: Add cust_attachment
+
+2009-09-24 12:59  ivan
+
+       * FS/FS/: Cron/check.pm, Conf.pm: get the ping username/pass from a
+         config, good enough, RT#4610
+
+2009-09-23 20:14  ivan
+
+       * FS/FS/Cron/check.pm, FS/bin/freeside-check,
+         FS/FS/ClientAPI/SGNG.pm,
+         fs_selfservice/FS-SelfService/SelfService.pm: add SG and SGNG
+         ping, RT#4610
+
+2009-09-23 16:47  ivan
+
+       * FS/FS/TicketSystem/RT_External.pm: this should fix the occasional
+         extra ticket showing up on wrong customer record
+
+2009-09-21 20:08  ivan
+
+       * FS/FS/Mason.pm: add addl_comp_root.pl and addl_handler_use.pl
+         config files, RT#4743
+
+2009-09-21 13:48  ivan
+
+       * FS/FS/cust_bill.pm: i think it is new Pg (or... new Record.pm???)
+         that causes this problem... before it just returned nothing for
+         the search instead of erroring out?
+
+2009-09-20 23:05  ivan
 
        * FS/FS/Conf.pm: doc clarification
 
          FS/FS/part_event/Condition/has_pkg_class.pm,
          FS/FS/part_event/Condition/has_pkgpart.pm,
          FS/FS/part_event/Condition/hasnt_pkgpart.pm,
+         httemplate/misc/email-statement.cgi,
          httemplate/view/cust_statement-pdf.cgi,
          httemplate/view/cust_statement.html: email statements, RT#4860
 
 
 2009-08-12 07:58  jeff
 
-       * Makefile, FS/FS/Conf.pm, FS/FS/Cron/upload.pm,
+       * bin/billco-upload, Makefile, FS/FS/Conf.pm, FS/FS/Cron/upload.pm,
          FS/bin/freeside-daily, FS/bin/freeside-monthly,
          httemplate/config/config-view.cgi: internalize billco-upload and
          automate the transfer to the provider RT#5902
        * FS/: FS/cust_main.pm, FS/Cron/bill.pm, bin/freeside-daily: commit
          pkgpart exclusion for billing run, RT#5495
 
+2009-07-17 07:58  jeff
+
+       * bin/billco-upload: add mutex and commit changes found on
+         installed system
+
 2009-07-16 19:29  jeff
 
        * httemplate/search/cust_pkg.cgi: FSM, another missed file for 477
 
 2009-07-16 17:10  ivan
 
-       * FS/: FS/Schema.pm, FS/cdr.pm, FS/part_pkg/voip_cdr.pm, FS.pm: get
-         rid of cdr_upstream_rate table and some other old convergent
-         cruft
+       * FS/: FS/Schema.pm, FS/cdr.pm, FS/cdr_upstream_rate.pm,
+         FS/part_pkg/voip_cdr.pm, FS.pm, t/cdr_upstream_rate.t: get rid of
+         cdr_upstream_rate table and some other old convergent cruft
 
 2009-07-16 15:16  jeff
 
 
        * FS/MANIFEST: remove freeside-expiration-alerter
 
+2009-06-26 17:55  ivan
+
+       * FS/bin/freeside-expiration-alerter: replaced by
+         FS::Cron::alert_expiration
+
 2009-06-26 16:21  ivan
 
        * FS/bin/freeside-queued: doh, brainfart, RT#5572
 
 2009-05-09 16:54  ivan
 
-       * FS/bin/freeside-cdr-sftp_and_import: move cdr-sftp_and_import
-         script to FS/bin, add -p option, RT#4081
+       * FS/bin/freeside-cdr-sftp_and_import, bin/cdr.sftp_and_import:
+         move cdr-sftp_and_import script to FS/bin, add -p option, RT#4081
 
 2009-05-09 00:56  ivan
 
          httemplate/edit/cust_main/top_misc.html,
          httemplate/edit/cust_main/billing.html,
          httemplate/edit/cust_main/choose_tax_location.html,
+         httemplate/edit/cust_main/select-domain.html,
          httemplate/edit/cust_main/first_pkg/select-part_pkg.html,
          httemplate/edit/cust_main/first_pkg/svc_acct.html,
          httemplate/edit/cust_main/first_pkg/svc_phone.html,
 
        * FS/FS/Setup.pm: be quiet
 
+2009-02-24 02:09  ivan
+
+       * conf/report_template: more bootstrapping bs
+
 2009-02-24 02:06  ivan
 
        * FS/FS/part_referral.pm: bootstrapping issues
 2009-02-09 06:05  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_bill.pm, FS/FS/cust_credit.pm,
-         FS/FS/cust_pay.pm, conf/invoice_html,
-         conf/invoice_html_statement, httemplate/config/config-image.cgi,
+         FS/FS/cust_pay.pm, FS/bin/freeside-expiration-alerter,
+         conf/invoice_html, conf/invoice_html_statement,
+         httemplate/config/config-image.cgi,
          httemplate/config/config-process.cgi,
          httemplate/config/config-view.cgi, httemplate/config/config.cgi,
          httemplate/elements/header.html, httemplate/view/REAL_logo.cgi,
 
 2009-01-02 17:52  ivan
 
-       * bin/cdr.http_and_import, bin/cdr.import, FS/FS/Record.pm,
-         FS/FS/cdr.pm, FS/FS/cdr/indosoft.pm: indosoft CDR format, RT#4425
+       * bin/cdr.http_and_import, bin/cdr.import, bin/cdr.sftp_and_import,
+         FS/FS/Record.pm, FS/FS/cdr.pm, FS/FS/cdr/indosoft.pm: indosoft
+         CDR format, RT#4425
 
 2009-01-02 14:03  ivan
 
        * FS/FS/Record.pm, FS/FS/cdr.pm, FS/FS/cdr/bell_west.pm,
-         FS/FS/cdr/troop.pm, bin/cdr.import: add troop CDRs, RT#4413
+         FS/FS/cdr/troop.pm, bin/cdr.import, bin/cdr.sftp_and_import: add
+         troop CDRs, RT#4413
 
 2009-01-02 10:01  ivan
 
 
 2008-12-29 10:06  jeff
 
-       * Makefile, conf/invoice_latex, etc/fslongtable.sty: ease
-         deployment of patched longtable
+       * Makefile, conf/invoice_latex, conf/longtable.sty.patch,
+         etc/fslongtable.sty: ease deployment of patched longtable
 
 2008-12-28 11:10  ivan
 
 
        * httemplate/: browse/cust_main_county.cgi,
          edit/cust_main/contact.html, edit/cust_main/billing.html,
-         misc/payment.cgi: fix browse results for selecting counties
-         (resulting from separating tax classes), also add dropdowns to
-         browse by state and county, RT#4496
+         misc/payment.cgi, edit/cust_main/select-country.html,
+         edit/cust_main/select-county.html,
+         edit/cust_main/select-state.html: fix browse results for
+         selecting counties (resulting from separating tax classes), also
+         add dropdowns to browse by state and county, RT#4496
 
 2008-12-24 16:45  jeff
 
 
        * conf/invoice_latex: better value for non-broken tetex
 
+2008-10-12 12:43  jeff
+
+       * conf/longtable.sty.patch: check not just for fit, but move the
+         goalposts as well
+
 2008-10-11 17:58  ivan
 
        * httemplate/browse/cust_main_county.cgi: fix link
 
 2008-10-10 14:30  jeff
 
-       * conf/invoice_latex: avoid overprinting remittance coupons
+       * conf/: invoice_latex, longtable.sty.patch: avoid overprinting
+         remittance coupons
 
 2008-10-10 12:25  ivan
 
 
 2008-08-28 18:09  ivan
 
-       * FS/FS/Schema.pm, FS/FS/cdr.pm,
+       * FS/FS/Schema.pm, FS/FS/cdr.pm, bin/cdr.sftp_and_import,
          httemplate/elements/select-cdrbatch.html,
          httemplate/elements/tr-select-cdrbatch.html,
          httemplate/search/cdr.html, httemplate/search/report_cdr.html:
 
 2008-07-30 15:10  ivan
 
-       * FS/FS/cdr/nextone.pm: rename nt to nextone
+       * FS/FS/cdr/: nextone.pm, nt.pm: rename nt to nextone
 
 2008-07-29 13:00  jeff
 
 2008-07-17 16:55  ivan
 
        * FS/FS/: cdr.pm, cdr/asterisk.pm, cdr/genband.pm,
-         cdr/genband_meetme.pm, cdr/openser.pm, cdr/simple.pm,
+         cdr/genband_meetme.pm, cdr/nt.pm, cdr/openser.pm, cdr/simple.pm,
          cdr/taqua.pm, cdr/unitel.pm: CDR updates; modularize CDR import
          formats; add formats for OpenSER, Genband/Tekelec, and "NT"
 
          httemplate/misc/areacodes.cgi, httemplate/misc/exchanges.cgi,
          httemplate/misc/phonenums.cgi, FS/FS/Record.pm,
          FS/FS/part_export/globalpops_voip.pm,
-         httemplate/edit/svc_phone.cgi: get DIDs from globalpops
+         httemplate/edit/svc_phone.cgi,
+         httemplate/edit/cust_main/select-state.html: get DIDs from
+         globalpops
 
 2008-06-28 12:25  jeff
 
          (cancel/suspend) reason and possibly fix a lingering spurious
          usergroup bug
 
+2008-04-16 04:54  jeff
+
+       * httemplate/edit/part_pkg_taxproduct.html: this no longer belongs
+
 2008-04-15 21:42  ivan
 
        * httemplate/: edit/part_pkg.cgi, browse/part_pkg.cgi: add plan &
 
 2008-04-07 22:49  ivan
 
-       * debian/: README.Debian, TODO, changelog, compat, config, control,
-         copyright, cron.d, dbconfig-common.install,
-         dbconfig-common.upgrade, freeside-webui.links,
-         freeside.apache-alias.conf, freeside.default, freeside.docs,
-         init.d.ex, init.d.lsb.ex, postinst, postrm, preinst, prerm,
-         rules, templates: debian packages!
+       * debian/: README.Debian, TODO, changelog, compat, conffiles.ex,
+         config, control, copyright, cron.d, cron.d.ex,
+         dbconfig-common.install, dbconfig-common.upgrade, dirs, docs,
+         ex.doc-base.package, freeside-doc.docs, freeside-doc.files,
+         freeside-webui.links, freeside.apache-alias.conf,
+         freeside.default, freeside.docs, init.d.ex, init.d.lsb.ex,
+         manpage.1.ex, manpage.sgml.ex, menu.ex, postinst, postinst.ex,
+         postrm, postrm.ex, preinst, preinst.ex, prerm, prerm.ex, rules,
+         templates, watch.ex: debian packages!
 
 2008-04-06 09:12  jeff
 
        * httemplate/docs/: credits.html, license.html: adding license and
          credits in app itself
 
+2008-04-01 16:24  ivan
+
+       * TODO: remove TODO
+
+2008-04-01 16:24  ivan
+
+       * SCHEMA_CHANGE: remove SCHEMA_CHANGE
+
 2008-04-01 16:20  ivan
 
        * README: welcome to the new world
          FS/t/part_pkg_taxrate.t, FS/t/tax_class.t, FS/t/tax_rate.t,
          httemplate/browse/tax_rate.cgi, httemplate/edit/part_pkg.cgi,
          httemplate/edit/part_pkg_taxoverride.html,
+         httemplate/edit/part_pkg_taxproduct.html,
          httemplate/edit/tax_class.html, httemplate/edit/tax_rate.html,
          httemplate/edit/process/part_pkg.cgi,
          httemplate/edit/process/tax_class.html,
 2008-03-23 16:32  ivan
 
        * rt/html/Elements/: AddCustomers, EditCustomers: part 1 of #1160:
-         associate users w/customers, manual editing
-
-2008-03-19 12:48  jeff
-
-       * httemplate/edit/part_bill_event.cgi: quick fix for deep recursion
-         (RT#3267)
-
-2008-03-17 23:43  ivan
-
-       * fs_selfservice/fri/modules/: billing.module, dashboard.module,
-         myaccount.module: pre-show checkpoint.  duct tape!
-
-2008-03-17 09:24  ivan
-
-       * fs_selfservice/fri/modules/: billing.module, dashboard.module,
-         myaccount.module: checkpoint
-
-2008-03-16 19:49  ivan
-
-       * fs_selfservice/fri/: includes/freeside.class.php,
-         modules.template/blank.module: missed bits
-
-2008-03-16 19:48  ivan
-
-       * fs_selfservice/fri/: includes/login.php, includes/main.conf.php,
-         locale/ari.po, modules/billing.module,
-         modules/callmonitor.module, modules/dashboard.module,
-         modules/myaccount.module, modules/settings.module,
-         theme/page.tpl.php: first bits of working FRI!  woop!
-
-2008-03-16 19:37  ivan
-
-       * httemplate/view/cust_main/packages.html: fix oops in new popup
-         components
-
-2008-03-16 16:36  ivan
-
-       * FS/FS/ClientAPI/MyAccount.pm: hopefully allow phone login to work
-
-2008-03-16 16:25  ivan
-
-       * httemplate/view/svc_phone.cgi: view PINs too
-
-2008-03-16 16:05  jeff
-
-       * httemplate/: elements/popup_link-cust_main.html,
-         elements/popup_link-cust_pkg.html,
-         elements/popup_link-cust_svc.html, elements/popup_link.html,
-         view/cust_main.cgi, view/cust_main/packages.html: componentize
-         conflicting %once subroutines (rt#3250)
-
-2008-03-16 15:48  ivan
-
-       * httemplate/edit/svc_phone.cgi: phone gets a pin
-
-2008-03-16 15:39  ivan
-
-       * FS/FS/ClientAPI/MyAccount.pm: phonenum + pin login
-
-2008-03-16 15:24  ivan
-
-       * FS/FS/: Conf.pm, svc_phone.pm, ClientAPI/MyAccount.pm: phonenum +
-         pin login
-
-2008-03-16 14:07  ivan
-
-       * fs_selfservice/fri/includes/: common.php, login.php: first try at
-         single sign-on
-
-2008-03-16 12:58  ivan
-
-       * fs_selfservice/fri/: theme/page.tpl.php,
-         modules/callmonitor.module, modules/settings.module,
-         includes/main.conf.php, includes/common.php, includes/login.php,
-         locale/ari.po: Initial revision
-
-2008-03-16 12:58  ivan
-
-       * fs_selfservice/fri/: CHANGE.log, LICENSE.txt, README.txt,
-         index.php, version.php, theme/global.css, theme/header.css,
-         theme/iefixes.css, theme/layout.css, theme/logo.gif,
-         theme/main.css, theme/navigation.css, theme/spacer.gif,
-         theme/text.css, theme/images/arrow-asc.gif,
-         theme/images/arrow-desc.gif, modules/phonefeatures.module,
-         modules/voicemail.module, modules/featurecodes.module,
-         modules/followme.module, includes/ajax.php, includes/crypt.php,
-         misc/audio.php, misc/popup.css, misc/recording_popup.php,
-         modules/VmX.module, includes/asi.php, includes/bootstrap.php,
-         includes/database.php, includes/display.php, includes/lang.php,
-         locale/readme.txt, locale/ari.utf-8.po, locale/locale.txt,
-         locale/de_DE/LC_MESSAGES/ari.mo, locale/hu_HU/LC_MESSAGES/ari.mo,
-         locale/hu_HU/LC_MESSAGES/ari.po, locale/pt_BR/LC_MESSAGES/ari.mo,
-         locale/pt_BR/LC_MESSAGES/ari.po, locale/de_DE/LC_MESSAGES/ari.po,
-         locale/el_GR/LC_MESSAGES/ari.mo, locale/el_GR/LC_MESSAGES/ari.po,
-         locale/es_ES/LC_MESSAGES/ari.mo, locale/es_ES/LC_MESSAGES/ari.po,
-         locale/sv_SE/LC_MESSAGES/ari.mo, locale/sv_SE/LC_MESSAGES/ari.po,
-         locale/it_IT/LC_MESSAGES/ari.mo, locale/fr_FR/LC_MESSAGES/ari.mo,
-         locale/fr_FR/LC_MESSAGES/ari.po, locale/he_IL/LC_MESSAGES/ari.mo,
-         locale/he_IL/LC_MESSAGES/ari.po, locale/it_IT/LC_MESSAGES/ari.po:
-         [no log message]
-
-2008-03-16 09:57  jeff
-
-       * httemplate/misc/recharge_svc.html: doh
-
-2008-03-16 01:04  ivan
-
-       * FS/FS/UID.pm: goodness, i hope this fixes the bootstrapping
-
-2008-03-16 00:25  ivan
-
-       * FS/FS/UID.pm: okay, really now, how about this
-
-2008-03-16 00:24  ivan
-
-       * FS/FS/UID.pm: okay, how about this
-
-2008-03-16 00:21  ivan
-
-       * FS/FS/UID.pm: fix 1.7->1.9 bootstrapping, i think
-
-2008-03-15 22:22  ivan
-
-       * httemplate/search/svc_broadband.cgi: clean up and
-         agent-virtualize svc_broadband searching
-
-2008-03-15 22:13  ivan
-
-       * httemplate/edit/part_svc.cgi: finish bringing sanity to
-         svc_broadband service definition blocknum edit
-
-2008-03-15 22:13  ivan
-
-       * FS/FS/: addr_block.pm, svc_broadband.pm: bring some sanity to
-         address block selection in svc_broadband service definition edit
-
-2008-03-15 21:54  ivan
-
-       * httemplate/browse/: addr_block.cgi, router.cgi: drag address &
-         router browse into this centiry
-
-2008-03-15 21:00  ivan
-
-       * httemplate/elements/header.html, httemplate/elements/menu.html,
-         rt/html/Elements/FreesideSearch: hide customer search if user
-         does not have "List customers" ACL, closes: RT#3105
-
-2008-03-15 15:18  ivan
-
-       * httemplate/edit/part_pkg.cgi, FS/FS/part_pkg/voip_cdr.pm:
-         slightly better voip_cdr package edit: use radio buttons for
-         selecting long things
-
-2008-03-15 14:39  ivan
-
-       * FS/FS/part_pkg/voip_cdr.pm: be asssertive
-
-2008-03-15 14:14  ivan
-
-       * FS/FS/: cust_svc.pm, part_pkg/voip_cdr.pm: configurable
-         disable_src, domestic_prefix and international_prefix options for
-         voip price plan
-
-2008-03-15 12:52  ivan
-
-       * httemplate/search/cust_bill.html, FS/FS/cust_bill.pm: check on
-         invoice re-printing newest percust... can't reproduce any
-         problem, prints newest per cust fine, closes: #3161
-
-2008-03-14 17:30  ivan
-
-       * httemplate/: view/svc_domain.cgi, misc/catchall.cgi: fix harmless
-         code leaking out onto the page, hehe, closes: Bug#3253, also
-         remove silly formatting on catchall edit
-
-2008-03-14 13:11  ivan
-
-       * FS/FS/cust_main.pm: eliminate some harmless uninitialized value
-         warnings
-
-2008-03-14 10:30  jeff
-
-       * FS/FS/part_export/prizm.pm: insist on Net::Prizm 0.04
-
-2008-03-14 01:13  ivan
-
-       * httemplate/edit/process/cust_pkg.cgi: whew, glad that change
-         package bugfix was easy to find, closes: Bug#3241
-
-2008-03-14 00:48  ivan
-
-       * FS/FS/cust_credit_bill.pm, FS/FS/Report/Table/Monthly.pm,
-         httemplate/graph/money_time.cgi,
-         httemplate/search/cust_credit_bill.html,
-         httemplate/search/cust_credit.html: add net credits to
-         sales/credits/receipts report
-
-2008-03-13 19:10  ivan
-
-       * FS/FS/Conf.pm: add Net20 invoice terms, closes: #3219
+         associate users w/customers, manual editing
 
-2008-03-13 19:09  ivan
+2008-03-19 12:48  jeff
 
-       * FS/FS/Conf.pm: show where the warning about no conf comes from
+       * httemplate/edit/part_bill_event.cgi: quick fix for deep recursion
+         (RT#3267)
 
-2008-03-13 02:28  ivan
+2008-03-17 23:43  ivan
 
-       * FS/FS/cust_pay.pm: yow.  very sleep deprived.  remove the
-         infinite loop rather than add one.
+       * fs_selfservice/fri/modules/: billing.module, dashboard.module,
+         myaccount.module: pre-show checkpoint.  duct tape!
 
-2008-03-13 02:14  ivan
+2008-03-17 09:24  ivan
 
-       * FS/FS/cust_pay.pm: infinite loop protection
+       * fs_selfservice/fri/modules/: billing.module, dashboard.module,
+         myaccount.module: checkpoint
 
-2008-03-13 01:57  ivan
+2008-03-16 19:49  ivan
 
-       * FS/FS/cust_pay.pm: allow cust_pay.otaker upgrade to proceed even
-         if there are some old crufty records around attached to
-         now-deleted customers
+       * fs_selfservice/fri/: includes/freeside.class.php,
+         modules.template/blank.module: missed bits
 
-2008-03-12 09:22  jeff
+2008-03-16 19:48  ivan
 
-       * FS/FS/cust_svc.pm, FS/FS/part_export.pm, FS/FS/svc_Common.pm,
-         FS/FS/UI/Web.pm, FS/FS/part_export/prizm.pm,
-         eg/export_template.pm, httemplate/view/cust_main/packages.html:
-         allow exports to add links to customer view (#1407)
+       * fs_selfservice/fri/: includes/login.php, includes/main.conf.php,
+         locale/ari.po, modules/billing.module,
+         modules/callmonitor.module, modules/dashboard.module,
+         modules/myaccount.module, modules/settings.module,
+         theme/page.tpl.php: first bits of working FRI!  woop!
 
-2008-03-04 13:07  ivan
+2008-03-16 19:37  ivan
 
-       * FS/FS/cust_refund.pm: fix otaker population for cust_refund like
-         cust_credit and cust_pay
+       * httemplate/view/cust_main/packages.html: fix oops in new popup
+         components
 
-2008-03-04 13:06  ivan
+2008-03-16 16:36  ivan
 
-       * FS/FS/cust_pay.pm: fix cust_pay.otaker population
+       * FS/FS/ClientAPI/MyAccount.pm: hopefully allow phone login to work
 
-2008-03-04 11:15  ivan
+2008-03-16 16:25  ivan
 
-       * httemplate/: edit/cust_pkg.cgi, edit/process/cust_pkg.cgi,
-         misc/change_pkg.cgi: fix edit/process/cust_pkg getting confused
-         about the two different places that would be calling it... i.e.
-         with an empty new_pkgnum it would redirect the popup back the
-         customer view, hehe
+       * httemplate/view/svc_phone.cgi: view PINs too
 
-2008-03-03 19:38  ivan
+2008-03-16 16:05  jeff
 
-       * FS/FS/cust_bill.pm: AND fix latex->html notes substituion for ~s
+       * httemplate/: elements/popup_link-cust_main.html,
+         elements/popup_link-cust_pkg.html,
+         elements/popup_link-cust_svc.html, elements/popup_link.html,
+         view/cust_main.cgi, view/cust_main/packages.html: componentize
+         conflicting %once subroutines (rt#3250)
 
-2008-03-03 19:37  ivan
+2008-03-16 15:48  ivan
 
-       * FS/FS/cust_bill.pm: and fix latex->html notes substituion for
-         escaped #s
+       * httemplate/edit/svc_phone.cgi: phone gets a pin
 
-2008-03-03 19:34  ivan
+2008-03-16 15:39  ivan
 
-       * FS/FS/cust_bill.pm: fix latex->html notes substituion for
-         newlines
+       * FS/FS/ClientAPI/MyAccount.pm: phonenum + pin login
 
-2008-03-03 18:27  ivan
+2008-03-16 15:24  ivan
 
-       * httemplate/browse/rate_region.html: should improve compatibility
-         with older Pg.  i hope
+       * FS/FS/: Conf.pm, svc_phone.pm, ClientAPI/MyAccount.pm: phonenum +
+         pin login
 
-2008-03-03 17:49  ivan
+2008-03-16 14:07  ivan
 
-       * FS/FS/UID.pm: argh, don't load up a user until the other
-         initialization is done
+       * fs_selfservice/fri/includes/: common.php, login.php: first try at
+         single sign-on
 
-2008-03-03 15:12  ivan
+2008-03-16 12:58  ivan
 
-       * rt/: etc/RT_Config.pm.in, html/Elements/Header,
-         html/Elements/PageLayout, html/Elements/Tabs,
-         html/Elements/CollectionAsTable/Row,
-         html/Ticket/Elements/ShowTransactionAttachments,
-         html/Widgets/TitleBoxStart, sbin/rt-setup-database.in: merge in
-         rt 3.6.6.  *gulp*!
+       * fs_selfservice/fri/: CHANGE.log, LICENSE.txt, README.txt,
+         index.php, version.php, theme/global.css, theme/header.css,
+         theme/iefixes.css, theme/layout.css, theme/logo.gif,
+         theme/main.css, theme/navigation.css, theme/page.tpl.php,
+         theme/spacer.gif, theme/text.css, theme/images/arrow-asc.gif,
+         theme/images/arrow-desc.gif, modules/callmonitor.module,
+         modules/phonefeatures.module, modules/settings.module,
+         modules/voicemail.module, modules/featurecodes.module,
+         modules/followme.module, includes/ajax.php, includes/crypt.php,
+         includes/main.conf.php, misc/audio.php, misc/popup.css,
+         misc/recording_popup.php, modules/VmX.module, includes/asi.php,
+         includes/bootstrap.php, includes/common.php,
+         includes/database.php, includes/display.php, includes/lang.php,
+         includes/login.php, locale/readme.txt, locale/ari.po,
+         locale/ari.utf-8.po, locale/locale.txt,
+         locale/de_DE/LC_MESSAGES/ari.mo, locale/hu_HU/LC_MESSAGES/ari.mo,
+         locale/hu_HU/LC_MESSAGES/ari.po, locale/pt_BR/LC_MESSAGES/ari.mo,
+         locale/pt_BR/LC_MESSAGES/ari.po, locale/de_DE/LC_MESSAGES/ari.po,
+         locale/el_GR/LC_MESSAGES/ari.mo, locale/el_GR/LC_MESSAGES/ari.po,
+         locale/es_ES/LC_MESSAGES/ari.mo, locale/es_ES/LC_MESSAGES/ari.po,
+         locale/sv_SE/LC_MESSAGES/ari.mo, locale/sv_SE/LC_MESSAGES/ari.po,
+         locale/it_IT/LC_MESSAGES/ari.mo, locale/fr_FR/LC_MESSAGES/ari.mo,
+         locale/fr_FR/LC_MESSAGES/ari.po, locale/he_IL/LC_MESSAGES/ari.mo,
+         locale/he_IL/LC_MESSAGES/ari.po, locale/it_IT/LC_MESSAGES/ari.po:
+         Initial revision
 
-2008-03-01 20:10  ivan
+2008-03-16 09:57  jeff
 
-       * rt/: lib/t/regression/08web_cf_access.t,
-         lib/t/regression/12-search.t, lib/t/regression/04send_email.t,
-         lib/t/regression/21query-builder.t,
-         lib/t/regression/22search_tix_by_txn.t,
-         lib/t/regression/22search_tix_by_watcher.t,
-         lib/t/regression/06-mime_decoding.t, lib/t/regression/23cfsort.t,
-         lib/t/regression/00-mason-syntax.t,
-         lib/t/regression/02basic_web.t, lib/t/regression/14linking.t,
-         lib/t/regression/01ticket_link_searching.t,
-         lib/t/regression/13-attribute-tests.t,
-         lib/t/regression/26command_line.t,
-         lib/t/regression/06mailgateway.t,
-         lib/t/regression/03web_compiliation_errors.t,
-         lib/t/regression/07acl.t, lib/t/regression/07rights.t,
-         lib/t/regression/23-web_attachments.t, html/autohandler,
-         html/index.html, html/l, html/Elements/SelectBoolean,
-         html/Elements/SelectCustomFieldValue, html/Elements/SelectStatus,
-         html/Elements/TitleBox, html/Elements/EditCustomFieldImage,
-         html/Elements/EditCustomFieldSelect, html/Elements/ShowLinks,
-         html/Elements/EditLinks, html/Elements/ListActions,
-         html/Elements/MessageBox, html/Elements/SelectDateRelation,
-         html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectWatcherType, html/Elements/Error,
-         html/Elements/GotoTicket, html/Elements/MyTickets,
-         html/Elements/QueryString, html/Elements/Section,
-         html/Elements/SelectLinkType, html/Elements/SelectMatch,
-         html/Elements/ShowCustomFieldBinary, html/Elements/ShowLink,
-         html/Elements/ShowMemberships, html/Elements/BevelBoxRaisedEnd,
-         html/Elements/Callback, html/Elements/EmailInput,
-         html/Elements/Login, html/Elements/Refresh,
-         html/Elements/SelectOwner, html/Elements/SelectQueue,
-         html/Elements/SelectTicketTypes, html/Elements/SelectUsers,
-         html/Elements/Checkbox, html/Elements/EditCustomField,
-         html/Elements/ScrubHTML, html/Elements/MyRT,
-         html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectEqualityOperator,
-         html/Elements/SelectResultsPerPage,
-         html/Elements/SelectTicketSortBy,
-         html/Elements/ShowCustomFieldImage,
-         html/Elements/ShowCustomFieldWikitext,
-         html/Elements/BevelBoxRaisedStart, html/Elements/CreateTicket,
-         html/Elements/MyRequests, html/Elements/SelectGroups,
-         html/Elements/SelectLang, html/Elements/SelectSortOrder,
-         html/Elements/SetupSessionCookie, html/Elements/ShowCustomFields,
-         html/Elements/Submit, html/Elements/TitleBoxEnd,
-         html/Elements/EditCustomFieldBinary,
-         html/Elements/EditCustomFieldFreeform,
-         html/Elements/EditCustomFieldText,
-         html/Elements/EditCustomFieldWikitext, html/Elements/Quicksearch,
-         html/Elements/SelectAttachmentField,
-         html/Elements/SelectDateType,
-         html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/CollectionAsTable/Header,
-         html/Elements/RT__Ticket/ColumnMap, html/User/Delegation.html,
-         html/Search/Results.html, html/Search/Simple.html,
-         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
-         html/User/Elements/Tabs, html/User/Groups/Members.html,
-         html/User/Groups/Modify.html, html/User/Groups/index.html,
-         html/Search/Chart, html/Search/Edit.html,
-         html/Search/Results.rdf, html/Search/Results.tsv,
-         html/Search/Build.html, html/Search/Elements/SelectAndOr,
-         html/Search/Elements/SelectPersonType,
-         html/Search/Elements/PickBasics, html/Search/Elements/PickCFs,
-         html/Search/Elements/SelectSearchObject,
-         html/Search/Elements/SelectSearchesForObjects,
-         html/REST/1.0/logout, html/Search/Elements/BuildFormatString,
-         html/Search/Elements/DisplayOptions,
-         html/Search/Elements/EditFormat, html/Search/Elements/EditQuery,
-         html/Search/Elements/EditSearches,
-         html/Search/Elements/NewListActions,
-         html/Search/Elements/PickCriteria,
-         html/Search/Elements/SearchPrivacy,
-         html/Search/Elements/SelectGroup,
-         html/Search/Elements/SelectLinks, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/Forms/queue/default,
-         html/REST/1.0/Forms/queue/ns,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/ticket/links,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/merge,
-         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
-         html/NoAuth/css/dhandler, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/NoAuth/images/autohandler,
-         html/NoAuth/images/bplogo.gif,
-         html/NoAuth/images/css/fieldbg-autocomplete.gif,
-         html/NoAuth/js/scriptaculous/controls.js,
-         html/NoAuth/js/scriptaculous/effects.js,
-         html/NoAuth/js/scriptaculous/prototype.js,
-         html/NoAuth/js/scriptaculous/scriptaculous.js,
-         html/Widgets/SavedSearch, html/Widgets/SelectionBox,
-         html/Helpers/EmailAutocomplete, html/Tools/MyDay.html,
-         html/Tools/Offline.html, html/Tools/Elements/Tabs,
-         html/Admin/autohandler, html/Admin/index.html,
-         html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/GroupRights.html,
-         html/Admin/Queues/People.html,
-         html/Download/CustomFieldValue/dhandler,
-         html/Download/Tabular/dhandler,
-         html/Admin/Elements/EditUserComments,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/ObjectCustomFields,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/Scrip.html,
-         html/Admin/Queues/Scrips.html, html/Admin/Queues/Template.html,
-         html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
-         html/Admin/Elements/CustomFieldTabs,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/QueueTabs,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectScripAction,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Elements/SelectTemplate, html/Admin/Elements/Tabs,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/EditScrip,
-         html/Admin/Elements/GlobalCustomFieldTabs,
-         html/Admin/Elements/ModifyTemplate,
-         html/Admin/Elements/PickCustomFields,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectModifyUser,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SystemTabs,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/EditScrips,
-         html/Admin/Elements/ListGlobalCustomFields,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/SelectCustomFieldLookupType,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/UserTabs,
-         html/Admin/Elements/EditTemplates, html/Admin/Elements/Header,
-         html/Admin/Elements/PickObjects,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectRights, html/Admin/Elements/ToolTabs,
-         html/Admin/Global/GroupRights.html, html/Admin/Global/Scrip.html,
-         html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
-         html/Admin/Global/CustomFields/Queue-Transactions.html,
-         html/Admin/Global/CustomFields/Groups.html,
-         html/Admin/Global/CustomFields/Queue-Tickets.html,
-         html/Admin/Global/CustomFields/Users.html,
-         html/Admin/Global/CustomFields/index.html,
-         html/Admin/Users/CustomFields.html,
-         html/Admin/Users/Memberships.html,
-         html/Admin/CustomFields/GroupRights.html,
-         html/Admin/CustomFields/Modify.html,
-         html/Admin/CustomFields/Objects.html,
-         html/Admin/CustomFields/index.html,
-         html/Admin/Users/History.html, html/Admin/Users/index.html,
-         html/Admin/CustomFields/UserRights.html,
-         html/Admin/Groups/CustomFields.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/History.html, html/Admin/Groups/Members.html,
-         html/Admin/Groups/Modify.html, html/Admin/Groups/index.html,
-         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
-         html/Admin/Groups/UserRights.html, html/Ticket/Modify.html,
-         html/Ticket/ShowEmailRecord.html, html/Ticket/History.html,
-         html/Ticket/ModifyAll.html, html/Ticket/ModifyDates.html,
-         html/Ticket/ModifyLinks.html, html/Ticket/ModifyPeople.html,
-         html/Ticket/Update.html, html/Ticket/Elements/AddWatchers,
-         html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/ShowDates,
-         html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowUserEntry,
-         html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowGroupMembers,
-         html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowPeople, html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowQueue,
-         html/Ticket/Elements/ShowTransaction,
-         html/SelfService/Closed.html, html/SelfService/Create.html,
-         html/SelfService/CreateTicketInQueue.html,
-         html/SelfService/Display.html, html/SelfService/Error.html,
-         html/SelfService/Prefs.html, html/SelfService/Update.html,
-         html/SelfService/index.html,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Tabs, html/Approvals/Display.html,
-         html/Approvals/index.html, html/Approvals/Elements/Approve,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Approvals/Elements/ShowDependency,
-         html/Approvals/Elements/Tabs,
-         html/SelfService/Attachment/dhandler,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests, bin/mason_handler.fcgi.in,
-         bin/mason_handler.scgi.in, bin/mason_handler.svc.in, bin/rt.in,
-         bin/standalone_httpd.in, bin/rt-crontool.in, bin/rt-mailgate.in,
-         bin/webmux.pl.in, etc/initialdata, etc/drop.Oracle: import rt
-         3.6.6
-
-2008-03-01 20:07  ivan
-
-       * rt/: configure, aclocal.m4, Changelog, Makefile.in, README,
-         UPGRADING, configure.ac, sbin/extract_pod_tests,
-         sbin/rt-test-dependencies.in, sbin/extract-message-catalog,
-         sbin/license_tag, sbin/regression_harness,
-         sbin/rt-dump-database.in, lib/RT.pm.in,
-         lib/RT/ObjectCustomFieldValues.pm,
-         lib/RT/Transactions_Overlay.pm, lib/RT/URI.pm, sbin/factory,
-         lib/RT/CustomFieldValues_Overlay.pm, lib/RT/Handle.pm,
-         lib/RT/ObjectCustomField.pm, lib/RT/ObjectCustomFieldValue.pm,
-         lib/RT/ScripCondition_Overlay.pm, lib/RT/ScripConditions.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/I18N.pm, lib/RT/CachedGroupMember.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/Links.pm, lib/RT/Queue.pm,
-         lib/RT/ScripConditions_Overlay.pm, lib/RT/Scrips.pm,
-         lib/RT/Scrips_Overlay.pm, lib/RT/System.pm,
-         lib/RT/SavedSearch.pm, lib/RT/CustomFields_Overlay.pm,
-         lib/RT/ObjectCustomFields.pm, lib/RT/ACE.pm,
-         lib/RT/Attributes.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomFieldValue_Overlay.pm, lib/RT/User.pm,
-         lib/RT/Base.pm, lib/RT/ScripAction_Overlay.pm,
-         lib/RT/Attributes_Overlay.pm, lib/RT/CustomField.pm,
-         lib/RT/Principal.pm, lib/RT/Principals_Overlay.pm,
-         lib/RT/Queues.pm, lib/RT/ScripAction.pm, lib/RT/Attachments.pm,
-         lib/RT/StyleGuide.pod, lib/RT/Attribute_Overlay.pm,
-         lib/RT/CachedGroupMember_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm,
-         lib/RT/SavedSearches.pm,
-         lib/RT/ObjectCustomFieldValue_Overlay.pm,
-         lib/RT/ScripCondition.pm, lib/RT/Templates.pm, lib/RT/Tickets.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Users.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/CachedGroupMembers.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/Link.pm,
-         lib/RT/Transaction.pm, lib/RT/ScripActions_Overlay.pm,
-         lib/RT/ACE_Overlay.pm, lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/Scrip.pm, lib/RT/EmailParser.pm, lib/RT/Group.pm,
-         lib/RT/ObjectCustomField_Overlay.pm, lib/RT/Template.pm,
-         lib/RT/ACL_Overlay.pm, lib/RT/GroupMembers.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Transactions.pm,
-         lib/RT/Attachment_Overlay.pm, lib/RT/Date.pm,
-         lib/RT/Templates_Overlay.pm, lib/RT/ACL.pm,
-         lib/RT/GroupMember.pm, lib/RT/Groups.pm, lib/RT/CustomFields.pm,
-         lib/RT/Group_Overlay.pm, lib/RT/Links_Overlay.pm,
-         lib/RT/ObjectCustomFields_Overlay.pm, lib/RT/Queues_Overlay.pm,
-         lib/RT/Ticket.pm, lib/RT/Attribute.pm,
-         lib/RT/CustomFieldValue.pm, lib/RT/Link_Overlay.pm,
-         lib/RT/Principals.pm, lib/RT/ScripActions.pm,
-         lib/RT/Attachment.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/Template_Overlay.pm, lib/RT/URI/base.pm,
-         lib/RT/URI/fsck_com_rt.pm, lib/RT/URI/t.pm,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Web.pm,
-         lib/RT/Interface/Web/Handler.pm,
-         lib/RT/Interface/Web/QueryBuilder.pm,
-         lib/RT/Interface/Web/Standalone.pm,
-         lib/RT/Interface/Web/QueryBuilder/Tree.pm,
-         lib/RT/Action/Autoreply.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Action/Notify.pm, lib/RT/Action/AutoOpen.pm,
-         lib/RT/Action/CreateTickets.pm,
-         lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SetPriority.pm,
-         lib/RT/Action/UserDefined.pm, lib/RT/Action/SendEmail.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, lib/RT/Search/Googleish.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/es.po, lib/RT/I18N/fi.po,
-         lib/RT/I18N/zh_cn.po, lib/RT/I18N/hu.po, lib/RT/I18N/he.po,
-         lib/RT/I18N/de.po, lib/RT/I18N/ru.po, lib/RT/I18N/nl.po,
-         lib/RT/I18N/pl.po, lib/RT/I18N/da.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/cs.pm, lib/RT/I18N/it.po, lib/RT/I18N/id.po,
-         lib/RT/I18N/ja.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/I18N/i_default.pm, lib/RT/I18N/pt_br.po,
-         lib/RT/I18N/en.po, lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Generic.pm,
-         lib/RT/Condition/Overdue.pm, lib/RT/Condition/OwnerChange.pm,
-         lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm, lib/RT/I18N/no.po,
-         lib/RT/Condition/QueueChange.pm, lib/RT/Report/Tickets.pm: import
-         rt 3.6.6
+       * httemplate/misc/recharge_svc.html: doh
 
-2008-03-01 20:05  ivan
+2008-03-16 01:04  ivan
 
-       * rt/: html/SelfService/Create.html, html/SelfService/Error.html,
-         html/Ticket/Attachment/dhandler, html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
-         html/Ticket/Elements/ShowGroupMembers,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction,
-         html/SelfService/Closed.html,
-         html/SelfService/CreateTicketInQueue.html,
-         html/SelfService/Display.html, html/SelfService/Prefs.html,
-         html/SelfService/Update.html, html/SelfService/index.html,
-         html/SelfService/Attachment/dhandler,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs, html/Approvals/Display.html,
-         html/Approvals/index.html, html/Approvals/Elements/Approve,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Approvals/Elements/Tabs,
-         html/Approvals/Elements/ShowDependency,
-         bin/mason_handler.fcgi.in, bin/mason_handler.scgi.in,
-         bin/mason_handler.svc.in, bin/rt.in, bin/standalone_httpd.in,
-         bin/rt-crontool.in, bin/rt-mailgate.in, bin/webmux.pl.in,
-         etc/initialdata, etc/drop.Oracle: import rt 3.4.6
+       * FS/FS/UID.pm: goodness, i hope this fixes the bootstrapping
 
-2008-03-01 20:02  ivan
+2008-03-16 00:25  ivan
 
-       * rt/: configure, aclocal.m4, Changelog, Makefile.in, README,
-         UPGRADING, configure.ac, sbin/extract_pod_tests,
-         sbin/rt-test-dependencies.in, sbin/extract-message-catalog,
-         sbin/license_tag, sbin/regression_harness,
-         sbin/rt-dump-database.in, lib/RT.pm.in,
-         lib/RT/Transactions_Overlay.pm, lib/RT/URI.pm, sbin/factory,
-         lib/RT/Handle.pm, lib/RT/ObjectCustomField.pm,
-         lib/RT/ObjectCustomFieldValues.pm,
-         lib/RT/ScripCondition_Overlay.pm,
-         lib/RT/CustomFieldValues_Overlay.pm,
-         lib/RT/ObjectCustomFieldValue.pm, lib/RT/ScripConditions.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/I18N.pm, lib/RT/CachedGroupMember.pm, lib/RT/Links.pm,
-         lib/RT/Queue.pm, lib/RT/ScripConditions_Overlay.pm,
-         lib/RT/Scrips.pm, lib/RT/System.pm, lib/RT/CustomFieldValues.pm,
-         lib/RT/SavedSearch.pm, lib/RT/Scrips_Overlay.pm, lib/RT/ACE.pm,
-         lib/RT/Attributes.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomFieldValue_Overlay.pm,
-         lib/RT/CustomFields_Overlay.pm, lib/RT/ObjectCustomFields.pm,
-         lib/RT/Base.pm, lib/RT/ScripAction_Overlay.pm, lib/RT/User.pm,
-         lib/RT/Principal.pm, lib/RT/Principals_Overlay.pm,
-         lib/RT/ScripAction.pm, lib/RT/Attributes_Overlay.pm,
-         lib/RT/CustomField.pm, lib/RT/Queues.pm, lib/RT/Attachments.pm,
-         lib/RT/Attribute_Overlay.pm, lib/RT/CachedGroupMember_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm,
-         lib/RT/ObjectCustomFieldValue_Overlay.pm,
-         lib/RT/SavedSearches.pm, lib/RT/ScripCondition.pm,
-         lib/RT/Templates.pm, lib/RT/Tickets.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Users.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/CachedGroupMembers.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/Link.pm,
-         lib/RT/Transaction.pm, lib/RT/ScripActions_Overlay.pm,
-         lib/RT/ACE_Overlay.pm, lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/Scrip.pm, lib/RT/EmailParser.pm, lib/RT/Group.pm,
-         lib/RT/ObjectCustomField_Overlay.pm, lib/RT/Template.pm,
-         lib/RT/ACL_Overlay.pm, lib/RT/GroupMembers.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Transactions.pm,
-         lib/RT/ACL.pm, lib/RT/Attachment_Overlay.pm, lib/RT/Date.pm,
-         lib/RT/GroupMember.pm, lib/RT/Groups.pm,
-         lib/RT/Templates_Overlay.pm, lib/RT/Group_Overlay.pm,
-         lib/RT/Links_Overlay.pm, lib/RT/CustomFieldValue.pm,
-         lib/RT/CustomFields.pm, lib/RT/ObjectCustomFields_Overlay.pm,
-         lib/RT/Principals.pm, lib/RT/Queues_Overlay.pm, lib/RT/Ticket.pm,
-         lib/RT/Link_Overlay.pm, lib/RT/Attachment.pm,
-         lib/RT/Attribute.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/ScripActions.pm, lib/RT/Template_Overlay.pm,
-         lib/RT/URI/base.pm, lib/RT/URI/fsck_com_rt.pm, lib/RT/URI/t.pm,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Web.pm,
-         lib/RT/Interface/Web/Handler.pm,
-         lib/RT/Interface/Web/QueryBuilder.pm,
-         lib/RT/Interface/Web/Standalone.pm, lib/RT/Action/Autoreply.pm,
-         lib/RT/Action/Generic.pm, lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Interface/Web/QueryBuilder/Tree.pm,
-         lib/RT/Action/Notify.pm, lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/CreateTickets.pm,
-         lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SetPriority.pm,
-         lib/RT/Action/UserDefined.pm, lib/RT/Action/SendEmail.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, lib/RT/I18N/cs.po, lib/RT/I18N/es.po,
-         lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po, lib/RT/I18N/hu.po,
-         lib/RT/I18N/he.po, lib/RT/I18N/de.po, lib/RT/I18N/ru.po,
-         lib/RT/I18N/nl.po, lib/RT/I18N/pl.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/fr.po, lib/RT/I18N/cs.pm, lib/RT/I18N/it.po,
-         lib/RT/I18N/id.po, lib/RT/I18N/ja.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/I18N/en.po, lib/RT/I18N/i_default.pm,
-         lib/RT/I18N/pt_br.po, lib/RT/Condition/Generic.pm,
-         lib/RT/I18N/no.po, lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Overdue.pm,
-         lib/RT/Condition/OwnerChange.pm,
-         lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/QueueChange.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm,
-         lib/t/regression/08web_cf_access.t, lib/t/regression/12-search.t,
-         lib/t/regression/04send_email.t,
-         lib/t/regression/06-mime_decoding.t,
-         lib/t/regression/14linking.t, lib/t/regression/21query-builder.t,
-         lib/t/regression/22search_tix_by_txn.t,
-         lib/t/regression/22search_tix_by_watcher.t,
-         lib/t/regression/01ticket_link_searching.t,
-         lib/t/regression/02basic_web.t,
-         lib/t/regression/13-attribute-tests.t,
-         lib/t/regression/03web_compiliation_errors.t,
-         lib/t/regression/06mailgateway.t, lib/t/regression/07acl.t,
-         lib/t/regression/07rights.t,
-         lib/t/regression/23-web_attachments.t, html/autohandler,
-         html/index.html, html/l, html/Elements/EditCustomFieldImage,
-         html/Elements/EditCustomFieldSelect, html/Elements/EditLinks,
-         html/Elements/ListActions, html/Elements/MessageBox,
-         html/Elements/SelectBoolean,
-         html/Elements/SelectCustomFieldValue, html/Elements/SelectStatus,
-         html/Elements/ShowLinks, html/Elements/TitleBox,
-         html/Elements/Error, html/Elements/Section,
-         html/Elements/SelectDateRelation,
-         html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectWatcherType, html/Elements/BevelBoxRaisedEnd,
-         html/Elements/Callback, html/Elements/GotoTicket,
-         html/Elements/Login, html/Elements/MyTickets,
-         html/Elements/QueryString, html/Elements/Refresh,
-         html/Elements/SelectLinkType, html/Elements/SelectMatch,
-         html/Elements/SelectOwner, html/Elements/SelectQueue,
-         html/Elements/SelectTicketTypes, html/Elements/SelectUsers,
-         html/Elements/ShowCustomFieldBinary, html/Elements/ShowLink,
-         html/Elements/ShowMemberships, html/Elements/Checkbox,
-         html/Elements/EditCustomField, html/Elements/ScrubHTML,
-         html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectEqualityOperator,
-         html/Elements/SelectResultsPerPage,
-         html/Elements/SelectSortOrder, html/Elements/SelectTicketSortBy,
-         html/Elements/ShowCustomFieldImage,
-         html/Elements/ShowCustomFieldWikitext, html/Elements/TitleBoxEnd,
-         html/Elements/BevelBoxRaisedStart, html/Elements/CreateTicket,
-         html/Elements/MyRequests, html/Elements/SelectAttachmentField,
-         html/Elements/SelectDateType, html/Elements/SelectGroups,
-         html/Elements/SelectLang, html/Elements/SetupSessionCookie,
-         html/Elements/ShowCustomFields, html/Elements/Submit,
-         html/Elements/EditCustomFieldBinary,
-         html/Elements/EditCustomFieldFreeform,
-         html/Elements/EditCustomFieldText,
-         html/Elements/EditCustomFieldWikitext, html/Elements/Quicksearch,
-         html/Elements/CollectionAsTable/Header,
-         html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/RT__Ticket/ColumnMap, html/User/Delegation.html,
-         html/Search/Edit.html, html/Search/Results.html,
-         html/Search/Results.rdf, html/User/Elements/DelegateRights,
-         html/User/Elements/GroupTabs, html/User/Elements/Tabs,
-         html/User/Groups/Members.html, html/User/Groups/Modify.html,
-         html/User/Groups/index.html, html/Search/Results.tsv,
-         html/Search/Build.html, html/Search/Elements/BuildFormatString,
-         html/Search/Elements/PickBasics, html/Search/Elements/PickCFs,
-         html/Search/Elements/SelectAndOr,
-         html/Search/Elements/SelectLinks,
-         html/Search/Elements/SelectPersonType,
-         html/Search/Elements/SelectSearchObject,
-         html/Search/Elements/SelectSearchesForObjects,
-         html/REST/1.0/logout, html/Search/Elements/DisplayOptions,
-         html/Search/Elements/EditFormat, html/Search/Elements/EditQuery,
-         html/Search/Elements/EditSearches,
-         html/Search/Elements/NewListActions,
-         html/Search/Elements/PickCriteria,
-         html/Search/Elements/SearchPrivacy,
-         html/Search/Elements/SelectGroup, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/Forms/queue/default,
-         html/REST/1.0/Forms/queue/ns, html/NoAuth/Logout.html,
-         html/NoAuth/Reminder.html,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/ticket/links,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/REST/1.0/ticket/merge,
-         html/Admin/autohandler, html/Admin/index.html,
-         html/Download/CustomFieldValue/dhandler,
-         html/Download/Tabular/dhandler, html/NoAuth/images/autohandler,
-         html/NoAuth/images/bplogo.gif, html/Tools/MyDay.html,
-         html/Tools/Offline.html, html/Tools/Elements/Tabs,
-         html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/GroupRights.html,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/People.html,
-         html/Admin/Queues/Scrip.html, html/Admin/Queues/Scrips.html,
-         html/Admin/Queues/Template.html,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditUserComments,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/ObjectCustomFields,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
-         html/Admin/Elements/CustomFieldTabs,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/EditScrip,
-         html/Admin/Elements/GlobalCustomFieldTabs,
-         html/Admin/Elements/ModifyTemplate,
-         html/Admin/Elements/QueueTabs,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectScripAction,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SelectTemplate,
-         html/Admin/Elements/SystemTabs, html/Admin/Elements/Tabs,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/EditScrips,
-         html/Admin/Elements/ListGlobalCustomFields,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/PickCustomFields,
-         html/Admin/Elements/SelectModifyUser,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/UserTabs,
-         html/Admin/Elements/EditTemplates, html/Admin/Elements/Header,
-         html/Admin/Elements/PickObjects,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectCustomFieldLookupType,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectRights, html/Admin/Elements/ToolTabs,
-         html/Admin/Global/GroupRights.html, html/Admin/Global/Scrip.html,
-         html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
-         html/Admin/Global/CustomFields/Groups.html,
-         html/Admin/Global/CustomFields/Queue-Tickets.html,
-         html/Admin/Global/CustomFields/Queue-Transactions.html,
-         html/Admin/Global/CustomFields/Users.html,
-         html/Admin/Global/CustomFields/index.html,
-         html/Admin/Users/CustomFields.html,
-         html/Admin/CustomFields/GroupRights.html,
-         html/Admin/CustomFields/Modify.html,
-         html/Admin/CustomFields/Objects.html,
-         html/Admin/CustomFields/index.html,
-         html/Admin/Users/History.html, html/Admin/Users/Memberships.html,
-         html/Admin/Users/index.html,
-         html/Admin/CustomFields/UserRights.html,
-         html/Admin/Groups/CustomFields.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/History.html, html/Admin/Groups/Members.html,
-         html/Admin/Groups/Modify.html, html/Admin/Groups/UserRights.html,
-         html/Admin/Groups/index.html,
-         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
-         html/Ticket/Modify.html, html/Ticket/ShowEmailRecord.html,
-         html/Ticket/History.html, html/Ticket/ModifyAll.html,
-         html/Ticket/ModifyDates.html, html/Ticket/ModifyLinks.html,
-         html/Ticket/ModifyPeople.html, html/Ticket/Update.html,
-         html/Ticket/Elements/AddWatchers, html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowDates,
-         html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowUserEntry: import rt 3.4.6
+       * FS/FS/UID.pm: okay, really now, how about this
+
+2008-03-16 00:24  ivan
+
+       * FS/FS/UID.pm: okay, how about this
+
+2008-03-16 00:21  ivan
+
+       * FS/FS/UID.pm: fix 1.7->1.9 bootstrapping, i think
+
+2008-03-15 22:22  ivan
+
+       * httemplate/search/svc_broadband.cgi: clean up and
+         agent-virtualize svc_broadband searching
+
+2008-03-15 22:13  ivan
+
+       * httemplate/edit/part_svc.cgi: finish bringing sanity to
+         svc_broadband service definition blocknum edit
+
+2008-03-15 22:13  ivan
+
+       * FS/FS/: addr_block.pm, svc_broadband.pm: bring some sanity to
+         address block selection in svc_broadband service definition edit
+
+2008-03-15 21:54  ivan
+
+       * httemplate/browse/: addr_block.cgi, router.cgi: drag address &
+         router browse into this centiry
+
+2008-03-15 21:00  ivan
+
+       * httemplate/elements/header.html, httemplate/elements/menu.html,
+         rt/html/Elements/FreesideSearch: hide customer search if user
+         does not have "List customers" ACL, closes: RT#3105
+
+2008-03-15 15:18  ivan
+
+       * httemplate/edit/part_pkg.cgi, FS/FS/part_pkg/voip_cdr.pm:
+         slightly better voip_cdr package edit: use radio buttons for
+         selecting long things
+
+2008-03-15 14:39  ivan
+
+       * FS/FS/part_pkg/voip_cdr.pm: be asssertive
+
+2008-03-15 14:14  ivan
+
+       * FS/FS/: cust_svc.pm, part_pkg/voip_cdr.pm: configurable
+         disable_src, domestic_prefix and international_prefix options for
+         voip price plan
+
+2008-03-15 12:52  ivan
+
+       * httemplate/search/cust_bill.html, FS/FS/cust_bill.pm: check on
+         invoice re-printing newest percust... can't reproduce any
+         problem, prints newest per cust fine, closes: #3161
+
+2008-03-14 17:30  ivan
+
+       * httemplate/: view/svc_domain.cgi, misc/catchall.cgi: fix harmless
+         code leaking out onto the page, hehe, closes: Bug#3253, also
+         remove silly formatting on catchall edit
+
+2008-03-14 13:11  ivan
+
+       * FS/FS/cust_main.pm: eliminate some harmless uninitialized value
+         warnings
+
+2008-03-14 10:30  jeff
+
+       * FS/FS/part_export/prizm.pm: insist on Net::Prizm 0.04
+
+2008-03-14 01:13  ivan
+
+       * httemplate/edit/process/cust_pkg.cgi: whew, glad that change
+         package bugfix was easy to find, closes: Bug#3241
+
+2008-03-14 00:48  ivan
+
+       * FS/FS/cust_credit_bill.pm, FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/money_time.cgi,
+         httemplate/search/cust_credit_bill.html,
+         httemplate/search/cust_credit.html: add net credits to
+         sales/credits/receipts report
+
+2008-03-13 19:10  ivan
+
+       * FS/FS/Conf.pm: add Net20 invoice terms, closes: #3219
+
+2008-03-13 19:09  ivan
+
+       * FS/FS/Conf.pm: show where the warning about no conf comes from
+
+2008-03-13 02:28  ivan
+
+       * FS/FS/cust_pay.pm: yow.  very sleep deprived.  remove the
+         infinite loop rather than add one.
+
+2008-03-13 02:14  ivan
+
+       * FS/FS/cust_pay.pm: infinite loop protection
+
+2008-03-13 01:57  ivan
+
+       * FS/FS/cust_pay.pm: allow cust_pay.otaker upgrade to proceed even
+         if there are some old crufty records around attached to
+         now-deleted customers
+
+2008-03-12 09:22  jeff
+
+       * FS/FS/cust_svc.pm, FS/FS/part_export.pm, FS/FS/svc_Common.pm,
+         FS/FS/UI/Web.pm, FS/FS/part_export/prizm.pm,
+         eg/export_template.pm, httemplate/view/cust_main/packages.html:
+         allow exports to add links to customer view (#1407)
+
+2008-03-04 13:07  ivan
+
+       * FS/FS/cust_refund.pm: fix otaker population for cust_refund like
+         cust_credit and cust_pay
+
+2008-03-04 13:06  ivan
+
+       * FS/FS/cust_pay.pm: fix cust_pay.otaker population
+
+2008-03-04 11:15  ivan
+
+       * httemplate/: edit/cust_pkg.cgi, edit/process/cust_pkg.cgi,
+         misc/change_pkg.cgi: fix edit/process/cust_pkg getting confused
+         about the two different places that would be calling it... i.e.
+         with an empty new_pkgnum it would redirect the popup back the
+         customer view, hehe
+
+2008-03-03 19:38  ivan
+
+       * FS/FS/cust_bill.pm: AND fix latex->html notes substituion for ~s
+
+2008-03-03 19:37  ivan
+
+       * FS/FS/cust_bill.pm: and fix latex->html notes substituion for
+         escaped #s
+
+2008-03-03 19:34  ivan
+
+       * FS/FS/cust_bill.pm: fix latex->html notes substituion for
+         newlines
+
+2008-03-03 18:27  ivan
+
+       * httemplate/browse/rate_region.html: should improve compatibility
+         with older Pg.  i hope
+
+2008-03-03 17:49  ivan
+
+       * FS/FS/UID.pm: argh, don't load up a user until the other
+         initialization is done
+
+2008-03-03 15:12  ivan
+
+       * rt/: etc/RT_Config.pm.in, html/Elements/Header,
+         html/Elements/PageLayout, html/Elements/Tabs,
+         html/Elements/CollectionAsTable/Row,
+         html/Ticket/Elements/ShowTransactionAttachments,
+         html/Widgets/TitleBoxStart, sbin/rt-setup-database.in: merge in
+         rt 3.6.6.  *gulp*!
+
+2008-03-01 20:11  ivan
+
+       * rt/html/: Elements/EmailInput, NoAuth/css/dhandler,
+         NoAuth/images/css/fieldbg-autocomplete.gif,
+         NoAuth/js/scriptaculous/controls.js,
+         NoAuth/js/scriptaculous/effects.js,
+         NoAuth/js/scriptaculous/prototype.js,
+         NoAuth/js/scriptaculous/scriptaculous.js,
+         Helpers/EmailAutocomplete, Ticket/Elements/ShowQueue: Initial
+         revision
 
 2008-03-01 19:07  ivan
 
 
 2008-01-03 18:35  ivan
 
-       * httemplate/browse/elements/browse.html: new tax rate editor
+       * httemplate/: edit/cust_main_county.cgi,
+         edit/process/cust_main_county.cgi, browse/elements/browse.html:
+         new tax rate editor
 
 2008-01-03 18:27  ivan
 
          setting maxLength (and other attributes?).  hopefully that's all
          it is.
 
+2007-12-17 15:57  jeff
+
+       * httemplate/view/cust_main/quick-charge.html: cruft removal
+
 2007-12-17 14:57  jeff
 
        * FS/FS/cust_credit.pm: stricter otaker rules
 
 2007-12-16 12:48  ivan
 
-       * httemplate/search/cust_main.html: more consistent naming:
-         cust_main_ADV.cgi becomes cust_main.html
+       * httemplate/search/: cust_main.html, cust_main_ADV.cgi: more
+         consistent naming: cust_main_ADV.cgi becomes cust_main.html
 
 2007-12-15 14:47  rsiddall
 
 2007-11-28 10:49  jeff
 
        * FS/FS/ConfDefaults.pm, FS/FS/UI/Web.pm,
+         httemplate/search/cust_main_ADV.cgi,
          httemplate/search/report_cust_main.html: advanced customer report
          rearrangement
 
 
 2007-11-20 09:18  ivan
 
-       * AGPL: it finally happened
+       * AGPL, GPL: it finally happened
 
 2007-11-18 12:02  ivan
 
 2007-11-07 16:59  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_bill.pm, FS/FS/cust_main.pm,
-         conf/alerter_template, conf/company_address, conf/company_name,
+         FS/bin/freeside-expiration-alerter, conf/alerter_template,
+         conf/company_address, conf/company_name,
          conf/impending_recur_template, conf/invoice_latexfooter,
-         conf/invoice_latexnotes, conf/invoice_latexsmallfooter,
-         conf/invoice_template, conf/invoice_template_statement,
-         conf/welcome_letter: for new installs, centralize some stuff that
-         was spread around different config files.
+         conf/invoice_latexnotes, conf/invoice_latexreturnaddress,
+         conf/invoice_latexsmallfooter, conf/invoice_template,
+         conf/invoice_template_statement, conf/welcome_letter: for new
+         installs, centralize some stuff that was spread around different
+         config files.
 
 2007-11-05 17:59  ivan
 
          fs_selfservice/FS-SelfService/SelfService.pm: add
          process_payment_order_pkg method
 
+2007-11-04 10:22  jeff
+
+       * httemplate/search/cust_main_ADV.cgi: comma is a bad delimiter
+         choice according to ut_text()
+
 2007-11-03 10:38  ivan
 
        * httemplate/elements/menu.html: move menu option for adv. customer
 
 2007-11-02 17:55  jeff
 
-       * httemplate/: elements/menu.html, search/report_cust_main.html:
-         new customer report/flattened package report (ticket 1428)
+       * httemplate/: elements/menu.html, search/cust_main_ADV.cgi,
+         search/report_cust_main.html: new customer report/flattened
+         package report (ticket 1428)
 
 2007-10-29 05:04  ivan
 
 
        * FS/bin/freeside-sqlradius-seconds: fixing wrong POD NAME doc
 
+2007-10-03 18:29  ivan
+
+       * FS/t/cust_tax_exempt.pm: wtf!
+
 2007-10-03 18:21  ivan
 
        * FS/FS.pm: update FS base page for new stuff in 1.9
 2007-09-13 15:35  ivan
 
        * FS/MANIFEST, FS/FS/Schema.pm, FS/FS/acct_rt_transaction.pm,
-         FS/t/acct_rt_transaction.t, htetc/handler.pl,
+         FS/FS/svc_acct_rt_transaction.pm, FS/t/acct_rt_transaction.t,
+         FS/t/svc_acct_rt_transaction.t, htetc/handler.pl,
          httemplate/misc/process/timeworked.html,
          httemplate/search/timeworked.html: rename svc_acct_rt_transaction
          to acct_rt_transaction, as it is not a service, its something
 
 2007-08-16 06:40  jeff
 
-       * FS/FS/AccessRight.pm, FS/FS/Conf.pm, FS/FS/Schema.pm,
-         FS/FS/cust_main.pm, httemplate/misc/batch-cust_pay.html,
+       * FS/FS/svc_acct_rt_transaction.pm, FS/FS/AccessRight.pm,
+         FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cust_main.pm,
+         FS/t/svc_acct_rt_transaction.t,
+         httemplate/misc/batch-cust_pay.html,
          httemplate/misc/timeworked.html, FS/MANIFEST,
          httemplate/misc/process/timeworked.html,
          httemplate/search/timeworked.html, FS/FS/ClientAPI/MyAccount.pm,
 
 2007-08-10 16:50  ivan
 
-       * FS/bin/: freeside-dbdef-create: rename dbdef-create to
-         freeside-dbdef-create and move it to FS/bin, so it gets
-         %%%FREESIDE_CONF%%% substituted
+       * bin/dbdef-create, FS/bin/freeside-dbdef-create: rename
+         dbdef-create to freeside-dbdef-create and move it to FS/bin, so
+         it gets %%%FREESIDE_CONF%%% substituted
 
 2007-08-10 15:48  ivan
 
          html/Elements/PageLayout, html/Elements/QuickCreate,
          html/Elements/SimpleSearch, html/Elements/Tabs,
          html/Elements/TicketList, html/Elements/TitleBoxStart,
-         html/Elements/CollectionAsTable/Row, html/Search/Bulk.html,
+         html/Elements/CollectionAsTable/Row, html/NoAuth/printrt.css,
+         html/NoAuth/webrt.css, html/NoAuth/images/space.gif,
+         html/Search/Bulk.html, html/Ticket/Elements/ShowMemberOf,
+         html/Ticket/Elements/ShowReferences,
          html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
          html/Widgets/TitleBoxStart, lib/RT/SearchBuilder.pm,
          sbin/rt-setup-database.in: merging RT_3_6_4 to HEAD
        * httemplate/view/cust_main/packages.html: line up package acitons
          all on one line
 
-2007-08-02 12:56  ivan
-
-       * rt/: html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowUserEntry,
-         html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/Reminders,
-         html/Ticket/Elements/ShowGroupMembers,
-         html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/SelfService/Closed.html, html/SelfService/Create.html,
-         html/SelfService/CreateTicketInQueue.html,
-         html/SelfService/Display.html, html/SelfService/Error.html,
-         html/SelfService/Prefs.html, html/SelfService/Update.html,
-         html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/SelfService/index.html,
-         html/SelfService/Attachment/dhandler,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs, html/Approvals/Display.html,
-         html/Approvals/index.html,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Approvals/Elements/Tabs, html/Approvals/Elements/Approve,
-         html/Approvals/Elements/ShowDependency,
-         bin/mason_handler.fcgi.in, bin/mason_handler.svc.in, bin/rt.in,
-         bin/standalone_httpd.in, bin/mason_handler.scgi.in,
-         bin/rt-crontool.in, bin/rt-mailgate.in, bin/webmux.pl.in,
-         etc/initialdata, etc/drop.Oracle, etc/schema.mysql,
-         etc/upgrade/3.5.1/content: import rt 3.6.4
-
 2007-08-02 12:54  ivan
 
-       * rt/html/: Prefs/SearchOptions.html,
-         NoAuth/css/3.5-default/main.css, NoAuth/css/3.5-default/misc.css,
-         NoAuth/css/3.5-default/titlebox.css,
-         NoAuth/css/3.5-default/transactions.css,
-         NoAuth/images/css/cb.gif, NoAuth/images/css/cbr.gif,
-         NoAuth/images/css/ct.gif, NoAuth/images/css/ctr.gif,
-         Widgets/TitleBoxStart: Initial revision
-
-2007-08-02 12:53  ivan
-
-       * rt/: lib/RT/I18N/de.po, lib/RT/I18N/ru.po, lib/RT/I18N/nl.po,
-         lib/RT/I18N/pl.po, lib/RT/I18N/da.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/cs.pm, lib/RT/I18N/it.po, lib/RT/I18N/id.po,
-         lib/RT/I18N/ja.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/I18N/i_default.pm, lib/RT/I18N/pt_br.po,
-         lib/RT/I18N/en.po, lib/RT/I18N/tr.po,
-         lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Generic.pm,
-         lib/RT/Condition/Overdue.pm, lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm, lib/RT/I18N/no.po,
-         lib/RT/Condition/OwnerChange.pm, lib/RT/Condition/QueueChange.pm,
-         lib/RT/Report/Tickets.pm, lib/RT/Report/Tickets/Entry.pm,
+       * rt/: lib/RT/I18N/tr.po, lib/RT/Report/Tickets.pm,
+         lib/RT/Report/Tickets/Entry.pm,
          lib/t/data/subject-with-folding-ws, lib/t/data/lorem-ipsum,
-         lib/t/data/very-long-subject, lib/t/regression/08web_cf_access.t,
-         lib/t/regression/12-search.t, lib/t/regression/04send_email.t,
+         lib/t/data/very-long-subject,
          lib/t/regression/06-mime_decoding.t,
          lib/t/regression/15cf_pattern.t,
-         lib/t/regression/21query-builder.t,
-         lib/t/regression/22search_tix_by_txn.t,
-         lib/t/regression/22search_tix_by_watcher.t,
          lib/t/regression/23-batch-upload-csv.t,
          lib/t/regression/25scrip_order.t, lib/t/regression/27verp.t,
-         lib/t/regression/14linking.t, lib/t/regression/17custom_search.t,
+         lib/t/regression/17custom_search.t,
          lib/t/regression/19quicksearch.t, lib/t/regression/23cfsort.t,
          lib/t/regression/00-mason-syntax.t,
-         lib/t/regression/02basic_web.t,
-         lib/t/regression/01ticket_link_searching.t,
-         lib/t/regression/13-attribute-tests.t,
          lib/t/regression/26command_line.t,
-         lib/t/regression/03web_compiliation_errors.t,
-         lib/t/regression/06mailgateway.t, lib/t/regression/07acl.t,
          lib/t/regression/15cf_combo_cascade.t,
          lib/t/regression/18custom_frontpage.t,
-         lib/t/regression/24pawsort.t, lib/t/regression/07rights.t,
+         lib/t/regression/24pawsort.t,
          lib/t/regression/20-sort-by-requestor.t,
          lib/t/regression/23-web_attachments.t,
-         docs/design_docs/ruleset-workflow.txt, html/autohandler,
-         html/index.html, html/l, html/Elements/SelectBoolean,
-         html/Elements/SelectCustomFieldValue, html/Elements/SelectStatus,
-         html/Elements/TitleBox, html/Elements/EditCustomFieldImage,
-         html/Elements/EditCustomFieldSelect, html/Elements/ShowLinks,
-         html/Elements/EditLinks, html/Elements/ListActions,
-         html/Elements/MessageBox, html/Elements/SelectDateRelation,
-         html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectTimeUnits, html/Elements/SelectWatcherType,
-         html/Elements/Error, html/Elements/GotoTicket,
-         html/Elements/MyTickets, html/Elements/QueryString,
-         html/Elements/RefreshHomepage, html/Elements/Section,
-         html/Elements/SelectLinkType, html/Elements/SelectMatch,
-         html/Elements/ShowCustomFieldBinary, html/Elements/ShowLink,
-         html/Elements/ShowMemberships, html/Elements/Login,
-         html/Elements/Refresh, html/Elements/SelectOwner,
-         html/Elements/SelectQueue, html/Elements/SelectUsers,
-         html/Elements/BevelBoxRaisedEnd, html/Elements/Callback,
-         html/Elements/SelectTicketTypes, html/Elements/Checkbox,
-         html/Elements/EditCustomField, html/Elements/MyAdminQueues,
-         html/Elements/MyRT, html/Elements/MyReminders,
-         html/Elements/MySupportQueues, html/Elements/QueueSummary,
-         html/Elements/ScrubHTML, html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectEqualityOperator,
-         html/Elements/SelectResultsPerPage,
-         html/Elements/SelectTicketSortBy,
-         html/Elements/ShowCustomFieldImage,
-         html/Elements/ShowCustomFieldWikitext, html/Elements/ShowSearch,
+         docs/design_docs/ruleset-workflow.txt,
+         html/Elements/SelectTimeUnits, html/Elements/RefreshHomepage,
+         html/Elements/MyAdminQueues, html/Elements/MyRT,
+         html/Elements/MyReminders, html/Elements/MySupportQueues,
+         html/Elements/QueueSummary, html/Elements/ShowSearch,
          html/Elements/ValidateCustomFields, html/Elements/Logo,
-         html/Elements/SelectSortOrder, html/Elements/SetupSessionCookie,
-         html/Elements/Submit, html/Elements/TitleBoxEnd,
-         html/Elements/BevelBoxRaisedStart, html/Elements/CreateTicket,
-         html/Elements/MyRequests, html/Elements/SelectGroups,
-         html/Elements/SelectLang, html/Elements/ShowCustomFields,
-         html/Elements/EditCustomFieldBinary,
-         html/Elements/EditCustomFieldFreeform, html/Elements/Quicksearch,
-         html/Elements/SelectAttachmentField,
-         html/Elements/SelectDateType,
-         html/Elements/EditCustomFieldCombobox,
-         html/Elements/EditCustomFieldText,
-         html/Elements/EditCustomFieldWikitext,
-         html/Elements/CollectionAsTable/Header,
-         html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/RT__Ticket/ColumnMap, html/Prefs/MyRT.html,
+         html/Elements/EditCustomFieldCombobox, html/Prefs/MyRT.html,
          html/Prefs/Quicksearch.html, html/Prefs/Search.html,
-         html/Prefs/Elements/Tabs, html/User/Delegation.html,
-         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
-         html/User/Elements/Tabs, html/User/Groups/Modify.html,
-         html/Search/Chart.html, html/Search/Edit.html,
-         html/Search/Results.html, html/Search/Results.rdf,
-         html/Search/Simple.html, html/User/Groups/Members.html,
-         html/User/Groups/index.html, html/Search/Chart,
-         html/Search/Results.tsv, html/Search/Build.html,
-         html/Search/Elements/SelectAndOr,
-         html/Search/Elements/SelectGroupBy,
-         html/Search/Elements/SelectPersonType,
-         html/Search/Elements/BuildFormatString,
-         html/Search/Elements/Chart, html/Search/Elements/PickBasics,
-         html/Search/Elements/PickCFs, html/Search/Elements/SearchPrivacy,
+         html/Prefs/SearchOptions.html, html/Prefs/Elements/Tabs,
+         html/Search/Chart.html, html/Search/Simple.html,
+         html/Search/Chart, html/Search/Elements/SelectGroupBy,
+         html/Search/Elements/Chart,
          html/Search/Elements/SearchesForObject,
-         html/Search/Elements/SelectGroup,
-         html/Search/Elements/SelectLinks,
-         html/Search/Elements/SelectSearchObject,
-         html/Search/Elements/SelectSearchesForObjects,
-         html/Search/Elements/DisplayOptions,
-         html/Search/Elements/EditFormat, html/Search/Elements/EditQuery,
-         html/Search/Elements/PickCriteria,
-         html/Search/Elements/SelectChartType, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/logout,
-         html/REST/1.0/Forms/queue/default, html/REST/1.0/Forms/queue/ns,
+         html/Search/Elements/SelectChartType,
          html/REST/1.0/Forms/ticket/merge,
-         html/Search/Elements/EditSearches,
-         html/Search/Elements/NewListActions,
          html/REST/1.0/Forms/ticket/comment,
          html/REST/1.0/Forms/ticket/take,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/ticket/links,
          html/REST/1.0/Forms/transaction/default,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/merge,
-         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
          html/NoAuth/css/autohandler, html/NoAuth/css/print.css,
          html/NoAuth/css/3.4-compat/footer.css,
-         html/NoAuth/css/3.4-compat/header.css,
-         html/NoAuth/css/3.4-compat/login.css,
-         html/NoAuth/css/3.4-compat/nav.css,
-         html/NoAuth/css/3.4-compat/ticket.css,
-         html/NoAuth/css/3.4-compat/transactions.css,
-         html/REST/1.0/ticket/comment, html/REST/1.0/ticket/link,
-         html/NoAuth/css/3.4-compat/body.css,
-         html/NoAuth/css/3.4-compat/forms.css,
-         html/NoAuth/css/3.4-compat/main.css,
-         html/NoAuth/css/3.4-compat/misc.css,
-         html/NoAuth/css/3.4-compat/quickbar.css,
-         html/NoAuth/css/3.4-compat/titlebox.css,
-         html/NoAuth/css/3.5-default/footer.css,
-         html/NoAuth/css/3.5-default/login.css,
-         html/NoAuth/css/3.5-default/nav.css,
-         html/NoAuth/css/3.5-default/ticket.css,
-         html/NoAuth/css/3.5-default/approvals.css,
-         html/NoAuth/css/3.5-default/body.css,
-         html/NoAuth/css/3.5-default/forms.css,
-         html/NoAuth/css/3.5-default/header.css,
-         html/NoAuth/css/3.5-default/logo.css,
-         html/NoAuth/css/3.5-default/quickbar.css,
-         html/NoAuth/images/autohandler, html/NoAuth/images/bplogo.gif,
-         html/NoAuth/images/css/cb-light.gif,
-         html/NoAuth/images/css/cbr-b2g.gif,
-         html/NoAuth/images/css/cbr-b2lb.gif,
-         html/NoAuth/images/css/cbr-gray.gif,
-         html/NoAuth/images/css/cbr-trans.gif,
-         html/NoAuth/images/css/ct-light.gif,
-         html/NoAuth/images/css/ctr-b2g.gif,
-         html/NoAuth/images/css/ctr-b2lb.gif,
-         html/NoAuth/images/css/ctr-gray.gif,
-         html/NoAuth/images/css/ctr-trans.gif,
-         html/NoAuth/images/css/dark-arrow-up.png,
-         html/NoAuth/images/css/dark-arrow.png,
-         html/NoAuth/images/css/light-arrow-up.png,
-         html/NoAuth/images/css/light-arrow.png,
-         html/NoAuth/images/css/rolldown-arrow.gif,
-         html/NoAuth/images/css/rolldown-arrow.png,
-         html/NoAuth/images/css/rollup-arrow.gif,
-         html/NoAuth/js/cascaded.js, html/NoAuth/js/util.js,
-         html/NoAuth/js/autohandler, html/NoAuth/js/combobox.js,
-         html/NoAuth/js/list.js, html/NoAuth/js/ahah.js,
-         html/NoAuth/js/class.js, html/NoAuth/js/titlebox-state.js,
-         html/Widgets/ComboBox, html/Widgets/SavedSearch,
-         html/Widgets/SelectionBox, html/Widgets/TitleBox,
-         html/Widgets/TitleBoxEnd, html/Helpers/CalPopup.html,
-         html/Tools/MyDay.html, html/Tools/Offline.html,
-         html/Tools/index.html, html/Tools/Elements/Tabs,
-         html/Tools/Reports/CreatedByDates.html,
-         html/Tools/Reports/ResolvedByDates.html,
-         html/Tools/Reports/ResolvedByOwner.html,
-         html/Tools/Reports/index.html, html/Admin/autohandler,
-         html/Admin/index.html, html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/GroupRights.html,
-         html/Admin/Queues/People.html,
-         html/Download/CustomFieldValue/dhandler,
-         html/Download/Tabular/dhandler, html/Tools/Reports/Elements/Tabs,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/Scrip.html,
-         html/Admin/Queues/Scrips.html, html/Admin/Queues/Template.html,
-         html/Admin/Elements/ObjectCustomFields,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
-         html/Admin/Elements/CustomFieldTabs,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditUserComments,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/SelectScripAction,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Elements/SelectTemplate, html/Admin/Elements/Tabs,
-         html/Admin/Elements/ConfigureMyRT,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/QueueTabs, html/Admin/Elements/EditScrip,
-         html/Admin/Elements/GlobalCustomFieldTabs,
-         html/Admin/Elements/ModifyTemplate,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SystemTabs,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/EditScrips,
-         html/Admin/Elements/PickCustomFields,
-         html/Admin/Elements/SelectModifyUser,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/UserTabs,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/ListGlobalCustomFields,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/PickObjects,
-         html/Admin/Elements/SelectCustomFieldLookupType,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/EditTemplates, html/Admin/Elements/Header,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectRights, html/Admin/Elements/ToolTabs,
-         html/Admin/Global/MyRT.html, html/Admin/Global/GroupRights.html,
-         html/Admin/Global/Scrip.html, html/Admin/Global/Scrips.html,
-         html/Admin/Global/Template.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
-         html/Admin/Global/CustomFields/Queue-Tickets.html,
-         html/Admin/Global/CustomFields/Queue-Transactions.html,
-         html/Admin/Global/CustomFields/Users.html,
-         html/Admin/Global/CustomFields/Groups.html,
-         html/Admin/Global/CustomFields/index.html,
-         html/Admin/Users/CustomFields.html, html/Admin/Users/MyRT.html,
-         html/Admin/Users/History.html, html/Admin/Users/Memberships.html,
-         html/Admin/CustomFields/GroupRights.html,
-         html/Admin/CustomFields/Modify.html,
-         html/Admin/CustomFields/Objects.html,
-         html/Admin/CustomFields/UserRights.html,
-         html/Admin/CustomFields/index.html, html/Admin/Users/index.html,
-         html/Admin/Groups/CustomFields.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/History.html, html/Admin/Groups/Modify.html,
-         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
-         html/Admin/Groups/Members.html,
-         html/Admin/Groups/UserRights.html, html/Admin/Groups/index.html,
-         html/Ticket/History.html, html/Ticket/Modify.html,
-         html/Ticket/ModifyLinks.html, html/Ticket/Reminders.html,
-         html/Ticket/ShowEmailRecord.html, html/Ticket/ModifyDates.html,
-         html/Ticket/ModifyPeople.html, html/Ticket/Update.html,
-         html/Ticket/ModifyAll.html, html/Ticket/Elements/AddWatchers,
-         html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowDates, html/Ticket/Elements/ShowTime:
-         import rt 3.6.4
+         html/NoAuth/css/3.4-compat/header.css,
+         html/NoAuth/css/3.4-compat/login.css,
+         html/NoAuth/css/3.4-compat/nav.css,
+         html/NoAuth/css/3.4-compat/ticket.css,
+         html/NoAuth/css/3.4-compat/transactions.css,
+         html/NoAuth/css/3.4-compat/body.css,
+         html/NoAuth/css/3.4-compat/forms.css,
+         html/NoAuth/css/3.4-compat/main.css,
+         html/NoAuth/css/3.4-compat/misc.css,
+         html/NoAuth/css/3.4-compat/quickbar.css,
+         html/NoAuth/css/3.4-compat/titlebox.css,
+         html/NoAuth/css/3.5-default/footer.css,
+         html/NoAuth/css/3.5-default/login.css,
+         html/NoAuth/css/3.5-default/nav.css,
+         html/NoAuth/css/3.5-default/ticket.css,
+         html/NoAuth/css/3.5-default/approvals.css,
+         html/NoAuth/css/3.5-default/body.css,
+         html/NoAuth/css/3.5-default/forms.css,
+         html/NoAuth/css/3.5-default/header.css,
+         html/NoAuth/css/3.5-default/logo.css,
+         html/NoAuth/css/3.5-default/main.css,
+         html/NoAuth/css/3.5-default/misc.css,
+         html/NoAuth/css/3.5-default/quickbar.css,
+         html/NoAuth/css/3.5-default/titlebox.css,
+         html/NoAuth/css/3.5-default/transactions.css,
+         html/NoAuth/images/css/cb-light.gif,
+         html/NoAuth/images/css/cb.gif,
+         html/NoAuth/images/css/cbr-b2g.gif,
+         html/NoAuth/images/css/cbr-b2lb.gif,
+         html/NoAuth/images/css/cbr-gray.gif,
+         html/NoAuth/images/css/cbr-trans.gif,
+         html/NoAuth/images/css/cbr.gif,
+         html/NoAuth/images/css/ct-light.gif,
+         html/NoAuth/images/css/ct.gif,
+         html/NoAuth/images/css/ctr-b2g.gif,
+         html/NoAuth/images/css/ctr-b2lb.gif,
+         html/NoAuth/images/css/ctr-gray.gif,
+         html/NoAuth/images/css/ctr-trans.gif,
+         html/NoAuth/images/css/ctr.gif,
+         html/NoAuth/images/css/dark-arrow-up.png,
+         html/NoAuth/images/css/dark-arrow.png,
+         html/NoAuth/images/css/light-arrow-up.png,
+         html/NoAuth/images/css/light-arrow.png,
+         html/NoAuth/images/css/rolldown-arrow.gif,
+         html/NoAuth/images/css/rolldown-arrow.png,
+         html/NoAuth/images/css/rollup-arrow.gif,
+         html/NoAuth/js/cascaded.js, html/NoAuth/js/util.js,
+         html/NoAuth/js/autohandler, html/NoAuth/js/combobox.js,
+         html/NoAuth/js/list.js, html/NoAuth/js/ahah.js,
+         html/NoAuth/js/class.js, html/NoAuth/js/titlebox-state.js,
+         html/Widgets/ComboBox, html/Widgets/SavedSearch,
+         html/Widgets/SelectionBox, html/Widgets/TitleBox,
+         html/Widgets/TitleBoxEnd, html/Widgets/TitleBoxStart,
+         html/Helpers/CalPopup.html, html/Tools/index.html,
+         html/Tools/Reports/CreatedByDates.html,
+         html/Tools/Reports/ResolvedByDates.html,
+         html/Tools/Reports/ResolvedByOwner.html,
+         html/Tools/Reports/index.html, html/Tools/Reports/Elements/Tabs,
+         html/Admin/Elements/ConfigureMyRT, html/Admin/Global/MyRT.html,
+         html/Admin/Users/MyRT.html, html/Ticket/Reminders.html,
+         html/Ticket/Elements/ShowTime, html/Ticket/Elements/Reminders,
+         etc/upgrade/3.5.1/content: Initial revision
 
-2007-08-02 12:49  ivan
+2007-08-02 12:51  ivan
 
-       * rt/: configure, aclocal.m4, Changelog, Makefile.in, README,
-         UPGRADING, configure.ac, sbin/extract_pod_tests,
-         sbin/rt-test-dependencies.in, sbin/extract-message-catalog,
-         sbin/regression_harness, sbin/rt-dump-database.in, sbin/factory,
-         sbin/license_tag, lib/RT.pm.in,
-         lib/RT/ObjectCustomFieldValues.pm,
-         lib/RT/Transactions_Overlay.pm, lib/RT/URI.pm, lib/RT/Handle.pm,
-         lib/RT/ObjectCustomField.pm, lib/RT/ScripCondition_Overlay.pm,
-         lib/RT/CustomFieldValues_Overlay.pm,
-         lib/RT/ObjectCustomFieldValue.pm, lib/RT/ScripConditions.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/I18N.pm, lib/RT/Queue.pm,
-         lib/RT/ScripConditions_Overlay.pm, lib/RT/Scrips.pm,
-         lib/RT/System.pm, lib/RT/CachedGroupMember.pm, lib/RT/Links.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/SavedSearch.pm,
-         lib/RT/Scrips_Overlay.pm, lib/RT/CustomFields_Overlay.pm,
-         lib/RT/ObjectCustomFields.pm, lib/RT/Reminders.pm, lib/RT/ACE.pm,
-         lib/RT/CurrentUser.pm, lib/RT/CustomFieldValue_Overlay.pm,
-         lib/RT/Attributes.pm, lib/RT/Base.pm,
-         lib/RT/ScripAction_Overlay.pm, lib/RT/User.pm,
-         lib/RT/Principals_Overlay.pm, lib/RT/ScripAction.pm,
-         lib/RT/CustomField.pm, lib/RT/Principal.pm,
-         lib/RT/Attributes_Overlay.pm, lib/RT/Queues.pm,
-         lib/RT/Attachments.pm, lib/RT/Attribute_Overlay.pm,
-         lib/RT/CachedGroupMember_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm,
-         lib/RT/SavedSearches.pm, lib/RT/ScripCondition.pm,
-         lib/RT/Templates.pm, lib/RT/Tickets.pm,
-         lib/RT/ObjectCustomFieldValue_Overlay.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Users.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/CachedGroupMembers.pm,
-         lib/RT/Link.pm, lib/RT/Transaction.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/ScripActions_Overlay.pm,
-         lib/RT/ACE_Overlay.pm, lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/Scrip.pm, lib/RT/EmailParser.pm,
-         lib/RT/ObjectCustomField_Overlay.pm, lib/RT/Group.pm,
-         lib/RT/Template.pm, lib/RT/GroupMembers.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Transactions.pm,
-         lib/RT/ACL_Overlay.pm, lib/RT/Attachment_Overlay.pm,
-         lib/RT/ACL.pm, lib/RT/Date.pm, lib/RT/GroupMember.pm,
-         lib/RT/Groups.pm, lib/RT/Templates_Overlay.pm,
-         lib/RT/Group_Overlay.pm, lib/RT/Links_Overlay.pm,
-         lib/RT/CustomFieldValue.pm, lib/RT/CustomFields.pm,
-         lib/RT/Link_Overlay.pm, lib/RT/ObjectCustomFields_Overlay.pm,
-         lib/RT/Principals.pm, lib/RT/Queues_Overlay.pm, lib/RT/Ticket.pm,
-         lib/RT/Attribute.pm, lib/RT/ScripActions.pm,
-         lib/RT/Attachment.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/Template_Overlay.pm, lib/RT/URI/base.pm,
-         lib/RT/URI/fsck_com_rt.pm, lib/RT/URI/t.pm,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Web.pm,
-         lib/RT/Interface/Web/Handler.pm, lib/RT/Interface/Web/Menu.pm,
-         lib/RT/Interface/Web/QueryBuilder.pm,
-         lib/RT/Interface/Web/Standalone.pm,
-         lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Interface/Web/Menu/Item.pm,
-         lib/RT/Interface/Web/QueryBuilder/Tree.pm,
-         lib/RT/Action/Autoreply.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm, lib/RT/Action/Notify.pm,
-         lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Action/CreateTickets.pm, lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/UserDefined.pm,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/SendEmail.pm, lib/RT/Action/SetPriority.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, lib/RT/Search/Googleish.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/es.po, lib/RT/I18N/sv.po,
-         lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po, lib/RT/I18N/hu.po,
-         lib/RT/I18N/he.po: import rt 3.6.4
+       * rt/lib/RT/: Reminders.pm, Interface/Web/Menu.pm,
+         Interface/Web/Menu/Item.pm, Search/Googleish.pm, I18N/sv.po:
+         Initial revision
 
 2007-08-01 15:33  ivan
 
 
 2007-08-01 15:24  ivan
 
-       * CREDITS, FS/MANIFEST, FS/FS/AccessRight.pm, FS/FS/Conf.pm,
-         FS/FS/Record.pm, FS/FS/Schema.pm, FS/FS/Setup.pm,
-         FS/FS/access_group.pm, FS/FS/access_user.pm,
-         FS/FS/access_user_pref.pm, FS/FS/agent.pm, FS/FS/cust_bill.pm,
-         FS/FS/cust_credit.pm, FS/FS/cust_event.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_pay.pm, FS/FS/cust_pay_batch.pm, FS/FS/cust_pkg.pm,
-         FS/FS/cust_refund.pm, FS/FS/m2name_Common.pm,
+       * ANNOUNCE.1.5, CREDITS, FS/MANIFEST, FS/README,
+         FS/FS/AccessRight.pm, FS/FS/Conf.pm, FS/FS/Record.pm,
+         FS/FS/Schema.pm, FS/FS/Setup.pm, FS/FS/access_group.pm,
+         FS/FS/access_user.pm, FS/FS/access_user_pref.pm, FS/FS/agent.pm,
+         FS/FS/cust_bill.pm, FS/FS/cust_credit.pm, FS/FS/cust_event.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_pay.pm, FS/FS/cust_pay_batch.pm,
+         FS/FS/cust_pkg.pm, FS/FS/cust_refund.pm, FS/FS/m2name_Common.pm,
          FS/FS/option_Common.pm, FS/FS/part_bill_event.pm,
          FS/FS/part_event.pm, FS/FS/part_event_condition.pm,
          FS/FS/part_event_condition_option.pm,
          httemplate/view/cust_bill-logo.cgi,
          httemplate/view/cust_bill.cgi, httemplate/view/cust_main.cgi,
          httemplate/view/logo.cgi, httemplate/view/svc_Common.html,
+         httemplate/view/cust_main/order_pkg.html,
          httemplate/view/cust_main/packages.html,
          httemplate/view/cust_main/payment_history.html, test/cgi-test:
          event refactor, landing on HEAD!
        * rt/: Makefile, config.log, config.status, bin/mason_handler.fcgi,
          bin/mason_handler.scgi, bin/mason_handler.svc,
          bin/rt-commit-handler, bin/rt-crontool, bin/rt-mailgate,
-         etc/RT_Config.pm, lib/RT.pm, lib/RTx/WebCronTool.pm,
-         lib/t/02regression.t, lib/t/03web.pl, lib/t/04_send_email.pl:
-         commit these RT differences, seem to be mostly in autogen'ed
-         stuff
+         bin/webmux.pl, etc/RT_Config.pm, lib/RT.pm,
+         lib/RTx/WebCronTool.pm, lib/t/02regression.t, lib/t/03web.pl,
+         lib/t/04_send_email.pl: commit these RT differences, seem to be
+         mostly in autogen'ed stuff
 
 2007-08-01 15:13  ivan
 
 
 2007-07-06 01:08  ivan
 
-       * README: v3!
+       * GPL, README: v3!
 
 2007-07-05 15:05  ivan
 
 
        * FS/FS/cust_pkg.pm: missing method name in docs
 
+2007-07-01 11:09  ivan
+
+       * TODO: remove obsolete information and dollar sign Id dollar sign
+         from TODO
+
 2007-06-30 17:36  ivan
 
        * httemplate/edit/agent.cgi: separate agent interface is
 
 2007-06-28 18:27  ivan
 
-       * bin/strip-eps: removing create-history-tables, freeside-upgrade
-         does this anyway
+       * bin/: create-history-tables, strip-eps: removing
+         create-history-tables, freeside-upgrade does this anyway
 
 2007-06-28 18:23  ivan
 
 
        * FS/FS/Schema.pm, FS/FS/cust_main.pm,
          httemplate/edit/cust_main.cgi,
-         httemplate/edit/cust_main/billing.html: ticket 1443 add account
-         type and bank state for echeck processing
+         httemplate/edit/cust_main/billing.html,
+         httemplate/edit/cust_main/select-state.html: ticket 1443 add
+         account type and bank state for echeck processing
 
 2007-04-05 17:37  ivan
 
 
 2007-02-28 11:14  jeff
 
-       * httemplate/misc/svc_acct-domains.cgi: restore (none) choice to
-         first package select
+       * httemplate/: edit/cust_main/select-domain.html,
+         misc/svc_acct-domains.cgi: restore (none) choice to first package
+         select
 
 2007-02-27 16:16  jayce
 
        * FS/FS/cust_main.pm: *** ERROR: unterminated L<...> at line 4716
          in file FS/cust_main.pm
 
+2007-02-14 17:09  ivan
+
+       * httemplate/docs/billing.html: removing docs moved to wiki
+
 2007-02-14 16:49  ivan
 
        * httemplate/edit/part_bill_event.cgi: add send_email event
 
 2007-02-14 15:32  jeff
 
-       * httemplate/: edit/cust_main.cgi, misc/svc_acct-domains.cgi:
-         selectable domain on first package in edit/cust_main
+       * httemplate/: edit/cust_main/select-domain.html,
+         edit/cust_main.cgi, misc/svc_acct-domains.cgi: selectable domain
+         on first package in edit/cust_main
 
 2007-02-14 14:43  ivan
 
 
 2007-02-12 09:56  jeff
 
-       * FS/FS/ClientAPI/Signup.pm: alpha sort packages in new package
-         order SELECT (ticket 1446)
+       * FS/FS/ClientAPI/Signup.pm,
+         httemplate/view/cust_main/order_pkg.html: alpha sort packages in
+         new package order SELECT (ticket 1446)
 
 2007-02-11 19:11  ivan
 
 
        * FS/FS/pay_batch.pm: remove refactored code
 
+2007-02-05 05:11  ivan
+
+       * httemplate/search/svc_Smart.html: remove unused svc_Smart
+
 2007-02-05 05:10  ivan
 
        * httemplate/search/: report_receivables.cgi,
        * FS/FS/AccessRight.pm, httemplate/view/cust_bill-logo.cgi,
          httemplate/view/cust_bill-pdf.cgi,
          httemplate/view/cust_bill-ps.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_Common.html,
-         httemplate/view/svc_acct.cgi, httemplate/view/svc_broadband.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_Common.html, httemplate/view/svc_acct.cgi,
+         httemplate/view/svc_broadband.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_external.cgi,
          httemplate/view/svc_forward.cgi, httemplate/view/svc_www.cgi,
          httemplate/view/cust_main/contacts.html,
 
 2007-01-21 05:26  ivan
 
-       * Makefile, htetc/freeside-base1.conf, htetc/freeside-base2.conf:
-         mod_perl v2, it finally happened
+       * Makefile, htetc/freeside-base.conf, htetc/freeside-base1.conf,
+         htetc/freeside-base2.conf: mod_perl v2, it finally happened
 
 2007-01-21 01:13  ivan
 
 
        * httemplate/docs/index.html: link more docs to wiki
 
+2006-12-29 00:29  ivan
+
+       * httemplate/browse/pay_batch.cgi: this is unused, replaced by
+         search/pay_batch.cgi
+
 2006-12-29 00:25  ivan
 
        * FS/FS/part_export/vpopmail.pm: didn't get checked in with
        * FS/FS/part_export.pm: use FS::queue for exports, though they
          should probably just use it themselves
 
+2006-12-29 00:21  ivan
+
+       * Changelog, Changes.1.5.7, Changes.1.5.8: removing old changelogs
+
+2006-12-29 00:20  ivan
+
+       * Changes.1.7.0: changelog now in the wiki
+
 2006-12-28 23:23  ivan
 
        * httemplate/edit/elements/edit.html: document field types
 
        * FS/FS/Misc.pm, htetc/handler.pl,
          httemplate/edit/cust_main/contact.html,
+         httemplate/edit/cust_main/select-county.html,
          httemplate/misc/counties.cgi: Add a (magically appearing and
          disappearing) label on the county selector.  confusing when
          labeled "state"
 
 2006-12-26 17:07  ivan
 
-       * httemplate/: edit/cust_main.cgi, misc/counties.cgi: fix county
+       * httemplate/: edit/cust_main.cgi,
+         edit/cust_main/select-county.html, misc/counties.cgi: fix county
          selector
 
 2006-12-26 11:53  ivan
          FS/bin/freeside-deluser, FS/bin/freeside-queued,
          FS/bin/freeside-selfservice-server, FS/bin/freeside-setup,
          FS/bin/freeside-sqlradius-radacctd, FS/bin/freeside-upgrade,
-         bin/mapsecrets2access_user, htetc/handler.pl: make the config
-         directory configurable
+         bin/dbdef-create, bin/mapsecrets2access_user, htetc/handler.pl:
+         make the config directory configurable
 
 2006-12-13 22:00  ivan
 
 
 2006-12-08 05:36  ivan
 
-       * httemplate/edit/process/quick-charge.cgi: some javascript
-         validation magic to give one-time charges better UI
+       * httemplate/: view/cust_main/quick-charge.html,
+         edit/process/quick-charge.cgi: some javascript validation magic
+         to give one-time charges better UI
 
 2006-12-07 08:46  ivan
 
        * FS/bin/freeside-queued: remove unnecessary service use (in an
          awfully odd place)
 
+2006-11-30 17:35  ivan
+
+       * FS/bin/freeside-expiration-alerter: go away and never come back,
+         $Id$
+
 2006-11-30 17:34  ivan
 
        * FS/bin/freeside-email: begone $Id$ and your diff noise!
 
        * FS/MANIFEST: removing freeside-daily
 
+2006-10-29 16:26  ivan
+
+       * FS/bin/freeside-bill: removing pre-1.4 freeside-bill
+
 2006-10-27 12:10  ivan
 
        * FS/FS/: Conf.pm, cust_pkg.pm: add
 2006-10-19 07:26  jeff
 
        * httemplate/elements/tr-select-reason.html,
-         httemplate/misc/cancel_pkg.html,
-         httemplate/misc/process/cancel_pkg.html, FS/t/cust_pkg_reason.t:
-         suspension and cancellation reasons
+         httemplate/misc/cancel_pkg.cgi, httemplate/misc/cancel_pkg.html,
+         httemplate/misc/expire_pkg.cgi,
+         httemplate/misc/process/cancel_pkg.html,
+         httemplate/misc/process/expire_pkg.cgi,
+         httemplate/misc/susp_pkg.cgi, FS/t/cust_pkg_reason.t: suspension
+         and cancellation reasons
 
 2006-10-19 07:23  jeff
 
-       * FS/FS/reason.pm, FS/FS/reason_type.pm, FS/t/reason.t,
-         FS/t/reason_type.t, httemplate/browse/reason.html,
+       * FS/FS/cancel_reason.pm, FS/FS/reason.pm, FS/FS/reason_type.pm,
+         FS/t/cancel_reason.t, FS/t/reason.t, FS/t/reason_type.t,
+         httemplate/browse/reason.html,
          httemplate/browse/reason_type.html,
          httemplate/edit/process/reason.html,
          httemplate/edit/process/reason_type.html,
          httemplate/view/cust_main/packages.html: suspension and
          cancellation reasons
 
+2006-10-18 02:30  ivan
+
+       * httemplate/docs/: config.html, export.html: removing obsolete
+         config.html, moving info from export.html into wiki
+
 2006-10-17 17:05  jeff
 
        * httemplate/elements/tr-input-date-field.html: fix ugly null dates
 2006-10-17 02:03  ivan
 
        * rt/: html/Elements/Header, html/Elements/CollectionAsTable/Row,
-         sbin/rt-setup-database.in: commiting rt 3.4.5 to HEAD
+         html/NoAuth/webrt.css, sbin/rt-setup-database.in: commiting rt
+         3.4.5 to HEAD
 
 2006-10-17 01:49  ivan
 
-       * rt/: configure, configure.ac, README, Changelog,
-         sbin/rt-test-dependencies.in,
-         html/Ticket/Elements/EditCustomFields, html/Search/Build.html,
-         html/Search/Results.rdf, html/Search/Results.tsv,
-         html/Search/Elements/BuildFormatString,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Elements/EditCustomField, html/Elements/QueryString,
-         html/Elements/ScrubHTML, html/Elements/EditCustomFieldSelect,
-         html/Elements/Callback, html/Elements/ShowCustomFields,
-         html/Elements/RT__Ticket/ColumnMap, html/User/Elements/Tabs,
-         lib/t/regression/22search_tix_by_txn.t,
-         lib/t/regression/09record_cf_api.t, lib/t/regression/07acl.t,
-         lib/t/regression/14linking.t,
-         lib/t/regression/22search_tix_by_watcher.t,
-         lib/t/regression/06mailgateway.t, lib/t/regression/07rights.t,
-         lib/RT/CustomField_Overlay.pm, lib/RT/Tickets_Overlay_SQL.pm,
-         lib/RT/EmailParser.pm, lib/RT/I18N.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/Transactions_Overlay.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/Attachments_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm, lib/RT/ACE_Overlay.pm,
-         lib/RT/Link_Overlay.pm, lib/RT/I18N/en.po, lib/RT/I18N/cs.po,
-         lib/RT/I18N/pt_br.po, lib/RT/I18N/fr.po, lib/RT/I18N/es.po,
-         lib/RT/I18N/nl.po, lib/RT/I18N/pl.po, lib/RT/I18N/no.po,
-         lib/RT/I18N/it.po, lib/RT/I18N/hu.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/de.po, lib/RT/I18N/ja.po,
-         lib/RT/I18N/zh_tw.po, lib/RT/I18N/id.po, lib/RT/I18N/he.po,
-         lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po,
-         lib/RT/Action/SendEmail.pm, lib/RT/Interface/Email.pm: import rt
-         3.4.5
+       * rt/: html/NoAuth/printrt.css, lib/t/regression/14linking.t,
+         lib/t/regression/22search_tix_by_watcher.t: Initial revision
 
 2006-10-16 22:49  ivan
 
 
 2006-10-14 02:55  ivan
 
-       * httemplate/docs/index.html: move signup/self-service install to
-         wiki
+       * httemplate/docs/: index.html, selfservice.html: move
+         signup/self-service install to wiki
 
 2006-10-12 02:42  ivan
 
 
 2006-09-26 11:55  ivan
 
-       * httemplate/search/svc_acct.cgi: fix username@domain search
+       * httemplate/search/: svc_Smart.html, svc_acct.cgi: fix
+         username@domain search
 
 2006-09-23 11:33  ivan
 
        * FS/FS/AccessRight.pm, httemplate/elements/menu.html: add RADIUS
          session search back to main menu
 
+2006-09-02 20:14  ivan
+
+       * bin/dbdef-create: REALLY don't error out trying to create a dbdef
+         file from scratch
+
+2006-09-02 20:12  ivan
+
+       * bin/dbdef-create: don't error out trying to create a dbdef file
+         from scratch
+
 2006-09-02 13:38  ivan
 
        * httemplate/search/: cust_bill_event.cgi, cust_bill_event.html:
 
        * bin/: svc_acct.import, svc_domain.erase: BEGONE $Id$
 
+2006-08-31 13:44  ivan
+
+       * bin/svc_acct.export: removing obsolete file
+
 2006-08-31 12:59  ivan
 
        * bin/fs-migrate-svc_acct_sm: BEGONE $Id$
          FS/FS/cust_main.pm, FS/FS/cust_pay_batch.pm,
          FS/FS/part_bill_event.pm, FS/FS/payby.pm,
          FS/FS/ClientAPI/MyAccount.pm, FS/FS/ClientAPI/Signup.pm,
-         FS/t/cust_bill_pay_batch.t, httemplate/edit/cust_bill_pay.cgi,
+         FS/t/cust_bill_pay_batch.t, httemplate/browse/cust_pay_batch.cgi,
+         httemplate/edit/cust_bill_pay.cgi,
          httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/part_bill_event.cgi,
 
 2006-08-25 12:30  ivan
 
-       * FS/FS/: Misc.pm, Record.pm: use GROUP BY instead of DISTINCT ON
-         in the state and country queries for better cross-database
-         compatibility, based on a preliminary patch from Jason Thomas
+       * FS/FS/Misc.pm, FS/FS/Record.pm,
+         httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-county.html,
+         httemplate/edit/cust_main/select-state.html: use GROUP BY instead
+         of DISTINCT ON in the state and country queries for better
+         cross-database compatibility, based on a preliminary patch from
+         Jason Thomas
 
 2006-08-23 18:37  ivan
 
          httemplate/browse/addr_block.cgi, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
+         httemplate/browse/cust_pay_batch.cgi,
          httemplate/browse/inventory_class.html,
          httemplate/browse/msgcat.cgi, httemplate/browse/nas.cgi,
          httemplate/browse/part_bill_event.cgi,
          httemplate/browse/elements/browse.html,
          httemplate/config/config-process.cgi,
          httemplate/config/config-view.cgi, httemplate/config/config.cgi,
-         httemplate/edit/REAL_cust_pkg.cgi,
+         httemplate/docs/trouble.html, httemplate/edit/REAL_cust_pkg.cgi,
          httemplate/edit/access_group.html,
          httemplate/edit/access_user.html, httemplate/edit/agent.cgi,
          httemplate/edit/agent_payment_gateway.html,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
          httemplate/edit/cust_refund.cgi,
          httemplate/edit/inventory_class.html, httemplate/edit/msgcat.cgi,
          httemplate/edit/svc_www.cgi,
          httemplate/edit/cust_main/billing.html,
          httemplate/edit/cust_main/contact.html,
+         httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-county.html,
+         httemplate/edit/cust_main/select-state.html,
          httemplate/edit/elements/edit.html,
          httemplate/edit/elements/svc_Common.html,
          httemplate/edit/process/REAL_cust_pkg.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/cust_main_county-collapse.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/cust_pkg.cgi,
          httemplate/edit/process/cust_refund.cgi,
          httemplate/graph/elements/monthly.html,
          httemplate/misc/batch-cust_pay.html, httemplate/misc/bill.cgi,
          httemplate/misc/cancel-unaudited.cgi,
-         httemplate/misc/catchall.cgi, httemplate/misc/cdr-import.html,
-         httemplate/misc/change_pkg.cgi, httemplate/misc/counties.cgi,
+         httemplate/misc/cancel_pkg.cgi, httemplate/misc/catchall.cgi,
+         httemplate/misc/cdr-import.html, httemplate/misc/change_pkg.cgi,
+         httemplate/misc/counties.cgi,
          httemplate/misc/cust_main-cancel.cgi,
          httemplate/misc/cust_main-import.cgi,
          httemplate/misc/cust_main-import_charges.cgi,
          httemplate/misc/email-invoice.cgi,
          httemplate/misc/email_invoice_events.cgi,
          httemplate/misc/email_invoices.cgi,
-         httemplate/misc/fax-invoice.cgi,
+         httemplate/misc/expire_pkg.cgi, httemplate/misc/fax-invoice.cgi,
          httemplate/misc/fax_invoice_events.cgi,
          httemplate/misc/fax_invoices.cgi,
          httemplate/misc/inventory_item-import.html,
          httemplate/misc/payment.cgi, httemplate/misc/print-invoice.cgi,
          httemplate/misc/print_invoice_events.cgi,
          httemplate/misc/print_invoices.cgi, httemplate/misc/queue.cgi,
-         httemplate/misc/states.cgi,
+         httemplate/misc/states.cgi, httemplate/misc/susp_pkg.cgi,
          httemplate/misc/unapply-cust_credit.cgi,
          httemplate/misc/unapply-cust_pay.cgi,
          httemplate/misc/unprovision.cgi, httemplate/misc/unsusp_pkg.cgi,
          httemplate/misc/process/cust_main-import.cgi,
          httemplate/misc/process/cust_main-import_charges.cgi,
          httemplate/misc/process/delete-customer.cgi,
+         httemplate/misc/process/expire_pkg.cgi,
          httemplate/misc/process/inventory_item-import.html,
          httemplate/misc/process/link.cgi,
          httemplate/misc/process/meta-import.cgi,
          httemplate/search/report_tax.cgi,
          httemplate/search/report_tax.html, httemplate/search/sql.html,
          httemplate/search/sqlradius.cgi,
-         httemplate/search/sqlradius.html, httemplate/search/svc_acct.cgi,
+         httemplate/search/sqlradius.html,
+         httemplate/search/svc_Smart.html, httemplate/search/svc_acct.cgi,
          httemplate/search/svc_broadband.cgi,
          httemplate/search/svc_domain.cgi,
          httemplate/search/svc_external.cgi,
          httemplate/view/cust_bill-logo.cgi,
          httemplate/view/cust_bill-pdf.cgi,
          httemplate/view/cust_bill-ps.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_acct.cgi,
-         httemplate/view/svc_broadband.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_broadband.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_external.cgi,
          httemplate/view/svc_forward.cgi, httemplate/view/svc_phone.cgi,
          httemplate/view/svc_www.cgi,
          httemplate/view/cust_main/billing.html,
          httemplate/view/cust_main/contacts.html,
          httemplate/view/cust_main/misc.html,
+         httemplate/view/cust_main/order_pkg.html,
          httemplate/view/cust_main/packages.html,
          httemplate/view/cust_main/payment_history.html,
+         httemplate/view/cust_main/quick-charge.html,
          httemplate/view/cust_main/tickets.html,
          httemplate/view/elements/svc_Common.html: Will things ever be the
          same again? It's the final masonize
 
 2006-08-22 05:23  ivan
 
-       * httemplate/docs/index.html: get rid of old upgrade instructions
+       * httemplate/docs/: index.html, upgrade-1.4.2.html, upgrade10.html,
+         upgrade9.html: get rid of old upgrade instructions
+
+2006-08-22 05:20  ivan
+
+       * README.1.7.0: wiki!
+
+2006-08-22 05:09  ivan
+
+       * README.1.5.0pre6, README.1.5.7, README.1.5.7.lastbit,
+         README.1.5.8: removing old upgrade instructions...  can always
+         get the out of the Attic
 
 2006-08-21 16:01  ivan
 
 
 2006-08-21 02:46  ivan
 
-       * httemplate/docs/index.html: we're off to see the wiki, the
-         wonderful wiki of oz
+       * httemplate/docs/: install-rt.html, install.html, index.html:
+         we're off to see the wiki, the wonderful wiki of oz
 
 2006-08-18 05:18  ivan
 
        * FS/FS/cust_main.pm: pass email, phone and ip adderss to B:OP when
          doing refunds, hopefully this will fix OpenECHO refunds
 
+2006-08-14 05:24  ivan
+
+       * Changes.1.7.0: there's more, but this will have to do
+
 2006-08-14 05:13  ivan
 
        * FS/FS/cust_main.pm, httemplate/edit/cust_main.cgi,
          rt/html/Elements/FreesideNewCust,
          rt/html/Elements/FreesideSearch,
          rt/html/Elements/FreesideSvcSearch, rt/html/Elements/PageLayout,
-         rt/html/Elements/SimpleSearch, rt/html/Elements/Tabs: sprinkle
-         some magic ajax fairy dust on referring customer SELEKTAH.
-         rewind!  make smart search smarter, re-layout the top search bars
-         and add an invoice one
+         rt/html/Elements/SimpleSearch, rt/html/Elements/Tabs,
+         rt/html/NoAuth/webrt.css: sprinkle some magic ajax fairy dust on
+         referring customer SELEKTAH.  rewind!  make smart search smarter,
+         re-layout the top search bars and add an invoice one
 
 2006-08-14 01:38  ivan
 
 
 2006-08-10 06:50  ivan
 
-       * FS/FS/Schema.pm, FS/FS/cust_main.pm, FS/FS/part_referral.pm,
-         httemplate/browse/part_referral.html,
+       * README.1.7.0, FS/FS/Schema.pm, FS/FS/cust_main.pm,
+         FS/FS/part_referral.pm, httemplate/browse/part_referral.html,
          httemplate/view/cust_main/misc.html: add cust_main.agent_custid
          (at least to schema and customer view, no manual editing yet)
 
 
        * FS/FS/AccessRight.pm, FS/FS/Record.pm, FS/FS/Schema.pm,
          FS/FS/access_user.pm, FS/FS/part_referral.pm,
+         httemplate/browse/part_referral.cgi,
          httemplate/browse/part_referral.html,
+         httemplate/edit/part_referral.cgi,
          httemplate/edit/part_referral.html,
+         httemplate/edit/process/part_referral.cgi,
          httemplate/edit/process/part_referral.html,
          httemplate/elements/menu.html: agent-virtualize advertising
          sources
 
 2006-08-08 23:43  jeff
 
-       * FS/FS/Schema.pm, FS/FS/Setup.pm, FS/FS/cust_bill.pm,
-         FS/FS/cust_main.pm, FS/FS/cust_pay_batch.pm,
+       * README.1.7.0, FS/FS/Schema.pm, FS/FS/Setup.pm,
+         FS/FS/cust_bill.pm, FS/FS/cust_main.pm, FS/FS/cust_pay_batch.pm,
          FS/FS/part_bill_event.pm, FS/FS/pay_batch.pm, FS/FS/payby.pm,
-         httemplate/docs/schema.html, httemplate/misc/download-batch.cgi:
-         batch refactor
+         httemplate/browse/cust_pay_batch.cgi,
+         httemplate/browse/pay_batch.cgi, httemplate/docs/schema.html,
+         httemplate/misc/download-batch.cgi: batch refactor
 
 2006-08-08 23:34  ivan
 
 
 2006-07-15 17:55  ivan
 
-       * FS/FS/Conf.pm, FS/FS/agent.pm, FS/FS/cust_bill.pm,
+       * SCHEMA_CHANGE, FS/FS/Conf.pm, FS/FS/agent.pm, FS/FS/cust_bill.pm,
          FS/FS/inventory_item.pm,
          fs_selfservice/FS-SelfService/freeside-selfservice-clientd,
-         httemplate/autohandler, httemplate/edit/cust_credit.cgi,
+         httemplate/autohandler, httemplate/browse/cust_pay_batch.cgi,
+         httemplate/edit/cust_credit.cgi,
          httemplate/elements/overlibmws.js,
          httemplate/elements/overlibmws_draggable.js,
          httemplate/elements/phonenumber.html,
 
        * FS/FS/cust_main.pm: patch to fix fuzzy searching from Ryan Gunn
 
+2006-07-05 04:23  ivan
+
+       * README.1.7.0: hint about permissions and users
+
 2006-07-04 05:01  ivan
 
        * FS/: bin/freeside-addgroup, bin/freeside-adduser, MANIFEST:
 
 2006-06-19 04:57  ivan
 
-       * bin/mapsecrets2access_user: ACL bootstrapping/upgrade
+       * Changes.1.7.0, README.1.7.0, bin/mapsecrets2access_user: ACL
+         bootstrapping/upgrade
 
 2006-06-19 04:25  ivan
 
          httemplate/elements/tr-select-cust-fields.html,
          httemplate/elements/tr-select-cust_pkg-status.html,
          httemplate/graph/cust_bill_pkg.cgi,
+         httemplate/search/cust_pkg_report.cgi,
          httemplate/search/report_cust_pkg.html,
          httemplate/view/cust_main/contacts.html: add ability to select
          specific package defs. and package status to package report for
 
        * httemplate/elements/menu.html: fix link to prepaid card setup
 
+2006-06-06 04:16  ivan
+
+       * rt/html/NoAuth/webrt.css: whew, this can go back
+
+2006-06-06 04:08  ivan
+
+       * rt/html/NoAuth/webrt.css: yay this should finally fix the weird
+         black navigation links; hide the Mason stuff from browsers when
+         it doesn't get processed for some reason
+
+2006-06-06 03:57  ivan
+
+       * rt/html/NoAuth/webrt.css: yet another attempt to fix weird black
+         RT navigation links
+
+2006-06-06 03:54  ivan
+
+       * rt/html/NoAuth/webrt.css: another attempt to fix weird black RT
+         navigation links
+
+2006-06-06 03:46  ivan
+
+       * rt/html/NoAuth/webrt.css: attempt to fix weird black RT
+         navigation links
+
 2006-06-06 03:30  ivan
 
        * FS/FS/cdr.pm: fix unmatched =back somehow futzing things up with
 
 2006-06-02 06:20  ivan
 
-       * httemplate/elements/header.html, rt/FREESIDE_MODIFIED,
+       * httemplate/elements/header.html,
+         httemplate/search/svc_Smart.html, rt/FREESIDE_MODIFIED,
          rt/html/Elements/FreesideSvcSearch, rt/html/Elements/PageLayout,
          rt/html/Elements/Tabs: add a service search
 
 
        * FS/MANIFEST: removing duplicate entries
 
+2006-05-23 08:54  ivan
+
+       * README.1.7.0: adding batch upgrade instructions to 1.7.0
+         instructions too
+
 2006-05-22 13:38  ivan
 
        * rt/html/Elements/FreesideNewCust: missing > tag on INPUT
 
        * FS/FS/cust_main.pm: better error message for banned cards
 
+2006-05-22 11:05  ivan
+
+       * Changes.1.5.8: justification
+
 2006-05-21 19:06  ivan
 
        * Makefile: docs are going in the wiki Real Soon Now anyway
 
+2006-05-21 19:04  ivan
+
+       * Changes.1.5.8: 1.5.8!
+
 2006-05-21 17:50  ivan
 
        * Makefile: 1.7.0?  why not?
 
 2006-05-20 13:06  jeff
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/Schema.pm, FS/FS/cust_bill.pm,
-         FS/FS/cust_pay_batch.pm, FS/FS/pay_batch.pm, FS/t/pay_batch.t,
-         htetc/handler.pl, httemplate/docs/schema.html,
+       * README.1.5.7.lastbit, README.1.5.8, FS/FS.pm, FS/MANIFEST,
+         FS/FS/Schema.pm, FS/FS/cust_bill.pm, FS/FS/cust_pay_batch.pm,
+         FS/FS/pay_batch.pm, FS/t/pay_batch.t, htetc/handler.pl,
+         httemplate/browse/cust_pay_batch.cgi,
+         httemplate/docs/schema.html, httemplate/docs/upgrade10.html,
          httemplate/misc/download-batch.cgi: first stab at BoM download
 
 2006-05-15 06:57  ivan
 
 2006-05-15 04:05  ivan
 
-       * httemplate/elements/freeside.css,
+       * rt/html/NoAuth/webrt.css, httemplate/elements/freeside.css,
          httemplate/elements/header.html, httemplate/elements/xmenu.css,
          httemplate/search/cust_main.cgi, rt/FREESIDE_MODIFIED,
          rt/html/Elements/FreesideNewCust,
 
 2006-05-14 09:47  ivan
 
-       * CREDITS, htetc/handler.pl, httemplate/autohandler,
+       * CREDITS, Changes.1.7.0, htetc/handler.pl, httemplate/autohandler,
          httemplate/index.html, httemplate/browse/access_group.html,
          httemplate/browse/access_user.html,
          httemplate/browse/agent_type.cgi,
          httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi, httemplate/edit/cust_pkg.cgi,
+         httemplate/edit/part_referral.cgi,
          httemplate/edit/part_virtual_field.cgi,
          httemplate/edit/svc_domain.cgi,
          httemplate/edit/elements/edit.html,
          httemplate/elements/tr-select-access_group.html,
          httemplate/elements/xmenu.css, httemplate/elements/xmenu.js,
          httemplate/misc/batch-cust_pay.html, httemplate/misc/payment.cgi,
+         httemplate/search/cust_bill.cgi,
          httemplate/search/cust_main-otaker.cgi,
-         httemplate/search/cust_main.cgi,
+         httemplate/search/cust_main-payinfo.html,
+         httemplate/search/cust_main-quickpay.html,
+         httemplate/search/cust_main.cgi, httemplate/search/cust_pay.html,
+         httemplate/search/cust_pkg_report.cgi,
          httemplate/search/report_cust_bill.html,
          httemplate/search/report_cust_credit.html,
          httemplate/search/report_cust_pay.html,
          httemplate/search/report_prepaid_income.html,
          httemplate/search/report_tax.html,
          httemplate/search/sqlradius.html,
+         httemplate/search/svc_acct.html,
          httemplate/search/svc_domain.cgi,
+         httemplate/search/svc_domain.html,
          httemplate/search/svc_external.cgi, FS/MANIFEST,
          FS/FS/AccessRight.pm, FS/FS/CGI.pm, FS/FS/Schema.pm,
          FS/FS/access_group.pm, FS/FS/access_groupagent.pm,
          FS/FS/access_user_pref.pm, FS/FS/access_usergroup.pm,
          FS/FS/agent_type.pm, FS/FS/cust_bill.pm, FS/FS/m2m_Common.pm,
          FS/FS/payby.pm, FS/FS/svc_domain.pm, FS/FS/UI/Web.pm,
-         FS/bin/freeside-addoutsourceuser, FS/t/AccessRight.t,
-         FS/t/access_group.t, FS/t/access_groupagent.t,
-         FS/t/access_right.t, FS/t/access_user.t, FS/t/access_user_pref.t,
+         FS/FS/part_pkg/billoneday.pm, FS/bin/freeside-addoutsourceuser,
+         FS/t/AccessRight.t, FS/t/access_group.t,
+         FS/t/access_groupagent.t, FS/t/access_right.t,
+         FS/t/access_user.t, FS/t/access_user_pref.t,
          FS/t/access_usergroup.t, httemplate/view/cust_main/packages.html,
          httemplate/view/cust_main/payment_history.html: first part of ACL
          and re-skinning work and some other small stuff
        * httemplate/search/report_receivables.cgi: Pg 8.1 fix was
          incorrect and broke things, this should actually work
 
+2006-05-08 04:48  ivan
+
+       * README.1.5.8, README.1.7.0: suggest "make clean" on upgrade -
+         something is not quite right with perl Makefile hoohaw
+
 2006-05-08 04:28  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main.pm,
 2006-05-08 03:01  ivan
 
        * FS/FS/Report/Table/Monthly.pm, httemplate/index.html,
+         httemplate/graph/cust_bill_pkg-graph.cgi,
          httemplate/graph/cust_bill_pkg.cgi,
          httemplate/graph/elements/monthly.html,
          httemplate/search/cust_bill_pkg.cgi: sales report per agent and
 
 2006-05-07 13:27  ivan
 
-       * htetc/handler.pl, httemplate/elements/select-month_year.html,
+       * README.1.7.0, htetc/handler.pl, httemplate/docs/upgrade10.html,
+         httemplate/elements/select-month_year.html,
          httemplate/elements/select-pkg_class.html,
          httemplate/elements/select-table.html,
          httemplate/elements/tr-select-from_to.html,
          httemplate/elements/tr-select-pkg_class.html,
+         httemplate/graph/cust_bill_pkg-graph.cgi,
          httemplate/graph/cust_bill_pkg.cgi,
+         httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi,
          httemplate/graph/report_cust_bill_pkg.html,
          httemplate/graph/report_money_time.html,
        * httemplate/: index.html, search/report_receivables.html: add an
          agent pre-selection page to receivables report
 
+2006-05-02 06:29  ivan
+
+       * SCHEMA_CHANGE: need to install the new Schema.pm before you can
+         autogenerate off it
+
 2006-05-02 04:59  ivan
 
        * httemplate/index.html, FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi,
          httemplate/graph/report_money_time.html: add a "pre-report" page
          to this report/graph as requested by lewis/wtxs, also add 12mo
 
 2006-04-21 17:58  ivan
 
-       * httemplate/browse/inventory_class.html,
+       * httemplate/browse/generic.cgi,
+         httemplate/browse/inventory_class.html,
          httemplate/browse/part_pkg.cgi, httemplate/browse/pkg_class.html,
          httemplate/browse/rate.cgi,
          httemplate/browse/elements/browse.html, htetc/handler.pl,
          httemplate/elements/select-pkg_class.html,
          httemplate/elements/select-table.html,
          httemplate/elements/tr-select-pkg_class.html,
-         httemplate/search/cust_pkg.cgi, FS/FS/part_pkg.pm,
+         httemplate/search/cust_pkg.cgi,
+         httemplate/search/inventory_class.html, FS/FS/part_pkg.pm,
          httemplate/search/elements/search.html: start of package class
          web UI (add/edit package classes, package class selection in
          package def edit)
 
 2006-04-21 05:45  ivan
 
-       * httemplate/: index.html, misc/queue.cgi, search/queue.html:
-         s(browse/queue.cgi)(search/queue.html)
+       * httemplate/: index.html, browse/queue.cgi, misc/queue.cgi,
+         search/queue.html: s(browse/queue.cgi)(search/queue.html)
 
 2006-04-18 23:37  ivan
 
        * FS/FS/cust_main.pm: DOH!  perlvar: not counting patterns matched
          in nested blocks that have been exited already.
 
+2006-04-18 12:33  ivan
+
+       * httemplate/docs/install.html: add JSON to initial install
+         instructions
+
 2006-04-15 06:32  ivan
 
        * httemplate/graph/money_time.cgi: REALLY correct the period for
 
        * htetc/handler.pl, FS/FS/Misc.pm,
          httemplate/edit/cust_main/contact.html,
+         httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-state.html,
          httemplate/misc/states.cgi,
          httemplate/view/cust_main/contacts.html: have the UI use full
          country names, and state names outside the US...
 
 2006-03-30 06:22  ivan
 
-       * FS/bin/freeside-upgrade: move all the schema-updating magic into
-         DBIx::DBSchema
+       * README.1.7.0, FS/bin/freeside-upgrade: move all the
+         schema-updating magic into DBIx::DBSchema
 
 2006-03-24 18:23  ivan
 
 
 2006-03-23 04:00  lsc
 
-       * FS/FS/part_pkg/: prorate.pm, subscription.pm: for subscription.pm
-         and prorate.pm:
+       * FS/FS/part_pkg/: billoneday.pm, prorate.pm, subscription.pm: for
+         subscription.pm and prorate.pm:
 
          -modify the subscription and prorate price plans
          (FS/FS/part_pkg/subscription.pm and prorate.pm) to have a
 
 2006-03-20 11:13  ivan
 
-       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cdr.pm, FS/FS/cust_main.pm,
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/cdr.pm,
+         FS/FS/cdr_upstream_rate.pm, FS/FS/cust_main.pm,
          FS/FS/cust_svc.pm, FS/FS/rate_detail.pm, FS/FS/svc_acct.pm,
          FS/FS/part_pkg/voip_cdr.pm, httemplate/edit/part_pkg.cgi,
-         FS/MANIFEST, bin/cdr_upstream_rate.import,
-         httemplate/edit/rate.cgi, httemplate/edit/cust_main/billing.html,
+         FS/MANIFEST, FS/t/cdr_upstream_rate.t,
+         bin/cdr_upstream_rate.import, httemplate/edit/rate.cgi,
+         httemplate/edit/cust_main/billing.html,
          httemplate/search/cdr.html, httemplate/search/report_cdr.html,
          httemplate/view/cust_main/billing.html: add price plan to bill on
          internal or external CDRs directly, add option to export CDRs to
        * FS/FS/inventory_item.pm,
          httemplate/misc/inventory_item-import.html,
          httemplate/misc/process/inventory_item-import.html,
+         httemplate/search/inventory_class.html,
          httemplate/search/inventory_item.html:  Add an option to the web
          interface to batch upload new entries to the
          inventory_item table.
 
        * FS/MANIFEST, FS/FS/Schema.pm, FS/FS/inventory_class.pm,
          FS/FS/inventory_item.pm, FS/t/inventory_class.t,
-         FS/t/inventory_item.t, httemplate/search/inventory_item.html,
-         bin/generate-table-module, htetc/handler.pl,
-         httemplate/edit/inventory_class.html,
+         FS/t/inventory_item.t, httemplate/search/inventory_class.html,
+         httemplate/search/inventory_item.html, bin/generate-table-module,
+         htetc/handler.pl, httemplate/edit/inventory_class.html,
          httemplate/edit/elements/edit.html,
          httemplate/edit/process/inventory_class.html,
          httemplate/edit/process/elements/process.html,
 
 2006-03-03 07:02  ivan
 
-       * FS/FS/Report/Table/Monthly.pm, httemplate/graph/money_time.cgi:
-         agent-specific sales/credit/receipts summary
+       * FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/money_time-graph.cgi,
+         httemplate/graph/money_time.cgi: agent-specific
+         sales/credit/receipts summary
 
 2006-02-28 11:34  ivan
 
 
        * FS/FS/Schema.pm, FS/FS/cdr.pm, FS/FS/cdr_calltype.pm,
          FS/FS/cdr_carrier.pm, FS/FS/cdr_type.pm, FS/FS/cust_main.pm,
-         FS/MANIFEST, FS/FS/part_pkg/voip_sqlradacct.pm, FS/t/cdr.t,
+         README.1.7.0, README.2.0.0, FS/MANIFEST,
+         FS/FS/part_pkg/voip_sqlradacct.pm, FS/t/cdr.t,
          FS/t/cdr_calltype.t, FS/t/cdr_carrier.t, FS/t/cdr_type.t,
          FS/t/part_pkg-voip_cdr.t, htetc/handler.pl,
          httemplate/misc/cdr-import.html,
          httemplate/search/cdr.html, httemplate/search/report_cdr.html,
          bin/cdr_calltype.import: CDR schema and class
 
+2006-02-17 20:32  ivan
+
+       * htetc/global.asa, httemplate/docs/install.html: Mason it is
+
 2006-02-17 18:11  ivan
 
        * FS/FS/: cust_tax_exempt_pkg.pm, domain_record.pm, msgcat.pm,
 
 2006-02-16 13:43  ivan
 
-       * FS/FS/Setup.pm, FS/bin/freeside-setup,
-         httemplate/docs/admin.html: automate more of the initial data
-         adding...
+       * FS/FS/Setup.pm, FS/bin/freeside-setup, bin/populate-msgcat,
+         httemplate/docs/admin.html, httemplate/docs/install.html:
+         automate more of the initial data adding...
 
 2006-02-08 23:18  ivan
 
        * FS/bin/freeside-selfservice-server: don't leave ssh zombies
          around either
 
+2006-02-07 19:50  ivan
+
+       * httemplate/docs/: upgrade7.html, upgrade8.html: remove ancient
+         upgrade instructions
+
 2006-02-07 19:49  ivan
 
-       * httemplate/docs/index.html: slightly html-ize the 1.5.8 upgrade
-         instructions
+       * httemplate/docs/: upgrade10.html, index.html: slightly html-ize
+         the 1.5.8 upgrade instructions
 
 2006-02-07 18:26  ivan
 
 2006-01-30 20:26  ivan
 
        * httemplate/: browse/addr_block.cgi, browse/agent.cgi,
-         browse/agent_type.cgi, browse/part_bill_event.cgi,
-         browse/part_export.cgi, browse/part_pkg.cgi, browse/part_svc.cgi,
-         browse/part_virtual_field.cgi, browse/payment_gateway.html,
-         browse/rate.cgi, browse/router.cgi, browse/svc_acct_pop.cgi,
+         browse/agent_type.cgi, browse/cust_pay_batch.cgi,
+         browse/part_bill_event.cgi, browse/part_export.cgi,
+         browse/part_pkg.cgi, browse/part_referral.cgi,
+         browse/part_svc.cgi, browse/part_virtual_field.cgi,
+         browse/payment_gateway.html, browse/queue.cgi, browse/rate.cgi,
+         browse/router.cgi, browse/svc_acct_pop.cgi,
          config/config-view.cgi, config/config.cgi,
          edit/REAL_cust_pkg.cgi, edit/agent.cgi,
          edit/agent_payment_gateway.html, edit/agent_type.cgi,
          edit/svc_forward.cgi, edit/process/prepay_credit.cgi,
          edit/process/reg_code.cgi, misc/batch-cust_pay.html,
          misc/cust_main-import.cgi, misc/cust_main-import_charges.cgi,
-         misc/link.cgi, misc/meta-import.cgi, misc/upload-batch.cgi,
-         misc/whois.cgi, misc/process/cust_main-import.cgi,
+         misc/expire_pkg.cgi, misc/link.cgi, misc/meta-import.cgi,
+         misc/upload-batch.cgi, misc/whois.cgi,
+         misc/process/cust_main-import.cgi,
          misc/process/cust_main-import_charges.cgi,
          misc/process/meta-import.cgi, search/report_prepaid_income.cgi,
          search/report_tax.cgi, search/svc_external.cgi,
 
 2006-01-25 04:34  ivan
 
-       * FS/: FS/Record.pm, FS/Schema.pm, FS/cust_bill.pm,
-         FS/cust_main.pm, FS/cust_tax_exempt.pm,
-         FS/cust_tax_exempt_pkg.pm, FS/h_cust_bill.pm,
-         FS/h_cust_tax_exempt.pm, t/cust_tax_exempt_pkg.t,
-         t/h_cust_bill.t, t/h_cust_tax_exempt.t, MANIFEST: change
-         texas-style tax exemptions to be against a specific line item
-         rather than just general per-customer, for later tracking and tax
-         reporting.  fix 1969/1970 exemptions for one-off charges
+       * FS/FS/Record.pm, FS/FS/Schema.pm, FS/FS/cust_bill.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_tax_exempt.pm,
+         FS/FS/cust_tax_exempt_pkg.pm, FS/FS/h_cust_bill.pm,
+         FS/FS/h_cust_tax_exempt.pm, FS/t/cust_tax_exempt_pkg.t,
+         FS/t/h_cust_bill.t, FS/t/h_cust_tax_exempt.t, README.2.0.0,
+         FS/MANIFEST: change texas-style tax exemptions to be against a
+         specific line item rather than just general per-customer, for
+         later tracking and tax reporting.  fix 1969/1970 exemptions for
+         one-off charges
+
+2006-01-05 01:34  ivan
+
+       * httemplate/docs/upgrade10.html: my last 1.4 -> 1.5 upgrade...
 
 2006-01-04 18:03  ivan
 
        * FS/FS/Schema.pm: remove redundant indices on cust_main ship_
          columns
 
+2006-01-03 00:45  ivan
+
+       * bin/billco-upload: agentnums 1-3
+
 2005-12-29 18:41  rsiddall
 
        * FS/FS/Conf.pm, FS/FS/ConfItem.pm, FS/FS/cust_pkg.pm,
 
 2005-12-24 19:00  ivan
 
-       * FS/FS/Schema.pm: update indices for better tax report performance
+       * README.1.5.8, FS/FS/Schema.pm: update indices for better tax
+         report performance
 
 2005-12-24 18:31  ivan
 
          causing " "my" variable $t masks earlier declaration in same
          scope" errors
 
+2005-12-21 20:02  ivan
+
+       * Changes.1.5.8: more accurate description of tax report changes
+
 2005-12-21 20:01  ivan
 
        * httemplate/search/cust_bill_event.html,
          httemplate/search/cust_bill_pkg.cgi,
+         httemplate/search/cust_pkg_report.cgi,
          httemplate/search/report_cust_bill.html,
          httemplate/search/report_cust_credit.html,
          httemplate/search/report_cust_pay.html,
 
 2005-12-18 20:18  ivan
 
-       * FS/FS/part_pkg/sqlradacct_hour.pm: add maximum "caps" to RADIUS
-         usage charges
+       * Changes.1.5.8, FS/FS/part_pkg/sqlradacct_hour.pm: add maximum
+         "caps" to RADIUS usage charges
 
 2005-12-16 14:47  ivan
 
        * FS/bin/freeside-upgrade: force a dbdef reload.  no wonder this
          had to be run multiple times before
 
+2005-12-02 22:49  ivan
+
+       * README.1.5.8, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: add Term::ReadKey to install &
+         upgrade docs and README.1.5.8
+
+2005-12-01 18:30  ivan
+
+       * httemplate/docs/upgrade10.html: and Net::Whois::Raw
+
+2005-12-01 17:52  ivan
+
+       * README.1.5.8, httemplate/docs/upgrade10.html: note DBIx::DBSchema
+         0.29 is required for Pg 7.2.x and earlier
+
+2005-12-01 17:22  ivan
+
+       * httemplate/docs/upgrade10.html: apache instructions already up
+         top
+
 2005-12-01 11:17  ivan
 
        * httemplate/edit/agent_type.cgi: list disabled packages on agent
          shouldn't apply to RADIUS groups, this is messing up unrelated
          RADIUS exports
 
+2005-11-30 09:48  ivan
+
+       * README.1.5.8: later versions are okay too
+
 2005-11-28 09:16  ivan
 
        * FS/FS/cust_main.pm: turn off debugging
        * FS/FS/part_export/radiator.pm: update radiator export to deal
          with prepaid and some other random stuff
 
+2005-11-22 01:13  ivan
+
+       * httemplate/docs/install.html: correct common misconception RIGHT
+         THERE in the docs
+
 2005-11-21 07:24  ivan
 
        * FS/FS/: export_svc.pm, part_svc.pm, rate.pm: when editing exports
        * FS/FS/TicketSystem/RT_External.pm: update custom priorioty field
          BS for RT 3.4.4
 
+2005-11-17 23:05  ivan
+
+       * README.1.5.8: slightly more info in 1.5.8 upgrade instructions
+
 2005-11-17 19:48  ivan
 
        * FS/FS/cust_main.pm: allow expired cards to remain on file; only
 
 2005-11-17 04:27  ivan
 
-       * FS/FS/Schema.pm: add cust_pkg2 index on cust_pkg.pkgpart
+       * README.1.5.8, FS/FS/Schema.pm: add cust_pkg2 index on
+         cust_pkg.pkgpart
 
 2005-11-17 03:15  ivan
 
 2005-11-16 05:14  ivan
 
        * FS/FS/part_svc.pm, httemplate/index.html,
-         httemplate/browse/part_svc.cgi, FS/FS/UI/Web.pm,
+         httemplate/browse/part_svc.cgi, Changes.1.5.8, FS/FS/UI/Web.pm,
          httemplate/edit/bulk-cust_svc.html,
          httemplate/edit/process/bulk-cust_svc.cgi: bulk svcpart change
 
+2005-11-12 04:19  ivan
+
+       * README.1.5.8: one last bit for 1.5.7->1.5.8 RT upgrade
+         instructions
+
 2005-11-11 17:24  ivan
 
        * httemplate/view/cust_main/tickets.html: huh seem to have
          unaudited domain deletion, add record being deleted to record
          deletion popup
 
+2005-11-09 12:48  ivan
+
+       * httemplate/docs/install.html: closing paren
+
 2005-11-07 18:16  ivan
 
        * httemplate/docs/admin.html: bah
 
        * FS/FS/cust_bill.pm: only send to specific destinations, oops!
 
+2005-10-31 21:21  ivan
+
+       * bin/billco-upload: do the zip
+
 2005-10-31 21:14  ivan
 
        * httemplate/edit/part_bill_event.cgi: add option for spool_csv
          events to apply only to a specific destination type (i.e. postal
          only)
 
+2005-10-31 19:16  ivan
+
+       * bin/billco-upload: good nuff for 11/1
+
 2005-10-31 19:15  ivan
 
        * httemplate/edit/part_bill_event.cgi, FS/FS/cust_bill.pm: add
          spool one giant (pair of) CSV files in addition to FTPing them
          individually
 
+2005-10-28 10:10  ivan
+
+       * bin/billco-upload: beginning of quick billco zip & upload tool
+
 2005-10-28 04:56  ivan
 
        * httemplate/search/cust_bill_event.cgi: don't show 'N/A'
 
 2005-10-24 04:56  ivan
 
-       * FS/FS/Schema.pm, httemplate/edit/process/rate.cgi,
+       * README.1.5.8, FS/FS/Schema.pm, httemplate/edit/process/rate.cgi,
          httemplate/elements/progress-init.html,
          httemplate/elements/xmlhttp.html: fix rate plan editing with new
          xmlhttp progressbar - use POST instead of GET.  also optimize SQL
        * FS/FS/Conf.pm: make sure config still works if no ticket system
          is configured...
 
-2005-10-15 05:58  ivan
-
-       * bin/backup-dvd: adding quick backup-to-dvd script
-
-2005-10-15 04:29  ivan
-
-       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/TicketSystem.pm,
-         FS/FS/agent.pm, FS/FS/TicketSystem/RT_External.pm,
-         FS/FS/TicketSystem/RT_Internal.pm, httemplate/browse/agent.cgi,
-         httemplate/edit/agent.cgi, httemplate/config/config-view.cgi,
-         httemplate/config/config.cgi: agent option to select RT queue
-
-2005-10-15 04:13  ivan
-
-       * rt/html/Elements/Header: land RT 3.4.4 on HEAD
-
-2005-10-15 02:33  ivan
-
-       * rt/: etc/RT_SiteConfig.pm, html/Elements/Footer,
-         html/Elements/Header, html/Elements/Menu,
-         html/Elements/PageLayout, html/Elements/SimpleSearch,
-         html/Elements/Tabs, html/Elements/CollectionAsTable/Row,
-         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
-         sbin/rt-setup-database.in: landing rt 3.4.4 on HEAD
-
-2005-10-15 02:09  ivan
-
-       * rt/: UPGRADING, configure, Makefile.in, README, configure.ac,
-         Changelog, aclocal.m4, docs/rt3-schema-relationships.dot,
-         docs/design_docs/realflow.txt, m4/rt_layout.m4,
-         docs/design_docs/3.3-schema-redesign.txt,
-         docs/design_docs/cvs_integration,
-         docs/design_docs/link-definitions.txt, docs/design_docs/rt-mvc,
-         sbin/extract-message-catalog, sbin/extract_pod_tests,
-         sbin/factory, sbin/license_tag, sbin/regression_harness,
-         sbin/rt-dump-database.in, sbin/rt-test-dependencies.in,
-         html/autohandler, html/index.html, html/l,
-         html/Ticket/History.html, html/Ticket/Modify.html,
-         html/Ticket/ModifyAll.html, html/Ticket/ModifyDates.html,
-         html/Ticket/ModifyPeople.html, html/Ticket/Update.html,
-         html/Tools/MyDay.html, html/Tools/Offline.html,
-         html/Tools/Elements/Tabs, html/Ticket/ModifyLinks.html,
-         html/Ticket/ShowEmailRecord.html,
-         html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/AddWatchers,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction,
-         html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
-         html/Ticket/Elements/ShowDates, html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowUserEntry, html/Search/Build.html,
-         html/Search/Edit.html, html/Search/Results.html,
-         html/Search/Results.rdf, html/Search/Results.tsv,
-         html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowGroupMembers,
-         html/Search/Elements/BuildFormatString,
-         html/Search/Elements/DisplayOptions,
-         html/Search/Elements/EditFormat,
-         html/Search/Elements/EditSearches,
-         html/Search/Elements/NewListActions,
-         html/Search/Elements/PickCFs, html/Search/Elements/SearchPrivacy,
-         html/Search/Elements/SelectAndOr,
-         html/Search/Elements/SelectGroup,
-         html/Search/Elements/SelectLinks,
-         html/Search/Elements/SelectSearchObject,
-         html/Search/Elements/SelectSearchesForObjects,
-         html/Admin/autohandler, html/Admin/index.html,
-         html/Approvals/Display.html, html/Approvals/index.html,
-         html/Approvals/Elements/Approve,
-         html/Approvals/Elements/PendingMyApproval,
-         html/Approvals/Elements/ShowDependency,
-         html/Approvals/Elements/Tabs,
+2005-10-15 05:58  ivan
+
+       * bin/backup-dvd: adding quick backup-to-dvd script
+
+2005-10-15 04:29  ivan
+
+       * FS/FS/Conf.pm, FS/FS/Schema.pm, FS/FS/TicketSystem.pm,
+         FS/FS/agent.pm, FS/FS/TicketSystem/RT_External.pm,
+         FS/FS/TicketSystem/RT_Internal.pm, httemplate/browse/agent.cgi,
+         httemplate/edit/agent.cgi, httemplate/config/config-view.cgi,
+         httemplate/config/config.cgi: agent option to select RT queue
+
+2005-10-15 04:25  ivan
+
+       * README.1.5.8: upgrade instructions for new RT verison
+
+2005-10-15 04:13  ivan
+
+       * README.1.5.8, rt/html/Elements/Header, rt/html/NoAuth/webrt.css:
+         land RT 3.4.4 on HEAD
+
+2005-10-15 02:33  ivan
+
+       * rt/: etc/RT_SiteConfig.pm, html/Admin/Global/CustomField.html,
+         html/Admin/Global/CustomFields.html, html/Elements/Footer,
+         html/Elements/Header, html/Elements/Menu,
+         html/Elements/PageLayout, html/Elements/SimpleSearch,
+         html/Elements/Tabs, html/Elements/CollectionAsTable/Row,
+         html/NoAuth/webrt.css, html/NoAuth/images/back_home.gif,
+         html/NoAuth/images/head_requestracker.gif,
+         html/NoAuth/images/rt.jpg, html/NoAuth/images/spacer.gif,
+         html/NoAuth/images/squares_blue.gif,
+         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
+         lib/RT/TicketCustomFieldValue.pm,
+         lib/RT/TicketCustomFieldValue_Overlay.pm,
+         lib/RT/TicketCustomFieldValues.pm,
+         lib/RT/TicketCustomFieldValues_Overlay.pm,
+         lib/RT/I18N/en_malkovich.po, lib/t/00smoke.t.in,
+         lib/t/01harness.t.in, lib/t/02regression.t.in, lib/t/03web.pl.in,
+         lib/t/04_send_email.pl.in, lib/t/05cronsupport.pl.in,
+         lib/t/regression/00placeholder, sbin/rt-setup-database.in:
+         landing rt 3.4.4 on HEAD
+
+2005-10-15 02:09  ivan
+
+       * rt/: docs/design_docs/realflow.txt,
+         docs/design_docs/3.3-schema-redesign.txt,
+         docs/design_docs/rt-mvc, sbin/rt-dump-database.in,
+         html/Search/Elements/SelectGroup, html/Admin/autohandler,
          html/Download/CustomFieldValue/dhandler,
          html/Download/Tabular/dhandler, html/Search/Elements/EditQuery,
-         html/Search/Elements/PickBasics,
-         html/Search/Elements/PickCriteria,
-         html/Search/Elements/SelectPersonType,
          html/Admin/CustomFields/GroupRights.html,
-         html/Admin/Global/GroupRights.html, html/Admin/Global/Scrip.html,
-         html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html, html/Admin/Global/index.html,
          html/Admin/Global/CustomFields/Groups.html,
          html/Admin/Global/CustomFields/Queue-Tickets.html,
          html/Admin/Global/CustomFields/Queue-Transactions.html,
          html/Admin/Global/CustomFields/Users.html,
          html/Admin/Global/CustomFields/index.html,
          html/Admin/Groups/CustomFields.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/History.html, html/Admin/Groups/Members.html,
-         html/Admin/Groups/Modify.html, html/Admin/Groups/UserRights.html,
-         html/Admin/Groups/index.html,
-         html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
+         html/Admin/Groups/History.html,
          html/Admin/CustomFields/Modify.html,
          html/Admin/CustomFields/Objects.html,
          html/Admin/CustomFields/UserRights.html,
          html/Admin/CustomFields/index.html,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/GroupRights.html,
          html/Admin/Users/CustomFields.html,
          html/Admin/Users/History.html, html/Admin/Users/Memberships.html,
-         html/Admin/Users/index.html, html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/Scrip.html, html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html,
          html/Admin/Elements/CustomFieldTabs,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditScrip, html/Admin/Elements/EditTemplates,
-         html/Admin/Elements/EditUserComments, html/Admin/Elements/Header,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/QueueTabs,
          html/Admin/Elements/SelectCustomFieldLookupType,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectModifyUser,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/Tabs,
-         html/Admin/Elements/ToolTabs, html/Admin/Elements/UserTabs,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/People.html,
-         html/Admin/Queues/Scrips.html, html/Admin/Queues/Template.html,
-         html/Admin/Queues/index.html,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/EditScrips,
          html/Admin/Elements/GlobalCustomFieldTabs,
-         html/Admin/Elements/ModifyTemplate,
          html/Admin/Elements/ObjectCustomFields,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/ListGlobalCustomFields,
          html/Admin/Elements/PickCustomFields,
          html/Admin/Elements/PickObjects,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectRights,
-         html/Admin/Elements/SelectScripAction,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Elements/SelectTemplate,
-         html/Admin/Elements/SystemTabs, html/SelfService/Closed.html,
-         html/SelfService/Create.html,
          html/SelfService/CreateTicketInQueue.html,
-         html/SelfService/Display.html, html/SelfService/Error.html,
-         html/SelfService/Prefs.html, html/SelfService/Update.html,
-         html/SelfService/index.html,
-         html/SelfService/Attachment/dhandler,
-         html/Elements/BevelBoxRaisedEnd, html/Elements/CreateTicket,
          html/Elements/EditCustomField,
-         html/Elements/EditCustomFieldImage, html/Elements/EditLinks,
-         html/Elements/Error, html/Elements/ListActions,
-         html/Elements/MyRequests, html/Elements/QueryString,
-         html/Elements/ScrubHTML, html/Elements/SelectDateType,
-         html/Elements/SelectMatch, html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectSortOrder, html/Elements/SelectTicketSortBy,
-         html/Elements/SelectUsers, html/Elements/ShowLinks,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs,
-         html/Elements/BevelBoxRaisedStart,
+         html/Elements/EditCustomFieldImage,
          html/Elements/EditCustomFieldBinary,
-         html/Elements/EditCustomFieldSelect, html/Elements/GotoTicket,
-         html/Elements/MessageBox, html/Elements/SelectAttachmentField,
-         html/Elements/SelectGroups, html/Elements/SelectOwner,
-         html/Elements/SelectQueue, html/Elements/SelectStatus,
-         html/Elements/SelectWatcherType,
+         html/Elements/EditCustomFieldSelect,
          html/Elements/ShowCustomFieldBinary,
          html/Elements/ShowCustomFieldImage,
          html/Elements/ShowCustomFieldWikitext,
-         html/Elements/ShowCustomFields, html/Elements/ShowLink,
-         html/Elements/TitleBox, html/Elements/Callback,
-         html/Elements/Checkbox, html/Elements/EditCustomFieldFreeform,
-         html/Elements/Quicksearch, html/Elements/Refresh,
-         html/Elements/Section, html/Elements/SelectLinkType,
-         html/Elements/SelectTicketTypes,
+         html/Elements/ShowCustomFields,
+         html/Elements/EditCustomFieldFreeform,
          html/Elements/EditCustomFieldText,
-         html/Elements/EditCustomFieldWikitext, html/Elements/Login,
-         html/Elements/MyTickets, html/Elements/SelectBoolean,
-         html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectCustomFieldValue,
-         html/Elements/SelectDateRelation,
-         html/Elements/SelectEqualityOperator, html/Elements/SelectLang,
-         html/Elements/SelectResultsPerPage,
-         html/Elements/SetupSessionCookie, html/Elements/ShowMemberships,
-         html/Elements/Submit, html/Elements/TitleBoxEnd,
-         html/Elements/CollectionAsTable/Header,
-         html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/RT__Ticket/ColumnMap, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/logout,
-         html/REST/1.0/Forms/queue/default, html/REST/1.0/Forms/queue/ns,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/ticket/links,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/REST/1.0/ticket/merge,
-         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
-         html/NoAuth/images/autohandler, html/User/Delegation.html,
-         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
-         html/User/Elements/Tabs, html/User/Groups/Members.html,
-         html/User/Groups/Modify.html, html/User/Groups/index.html,
-         lib/RT.pm.in, lib/t/00smoke.t, lib/t/setup_regression.t,
+         html/Elements/EditCustomFieldWikitext,
+         html/Elements/ShowMemberships, lib/t/setup_regression.t,
          lib/t/create_data.pl, lib/t/regression/01ticket_link_searching.t,
          lib/t/regression/02basic_web.t,
          lib/t/regression/03web_compiliation_errors.t,
          lib/t/regression/06mailgateway.t, lib/t/regression/07rights.t,
          lib/t/regression/15cf_single_values_are_single.t,
          lib/t/regression/18stale_delegations_cleanup.t,
-         lib/RT/GroupMembers.pm, lib/RT/Principals.pm,
-         lib/RT/Scrips_Overlay.pm, lib/RT/Tickets.pm, lib/RT/Base.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/Date.pm,
-         lib/RT/Queues_Overlay.pm, lib/RT/ScripConditions_Overlay.pm,
-         lib/RT/Template_Overlay.pm, lib/RT/User.pm, lib/RT/Attributes.pm,
-         lib/RT/SavedSearch.pm, lib/RT/StyleGuide.pod, lib/RT/System.pm,
-         lib/RT/Templates_Overlay.pm, lib/RT/Tickets_Overlay_SQL.pm,
-         lib/RT/ACL_Overlay.pm, lib/RT/Attachment.pm,
-         lib/RT/Attribute_Overlay.pm, lib/RT/Group.pm, lib/RT/Handle.pm,
-         lib/RT/ObjectCustomFields.pm, lib/RT/EmailParser.pm,
-         lib/RT/GroupMembers_Overlay.pm, lib/RT/I18N.pm,
-         lib/RT/Principal.pm, lib/RT/Principals_Overlay.pm,
-         lib/RT/Tickets_Overlay.pm, lib/RT/Transactions.pm,
-         lib/RT/CachedGroupMember.pm, lib/RT/CustomFieldValue.pm,
-         lib/RT/Links.pm, lib/RT/Scrip.pm, lib/RT/Attachment_Overlay.pm,
-         lib/RT/Attributes_Overlay.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomFieldValue_Overlay.pm, lib/RT/CustomFieldValues.pm,
-         lib/RT/Group_Overlay.pm, lib/RT/ObjectCustomField.pm,
-         lib/RT/ObjectCustomFields_Overlay.pm, lib/RT/Queue.pm,
-         lib/RT/ScripActions.pm, lib/RT/Attachments.pm,
-         lib/RT/CachedGroupMember_Overlay.pm, lib/RT/Groups.pm,
-         lib/RT/Links_Overlay.pm, lib/RT/SavedSearches.pm,
-         lib/RT/ScripAction.pm, lib/RT/Scrip_Overlay.pm, lib/RT/Scrips.pm,
-         lib/RT/Transactions_Overlay.pm, lib/RT/ACE.pm,
-         lib/RT/CachedGroupMembers.pm,
-         lib/RT/CustomFieldValues_Overlay.pm, lib/RT/CustomFields.pm,
-         lib/RT/GroupMember.pm, lib/RT/Link.pm,
-         lib/RT/ObjectCustomFieldValues.pm, lib/RT/Principal_Overlay.pm,
-         lib/RT/Queue_Overlay.pm, lib/RT/Queues.pm,
-         lib/RT/ScripCondition.pm, lib/RT/ScripConditions.pm,
-         lib/RT/Transaction.pm, lib/RT/CustomField.pm,
+         lib/RT/SavedSearch.pm, lib/RT/ObjectCustomFields.pm,
+         lib/RT/CustomFieldValue_Overlay.pm, lib/RT/ObjectCustomField.pm,
+         lib/RT/ObjectCustomFields_Overlay.pm, lib/RT/SavedSearches.pm,
+         lib/RT/ObjectCustomFieldValues.pm,
          lib/RT/ObjectCustomFieldValue.pm,
          lib/RT/ObjectCustomField_Overlay.pm,
-         lib/RT/ScripActions_Overlay.pm, lib/RT/Template.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/ScripAction_Overlay.pm,
-         lib/RT/ScripCondition_Overlay.pm, lib/RT/Ticket.pm,
-         lib/RT/ACL.pm, lib/RT/GroupMember_Overlay.pm,
-         lib/RT/ObjectCustomFieldValues_Overlay.pm, lib/RT/ACE_Overlay.pm,
-         lib/RT/Attribute.pm, lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/CustomFields_Overlay.pm, lib/RT/Link_Overlay.pm,
-         lib/RT/ObjectCustomFieldValue_Overlay.pm, lib/RT/Templates.pm,
-         lib/RT/URI.pm, lib/RT/Users.pm, lib/RT/I18N/en.po,
-         lib/RT/I18N/i_default.pm, lib/RT/I18N/cs.pm, lib/RT/I18N/cs.po,
-         lib/RT/I18N/pt_br.po, lib/RT/I18N/fr.po, lib/RT/I18N/es.po,
-         lib/RT/I18N/nl.po, lib/RT/I18N/pl.po, lib/RT/I18N/no.po,
-         lib/RT/I18N/it.po, lib/RT/I18N/hu.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/de.po, lib/RT/I18N/ja.po,
-         lib/RT/I18N/zh_tw.po, lib/RT/I18N/id.po, lib/RT/I18N/he.po,
-         lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po, lib/RT/URI/base.pm,
-         lib/RT/URI/fsck_com_rt.pm, lib/RT/URI/t.pm,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/Autoreply.pm,
-         lib/RT/Action/CreateTickets.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Action/Notify.pm, lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SetPriority.pm,
-         lib/RT/Action/UserDefined.pm, lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/SendEmail.pm, lib/RT/Interface/CLI.pm,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/Web.pm, lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Interface/Web/Handler.pm,
+         lib/RT/ObjectCustomFieldValues_Overlay.pm,
+         lib/RT/ObjectCustomFieldValue_Overlay.pm, lib/RT/I18N/pl.po,
+         lib/RT/I18N/id.po, lib/RT/URI/t.pm,
          lib/RT/Interface/Web/QueryBuilder.pm,
-         lib/RT/Interface/Web/Standalone.pm, bin/mason_handler.scgi.in,
-         bin/standalone_httpd.in, lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Generic.pm,
-         lib/RT/Condition/Overdue.pm, lib/RT/Condition/OwnerChange.pm,
-         lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/QueueChange.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm,
+         lib/RT/Interface/Web/Standalone.pm,
          lib/RT/Interface/Web/QueryBuilder/Tree.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, bin/mason_handler.fcgi.in,
-         bin/mason_handler.svc.in, bin/rt-crontool.in, bin/rt.in,
-         bin/webmux.pl.in, bin/rt-mailgate.in, etc/initialdata,
-         etc/acl.mysql, etc/schema.Informix, etc/schema.SQLite,
-         etc/acl.Pg, etc/schema.mysql, etc/upgrade/3.1.0/schema.SQLite,
-         etc/upgrade/3.1.0/schema.Pg, etc/upgrade/3.3.0/acl.Informix,
-         etc/upgrade/3.3.0/acl.Oracle, etc/upgrade/3.3.0/acl.Pg,
-         etc/upgrade/3.3.0/acl.SQLite, etc/upgrade/3.3.0/acl.mysql,
-         etc/upgrade/3.3.0/content, etc/upgrade/3.3.0/schema.Oracle,
-         etc/upgrade/3.3.0/schema.Pg, etc/upgrade/3.3.0/schema.mysql,
-         etc/upgrade/3.3.11/acl.Oracle, etc/upgrade/3.3.11/acl.Pg,
-         etc/upgrade/3.3.11/acl.SQLite, etc/upgrade/3.3.11/acl.mysql,
-         etc/upgrade/3.3.11/content, etc/upgrade/3.3.11/schema.Oracle,
-         etc/upgrade/3.3.11/schema.Pg, etc/upgrade/3.3.11/schema.SQLite,
-         etc/upgrade/3.3.11/schema.mysql: import rt 3.4.4
+         etc/upgrade/3.3.0/acl.Informix, etc/upgrade/3.3.0/acl.Oracle,
+         etc/upgrade/3.3.0/acl.Pg, etc/upgrade/3.3.0/acl.SQLite,
+         etc/upgrade/3.3.0/acl.mysql, etc/upgrade/3.3.0/content,
+         etc/upgrade/3.3.0/schema.Oracle, etc/upgrade/3.3.0/schema.Pg,
+         etc/upgrade/3.3.0/schema.mysql, etc/upgrade/3.3.11/acl.Oracle,
+         etc/upgrade/3.3.11/acl.Pg, etc/upgrade/3.3.11/acl.SQLite,
+         etc/upgrade/3.3.11/acl.mysql, etc/upgrade/3.3.11/content,
+         etc/upgrade/3.3.11/schema.Oracle, etc/upgrade/3.3.11/schema.Pg,
+         etc/upgrade/3.3.11/schema.SQLite,
+         etc/upgrade/3.3.11/schema.mysql: Initial revision
 
 2005-10-13 14:16  ivan
 
 
 2005-10-10 05:20  ivan
 
-       * FS/FS/cust_pay.pm, htetc/handler.pl, httemplate/index.html,
+       * Changes.1.5.8, README.1.5.8, FS/FS/cust_pay.pm, htetc/global.asa,
+         htetc/handler.pl, httemplate/index.html,
+         httemplate/docs/upgrade10.html,
          httemplate/misc/batch-cust_pay.html,
          httemplate/misc/xmlhttp-cust_main-search.cgi,
          httemplate/misc/process/batch-cust_pay.cgi,
 2005-10-07 17:47  ivan
 
        * httemplate/: edit/part_pkg.cgi, edit/process/part_pkg.cgi,
-         edit/process/quick-charge.cgi, elements/select-taxclass.html: fix
-         tax class selection in package add/edit too
+         edit/process/quick-charge.cgi, elements/select-taxclass.html,
+         view/cust_main/quick-charge.html: fix tax class selection in
+         package add/edit too
 
 2005-10-07 16:28  ivan
 
        * conf/invoice_latex: allow more width for return address, stuff is
          wrapping
 
+2005-10-06 22:03  ivan
+
+       * README.1.5.8: need new B:CC
+
 2005-10-06 21:50  ivan
 
        * httemplate/view/cust_main/billing.html: mask out echeck account
 2005-10-06 19:25  ivan
 
        * FS/FS/Conf.pm, FS/FS/part_pkg.pm,
-         httemplate/edit/process/quick-charge.cgi: add require_taxclasses
-         config flag
+         httemplate/edit/process/quick-charge.cgi,
+         httemplate/view/cust_main/quick-charge.html: add
+         require_taxclasses config flag
 
 2005-10-06 16:09  ivan
 
          usage information displays for any usage-capable export, add
          ability to edit uid/gid
 
+2005-10-02 07:04  ivan
+
+       * httemplate/docs/install.html: fix leading % causing Mason to barf
+
 2005-10-02 00:09  ivan
 
        * Makefile, htetc/handler.pl, init.d/freeside-init: add dev make
 
 2005-09-25 01:13  ivan
 
-       * CREDITS, FS/FS/UI/Web.pm, httemplate/edit/process/part_svc.cgi,
+       * CREDITS, Changes.1.5.8, JSRS-LICENSE, README.1.5.7,
+         FS/FS/UI/Web.pm, httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-county.html,
+         httemplate/edit/process/part_svc.cgi,
          httemplate/edit/process/rate.cgi,
          httemplate/elements/jsrsServer.html,
          httemplate/elements/progress-init.html,
          httemplate/elements/progress-popup.html,
-         httemplate/elements/xmlhttp.html: get rid of JSRS iframe foo for
+         httemplate/elements/xmlhttp.html, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: get rid of JSRS iframe foo for
          progress bar, use XMLHTTPRequest instead.  really should have
          done that in the first place.  JSON will wait until another
          day...
 2005-09-14 04:01  ivan
 
        * FS/t/agent_payment_gateway.t, FS/t/banned_pay.t,
-         FS/t/payment_gateway.t, FS/t/payment_gateway_option.t,
-         bin/generate-table-module: fix autogenerated simple test
+         FS/t/cancel_reason.t, FS/t/payment_gateway.t,
+         FS/t/payment_gateway_option.t, bin/generate-table-module: fix
+         autogenerated simple test
 
 2005-09-13 13:12  ivan
 
 2005-09-10 07:50  ivan
 
        * CREDITS, httemplate/edit/cust_main/contact.html,
+         httemplate/edit/cust_main/select-country.html,
+         httemplate/edit/cust_main/select-county.html,
+         httemplate/edit/cust_main/select-state.html,
          httemplate/edit/cust_main.cgi, httemplate/elements/xmlhttp.html,
          httemplate/misc/counties.cgi, httemplate/misc/states.cgi:
          ajax-style xmlhttprequest state/county/country selector!
 
 2005-09-07 02:37  ivan
 
-       * FS/FS/part_export/cpanel.pm, eg/export_template.pm: add cpanel
-         export
+       * Changes.1.5.8, FS/FS/part_export/cpanel.pm,
+         eg/export_template.pm: add cpanel export
 
 2005-09-06 14:58  ivan
 
 2005-08-27 01:46  ivan
 
        * FS/MANIFEST, FS/FS/Schema.pm, FS/FS/banned_pay.pm,
-         FS/FS/cust_main.pm, FS/t/banned_pay.t, bin/generate-table-module,
+         FS/FS/cancel_reason.pm, FS/FS/cust_main.pm, FS/t/banned_pay.t,
+         FS/t/cancel_reason.t, bin/generate-table-module,
          httemplate/view/cust_main.cgi,
          httemplate/misc/cust_main-cancel.cgi: add banned credit card /
          ACH table, re-do cancel popup to have a checkbox to ban payinfo
 
+2005-08-24 07:07  ivan
+
+       * README.1.5.8, httemplate/docs/upgrade10.html: need
+         H:W:SelectLayers 0.05
+
 2005-08-24 06:47  ivan
 
        * httemplate/edit/cust_main/billing.html: fix size of cvv2 help
 
 2005-08-24 06:22  ivan
 
-       * htetc/handler.pl, httemplate/edit/cust_main.cgi,
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main/billing.html,
-         httemplate/edit/cust_main/contact.html, FS/FS/cust_main.pm,
-         FS/FS/cust_main_county.pm, FS/FS/ClientAPI/MyAccount.pm,
-         FS/FS/ClientAPI/Signup.pm,
+         httemplate/edit/cust_main/contact.html, Changes.1.5.8,
+         FS/FS/cust_main.pm, FS/FS/cust_main_county.pm,
+         FS/FS/ClientAPI/MyAccount.pm, FS/FS/ClientAPI/Signup.pm,
          fs_selfservice/FS-SelfService/SelfService.pm,
          httemplate/docs/ach.html, httemplate/docs/cvv2.html,
          httemplate/edit/process/cust_main.cgi,
          FS/FS/option_Common.pm, FS/FS/part_export.pm,
          FS/FS/part_export_option.pm, FS/FS/part_pkg.pm,
          FS/FS/payment_gateway.pm, FS/FS/payment_gateway_option.pm,
-         FS/bin/freeside-setup, FS/bin/freeside-upgrade, FS/FS.pm,
-         FS/MANIFEST, FS/t/option_Common.t, FS/t/payment_gateway.t,
-         FS/t/payment_gateway_option.t, bin/generate-table-module,
-         htetc/handler.pl, httemplate/index.html,
-         httemplate/browse/agent.cgi,
+         FS/bin/freeside-setup, FS/bin/freeside-upgrade, README.1.5.8,
+         SCHEMA_CHANGE, FS/FS.pm, FS/MANIFEST, FS/t/option_Common.t,
+         FS/t/payment_gateway.t, FS/t/payment_gateway_option.t,
+         bin/generate-table-module, htetc/global.asa, htetc/handler.pl,
+         httemplate/index.html, httemplate/browse/agent.cgi,
          httemplate/browse/payment_gateway.html,
+         httemplate/docs/upgrade10.html,
          httemplate/edit/agent_payment_gateway.html,
          httemplate/edit/payment_gateway.html: infrastructure for easier
          schema changes, and: add payment_gateway, payment_gateway_option
 
 2005-08-09 14:38  ivan
 
-       * FS/: FS/part_export/radiator.pm, FS/part_export/sqlradius.pm,
-         t/part_export-radiator.t, FS/part_export/sqlradius_withdomain.pm:
-         add native Radiator export
+       * Changes.1.5.8, FS/FS/part_export/radiator.pm,
+         FS/FS/part_export/sqlradius.pm, FS/t/part_export-radiator.t,
+         FS/FS/part_export/sqlradius_withdomain.pm: add native Radiator
+         export
 
 2005-08-08 08:15  ivan
 
-       * FS/FS/part_export/everyone_net.pm: add export to everyone.net
-         outsource mail service
+       * Changes.1.5.8, FS/FS/part_export/everyone_net.pm: add export to
+         everyone.net outsource mail service
+
+2005-08-07 20:15  ivan
+
+       * httemplate/docs/selfservice.html: add some docs on
+         signup_server-payby and -realtime configuration values
 
 2005-08-06 17:41  ivan
 
 
 2005-08-06 17:40  ivan
 
-       * FS/FS/agent.pm, FS/FS/cust_pkg.pm, FS/FS/cust_svc.pm,
-         FS/FS/UI/Web.pm, httemplate/browse/agent.cgi,
+       * Changes.1.5.8, FS/FS/agent.pm, FS/FS/cust_pkg.pm,
+         FS/FS/cust_svc.pm, FS/FS/UI/Web.pm, httemplate/browse/agent.cgi,
          httemplate/search/cust_pay.cgi, httemplate/search/cust_pkg.cgi,
          httemplate/search/elements/search.html: move cust_pkg search to
          new template, add active/suspended/cancelled customer packages to
 
        * httemplate/search/cust_credit.html: fix credit searches by otaker
 
+2005-08-04 01:39  ivan
+
+       * httemplate/docs/install.html: add IPC::Run3 and instructions for
+         adding fs_queue and fs_selfservice users to install docs
+
 2005-08-03 18:42  ivan
 
        * Makefile: don't use install -D flag, doesn't work on bsd
 
 2005-07-14 03:52  ivan
 
-       * FS/MANIFEST, FS/FS/Conf.pm, FS/FS/cust_bill.pm,
+       * Changes.1.5.8, FS/MANIFEST, FS/FS/Conf.pm, FS/FS/cust_bill.pm,
          FS/FS/cust_bill_event.pm, FS/FS/cust_credit.pm,
          FS/FS/cust_main.pm, FS/FS/cust_main_Mixin.pm, FS/FS/cust_pay.pm,
          FS/FS/svc_Common.pm, FS/FS/UI/Web.pm, FS/t/cust_main_Mixin.t,
          configuration value to control which customer fields are shown on
          reports
 
+2005-07-12 04:54  ivan
+
+       * README.1.5.7: add alternative for very old Pg
+
 2005-07-12 02:31  ivan
 
-       * httemplate/browse/part_pkg.cgi: <rjbs> More of the same: these
-         patches make it safer to subclass FS::part_pkg's pkg_svc method
-         by eliminating qsearches on table pkg_svc.
+       * httemplate/: browse/part_pkg.cgi, view/cust_pkg.cgi: <rjbs> More
+         of the same: these patches make it safer to subclass
+         FS::part_pkg's pkg_svc method by eliminating qsearches on table
+         pkg_svc.
 
 2005-07-12 02:22  ivan
 
 
 2005-07-11 05:53  ivan
 
-       * httemplate/docs/index.html: note alternate instructions for
-         0pre6->7
+       * httemplate/docs/: index.html, upgrade10.html: note alternate
+         instructions for 0pre6->7
+
+2005-07-11 05:39  ivan
+
+       * Changelog, Changes.1.5.7: s/ANNOUNCE/Changelog/
 
 2005-07-11 05:22  ivan
 
        * bin/postfix.export: fix regex
 
+2005-07-11 05:22  ivan
+
+       * httemplate/browse/queue.cgi: template
+
 2005-07-11 05:21  ivan
 
        * Makefile: probably best to keep RT disabled by default, at least
          for this release
 
+2005-07-11 05:09  ivan
+
+       * ANNOUNCE.1.5: last bits
+
 2005-07-11 03:58  ivan
 
        * FS/t/ClientAPI_SessionCache.t:
        * FS/bin/freeside-daily: fix bug with new efficient
          customer-finding code.  sql isn't perl, null != 0
 
+2005-07-05 14:46  ivan
+
+       * httemplate/docs/install-rt.html: tyop
+
 2005-06-30 06:32  ivan
 
        * FS/FS/Misc.pm: pod error
        * FS/FS/cust_main.pm: oops, really fix error with new prepaid card
          foo
 
+2005-06-21 20:54  ivan
+
+       * httemplate/docs/upgrade10.html: add IPC::Run3 to install docs
+
 2005-06-16 22:31  ivan
 
        * httemplate/misc/process/link.cgi: fix preference sort order for
 
 2005-06-14 21:46  ivan
 
-       * FS/FS/cust_bill.pm: better error reporting for actual errors from
-         lpr command
+       * README.1.5.7, FS/FS/cust_bill.pm: better error reporting for
+         actual errors from lpr command
 
 2005-06-14 19:31  ivan
 
          FS/FS/part_pkg.pm, httemplate/view/cust_bill.cgi,
          FS/bin/freeside-queued, httemplate/search/elements/search.html,
          httemplate/elements/progress-init.html,
-         httemplate/elements/progress-popup.html, htetc/handler.pl: add
-         ability to search on a date range of invoice events and then
-         reprint or reemail (boy was that a bit more work than i
-         expected), closes: Bug#946
+         httemplate/elements/progress-popup.html, htetc/global.asa,
+         htetc/handler.pl: add ability to search on a date range of
+         invoice events and then reprint or reemail (boy was that a bit
+         more work than i expected), closes: Bug#946
 
 2005-06-01 17:02  ivan
 
 
        * httemplate/search/cust_bill.html: align
 
+2005-05-14 13:11  ivan
+
+       * README.1.5.7.lastbit: hmm virtual fields have no history?
+
+2005-05-14 13:11  ivan
+
+       * README.1.5.7: 0.26
+
 2005-05-14 12:57  ivan
 
-       * rt/lib/RT/URI/: freeside.pm, freeside/Internal.pm: fixup RT
-         integration grr!
+       * README.1.5.7, rt/lib/RT/URI/freeside.pm,
+         rt/lib/RT/URI/freeside/Internal.pm: fixup RT integration grr!
 
 2005-05-14 11:03  ivan
 
 
 2005-05-14 09:27  ivan
 
-       * FS/FS/Conf.pm, FS/FS/Misc.pm, FS/FS/cust_bill.pm,
+       * ANNOUNCE.1.5, FS/FS/Conf.pm, FS/FS/Misc.pm, FS/FS/cust_bill.pm,
          FS/FS/part_bill_event.pm, conf/invoice_html, conf/logo.png,
-         httemplate/view/cust_bill.cgi: html invoices!
+         httemplate/docs/billing.html, httemplate/view/cust_bill.cgi: html
+         invoices!
 
          http://chris-linfoot.net/d6plinks/CWLT-5VZD4Y
          http://www.dsv.su.se/~jpalme/ietf/mhtml.html
 
 2005-05-03 17:40  ivan
 
-       * conf/invoice_latex, conf/invoice_latexfooter, conf/logo.eps,
-         FS/FS/Conf.pm, FS/FS/cust_bill.pm: great new invoice template
-         from kristian!
+       * conf/invoice_latex, conf/invoice_latexfooter,
+         conf/invoice_latexreturnaddress, conf/logo.eps,
+         httemplate/docs/billing.html, FS/FS/Conf.pm, FS/FS/cust_bill.pm:
+         great new invoice template from kristian!
 
 2005-05-03 10:22  ivan
 
        * FS/bin/: freeside-addoutsource, freeside-addoutsourceuser: remove
          unnecessary host=localhost from outsource instance creation foo
 
+2005-05-03 05:56  ivan
+
+       * README.1.5.7: fix some wrapping
+
 2005-05-03 02:56  ivan
 
        * FS/FS/cust_pay.pm: on receipts, show "Electronic Check" instead
        * FS/FS/: svc_acct.pm, part_export/acct_sql.pm: add vpopmail
          defaults to acct_sql export
 
+2005-04-19 10:25  ivan
+
+       * README.1.5.7: update pre6 -> 7 upgrade instructions too
+
 2005-04-19 02:50  ivan
 
        * FS/FS/Conf.pm: disable RT_Libs for now
 
 2005-04-19 02:48  ivan
 
+       * httemplate/docs/install.html, httemplate/docs/upgrade10.html,
+         ANNOUNCE.1.5, README.1.5.7.lastbit, SCHEMA_CHANGE: did another
+         upgrade, fixed up the instructions
+
+2005-04-19 02:48  ivan
+
        * FS/FS/part_pkg.pm: silence an annoying but harmless perl warning
 
 2005-04-18 00:37  ivan
        * FS/FS/: h_cust_svc.pm, h_svc_forward.pm: No need to inflict
          debugging messages on everyone.
 
+2005-04-10 06:01  ivan
+
+       * httemplate/docs/selfservice.html: add apache snippet to
+         self-service install docs
+
 2005-04-10 03:16  ivan
 
        * httemplate/search/elements/search.html: add some left and right
 
 2005-04-07 03:35  ivan
 
-       * Makefile, htetc/freeside-rt.conf: add install/debian/3.1/INSTALL
-         script and script up some apache automation assuming a conf.d
-         type dir
+       * Makefile, htetc/freeside-base.conf, htetc/freeside-rt.conf: add
+         install/debian/3.1/INSTALL script and script up some apache
+         automation assuming a conf.d type dir
 
 2005-04-07 02:26  ivan
 
-       * FS/FS/Record.pm, FS/bin/freeside-setup, bin/fix-sequences: depend
-         on DBIx::DBSchema 0.26 for dbdef-create (for Pg 'public' schema
-         fix) and 0.25 in freeside-setup and Record.pm (for DBD::Pg 1.40
-         is bunk fix)
+       * FS/FS/Record.pm, FS/bin/freeside-setup, bin/dbdef-create,
+         bin/fix-sequences: depend on DBIx::DBSchema 0.26 for dbdef-create
+         (for Pg 'public' schema fix) and 0.25 in freeside-setup and
+         Record.pm (for DBD::Pg 1.40 is bunk fix)
+
+2005-04-06 23:08  ivan
+
+       * README.1.5.7.lastbit: and the history tables
 
 2005-04-06 20:28  khoff
 
          current (non-history) records in place of missing history
          records.
 
+2005-04-06 18:29  ivan
+
+       * httemplate/docs/upgrade8.html: ancient upgrade fix, oops.  thanks
+         Rick Harby <rharby at caarnet.com>
+
 2005-04-06 15:52  ivan
 
        * FS/FS/svc_forward.pm: and fix the error msg haha
        * FS/FS/svc_forward.pm: looks like a domain part for a
          literally-specified forward src or dst is required, not optional
 
+2005-04-06 03:38  ivan
+
+       * httemplate/docs/install-rt.html: correct links to some
+         atypically-named CPAN distributions
+
 2005-04-05 17:50  khoff
 
        * FS/FS/h_Common.pm: $pkey should be the primary key of the real
 
 2005-04-02 14:46  ivan
 
-       * FS/FS/cust_bill_pkg.pm, FS/FS/part_svc_router.pm,
-         FS/FS/pkg_svc.pm, FS/FS/rate_detail.pm, FS/FS/reg_code_pkg.pm,
-         FS/FS/type_pkgs.pm, FS/bin/freeside-setup,
-         httemplate/docs/schema.html: herding elephants: add primary keys
-         to *all* tables for slony
+       * README.1.5.7, README.1.5.7.lastbit, FS/FS/cust_bill_pkg.pm,
+         FS/FS/part_svc_router.pm, FS/FS/pkg_svc.pm, FS/FS/rate_detail.pm,
+         FS/FS/reg_code_pkg.pm, FS/FS/type_pkgs.pm, FS/bin/freeside-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade10.html:
+         herding elephants: add primary keys to *all* tables for slony
 
 2005-04-02 12:34  ivan
 
        * bin/add-history-records.pl: Printing insert statements is not
          necessary
 
+2005-03-30 21:02  khoff
+
+       * httemplate/docs/upgrade10.html: Very annoying typo. >:-)
+
 2005-03-30 19:47  khoff
 
        * bin/add-history-records.pl: Committing the inserts helps.
        * FS/FS/part_export/cp.pm: according to landel CP no longer
          supports changing username
 
+2005-03-29 17:32  ivan
+
+       * httemplate/docs/selfservice.html: separate out referring customer
+         info to optional section, add a note on setting the agentnum via
+         templte
+
 2005-03-29 17:18  ivan
 
        * httemplate/search/cust_pay.cgi: fix ambiguous column error when
 
 2005-03-29 14:41  ivan
 
-       * fs_selfservice/FS-SelfService/SelfService.pm: better self-service
-         debugging, don't point to install.html for suEXEC/setuid in
-         self-service setup docs
+       * fs_selfservice/FS-SelfService/SelfService.pm,
+         httemplate/docs/selfservice.html: better self-service debugging,
+         don't point to install.html for suEXEC/setuid in self-service
+         setup docs
 
 2005-03-28 17:40  khoff
 
          child_objects can now set an alternate field for the svcnum, for
          things like forwards
 
+2005-03-22 20:16  ivan
+
+       * httemplate/docs/install-rt.html, README.1.5.7: new RT requires
+         Tree::Simple too
+
+2005-03-22 18:59  ivan
+
+       * README.1.5.7, httemplate/docs/install-rt.html: add HTML::Scrubber
+         to rt install/upgrade docs
+
+2005-03-22 10:15  ivan
+
+       * httemplate/docs/upgrade10.html: small fix for indices in upgrade
+         instructions, found by s5
+
 2005-03-21 14:13  khoff
 
        * FS/FS/Conf.pm, FS/FS/Misc.pm, FS/FS/cust_bill.pm,
          FS/FS/ClientAPI/MyAccount.pm, FS/FS/part_export/http.pm,
          FS/FS/part_export/infostreet.pm,
          FS/FS/part_export/shellcommands.pm, htetc/handler.pl,
-         httemplate/edit/cust_main.cgi,
+         httemplate/docs/install.html, httemplate/edit/cust_main.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/misc/fax-invoice.cgi, httemplate/view/cust_bill.cgi,
          httemplate/view/cust_main/billing.html,
 
 2005-03-18 11:21  pbowen
 
-       * FS/: FS/Conf.pm, FS/Record.pm, FS/cust_bill.pm, FS/cust_main.pm,
-         bin/freeside-setup: Added encrypted fields for Credit Cards,
-         etc... - PB
+       * FS/FS/Conf.pm, FS/FS/Record.pm, FS/FS/cust_bill.pm,
+         FS/FS/cust_main.pm, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html: Added encrypted fields for Credit
+         Cards, etc... - PB
 
 2005-03-18 11:15  pbowen
 
        * FS/FS/Record.pm: Fixed a small bug... if replace is called by
          SUPER, @_ == 1 if it only contains an undef. -PB
 
+2005-03-18 01:58  ivan
+
+       * httemplate/docs/selfservice.html: selfservice uses HTML::Entities
+
 2005-03-18 01:15  ivan
 
        * FS/FS/cust_main_county.pm: no idea why this is only showing up on
 
        * FS/FS/cust_bill.pm: Documentation tyop.
 
+2005-03-17 13:45  ivan
+
+       * httemplate/docs/install-rt.html: Freeside side uses MIME-tools
+         now
+
 2005-03-17 13:41  khoff
 
        * FS/FS/Conf.pm, FS/FS/Misc.pm, FS/FS/cust_bill.pm,
-         httemplate/misc/email-invoice.cgi: Added options
-         invoice_email_pdf and invoice_email_pdf_note.  invoice_email_pdf
-         - Attach PDF invoice to emailed plain text invoices.
-         invoice_email_pdf_note - Replace plain text invoice with this
-         note, when attaching a PDF.
+         httemplate/docs/install.html, httemplate/misc/email-invoice.cgi:
+         Added options invoice_email_pdf and invoice_email_pdf_note.
+         invoice_email_pdf - Attach PDF invoice to emailed plain text
+         invoices.  invoice_email_pdf_note - Replace plain text invoice
+         with this note, when attaching a PDF.
 
 2005-03-16 03:31  ivan
 
 
 2005-03-12 08:07  ivan
 
-       * Makefile, rt/etc/RT_SiteConfig.pm, rt/lib/RT/URI/freeside.pm,
+       * Makefile, httemplate/docs/install-rt.html,
+         rt/etc/RT_SiteConfig.pm, rt/lib/RT/URI/freeside.pm,
          rt/lib/RT/URI/freeside/Internal.pm,
          rt/lib/RT/URI/freeside/XMLRPC.pm: popurl(3) won't give us a good
          freeside base url since RT calls it from multiple directory
 
 2005-03-12 06:31  ivan
 
-       * httemplate/docs/schema.html, FS/FS/agent.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_pay.pm, FS/FS/prepay_credit.pm, FS/bin/freeside-setup,
+       * httemplate/docs/schema.html, httemplate/docs/selfservice.html,
+         httemplate/docs/upgrade10.html, README.1.5.7, ANNOUNCE.1.5,
+         FS/FS/agent.pm, FS/FS/cust_main.pm, FS/FS/cust_pay.pm,
+         FS/FS/prepay_credit.pm, FS/bin/freeside-setup,
          httemplate/view/cust_main/payment_history.html,
          httemplate/index.html, httemplate/browse/agent.cgi,
          httemplate/edit/prepay_credit.cgi,
          fs_selfservice/FS-SelfService/cgi/signup.cgi,
          fs_selfservice/FS-SelfService/cgi/signup.html,
          fs_selfservice/FS-SelfService/cgi/stateselect.html,
-         fs_selfservice/FS-SelfService/cgi/success.html, htetc/handler.pl:
-         - bring prepaid support into this century (close: Bug#1124) -
-         finally get rid of fs_signup (everything is in fs_selfservice
-         now) (Bug#413) - organize main menu sysadmin section so it is
-         slightly less confusing
+         fs_selfservice/FS-SelfService/cgi/success.html, htetc/global.asa,
+         htetc/handler.pl: - bring prepaid support into this century
+         (close: Bug#1124) - finally get rid of fs_signup (everything is
+         in fs_selfservice now) (Bug#413) - organize main menu sysadmin
+         section so it is slightly less confusing
 
 2005-03-11 02:35  ivan
 
 
        * rt/etc/RT_SiteConfig.pm: merging
 
+2005-03-11 02:18  ivan
+
+       * httemplate/docs/install-rt.html: note about RT_External
+
 2005-03-10 17:34  khoff
 
        * rt/: etc/RT_SiteConfig.pm, html/Elements/Header,
        * FS/FS/XMLRPC.pm: Add the ability to do freeside configuration
          lookups through the XMLRPC interface.
 
+2005-03-10 07:33  ivan
+
+       * README.1.5.7, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: arg
+
+2005-03-10 07:18  ivan
+
+       * README.1.5.7, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: add Frontier::RPC to docs too
+
+2005-03-10 04:06  ivan
+
+       * README.1.5.7, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: add IO-stringy (IO::Scalar) to
+         instructions
+
 2005-03-10 01:56  ivan
 
        * FS/bin/freeside-daily: fine.
          package editing problem with extraneous services showing up,
          closes: Bug#1170
 
+2005-03-09 00:46  ivan
+
+       * httemplate/docs/install-rt.html: add complete apache config
+         instructions for RT, closes: Bug#1031
+
 2005-03-09 00:18  ivan
 
-       * httemplate/docs/index.html: preliminary RT docs
+       * ANNOUNCE.1.5, httemplate/docs/index.html,
+         httemplate/docs/install-rt.html, httemplate/docs/install.html:
+         preliminary RT docs
 
 2005-03-08 10:37  khoff
 
        * FS/FS/XMLRPC.pm: Minor re-work to allow for pseudo methods, like
          'version', and eventually config look-ups (next commit).
 
+2005-03-06 02:15  ivan
+
+       * ANNOUNCE.1.5: d
+
 2005-03-05 19:25  ivan
 
        * httemplate/search/elements/search.html: specity an explicit EOL
 
 2005-03-05 19:04  ivan
 
-       * httemplate/search/elements/search.html, htetc/handler.pl,
-         httemplate/index.html, httemplate/search/cust_bill.html,
+       * httemplate/search/elements/search.html, README.1.5.7,
+         htetc/global.asa, htetc/handler.pl, httemplate/index.html,
+         httemplate/docs/install.html, httemplate/docs/upgrade10.html,
+         httemplate/search/cust_bill.html,
          httemplate/search/cust_bill_event.html,
          httemplate/search/cust_credit.html,
          httemplate/search/cust_main-otaker.cgi,
+         httemplate/search/cust_main-payinfo.html,
+         httemplate/search/cust_main-quickpay.html,
          httemplate/search/cust_main.cgi,
          httemplate/search/cust_main.html, httemplate/search/cust_pay.cgi,
+         httemplate/search/cust_pay.html,
+         httemplate/search/cust_pkg_report.cgi,
          httemplate/search/reg_code.html,
          httemplate/search/report_cust_credit.html,
          httemplate/search/report_cust_pay.html,
          httemplate/search/report_prepaid_income.html,
          httemplate/search/report_tax.html,
-         httemplate/search/sqlradius.html, httemplate/search/svc_www.cgi,
+         httemplate/search/sqlradius.html,
+         httemplate/search/svc_acct.html,
+         httemplate/search/svc_domain.html, httemplate/search/svc_www.cgi,
          httemplate/view/cust_bill-pdf.cgi,
          httemplate/view/cust_bill-ps.cgi: add Excel and CSV download of
          templated reports and clean up their HTML formatting, closes;
          httemplate/search/cust_credit.html,
          httemplate/search/cust_pay.cgi,
          httemplate/search/report_cust_credit.html,
-         httemplate/search/report_cust_pay.html,
+         httemplate/search/report_cust_pay.html, ANNOUNCE.1.5,
          httemplate/search/elements/search.html: add agent selection to
          payment and credit reports, add link to agent browse, closes:
          Bug#1105
 
 2005-03-02 13:00  khoff
 
-       * eg/xmlrpc-example.pl, httemplate/misc/xmlrpc.cgi,
-         FS/FS/XMLRPC.pm, htetc/handler.pl: Initial version of the xmlrpc
-         interface for freeside.
+       * httemplate/docs/install.html, eg/xmlrpc-example.pl,
+         httemplate/misc/xmlrpc.cgi, FS/FS/XMLRPC.pm, htetc/handler.pl:
+         Initial version of the xmlrpc interface for freeside.
 
 2005-03-01 16:47  ivan
 
        * FS/FS/Record.pm: fix replacement in edge case with NULL integer
          fields in a table without a primary key
 
+2005-02-26 13:29  ivan
+
+       * README.1.5.7, ANNOUNCE.1.5, ANNOUNCE.1.5.0, README.1.5.0pre7:
+         less cracktastic version numbering
+
 2005-02-25 14:14  ivan
 
        * bin/pg-readonly: try to set the sequences right for modern Pg
          FS/FS/part_svc.pm: add progressbar to service definition add -
          duplicate checking can take a while, closes: Bug#1126
 
+2005-02-22 22:43  ivan
+
+       * httemplate/docs/install.html: update docs wrt mysql support
+
 2005-02-22 10:26  khoff
 
        * httemplate/edit/cust_pkg.cgi: Alphabetize/clean-up package list
          httemplate/elements/jsrsServer.html,
          httemplate/elements/overlibmws.js,
          httemplate/elements/progress-init.html,
-         httemplate/elements/progress-popup.html: use a javascript layer
-         instead of a browser popup (popup blockers), really generalize
-         the progressbar code to make it easy to use as a component
+         httemplate/elements/progress-popup.html,
+         httemplate/misc/progress.html: use a javascript layer instead of
+         a browser popup (popup blockers), really generalize the
+         progressbar code to make it easy to use as a component
 
 2005-02-17 00:44  ivan
 
 
 2005-02-10 22:44  ivan
 
-       * FS/FS/rate.pm, FS/FS/UI/Web.pm, htetc/handler.pl,
-         httemplate/edit/process/rate.cgi, httemplate/edit/rate.cgi:
-         generalize progressbar code in preparation for using it wherever
-         needed
+       * FS/FS/rate.pm, FS/FS/UI/Web.pm, htetc/global.asa,
+         htetc/handler.pl, httemplate/edit/process/rate.cgi,
+         httemplate/edit/rate.cgi: generalize progressbar code in
+         preparation for using it wherever needed
 
 2005-02-08 17:08  ivan
 
 
 2005-02-08 12:22  ivan
 
-       * FS/bin/freeside-setup, FS/FS.pm, FS/MANIFEST,
+       * FS/bin/freeside-setup, httemplate/docs/upgrade10.html,
+         README.1.5.0pre7, FS/FS.pm, FS/MANIFEST,
          FS/FS/ClientAPI_SessionCache.pm, FS/FS/Conf.pm,
          FS/FS/clientapi_session.pm, FS/FS/clientapi_session_field.pm,
          FS/FS/ClientAPI/Agent.pm, FS/FS/ClientAPI/MyAccount.pm,
          FS/FS/ClientAPI/Signup.pm, FS/t/ClientAPI_SessionCache.t,
          FS/t/clientapi_session.t, FS/t/clientapi_session_field.t,
-         httemplate/docs/schema.html: make self-service session cache
-         module configurable, start framework for in-database session
-         cache
+         httemplate/docs/install.html, httemplate/docs/schema.html: make
+         self-service session cache module configurable, start framework
+         for in-database session cache
 
 2005-02-05 15:39  ivan
 
 
        * httemplate/edit/cust_main.cgi: typo
 
+2005-02-02 00:06  ivan
+
+       * FS/FS/UI/: Base.pm, CGI.pm, Gtk.pm, agent.pm: removing old UI
+         experiment
+
+2005-01-29 04:51  ivan
+
+       * ANNOUNCE.1.5.0: gotta do pre7 already
+
 2005-01-29 04:49  ivan
 
        * httemplate/browse/agent.cgi, FS/FS/part_pkg/flat.pm: oops, last
 
        * FS/FS.pm, FS/FS/agent.pm, FS/FS/cust_pkg.pm, FS/FS/part_pkg.pm,
          FS/FS/reg_code.pm, FS/FS/reg_code_pkg.pm, FS/bin/freeside-setup,
-         FS/t/reg_code.t, FS/t/reg_code_pkg.t, FS/MANIFEST,
-         FS/FS/ClientAPI/Signup.pm, httemplate/docs/schema.html,
-         httemplate/edit/reg_code.cgi, httemplate/search/reg_code.html,
+         FS/t/reg_code.t, FS/t/reg_code_pkg.t, README.1.5.0pre7,
+         FS/MANIFEST, FS/FS/ClientAPI/Signup.pm,
+         httemplate/docs/install.html, httemplate/docs/schema.html,
+         httemplate/docs/upgrade10.html, httemplate/edit/reg_code.cgi,
+         httemplate/search/reg_code.html,
          httemplate/edit/process/reg_code.cgi: registration codes
 
 2005-01-27 15:01  ivan
 2005-01-27 02:21  ivan
 
        * httemplate/edit/process/rate.cgi, CREDITS, FS/FS/UID.pm,
-         FS/FS/queue.pm, FS/FS/rate.pm, httemplate/elements/jsrsClient.js,
-         FS/bin/freeside-queued, httemplate/edit/rate.cgi,
+         FS/FS/queue.pm, FS/FS/rate.pm, httemplate/docs/install.html,
+         httemplate/elements/jsrsClient.js, httemplate/misc/progress.html,
+         JSRS-LICENSE, FS/bin/freeside-queued, httemplate/edit/rate.cgi,
          httemplate/elements/qlib/box.js,
          httemplate/elements/qlib/boxctrl.js,
          httemplate/elements/qlib/boxres.js,
        * FS/FS/: cust_svc.pm, svc_acct.pm, part_pkg/voip_sqlradacct.pm:
          fix up some bugs in VoIP rating
 
+2004-12-30 15:47  ivan
+
+       * htetc/global.asa: search the current dir *first*, otherwise some
+         weird Apache::ASP bugs could crop up if things are ever named the
+         same
+
+2004-12-30 01:59  ivan
+
+       * htetc/global.asa: kludge to fix nested includes with
+         Apache::ASP... dunno how much longer i want to support that,
+         should just switch to Mason
+
 2004-12-29 17:41  ivan
 
        * FS/FS/: cust_svc.pm, domain_record.pm, Report/Table/Monthly.pm:
          FS/t/h_svc_acct.t, FS/t/h_svc_broadband.t, FS/t/h_svc_domain.t,
          FS/t/h_svc_external.t, FS/t/h_svc_forward.t, FS/t/h_svc_www.t,
          httemplate/view/cust_main.cgi,
-         httemplate/view/cust_main/packages.html: historical (immutable)
-         invoice details about services and other history infrastructure
+         httemplate/view/cust_main/packages.html, ANNOUNCE.1.5.0:
+         historical (immutable) invoice details about services and other
+         history infrastructure
 
 2004-12-28 15:30  ivan
 
        * FS/FS/part_export/sqlradius.pm: add debug flag to sqlradius
          export
 
+2004-12-27 02:23  ivan
+
+       * ANNOUNCE.1.5.0: note integrated rt is updated
+
 2004-12-27 02:19  ivan
 
        * FS/FS/: cust_pay.pm, cust_credit.pm: prevent unsuspension errors
 
 2004-12-23 00:32  ivan
 
-       * FS/bin/freeside-setup: allow NULL zip in some countries
+       * README.1.5.0pre7, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html: allow NULL zip in some countries
 
 2004-12-23 00:00  ivan
 
-       * FS/bin/freeside-setup: going with 6 digit misnamed "npa" for now
+       * README.1.5.0pre7, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html: going with 6 digit misnamed "npa"
+         for now
 
 2004-12-23 00:00  ivan
 
 
        * Makefile: add init script enable command in deb and redhat
 
+2004-12-18 15:32  ivan
+
+       * httemplate/docs/: billing.html, install.html: add info about
+         teTeX and Ghostscript
+
 2004-12-18 02:52  ivan
 
        * httemplate/index.html: fix spelling
        * FS/FS/Conf.pm, httemplate/index.html: add config option for
          address2 search, closes: Bug#1022
 
+2004-12-12 10:51  ivan
+
+       * httemplate/view/cust_main/quick-charge.html: fix form action url
+         for template
+
 2004-12-12 00:34  ivan
 
        * FS/FS/cust_main.pm: fix customer status display for some cases
 
        * FS/FS/part_export/acct_sql.pm: finish modification
 
+2004-12-11 14:50  ivan
+
+       * httemplate/docs/install.html: update install doc
+
 2004-12-11 12:41  ivan
 
        * FS/FS/cust_bill.pm, FS/FS/part_bill_event.pm,
 2004-12-10 23:50  ivan
 
        * FS/FS/Conf.pm, httemplate/view/cust_main.cgi,
+         httemplate/view/cust_main/order_pkg.html,
          httemplate/view/cust_main/packages.html,
-         httemplate/view/cust_main/payment_history.html: voiding of echeck
+         httemplate/view/cust_main/payment_history.html,
+         httemplate/view/cust_main/quick-charge.html: voiding of echeck
          payments instead of refunds
 
+2004-12-10 15:51  ivan
+
+       * httemplate/docs/selfservice.html: correct path to selfservice
+
 2004-12-10 14:28  ivan
 
        * FS/FS/CGI.pm: ui tweak for small customer view - line up billing
 
        * htetc/handler.pl: landing rt 3.2.2
 
-2004-12-03 12:51  ivan
+2004-12-03 13:23  ivan
 
-       * rt/: html/Elements/Footer, html/Elements/Header,
-         html/Elements/PageLayout, html/Elements/SimpleSearch,
-         html/Elements/Tabs, html/Ticket/Elements/ShowSummary,
-         html/Ticket/Elements/Tabs, sbin/rt-setup-database.in: landing rt
-         3.2.2
+       * README.1.5.0pre7: landing RT 3.2.2
 
-2004-12-03 12:40  ivan
+2004-12-03 12:51  ivan
 
-       * rt/: lib/RT/I18N/fi.po, lib/RT/I18N/zh_cn.po,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/Autoreply.pm,
-         lib/RT/Action/CreateTickets.pm, lib/RT/Action/Notify.pm,
-         lib/RT/Action/RecordCorrespondence.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Action/SetPriority.pm, lib/RT/Action/UserDefined.pm,
-         lib/RT/Action/EscalatePriority.pm,
-         lib/RT/Action/NotifyAsComment.pm, lib/RT/Action/RecordComment.pm,
-         lib/RT/Action/SendEmail.pm, lib/RT/URI/fsck_com_rt.pm,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Email.pm,
-         lib/RT/URI/base.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/Web.pm, lib/RT/Interface/Email/Auth/GnuPG.pm,
-         lib/RT/Interface/Email/Auth/MailFrom.pm,
-         lib/RT/Interface/Email/Filter/SpamAssassin.pm,
-         lib/RT/Condition/Overdue.pm, lib/RT/Condition/PriorityChange.pm,
-         lib/RT/Condition/QueueChange.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Interface/Web/Handler.pm,
-         lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/FromSQL.pm,
-         lib/RT/Search/Generic.pm, lib/RT/Condition/Generic.pm,
-         bin/mason_handler.scgi.in, bin/rt-crontool.in,
-         bin/standalone_httpd.in, bin/webmux.pl.in,
-         lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/OwnerChange.pm,
-         lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/UserDefined.pm, bin/mason_handler.fcgi.in,
-         bin/mason_handler.svc.in, bin/rt.in, bin/rt-mailgate.in,
-         etc/schema.Sybase, etc/acl.Sybase, etc/initialdata,
-         etc/schema.Informix, etc/acl.Pg, etc/constraints.mysql,
-         etc/schema.SQLite, etc/schema.mysql, etc/drop.Oracle,
-         etc/upgrade/3.1.0/acl.Informix, etc/upgrade/3.1.0/acl.Oracle,
-         etc/upgrade/3.1.0/acl.Pg, etc/upgrade/3.1.0/acl.SQLite,
-         etc/upgrade/3.1.0/acl.mysql, etc/upgrade/3.1.0/content,
-         etc/upgrade/3.1.0/schema.Informix,
-         etc/upgrade/3.1.0/schema.Oracle, etc/upgrade/3.1.0/schema.Pg,
-         etc/upgrade/3.1.0/schema.SQLite, etc/upgrade/3.1.0/schema.mysql,
-         etc/upgrade/3.1.15/content, etc/upgrade/3.1.17/content: import rt
-         3.2.2
+       * rt/: config, config.pld, bin/rt-commit-handler.in,
+         etc/upgrade/2.1.71, html/Admin/Elements/ModifyQueue,
+         html/Admin/Elements/ModifyUser, html/Admin/Users/Prefs.html,
+         html/Elements/Footer, html/Elements/Header,
+         html/Elements/PageLayout, html/Elements/ShadedBox,
+         html/Elements/ShadedInputRow, html/Elements/ShadedRow,
+         html/Elements/SimpleSearch, html/Elements/Tabs,
+         html/Elements/ViewUser, html/NoAuth/webrt.css,
+         html/Search/Listing.html, html/Search/Elements/PickRestriction,
+         html/Search/Elements/TicketHeader,
+         html/Search/Elements/TicketHeaderCell,
+         html/Search/Elements/TicketRow, html/Ticket/Elements/EditLinks,
+         html/Ticket/Elements/ShowLink, html/Ticket/Elements/ShowLinks,
+         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
+         sbin/rt-setup-database.in: landing rt 3.2.2
 
-2004-12-03 12:37  ivan
+2004-12-03 12:40  ivan
 
-       * rt/html/: Ticket/Elements/ShowTransactionAttachments,
-         Elements/QuickCreate, Elements/TicketList,
-         Elements/CollectionAsTable/Row: Initial revision
+       * rt/etc/upgrade/: 3.1.0/acl.Informix, 3.1.0/acl.Oracle,
+         3.1.0/acl.Pg, 3.1.0/acl.SQLite, 3.1.0/acl.mysql, 3.1.0/content,
+         3.1.0/schema.Informix, 3.1.0/schema.Oracle, 3.1.0/schema.Pg,
+         3.1.0/schema.SQLite, 3.1.0/schema.mysql, 3.1.15/content,
+         3.1.17/content: Initial revision
 
 2004-12-03 12:37  ivan
 
-       * rt/: UPGRADING, README, Makefile.in, configure, configure.ac,
-         Changelog, aclocal.m4, sbin/extract-message-catalog,
-         sbin/regression_harness, sbin/factory, sbin/license_tag,
-         sbin/rt-test-dependencies.in, sbin/extract_pod_tests,
-         html/autohandler, html/index.html, html/l,
-         html/Ticket/History.html, html/Ticket/ModifyAll.html,
-         html/Ticket/ModifyDates.html, html/Ticket/ModifyPeople.html,
-         html/Ticket/Update.html, html/Tools/MyDay.html,
-         html/Tools/Offline.html, html/Tools/Elements/Tabs,
-         html/Ticket/Modify.html, html/Ticket/ModifyLinks.html,
-         html/Ticket/ShowEmailRecord.html,
-         html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditWatchers,
-         html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowMessageHeaders,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction,
-         html/Ticket/Elements/AddWatchers, html/Ticket/Elements/BulkLinks,
-         html/Ticket/Elements/EditPeople, html/Ticket/Elements/ShowDates,
-         html/Ticket/Elements/ShowMembers,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/EditDates,
+       * rt/: html/Tools/MyDay.html, html/Tools/Offline.html,
+         html/Tools/Elements/Tabs, html/Ticket/ShowEmailRecord.html,
+         html/Ticket/Elements/ShowTransactionAttachments,
          html/Ticket/Elements/PreviewScrips,
-         html/Ticket/Elements/ShowBasics,
-         html/Ticket/Elements/ShowCustomFields,
          html/Ticket/Elements/ShowGroupMembers,
-         html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowUserEntry,
-         html/Ticket/Elements/EditBasics,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowAttachments, html/Search/Build.html,
+         html/Ticket/Elements/ShowUserEntry, html/Search/Build.html,
          html/Search/Edit.html, html/Search/Results.html,
          html/Search/Results.rdf, html/Search/Results.tsv,
          html/Search/Elements/BuildFormatString,
          html/Search/Elements/SelectLinks,
          html/Search/Elements/SelectPersonType,
          html/Search/Elements/SelectSearchesForObjects,
-         html/Approvals/Display.html, html/Approvals/index.html,
-         html/Approvals/Elements/PendingMyApproval,
          html/Search/Elements/EditFormat, html/Search/Elements/PickBasics,
          html/Search/Elements/PickCriteria,
-         html/Search/Elements/SelectSearchObject, html/Admin/index.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/Modify.html, html/Admin/Groups/UserRights.html,
-         html/Admin/Groups/index.html, html/Approvals/Elements/Approve,
-         html/Approvals/Elements/ShowDependency,
-         html/Approvals/Elements/Tabs, html/Admin/Global/GroupRights.html,
-         html/Admin/Global/Templates.html,
-         html/Admin/Global/UserRights.html,
-         html/Admin/Groups/Members.html,
+         html/Search/Elements/SelectSearchObject,
          html/Admin/Tools/Configuration.html, html/Admin/Tools/index.html,
-         html/Admin/Global/Scrip.html, html/Admin/Global/Scrips.html,
-         html/Admin/Global/Template.html, html/Admin/Global/index.html,
-         html/Admin/Queues/CustomField.html,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/GroupRights.html, html/Admin/Queues/Scrip.html,
-         html/Admin/Queues/Scrips.html, html/Admin/Queues/Template.html,
-         html/Admin/Queues/Templates.html,
-         html/Admin/Queues/UserRights.html, html/Admin/Users/index.html,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/ListGlobalScrips,
-         html/Admin/Elements/SelectCustomFieldType,
-         html/Admin/Elements/SelectModifyUser, html/Admin/Elements/Tabs,
-         html/Admin/Elements/UserTabs, html/Admin/Queues/Modify.html,
-         html/Admin/Queues/People.html, html/Admin/Queues/index.html,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditScrip,
-         html/Admin/Elements/EditUserComments, html/Admin/Elements/Header,
-         html/Admin/Elements/QueueTabs,
-         html/Admin/Elements/SelectModifyGroup,
-         html/Admin/Elements/SelectSingleOrMultiple,
-         html/Admin/Elements/SelectUsers, html/Admin/Elements/ToolTabs,
-         html/Admin/Elements/AddCustomFieldValue,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/EditScrips,
-         html/Admin/Elements/EditTemplates,
-         html/Admin/Elements/ModifyTemplate,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/Admin/Elements/SelectScrip,
-         html/Admin/Elements/CreateUserCalled,
-         html/Admin/Elements/EditQueueWatchers,
-         html/Admin/Elements/GroupTabs,
-         html/Admin/Elements/QueueRightsForUser,
-         html/Admin/Elements/SelectModifyQueue,
-         html/Admin/Elements/SelectRights,
-         html/Admin/Elements/SelectScripCondition,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Elements/SelectTemplate,
-         html/Admin/Elements/SystemTabs,
-         html/Admin/Elements/ListGlobalCustomFields,
-         html/Admin/Elements/SelectScripAction,
-         html/SelfService/Closed.html, html/SelfService/Create.html,
-         html/SelfService/Display.html, html/SelfService/Error.html,
-         html/SelfService/Prefs.html, html/SelfService/Update.html,
-         html/SelfService/index.html, html/Elements/BevelBoxRaisedEnd,
-         html/Elements/MyRequests, html/Elements/SelectDateType,
-         html/Elements/SelectSortOrder, html/Elements/SelectStatus,
-         html/Elements/SelectTicketSortBy, html/Elements/ShowLinks,
-         html/SelfService/Attachment/dhandler,
-         html/SelfService/Elements/GotoTicket,
-         html/SelfService/Elements/Header,
-         html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs, html/Elements/Callback,
-         html/Elements/EditLinks, html/Elements/ListActions,
-         html/Elements/MessageBox, html/Elements/QueryString,
-         html/Elements/Refresh, html/Elements/SelectLinkType,
-         html/Elements/SelectMatch, html/Elements/Quicksearch,
-         html/Elements/SelectUsers, html/Elements/GotoTicket,
-         html/Elements/ScrubHTML, html/Elements/Section,
-         html/Elements/SelectBoolean, html/Elements/SelectGroups,
-         html/Elements/SelectLang, html/Elements/SelectNewTicketQueue,
-         html/Elements/SelectQueue, html/Elements/SelectTicketTypes,
-         html/Elements/TitleBoxEnd, html/Elements/Checkbox,
-         html/Elements/Error, html/Elements/Login,
-         html/Elements/SelectAttachmentField,
-         html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectOwner, html/Elements/SelectWatcherType,
-         html/Elements/SetupSessionCookie, html/Elements/ShowLink,
-         html/Elements/Submit, html/Elements/TitleBox,
-         html/Elements/BevelBoxRaisedStart, html/Elements/CreateTicket,
-         html/Elements/MyTickets, html/Elements/SelectCustomFieldValue,
-         html/Elements/SelectDateRelation,
-         html/Elements/SelectEqualityOperator,
-         html/Elements/SelectResultsPerPage,
+         html/Admin/Elements/ToolTabs, html/Elements/ShowLinks,
+         html/Elements/EditLinks, html/Elements/QuickCreate,
+         html/Elements/ScrubHTML, html/Elements/TicketList,
+         html/Elements/ShowLink, html/Elements/TitleBox,
          html/Elements/CollectionAsTable/Header,
          html/Elements/CollectionAsTable/ParseFormat,
-         html/Elements/RT__Ticket/ColumnMap, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/logout,
-         html/REST/1.0/ticket/merge,
-         html/REST/1.0/Forms/ticket/attachments,
-         html/REST/1.0/Forms/ticket/links, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/REST/1.0/Forms/queue/default,
-         html/REST/1.0/Forms/queue/ns, html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/Forms/ticket/history,
-         html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
-         html/NoAuth/images/autohandler,
-         html/REST/1.0/NoAuth/mail-gateway, html/User/Delegation.html,
-         html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
-         html/User/Elements/Tabs, html/User/Groups/Members.html,
-         html/User/Groups/Modify.html, html/User/Groups/index.html,
-         lib/RT.pm.in, lib/RT/GroupMembers.pm, lib/RT/Principals.pm,
-         lib/RT/Scrips_Overlay.pm, lib/RT/Tickets.pm, lib/RT/Base.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/Queues_Overlay.pm,
-         lib/RT/Date.pm, lib/RT/ScripConditions_Overlay.pm,
-         lib/RT/Template_Overlay.pm, lib/RT/Group.pm, lib/RT/User.pm,
-         lib/RT/System.pm, lib/RT/Attachment.pm, lib/RT/Attributes.pm,
-         lib/RT/Handle.pm, lib/RT/Principals_Overlay.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/ACL_Overlay.pm,
-         lib/RT/Templates_Overlay.pm, lib/RT/Attribute_Overlay.pm,
-         lib/RT/EmailParser.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/Tickets_Overlay.pm, lib/RT/Attributes_Overlay.pm,
-         lib/RT/CachedGroupMember.pm, lib/RT/CustomFieldValue.pm,
-         lib/RT/Transactions.pm, lib/RT/I18N.pm, lib/RT/Links.pm,
-         lib/RT/Queue.pm, lib/RT/Scrip.pm,
-         lib/RT/CachedGroupMember_Overlay.pm, lib/RT/CurrentUser.pm,
-         lib/RT/Principal.pm, lib/RT/Attachment_Overlay.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/Group_Overlay.pm,
-         lib/RT/ACE.pm, lib/RT/ScripActions.pm,
-         lib/RT/Transactions_Overlay.pm, lib/RT/Attachments.pm,
-         lib/RT/Groups.pm, lib/RT/Principal_Overlay.pm,
-         lib/RT/ScripAction.pm, lib/RT/Scrip_Overlay.pm,
-         lib/RT/GroupMember.pm, lib/RT/Links_Overlay.pm,
-         lib/RT/ScripCondition.pm, lib/RT/Transaction.pm,
-         lib/RT/Queue_Overlay.pm, lib/RT/Scrips.pm,
-         lib/RT/CachedGroupMembers.pm, lib/RT/CustomField.pm,
-         lib/RT/CustomFieldValues_Overlay.pm, lib/RT/CustomFields.pm,
-         lib/RT/Link.pm, lib/RT/Queues.pm, lib/RT/ScripActions_Overlay.pm,
-         lib/RT/ScripConditions.pm, lib/RT/Template.pm, lib/RT/ACL.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/ScripAction_Overlay.pm,
-         lib/RT/ScripCondition_Overlay.pm, lib/RT/GroupMember_Overlay.pm,
-         lib/RT/Ticket.pm, lib/RT/ACE_Overlay.pm, lib/RT/Link_Overlay.pm,
-         lib/RT/Templates.pm, lib/RT/Attribute.pm,
-         lib/RT/CachedGroupMembers_Overlay.pm,
-         lib/RT/CustomFields_Overlay.pm, lib/RT/URI.pm, lib/RT/Users.pm,
-         lib/RT/I18N/en.po, lib/RT/I18N/i_default.pm, lib/RT/I18N/cs.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/pt_br.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/es.po, lib/RT/I18N/nl.po, lib/RT/I18N/hu.po,
-         lib/RT/I18N/it.po, lib/RT/I18N/no.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/de.po, lib/RT/I18N/ja.po,
-         lib/RT/I18N/zh_tw.po, lib/RT/I18N/he.po: import rt 3.2.2
+         html/Elements/CollectionAsTable/Row,
+         html/Elements/RT__Ticket/ColumnMap,
+         html/NoAuth/images/autohandler, lib/t/05cronsupport.pl.in,
+         lib/RT/Attributes.pm, lib/RT/Attribute_Overlay.pm,
+         lib/RT/Attributes_Overlay.pm, lib/RT/Attribute.pm,
+         lib/RT/I18N/en_malkovich.po,
+         lib/RT/Action/RecordCorrespondence.pm,
+         lib/RT/Action/RecordComment.pm,
+         lib/RT/Interface/Email/Auth/GnuPG.pm,
+         lib/RT/Condition/PriorityChange.pm,
+         lib/RT/Interface/Web/Handler.pm, lib/RT/Search/FromSQL.pm,
+         bin/standalone_httpd.in, etc/schema.Sybase, etc/acl.Sybase:
+         Initial revision
+
+2004-12-03 12:27  ivan
+
+       * rt/sbin/: rt-setup-database, rt-test-dependencies: remove
+         autogenerated file
 
 2004-12-02 02:18  ivan
 
          rt/html/Ticket/Elements/ShowCustomers,
          rt/html/Ticket/Elements/ShowSummary,
          rt/html/Ticket/Elements/Tabs, FS/FS/TicketSystem/RT_Internal.pm,
-         FS/FS/TicketSystem/RT_Libs.pm, htetc/handler.pl,
-         httemplate/search/cust_main.cgi,
+         FS/FS/TicketSystem/RT_Libs.pm, htetc/global.asa,
+         htetc/handler.pl, httemplate/search/cust_main.cgi,
          rt/lib/RT/Interface/Web_Vendor.pm, rt/lib/RT/URI/freeside.pm:
          second big RT integration checkin, customer linking/delinking
          interface
          httemplate/index.html, rt/FREESIDE_MODIFIED,
          rt/html/Elements/Footer, rt/html/Elements/Header,
          rt/html/Elements/PageLayout, rt/html/Elements/SimpleSearch,
-         rt/html/Elements/Tabs, Makefile, FS/FS.pm, htetc/handler.pl,
+         rt/html/Elements/Tabs, ANNOUNCE.1.5.0, Makefile, FS/FS.pm,
+         htetc/global.asa, htetc/handler.pl, rt/html/NoAuth/webrt.css,
          rt/html/NoAuth/images/small-logo.png: ticket system integration
          framework and skin RT
 
 
 2004-11-22 10:20  ivan
 
-       * FS/FS/ClientAPI/Signup.pm, FS/bin/freeside-setup,
-         httemplate/docs/schema.html, FS/FS/Record.pm, FS/FS/cust_pkg.pm,
-         FS/FS/part_pkg.pm, httemplate/edit/cust_main.cgi,
-         httemplate/edit/part_pkg.cgi: promo codes and separate signup
-         addresses for hdn
+       * README.1.5.0pre7, FS/FS/ClientAPI/Signup.pm,
+         FS/bin/freeside-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade10.html, FS/FS/Record.pm,
+         FS/FS/cust_pkg.pm, FS/FS/part_pkg.pm,
+         httemplate/edit/cust_main.cgi, httemplate/edit/part_pkg.cgi:
+         promo codes and separate signup addresses for hdn
 
 2004-11-22 03:11  ivan
 
        * FS/FS/cust_svc.pm, FS/FS/rate.pm, FS/FS/rate_detail.pm,
          FS/FS/rate_prefix.pm, FS/FS/rate_region.pm,
          FS/t/part_pkg-voip_sqlradacct.t, FS/t/rate.t, FS/t/rate_detail.t,
-         FS/t/rate_prefix.t, FS/t/rate_region.t,
+         FS/t/rate_prefix.t, FS/t/rate_region.t, ANNOUNCE.1.5.0,
+         README.1.5.0pre7, SCHEMA_CHANGE,
          FS/FS/part_pkg/voip_sqlradacct.pm, FS/bin/freeside-setup,
          httemplate/browse/rate.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/rate.cgi,
-         httemplate/edit/rate_region.cgi,
+         httemplate/docs/upgrade10.html, httemplate/edit/part_pkg.cgi,
+         httemplate/edit/rate.cgi, httemplate/edit/rate_region.cgi,
          httemplate/edit/process/rate.cgi,
          httemplate/edit/process/rate_region.cgi, FS/FS.pm, FS/MANIFEST,
          FS/FS/part_export/sqlradius.pm, eg/table_template.pm,
-         htetc/handler.pl, httemplate/search/sqlradius.cgi,
+         htetc/global.asa, htetc/handler.pl,
+         httemplate/search/sqlradius.cgi,
          httemplate/search/sqlradius.html: first pass at VoIP rating
 
 2004-11-17 05:22  ivan
        * rt/sbin/rt-setup-database.in: merge in changes to
          rt-setup-database
 
-2004-11-11 04:13  ivan
-
-       * rt/: bin/mason_handler.fcgi.in, bin/mason_handler.scgi.in,
-         bin/rt.in, bin/rt-crontool.in, bin/webmux.pl.in, etc/acl.mysql:
-         import rt 3.0.12
+2004-11-11 04:11  ivan
 
-2004-11-11 04:10  ivan
-
-       * rt/: Makefile.in, configure, Changelog, configure.ac,
-         sbin/rt-test-dependencies.in, html/autohandler, html/index.html,
-         html/Ticket/History.html, html/Ticket/ModifyAll.html,
-         html/Ticket/Update.html, html/Ticket/ModifyDates.html,
-         html/Ticket/ModifyLinks.html,
-         html/Ticket/Elements/LoadTextAttachments,
-         html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowTransaction,
-         html/Ticket/Elements/FindAttachments,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowDates, html/Ticket/Elements/ShowHistory,
-         html/Approvals/index.html, html/Admin/Global/GroupRights.html,
-         html/Admin/Global/UserRights.html,
-         html/Admin/Groups/GroupRights.html,
-         html/Admin/Groups/Members.html, html/Admin/Groups/Modify.html,
-         html/Admin/Groups/UserRights.html, html/Admin/Groups/index.html,
-         html/Admin/Global/Template.html,
-         html/Admin/Queues/GroupRights.html,
-         html/Admin/Queues/Modify.html, html/Admin/Queues/Scrip.html,
-         html/Admin/Queues/Template.html,
-         html/Admin/Queues/UserRights.html,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditScrip, html/Admin/Elements/EditTemplates,
-         html/Admin/Elements/UserTabs,
-         html/Admin/Elements/SelectNewGroupMembers,
-         html/SelfService/Prefs.html, html/Elements/MyRequests,
-         html/SelfService/Display.html, html/Elements/MessageBox,
-         html/Elements/QueryString, html/Elements/SelectMatch,
-         html/REST/1.0/Forms/ticket/default,
-         html/REST/1.0/NoAuth/mail-gateway, html/User/Delegation.html,
-         html/User/Groups/Members.html, html/User/Groups/Modify.html,
-         lib/RT.pm.in, lib/t/data/rt-send-cc, lib/RT/Template_Overlay.pm,
-         lib/RT/Date.pm, lib/RT/StyleGuide.pod,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/ACL_Overlay.pm,
-         lib/RT/Handle.pm, lib/RT/Templates_Overlay.pm,
-         lib/RT/EmailParser.pm, lib/RT/GroupMembers_Overlay.pm,
-         lib/RT/Tickets_Overlay.pm, lib/RT/Attachment_Overlay.pm,
-         lib/RT/CurrentUser.pm, lib/RT/Principal_Overlay.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Queue_Overlay.pm,
-         lib/RT/CachedGroupMembers_Overlay.pm, lib/RT/Link_Overlay.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/pt_br.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/es.po, lib/RT/I18N/nl.po, lib/RT/I18N/hu.po,
-         lib/RT/I18N/it.po, lib/RT/I18N/no.po, lib/RT/I18N/da.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/de.po, lib/RT/I18N/ja.po,
-         lib/RT/I18N/zh_tw.po, lib/RT/I18N/he.po, lib/RT/I18N/fi.po,
-         lib/RT/I18N/zh_cn.po, lib/RT/Action/SendEmail.pm,
-         lib/RT/Action/EscalatePriority.pm, lib/RT/Interface/Email.pm,
-         lib/RT/Interface/Web.pm, lib/RT/Interface/Email/Auth/MailFrom.pm:
-         import rt 3.0.12
+       * rt/: html/Ticket/Elements/LoadTextAttachments,
+         html/Ticket/Elements/FindAttachments, html/Elements/QueryString,
+         lib/t/data/rt-send-cc, lib/RT/I18N/hu.po, lib/RT/I18N/da.po:
+         Initial revision
 
 2004-11-09 03:42  ivan
 
 
        * bin/rollback: adding in case this is needed again
 
+2004-11-07 14:58  ivan
+
+       * ANNOUNCE.1.5.0, httemplate/docs/install.html:  update install
+         documentation for 1.5 HTML::Mason or Apache::ASP install
+
+2004-10-30 17:01  ivan
+
+       * httemplate/search/cust_main-quickpay.html: quick pay shouldnt
+         default to exact search
+
 2004-10-26 05:36  ivan
 
        * Makefile: 1.5.0pre6!
 
 2004-10-26 05:33  ivan
 
-       * httemplate/docs/: index.html, overview-new.dia, overview-new.png,
-         schema.html: slightly more up-to-date docs
+       * ANNOUNCE.1.5.0, httemplate/docs/billing.html,
+         httemplate/docs/export.html, httemplate/docs/index.html,
+         httemplate/docs/overview-new.dia,
+         httemplate/docs/overview-new.png, httemplate/docs/schema.html,
+         httemplate/docs/selfservice.html: slightly more up-to-date docs
 
 2004-10-26 05:07  ivan
 
 
        * FS/FS/CGI.pm, FS/FS/Conf.pm, FS/FS/Record.pm, FS/FS/cust_main.pm,
          FS/FS/cust_pkg.pm, FS/FS/part_export.pm, FS/FS/part_pkg.pm,
-         FS/FS/part_pkg_option.pm, FS/FS.pm, FS/MANIFEST,
-         FS/bin/freeside-setup, FS/t/part_pkg-flat.t,
-         FS/t/part_pkg-flat_comission.t,
+         FS/FS/part_pkg_option.pm, ANNOUNCE.1.5.0, README.1.5.0pre6,
+         SCHEMA_CHANGE, FS/FS.pm, FS/MANIFEST, FS/bin/freeside-setup,
+         FS/t/part_pkg-flat.t, FS/t/part_pkg-flat_comission.t,
          FS/t/part_pkg-flat_comission_cust.t,
          FS/t/part_pkg-flat_comission_pkg.t, FS/t/part_pkg-flat_delayed.t,
          FS/t/part_pkg-prorate.t, FS/t/part_pkg-sesmon_hour.t,
          FS/t/part_pkg-sql_generic.t, FS/t/part_pkg-sqlradacct_hour.t,
          FS/t/part_pkg-subscription.t, FS/t/part_pkg_option.t,
          httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi, httemplate/view/cust_main.cgi,
-         FS/FS/part_pkg/flat.pm, FS/FS/part_pkg/flat_comission.pm,
+         httemplate/docs/upgrade10.html, httemplate/edit/part_pkg.cgi,
+         httemplate/view/cust_main.cgi, FS/FS/part_pkg/flat.pm,
+         FS/FS/part_pkg/flat_comission.pm,
          FS/FS/part_pkg/flat_comission_cust.pm,
          FS/FS/part_pkg/flat_comission_pkg.pm,
          FS/FS/part_pkg/flat_delayed.pm, FS/FS/part_pkg/prorate.pm,
 
 2004-10-18 05:37  ivan
 
-       * httemplate/: index.html, images/small-logo.png: that's right, a
-         new logo
+       * httemplate/: index.html, images/mid-logo.png,
+         images/small-logo.png: that's right, a new logo
 
 2004-10-17 07:01  ivan
 
 
 2004-10-17 02:19  ivan
 
-       * FS/FS/Conf.pm, FS/FS/cust_svc.pm,
-         FS/FS/part_export/artera_turbo.pm,
-         httemplate/view/svc_external.cgi: add options to adjust UI for
-         artera turbo as svc_export
+       * FS/FS/Conf.pm, FS/FS/cust_svc.pm, bin/populate-msgcat,
+         README.1.5.0pre6, FS/FS/part_export/artera_turbo.pm,
+         httemplate/docs/upgrade10.html, httemplate/view/svc_external.cgi:
+         add options to adjust UI for artera turbo as svc_export
 
 2004-10-16 03:15  ivan
 
-       * FS/: FS/Conf.pm, FS/part_export/artera_turbo.pm,
-         FS/svc_external.pm, bin/freeside-setup: add artera turbo export
+       * FS/FS/Conf.pm, FS/FS/part_export/artera_turbo.pm,
+         README.1.5.0pre6, FS/FS/svc_external.pm, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html: add artera turbo export
 
 2004-10-12 22:46  ivan
 
          in the parent process, this cached the $dbdef and speeds things
          up significantly
 
+2004-10-05 04:38  ivan
+
+       * ANNOUNCE.1.5.0: [no log message]
+
 2004-09-22 04:28  ivan
 
        * httemplate/search/: cust_bill_event.html,
 
        * FS/FS/Record.pm: better error message for missing tables
 
+2004-07-06 10:27  ivan
+
+       * ANNOUNCE.1.5.0: new features
+
 2004-07-06 10:26  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main.pm, FS/FS/cust_pay.pm,
 
 2004-07-06 06:26  ivan
 
-       * FS/FS.pm, FS/FS/cust_pay.pm, FS/FS/cust_pay_void.pm,
-         FS/t/cust_pay_void.t, FS/bin/freeside-setup,
-         httemplate/docs/schema.html, httemplate/misc/void-cust_pay.cgi:
-         add cust_pay_void table and payment voiding web ui part one
+       * README.1.5.0pre1, README.1.5.0pre6, FS/FS.pm, FS/FS/cust_pay.pm,
+         FS/FS/cust_pay_void.pm, FS/t/cust_pay_void.t,
+         FS/bin/freeside-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade10.html,
+         httemplate/misc/void-cust_pay.cgi: add cust_pay_void table and
+         payment voiding web ui part one
 
 2004-07-06 01:43  ivan
 
-       * htetc/handler.pl: 0.32 (and then some) released
+       * htetc/: global.asa, handler.pl: 0.32 (and then some) released
 
 2004-07-01 06:49  ivan
 
 
 2004-06-28 21:02  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/cust_bill_pay.pm,
-         FS/FS/cust_credit_bill.pm, FS/FS/cust_credit_refund.pm,
-         FS/FS/cust_pay.pm, FS/FS/cust_pay_refund.pm,
-         FS/FS/cust_refund.pm, FS/bin/freeside-setup,
+       * ANNOUNCE.1.5.0, README.1.5.0pre6, FS/FS.pm, FS/MANIFEST,
+         FS/FS/cust_bill_pay.pm, FS/FS/cust_credit_bill.pm,
+         FS/FS/cust_credit_refund.pm, FS/FS/cust_pay.pm,
+         FS/FS/cust_pay_refund.pm, FS/FS/cust_refund.pm,
+         FS/bin/freeside-setup, httemplate/docs/upgrade10.html,
          httemplate/view/cust_main.cgi, FS/t/cust_pay_refund.t,
          httemplate/edit/cust_bill_pay.cgi,
          httemplate/edit/process/cust_bill_pay.cgi: add cust_pay_refund
        * FS/FS/cust_bill.pm: forgotten space in typeset invoice credit
          lines
 
+2004-06-22 18:23  ivan
+
+       * httemplate/docs/upgrade10.html: escape html
+
 2004-06-21 20:12  ivan
 
        * Makefile: snapshot before schema changes
          fix: avoid newline prepend fix from borking indented first <%,
          fixes customer search by otaker under mason, closes: Bug#830
 
+2004-06-18 03:07  ivan
+
+       * httemplate/docs/install.html: recommend HTML::Mason
+
 2004-06-17 05:32  ivan
 
        * FS/FS/part_export/: www_shellcommands.pm, apache.pm: add
 
 2004-06-15 06:27  ivan
 
-       * fs_selfservice/FS-SelfService/cgi/: passwd.cgi, passwd.html:
-         moving passwd cgi to self-service
+       * fs_passwd/fs_passwd.cgi, fs_passwd/fs_passwd.html,
+         fs_selfservice/FS-SelfService/cgi/passwd.cgi,
+         fs_selfservice/FS-SelfService/cgi/passwd.html: moving passwd cgi
+         to self-service
 
 2004-06-15 03:59  ivan
 
 
 2004-06-11 06:44  ivan
 
-       * httemplate/search/report_tax.cgi: tax report!
+       * FS/bin/freeside-tax-report, httemplate/search/report_tax.cgi: tax
+         report!
 
 2004-06-11 00:37  ivan
 
 
        * Makefile: need this entry for myself though!
 
+2004-06-09 00:17  ivan
+
+       * httemplate/docs/install.html: explicitly specify Apache
+         httpd.conf.  fear.
+
 2004-06-05 05:01  ivan
 
        * Makefile: AND set its owner.  whew.
 
 2004-05-26 11:59  ivan
 
-       * FS/FS/cust_bill.pm: require the version of File::Temp with the OO
-         interface
+       * FS/FS/cust_bill.pm, httemplate/docs/upgrade-1.4.2.html: require
+         the version of File::Temp with the OO interface
 
 2004-05-26 06:07  ivan
 
        * httemplate/: index.html, search/svc_www.cgi: vary basic virtual
          host browse
 
+2004-05-10 16:16  ivan
+
+       * httemplate/docs/upgrade10.html: fix sequences in upgrade docs?
+
 2004-05-10 06:46  ivan
 
        * FS/FS/part_export/shellcommands_withdomain.pm: fix ISPMan
        * httemplate/search/cust_bill.html: handle missing customer records
          without erroring out
 
+2004-04-30 20:54  ivan
+
+       * htetc/global.asa: very weird 5.005 problem
+
 2004-04-30 14:58  ivan
 
        * FS/FS/Record.pm: accept empty zips for non-US countries...
 
 2004-04-23 06:15  ivan
 
-       * FS/MANIFEST, httemplate/index.html: add link to new credit report
-         on main menu, remove old obsolete shell-out reports
+       * FS/MANIFEST, FS/bin/freeside-cc-receipts-report,
+         FS/bin/freeside-credit-report, httemplate/index.html,
+         httemplate/search/report_cc.cgi,
+         httemplate/search/report_cc.html,
+         httemplate/search/report_credit.cgi,
+         httemplate/search/report_credit.html: add link to new credit
+         report on main menu, remove old obsolete shell-out reports
 
 2004-04-23 05:50  ivan
 
-       * Makefile: fix up includes with Apache::ASP
+       * Makefile, htetc/global.asa: fix up includes with Apache::ASP
 
 2004-04-23 05:19  ivan
 
        * FS/FS/cust_credit.pm, FS/FS/Report/Table/Monthly.pm,
+         httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi,
          httemplate/search/cust_bill.html,
          httemplate/search/cust_credit.html,
 
        * httemplate/elements/pager.html: silly pager fix
 
+2004-04-22 00:27  ivan
+
+       * httemplate/docs/: install.html, upgrade10.html: minor doc updates
+
 2004-04-22 00:07  ivan
 
        * httemplate/search/report_cust_credit.html: initial copy from
 
        * Makefile: properly disable RT where not using
 
+2004-04-09 15:29  ivan
+
+       * fs_passwd/fs_passwd.cgi: oops, this one too
+
+2004-04-09 15:28  ivan
+
+       * fs_passwd/fs_passwd.html: fs_passwd.cgi
+
 2004-04-08 05:37  ivan
 
        * Makefile: fix psql command line options for older pg
 
 2004-04-08 05:05  ivan
 
-       * rt/sbin/rt-setup-database.in: remove accidentally doubled lines
-         in usage inst
+       * rt/sbin/: rt-setup-database, rt-setup-database.in: remove
+         accidentally doubled lines in usage inst
 
 2004-04-08 05:00  ivan
 
        * Makefile, htetc/handler.pl, rt/FREESIDE_MODIFIED,
-         rt/etc/RT_SiteConfig.pm, rt/sbin/rt-setup-database.in: beginning
-         of RT integration
+         rt/etc/RT_SiteConfig.pm, rt/sbin/rt-setup-database,
+         rt/sbin/rt-setup-database.in: beginning of RT integration
 
 2004-04-07 22:53  ivan
 
 
 2004-04-05 02:08  ivan
 
-       * htetc/handler.pl, httemplate/misc/whois.cgi,
+       * htetc/global.asa, htetc/handler.pl, httemplate/docs/install.html,
+         httemplate/docs/upgrade-1.4.2.html, httemplate/misc/whois.cgi,
          httemplate/view/svc_domain.cgi: add whois functionality
          internally instead of linking to geektools
 
 
        * httemplate/view/cust_main.cgi: comment out extraneous warning
 
+2004-04-02 16:45  ivan
+
+       * httemplate/search/cust_bill.cgi: UI: stop making things small for
+         no reason
+
 2004-04-02 05:44  ivan
 
-       * htetc/handler.pl, httemplate/view/cust_bill-pdf.cgi: remove
-         Pragma:no-cache header, and set Content-Length and Cache-Control
-         for viewing .pdf invoices with IE over SSL.
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/view/cust_bill-pdf.cgi: remove Pragma:no-cache header,
+         and set Content-Length and Cache-Control for viewing .pdf
+         invoices with IE over SSL.
          http://support.microsoft.com/default.aspx?scid=kb;en-us;323308
 
 2004-04-02 03:23  ivan
        * FS/FS/part_export/www_shellcommands.pm: fix paths to ispman
          commands
 
+2004-04-01 03:14  ivan
+
+       * httemplate/browse/part_referral.cgi: remove extraneous html
+
+2004-04-01 03:09  ivan
+
+       * httemplate/browse/part_referral.cgi: oops!
+
+2004-04-01 02:56  ivan
+
+       * httemplate/browse/part_referral.cgi: add a yesterday column and a
+         total row, closes: Bug#797
+
 2004-03-31 16:44  ivan
 
        * FS/: FS/cust_main_county.pm, bin/freeside-setup: get
          sub-countries from Locale::SubCountry now
 
+2004-03-30 09:13  ivan
+
+       * httemplate/docs/upgrade10.html: little more explanation about
+         editing Pg dumps
+
 2004-03-30 08:43  ivan
 
        * FS/FS/cust_main.pm: mutex the bill and collect functions
        * httemplate/view/: cust_main.cgi: small UI fix for unapplied
          partial credits
 
+2004-03-22 19:36  ivan
+
+       * htetc/global.asa: make Apache::ASP includes work as expected
+
+2004-03-22 19:31  ivan
+
+       * htetc/global.asa: includes fix
+
+2004-03-22 19:29  ivan
+
+       * htetc/global.asa, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: includes with Apache::ASP
+
 2004-03-22 16:06  ivan
 
        * FS/FS/cust_main.pm, FS/FS/ClientAPI/MyAccount.pm,
-         htetc/handler.pl, httemplate/elements/small_custview.html,
+         htetc/global.asa, htetc/handler.pl,
+         httemplate/elements/small_custview.html,
          httemplate/misc/payment.cgi, httemplate/misc/process/payment.cgi,
          httemplate/view/cust_main.cgi: one-time credit card and ACH
          payments (like self-service) closes: Bug#648
 
 2004-03-22 02:16  ivan
 
-       * httemplate/view/cust_main.cgi: yay!  remove package view entirely
-         (closes: Bug#569)
+       * httemplate/: misc/expire_pkg.cgi, misc/process/expire_pkg.cgi,
+         view/cust_main.cgi: yay!  remove package view entirely (closes:
+         Bug#569)
 
 2004-03-21 18:59  ivan
 
 
 2004-03-17 13:47  ivan
 
-       * FS/FS/: ClientAPI/MyAccount.pm, svc_acct.pm, ClientAPI/passwd.pm:
-         proper self-service login supporting plaintext, crypt and MD5
-         passwords
+       * FS/FS/ClientAPI/MyAccount.pm, FS/FS/svc_acct.pm,
+         FS/FS/ClientAPI/passwd.pm, httemplate/docs/install.html,
+         httemplate/docs/upgrade-1.4.2.html: proper self-service login
+         supporting plaintext, crypt and MD5 passwords
 
 2004-03-16 12:41  ivan
 
 
 2004-03-15 22:58  ivan
 
-       * rt/: FREESIDE_MODIFIED, config.layout.in: config.layout needs to
-         be generated
+       * rt/: FREESIDE_MODIFIED, config.layout, config.layout.in:
+         config.layout needs to be generated
 
 2004-03-15 22:45  ivan
 
 
 2004-03-15 22:43  ivan
 
-       * rt/FREESIDE_MODIFIED: initial (hopefully rather unobtrusive)
-         patch
+       * rt/: FREESIDE_MODIFIED, sbin/rt-setup-database: initial
+         (hopefully rather unobtrusive) patch
 
 2004-03-15 20:36  ivan
 
 
        * httemplate/graph/money_time.cgi: fix title
 
+2004-03-12 04:10  ivan
+
+       * httemplate/docs/upgrade10.html: add history tables to field
+         change upgrade instructions, add hints for pre-5.6 perl, add
+         index on cust_pay._date
+
 2004-03-12 02:22  ivan
 
        * httemplate/index.html: add badly-named new report
 
+2004-03-12 02:19  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: few more 1.4.2 upgrade hints
+
 2004-03-12 00:56  ivan
 
        * FS/FS/Report/Table/Monthly.pm: don't run my local expenses kludge
        * FS/FS/cust_main.pm: emaildecline-exclude skips any errors that
          contain the strings now, not just match exactly
 
+2004-03-11 21:58  ivan
+
+       * httemplate/docs/upgrade10.html: document trouble schema changes
+         backported to 1.4.2
+
+2004-03-11 21:49  ivan
+
+       * httemplate/docs/upgrade10.html: remove comment
+
+2004-03-11 13:35  ivan
+
+       * httemplate/docs/upgrade10.html: add info for ancient Pg versions
+
 2004-03-11 13:19  ivan
 
        * conf/logo.eps: oops, wrong logo
 
 2004-03-10 23:33  ivan
 
-       * fs_passwd/fs_passwd: update fs_passwd stuff as wrappers around
+       * fs_passwd/: fs_passwd, fs_passwd.cgi, fs_passwd_server,
+         fs_passwdd: update fs_passwd stuff as wrappers around
          self-service
 
 2004-03-10 20:17  ivan
 
        * FS/MANIFEST: incorrect listing in MANIFEST
 
-2004-03-10 18:05  ivan
-
-       * rt/autom4te.cache/: output.0, traces.0: import of rt 3.0.9
+2004-03-10 18:03  ivan
 
-2004-03-10 18:02  ivan
-
-       * rt/: lib/RT/I18N/de.po, lib/RT/I18N/it.po, lib/RT/I18N/ru.po,
-         lib/RT/I18N/zh_cn.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/Interface/Email.pm, lib/RT/Interface/REST.pm,
-         lib/RT/Interface/Web.pm, lib/RT/URI/fsck_com_rt.pm,
-         lib/t/data/crashes-file-based-parser,
-         lib/t/data/multipart-report, lib/t/data/notes-uuencoded,
-         sbin/extract-message-catalog, sbin/factory, sbin/license_tag,
-         sbin/rt-test-dependencies.in: import of rt 3.0.9
+       * rt/lib/: RT/I18N/it.po, RT/Interface/REST.pm,
+         t/data/crashes-file-based-parser, t/data/multipart-report,
+         t/data/notes-uuencoded: Initial revision
 
 2004-03-10 17:59  ivan
 
-       * rt/: Makefile.in, README, README.Oracle, UPGRADING, configure,
-         configure.ac, Changelog, bin/mason_handler.fcgi.in,
-         bin/mason_handler.scgi.in, bin/mason_handler.svc.in,
-         bin/rt-crontool.in, bin/rt-mailgate.in, bin/rt.in,
-         bin/webmux.pl.in, docs/rt3-schema-relationships.dot,
-         etc/acl.Informix, etc/acl.Oracle, etc/constraints.mysql,
-         etc/drop.Informix, etc/drop.Oracle, etc/initialdata,
-         etc/schema.Informix, etc/schema.SQLite, etc/schema.mysql,
-         html/autohandler, html/index.html,
-         html/Admin/Elements/EditCustomField,
-         html/Admin/Elements/EditCustomFieldValues,
-         html/Admin/Elements/EditCustomFields,
-         html/Admin/Elements/EditScrip, html/Admin/Elements/EditScrips,
-         html/Admin/Elements/SelectGroups,
-         html/Admin/Elements/SelectRights,
-         html/Admin/Elements/SelectStage,
-         html/Admin/Queues/CustomFields.html,
-         html/Admin/Queues/index.html, html/Admin/Users/index.html,
-         html/Approvals/Display.html, html/Elements/Callback,
-         html/Elements/MessageBox, html/Elements/MyTickets,
-         html/Elements/SelectLang, html/Elements/SelectStatus,
-         html/Elements/SelectWatcherType,
-         html/Elements/SetupSessionCookie, html/REST/1.0/autohandler,
-         html/REST/1.0/dhandler, html/REST/1.0/logout,
-         html/REST/1.0/Forms/queue/default, html/REST/1.0/Forms/queue/ns,
+       * rt/: README.Oracle, UPGRADING, bin/rt.in,
+         docs/rt3-schema-relationships.dot, etc/acl.Informix,
+         etc/drop.Informix, etc/drop.Oracle, etc/schema.Informix,
+         html/Admin/Elements/SelectStage, html/Elements/SelectLang,
+         html/REST/1.0/autohandler, html/REST/1.0/dhandler,
+         html/REST/1.0/logout, html/REST/1.0/Forms/queue/default,
+         html/REST/1.0/Forms/queue/ns,
          html/REST/1.0/Forms/ticket/attachments,
          html/REST/1.0/Forms/ticket/default,
          html/REST/1.0/Forms/ticket/history,
          html/REST/1.0/Forms/ticket/links,
          html/REST/1.0/Forms/user/default, html/REST/1.0/Forms/user/ns,
-         html/REST/1.0/NoAuth/mail-gateway, html/REST/1.0/search/dhandler,
-         html/REST/1.0/search/ticket, html/REST/1.0/ticket/comment,
-         html/REST/1.0/ticket/link, html/REST/1.0/ticket/merge,
-         html/SelfService/Display.html, html/SelfService/Update.html,
-         html/SelfService/Elements/MyRequests, html/Ticket/Modify.html,
-         html/Ticket/ModifyAll.html, html/Ticket/ModifyPeople.html,
-         html/Ticket/Update.html, html/Ticket/Attachment/dhandler,
-         html/Ticket/Elements/AddWatchers,
-         html/Ticket/Elements/EditCustomField,
-         html/Ticket/Elements/EditPeople,
-         html/Ticket/Elements/ShowAttachments,
-         html/Ticket/Elements/ShowDates, html/Ticket/Elements/ShowHistory,
-         html/Ticket/Elements/ShowMessageStanza,
-         html/Ticket/Elements/ShowPeople,
-         html/Ticket/Elements/ShowTransaction, lib/RT.pm.in,
-         lib/RT/Attachment_Overlay.pm, lib/RT/Base.pm,
-         lib/RT/CachedGroupMember_Overlay.pm,
-         lib/RT/CachedGroupMembers_Overlay.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomField_Overlay.pm, lib/RT/EmailParser.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/Group_Overlay.pm,
-         lib/RT/Handle.pm, lib/RT/I18N.pm, lib/RT/Principal_Overlay.pm,
-         lib/RT/Queue_Overlay.pm, lib/RT/ScripAction_Overlay.pm,
-         lib/RT/Scrip_Overlay.pm, lib/RT/Scrips_Overlay.pm,
-         lib/RT/StyleGuide.pod, lib/RT/Template_Overlay.pm,
-         lib/RT/Tickets_Overlay.pm, lib/RT/Tickets_Overlay_SQL.pm,
-         lib/RT/URI.pm, lib/RT/Action/AutoOpen.pm,
-         lib/RT/Action/Autoreply.pm, lib/RT/Action/CreateTickets.pm,
-         lib/RT/Action/SendEmail.pm, lib/RT/I18N/cs.pm: import of rt 3.0.9
+         html/REST/1.0/search/dhandler, html/REST/1.0/search/ticket,
+         html/REST/1.0/ticket/comment, html/REST/1.0/ticket/link,
+         html/REST/1.0/ticket/merge, lib/RT/StyleGuide.pod: Initial
+         revision
 
 2004-03-10 17:05  ivan
 
 
        * httemplate/browse/router.cgi: UI cleanup.
 
+2004-03-05 16:57  ivan
+
+       * httemplate/docs/upgrade10.html: doc
+
 2004-03-05 06:34  ivan
 
        * FS/MANIFEST, FS/FS/Report.pm, FS/FS/Report/Table.pm,
          FS/FS/Report/Table/Monthly.pm, FS/t/Report-Table-Monthly.t,
-         FS/t/Report-Table.t, FS/t/Report.t, htetc/handler.pl,
+         FS/t/Report-Table.t, FS/t/Report.t, htetc/global.asa,
+         htetc/handler.pl, httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi: beginning of OO reporting
          interface, create acadia-requested crosstab reports
 
 
        * CREDITS: credit where the typeset invoices came from!
 
+2004-02-28 14:43  ivan
+
+       * htetc/global.asa, httemplate/docs/install.html,
+         httemplate/docs/upgrade-1.4.2.html: Apache::ASP 2.55 required
+
 2004-02-28 14:40  ivan
 
        * httemplate/edit/process/cust_main_county-collapse.cgi: style
 
+2004-02-28 14:40  ivan
+
+       * httemplate/edit/process/cust_main_county.cgi: new setuptax and
+         recurtax fields
+
 2004-02-28 14:26  ivan
 
        * FS/FS/Record.pm: depend on DBIx::DBSchema 0.23 and thus DBD::Pg
 
        * FS/FS/CGI.pm: query strings get passed through sometimes?
 
+2004-02-24 19:50  ivan
+
+       * httemplate/docs/install.html: formatting
+
 2004-02-23 00:12  ivan
 
        * FS/FS/: svc_acct.pm, part_export.pm, svc_Common.pm: implement
 
        * bin/sendmail.import: it lives!
 
+2004-02-13 03:44  ivan
+
+       * httemplate/docs/upgrade10.html: workaround for older Pg
+
 2004-02-13 03:28  ivan
 
        * httemplate/: index.html, search/svc_forward.cgi,
 
 2004-02-13 02:57  ivan
 
-       * FS/bin/freeside-setup: continue adding svc_forward.src: make
-         svc_forward.srcsvc nullable
+       * FS/bin/freeside-setup, httemplate/docs/upgrade10.html: continue
+         adding svc_forward.src: make svc_forward.srcsvc nullable
 
 2004-02-13 02:35  ivan
 
        * FS/FS/svc_forward.pm, FS/bin/freeside-setup,
-         httemplate/docs/schema.html: add svc_forward.src
+         httemplate/docs/schema.html, httemplate/docs/upgrade10.html: add
+         svc_forward.src
 
 2004-02-13 00:02  ivan
 
 
 2004-02-11 22:31  ivan
 
-       * htetc/handler.pl, httemplate/misc/email-invoice.cgi,
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/misc/email-invoice.cgi,
          httemplate/misc/print-invoice.cgi, httemplate/view/cust_bill.cgi:
          re-email invoice, closes: bug#526 and have print and email
          invoice links redirect back to top of customer view page instead
        * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm,
          httemplate/browse/part_pkg.cgi, httemplate/edit/part_pkg.cgi,
          httemplate/edit/process/part_pkg.cgi, FS/bin/freeside-setup,
-         htetc/handler.pl, httemplate/docs/schema.html: add
-         pkg_svc.primary_svc flag to enable an explicit first package flag
+         htetc/global.asa, htetc/handler.pl, httemplate/docs/schema.html,
+         httemplate/docs/upgrade-1.4.2.html,
+         httemplate/docs/upgrade10.html: add pkg_svc.primary_svc flag to
+         enable an explicit first package flag
 
 2004-01-30 22:20  ivan
 
        * FS/FS/Record.pm: add ut_snumber, fix replacement of records with
          empty values in non-primary-keyed tables
 
+2004-01-30 12:40  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: not appropriate
+
 2004-01-29 19:58  ivan
 
        * FS/FS/part_export.pm: add default freebsd and linux
        * httemplate/: index.html, misc/dump.cgi: add database dump from
          web interface
 
+2004-01-19 15:21  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: typeset invoice doc update
+
 2004-01-18 13:03  ivan
 
        * FS/FS/Record.pm: revert bind_param change _again_.  passing not
        * FS/FS/cust_bill.pm: apply variable substitutions in latex notes
          also
 
+2004-01-12 12:52  ivan
+
+       * httemplate/docs/upgrade10.html: add IPC::ShareLite and
+         Locale::SubCountry
+
+2004-01-12 12:52  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: add IPC::ShareLite
+
 2004-01-12 12:40  khoff
 
        * httemplate/edit/part_virtual_field.cgi: Lists are just better
 
 2003-12-27 00:23  ivan
 
-       * httemplate/: index.html, search/cust_pkg.cgi: package reports by
-         agent
+       * httemplate/: index.html, search/cust_pkg.cgi,
+         search/cust_pkg.html, search/cust_pkg_report.cgi: package reports
+         by agent
 
 2003-12-24 10:18  khoff
 
 2003-12-22 18:36  ivan
 
        * FS/MANIFEST, FS/FS/part_export.pm, FS/t/svc_broadband.t,
-         FS/t/svc_external.t, htetc/handler.pl,
+         FS/t/svc_external.t, htetc/global.asa, htetc/handler.pl,
          httemplate/edit/part_svc.cgi, httemplate/edit/svc_external.cgi,
          httemplate/edit/process/svc_external.cgi,
          httemplate/view/svc_external.cgi: add svc_external
 
 2003-12-22 17:46  ivan
 
-       * FS/: FS.pm, FS/svc_external.pm, bin/freeside-setup,
-         FS/cust_svc.pm: add svc_external
+       * FS/FS.pm, FS/FS/svc_external.pm, FS/bin/freeside-setup,
+         httemplate/docs/upgrade10.html, FS/FS/cust_svc.pm: add
+         svc_external
 
 2003-12-22 17:10  ivan
 
        * FS/FS/: Conf.pm, cust_main.pm: allow_negative_charges config
          option
 
+2003-12-22 13:37  ivan
+
+       * httemplate/browse/cust_pay_batch.cgi: add total cards & amount to
+         pending batch screen
+
 2003-12-22 13:22  ivan
 
        * FS/FS/cust_main.pm: default to the whole-country tax rate if
        * FS/bin/freeside-addoutsourceuser: add outsourced databases with
          both addresses by default
 
+2003-12-19 19:47  ivan
+
+       * httemplate/browse/part_referral.cgi: fix inflated advertising
+         source numbers
+
 2003-12-15 00:08  ivan
 
        * conf/invoice_latex: line up w/window envelopes
 
 2003-12-10 14:51  ivan
 
-       * FS/bin/freeside-setup: add part_referral.disabled, add disabled
-         indices to agent and part_bill_event
+       * FS/bin/freeside-setup, httemplate/docs/upgrade10.html: add
+         part_referral.disabled, add disabled indices to agent and
+         part_bill_event
 
 2003-12-10 14:50  ivan
 
 
 2003-11-19 04:21  ivan
 
-       * httemplate/: edit/REAL_cust_pkg.cgi, search/report_cust_pay.html,
-         search/report_tax.html: fix jscalendar date ifFormat
+       * httemplate/: edit/REAL_cust_pkg.cgi, search/cust_pkg.html,
+         search/report_cc.html, search/report_credit.html,
+         search/report_cust_pay.html, search/report_tax.html: fix
+         jscalendar date ifFormat
 
 2003-11-18 17:37  ivan
 
          FS/part_export/communigate_pro_singledomain.pm, MANIFEST,
          FS/part_export.pm: add communigate_pro_singledomain export
 
+2003-11-18 03:17  ivan
+
+       * httemplate/docs/install.html: remove thread/PerlIO warning -
+         standard in 5.8.x and working fine
+
 2003-11-14 23:28  ivan
 
        * FS/bin/freeside-selfservice-server: kill off ssh process when
        * FS/FS/svc_Common.pm: simple change to cust_svc creation to help
          imports with svcnums
 
+2003-11-11 00:35  ivan
+
+       * httemplate/browse/part_referral.cgi: really fix advertising
+         source edit links
+
 2003-11-11 00:01  ivan
 
        * httemplate/search/report_receivables.cgi: remove spaces between
 
 2003-11-10 23:51  ivan
 
-       * httemplate/browse/svc_acct_pop.cgi: part_referral.cgi
+       * httemplate/browse/: part_referral.cgi, svc_acct_pop.cgi:
+         part_referral.cgi
 
 2003-11-10 05:54  ivan
 
        * httemplate/: index.html, search/report_receivables.cgi: "current
          receivables" -> A/R Aging summary
 
+2003-11-06 05:37  ivan
+
+       * FS/bin/freeside-receivables-report: removing (rewritten as a
+         proper html report)
+
 2003-11-05 03:13  ivan
 
        * bin/create-fetchmailrc: fixup
        * httemplate/browse/part_pkg.cgi: also show suspended and canceled
          counts on active package browse
 
+2003-10-26 09:30  ivan
+
+       * httemplate/search/cust_main-quickpay.html: default quickpay to
+         exact search
+
 2003-10-25 17:39  ivan
 
        * httemplate/search/: cust_pay.cgi, report_cust_pay.html: payment
 
        * FS/FS/ClientAPI/Signup.pm, httemplate/edit/cust_main.cgi,
          httemplate/edit/process/cust_main.cgi, httemplate/docs/cvv2.html,
-         FS/FS/cust_main.pm, FS/bin/freeside-setup,
-         httemplate/docs/schema.html: cvv!
+         httemplate/docs/upgrade10.html, FS/FS/cust_main.pm,
+         FS/bin/freeside-setup, httemplate/docs/schema.html: cvv!
 
 2003-10-23 22:51  ivan
 
        * httemplate/images/: cvv2.png, cvv2_amex.png: adding cvv2 images
 
+2003-10-23 17:50  ivan
+
+       * httemplate/browse/part_referral.cgi: UI: adjust alignment of
+         stats
+
+2003-10-23 17:39  ivan
+
+       * httemplate/browse/part_referral.cgi: referral listing now shows
+         customer signups today and past week/30/60/90/6months/year/total
+
+2003-10-23 15:37  ivan
+
+       * bin/dbdef-create: require DBIx::DBSchema 0.22 to deal with Pg
+         version problems
+
 2003-10-23 02:02  ivan
 
        * httemplate/docs/legacy.html: fix cranky verbitage at the top
 2003-10-19 21:25  ivan
 
        * FS/FS/cust_main.pm, FS/FS/part_pkg.pm,
-         httemplate/edit/part_pkg.cgi, FS/bin/freeside-setup: daily/weekly
-         billing
+         httemplate/edit/part_pkg.cgi, httemplate/docs/upgrade10.html,
+         FS/bin/freeside-setup: daily/weekly billing
+
+2003-10-19 11:08  ivan
+
+       * httemplate/docs/install.html: fix CPAN link
 
 2003-10-16 15:57  khoff
 
        * FS/FS/part_export/router.pm: Telnet/SSH router export for
          svc_broadband.
 
+2003-10-16 06:48  ivan
+
+       * httemplate/docs/billing.html: fix Text::Template link
+
 2003-10-15 16:17  khoff
 
        * httemplate/browse/router.cgi: $router isn't a global.
 
        * FS/FS/cust_pay_batch.pm: parse last line from TD Canada Trust
 
+2003-10-09 04:05  ivan
+
+       * httemplate/docs/install.html: don't install on a public server!
+
 2003-10-07 21:09  ivan
 
-       * htetc/handler.pl, httemplate/misc/upload-batch.cgi: can't use
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/misc/upload-batch.cgi: can't use
          File::Basename::basename for windows filenames!  use a regex
          instead
 
        * FS/FS/part_export/communigate_pro.pm: add suspension /
          unsuspension export to communigate
 
+2003-10-06 05:05  ivan
+
+       * httemplate/search/cust_main-quickpay.html: - put link to main
+         menu on quick payment search page
+
 2003-10-06 04:39  ivan
 
        * httemplate/search/svc_acct.cgi: fix URL argument processing for
 
        * FS/FS/agent.pm: no duplicate usernames
 
+2003-09-30 07:58  ivan
+
+       * httemplate/docs/upgrade10.html: agent schema changes
+
 2003-09-30 05:48  ivan
 
        * httemplate/misc/download-batch.cgi: IE doesn't like downloading
          httemplate/elements/calendar-win2k-2.css,
          httemplate/elements/calendar.js,
          httemplate/elements/calendar_stripped.js,
-         httemplate/images/calendar.png,
+         httemplate/images/calendar.png, httemplate/search/cust_pkg.html,
+         httemplate/search/report_cc.html,
+         httemplate/search/report_credit.html,
          httemplate/search/report_cust_pay.html,
          httemplate/search/report_tax.html: calendar popups!
 
 2003-09-30 00:04  ivan
 
-       * htetc/handler.pl: CGI.pm 2.47 required for ->upload() method
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/docs/upgrade-1.4.2.html: CGI.pm 2.47 required for
+         ->upload() method
 
 2003-09-29 03:10  ivan
 
 
 2003-09-27 19:36  ivan
 
-       * FS/FS/cust_pay_batch.pm, htetc/handler.pl,
+       * FS/FS/cust_pay_batch.pm, htetc/global.asa, htetc/handler.pl,
+         httemplate/browse/cust_pay_batch.cgi,
          httemplate/misc/upload-batch.cgi: add upload of batch result from
          TD Canada Trust some global.asa / handler.pl enhancements
 
 
        * httemplate/edit/svc_acct.cgi: $field isn't a global.
 
+2003-09-26 06:37  ivan
+
+       * httemplate/docs/upgrade10.html: sql
+
 2003-09-26 06:04  ivan
 
        * FS/: FS/cust_main.pm, bin/freeside-daily: re-setup option to
 
 2003-09-26 01:11  ivan
 
-       * httemplate/browse/cust_main_county.cgi: fix tax edit UI
+       * httemplate/: browse/cust_main_county.cgi,
+         edit/cust_main_county.cgi: fix tax edit UI
+
+2003-09-25 04:56  ivan
+
+       * httemplate/docs/upgrade10.html: new per-tax setuptax and recurtax
+         fields
 
 2003-09-25 04:49  ivan
 
-       * httemplate/browse/cust_main_county.cgi: UI for multiple named
-         taxes w/setup & recur exemptions 1.4 schema-auto-adjusting
-         backport
+       * httemplate/: browse/cust_main_county.cgi,
+         edit/cust_main_county.cgi: UI for multiple named taxes w/setup &
+         recur exemptions 1.4 schema-auto-adjusting backport
 
 2003-09-25 04:17  ivan
 
 
        * FS/FS/ClientAPI/MyAccount.pm: quiet self-service server cancels
 
+2003-09-25 02:40  ivan
+
+       * httemplate/docs/upgrade-1.4.2.html: 1.4.2 upgrade
+
+2003-09-25 02:39  ivan
+
+       * httemplate/docs/upgrade9.html: update upgrade docs for bind
+         exports
+
 2003-09-24 10:20  ivan
 
        * FS/FS/part_export/shellcommands.pm: don't change dir either when
 
        * httemplate/misc/download-batch.cgi: preliminary batch download
 
+2003-09-20 18:22  ivan
+
+       * httemplate/browse/cust_pay_batch.cgi: add link to preliminary
+         batch download
+
 2003-09-19 05:40  ivan
 
        * FS/FS/cust_main.pm: quiet option to cancel method
        * FS/FS/CGI.pm, bin/masonize, httemplate/index.html,
          httemplate/elements/header.html,
          httemplate/elements/menubar.html, httemplate/elements/pager.html,
-         httemplate/elements/table.html, httemplate/search/sql.html,
+         httemplate/elements/table.html, httemplate/search/sql.cgi,
+         httemplate/search/sql.html,
          httemplate/search/elements/search.html: - (finish) includes!
          (closes: Bug#551) - (finish) moving SQL search to including
          generic elements/search.html - new elements: menubar.html,
 
 2003-08-07 19:02  ivan
 
-       * bin/masonize, httemplate/autohandler,
+       * bin/masonize, htetc/global.asa, httemplate/autohandler,
+         httemplate/graph/money_time-graph.cgi,
          httemplate/graph/money_time.cgi, httemplate/search/sql.html,
          httemplate/search/elements/search.html: - fix Mason profiling to
          pass-through images (for graph/) - fix graph/money-time.cgi use
 
 2003-08-07 06:08  ivan
 
-       * htetc/handler.pl, httemplate/view/cust_main.cgi: - turn on
-         profiling with mason like with Apache::ASP (redirects now
-         working) - fix mason error with new view/cust_main.cgi UI
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/view/cust_main.cgi: - turn on profiling with mason
+         like with Apache::ASP (redirects now working) - fix mason error
+         with new view/cust_main.cgi UI
 
 2003-08-07 05:47  ivan
 
-       * Makefile, htetc/handler.pl, httemplate/autohandler,
-         httemplate/index.html: - switch to mason by default - minimum
-         mason version 1.1 (and doc) - evaluate .html files with mason/asp
-         - turn on profiling with mason like with Apache::ASP (redirects
-         not working) - (start of) includes
+       * Makefile, htetc/global.asa, htetc/handler.pl,
+         htetc/handler.pl-1.0x, httemplate/autohandler,
+         httemplate/index.html, httemplate/docs/install.html,
+         httemplate/docs/upgrade10.html: - switch to mason by default -
+         minimum mason version 1.1 (and doc) - evaluate .html files with
+         mason/asp - turn on profiling with mason like with Apache::ASP
+         (redirects not working) - (start of) includes
 
 2003-08-05 14:00  ivan
 
 
 2003-08-05 13:06  ivan
 
-       * htetc/handler.pl: no svc_acct_sm in 1.5
+       * htetc/: handler.pl, handler.pl-1.0x: no svc_acct_sm in 1.5
 
 2003-08-05 12:07  ivan
 
          FS/FS/router.pm, FS/FS/session.pm, FS/FS/svc_Common.pm,
          FS/FS/svc_acct.pm, FS/FS/svc_acct_pop.pm, FS/FS/svc_broadband.pm,
          FS/FS/svc_domain.pm, FS/FS/svc_forward.pm, FS/FS/svc_www.pm,
-         FS/FS/type_pkgs.pm, FS/bin/freeside-setup, htetc/handler.pl,
-         httemplate/index.html, httemplate/browse/part_svc.cgi,
+         FS/FS/type_pkgs.pm, FS/bin/freeside-setup, htetc/global.asa,
+         htetc/handler.pl, htetc/handler.pl-1.0x, httemplate/index.html,
+         httemplate/browse/part_svc.cgi,
          httemplate/browse/part_virtual_field.cgi,
-         httemplate/browse/router.cgi, httemplate/edit/part_svc.cgi,
+         httemplate/browse/router.cgi, httemplate/docs/upgrade10.html,
+         httemplate/edit/part_svc.cgi,
          httemplate/edit/part_virtual_field.cgi,
          httemplate/edit/router.cgi, httemplate/edit/svc_acct.cgi,
          httemplate/edit/svc_broadband.cgi, httemplate/edit/svc_www.cgi,
          httemplate/view/svc_forward.cgi, httemplate/view/svc_www.cgi:
          Virtual field merge
 
+2003-08-04 17:00  khoff
+
+       * FS/FS/part_router_field.pm, FS/FS/part_sb_field.pm,
+         FS/FS/router_field.pm, FS/FS/sb_field.pm,
+         httemplate/browse/part_sb_field.cgi,
+         httemplate/edit/part_router_field.cgi,
+         httemplate/edit/part_sb_field.cgi: Virtual field merge
+
 2003-07-25 09:26  ivan
 
        * FS/FS/svc_acct.pm: typo
 
 2003-07-15 06:30  ivan
 
-       * rt/: Makefile, bin/mason_handler.fcgi, bin/mason_handler.scgi,
-         bin/rt-mailgate, etc/schema.Pg, lib/RT.pm, lib/RT/Record.pm:
-         reverting to vendor branch rt 3.0.4, hopefully
-
-2003-07-15 06:16  ivan
-
-       * rt/: config.log, config.status, bin/mason_handler.svc,
-         bin/rt-commit-handler, bin/rt-crontool, etc/RT_Config.pm,
-         etc/RT_Config.pm.in, etc/RT_SiteConfig.pm,
-         html/Admin/Users/Modify.html, html/Elements/Footer,
-         html/Elements/Header, html/Elements/Menu,
-         html/Elements/PageLayout, html/Elements/SelectDate,
-         html/Elements/SimpleSearch, html/Elements/Tabs,
-         html/Elements/TitleBoxStart, html/Search/Bulk.html,
-         html/Ticket/Create.html, html/Ticket/Display.html,
-         html/Ticket/Elements/ShowSummary, html/Ticket/Elements/Tabs,
-         html/User/Prefs.html, lib/RT/Groups_Overlay.pm,
-         lib/RT/SearchBuilder.pm, lib/RT/Ticket_Overlay.pm,
-         lib/RT/Transaction_Overlay.pm, lib/RT/User_Overlay.pm,
-         lib/RT/Users_Overlay.pm, lib/t/02regression.t, lib/t/03web.pl,
-         lib/t/04_send_email.pl, sbin/rt-setup-database.in: Initial
-         revision
+       * rt/: ChangeLog, Makefile, README, TODO, bin/initacls.Oracle,
+         bin/initacls.Pg, bin/initacls.mysql, bin/mason_handler.fcgi,
+         bin/mason_handler.scgi, bin/rt, bin/rt-mailgate, bin/rtadmin,
+         bin/webmux.pl, docs/rt.gif, docs/design_docs/acls,
+         docs/design_docs/basic-definitions.txt,
+         docs/design_docs/cli_spec, docs/design_docs/evil_plans,
+         docs/design_docs/local_hacking, etc/acl.Oracle, etc/acl.Pg,
+         etc/acl.mysql, etc/config.pm, etc/schema.Oracle, etc/schema.Pg,
+         etc/schema.mysql, etc/schema.pm, lib/MANIFEST, lib/MANIFEST.SKIP,
+         lib/Makefile.PL, lib/RT.pm, lib/test.pl, lib/RT/ACE.pm,
+         lib/RT/ACL.pm, lib/RT/Attachment.pm, lib/RT/Attachments.pm,
+         lib/RT/CurrentUser.pm, lib/RT/Date.pm, lib/RT/EasySearch.pm,
+         lib/RT/Group.pm, lib/RT/GroupMember.pm, lib/RT/GroupMembers.pm,
+         lib/RT/Groups.pm, lib/RT/Handle.pm, lib/RT/Keyword.pm,
+         lib/RT/KeywordSelect.pm, lib/RT/KeywordSelects.pm,
+         lib/RT/Keywords.pm, lib/RT/Link.pm, lib/RT/Links.pm,
+         lib/RT/ObjectKeyword.pm, lib/RT/ObjectKeywords.pm,
+         lib/RT/Queue.pm, lib/RT/Queues.pm, lib/RT/Record.pm,
+         lib/RT/Scrip.pm, lib/RT/ScripAction.pm, lib/RT/ScripActions.pm,
+         lib/RT/ScripCondition.pm, lib/RT/ScripConditions.pm,
+         lib/RT/Scrips.pm, lib/RT/Template.pm, lib/RT/Templates.pm,
+         lib/RT/TestHarness.pm, lib/RT/Ticket.pm, lib/RT/Tickets.pm,
+         lib/RT/Transaction.pm, lib/RT/Transactions.pm, lib/RT/User.pm,
+         lib/RT/Users.pm, lib/RT/Watcher.pm, lib/RT/Watchers.pm,
+         lib/RT/Action/Autoreply.pm, lib/RT/Action/Generic.pm,
+         lib/RT/Action/Notify.pm, lib/RT/Action/NotifyAsComment.pm,
+         lib/RT/Action/OpenDependent.pm, lib/RT/Action/ResolveMembers.pm,
+         lib/RT/Action/SendEmail.pm, lib/RT/Action/SendPasswordEmail.pm,
+         lib/RT/Action/StallDependent.pm,
+         lib/RT/Condition/AnyTransaction.pm, lib/RT/Condition/Generic.pm,
+         lib/RT/Condition/NewDependency.pm,
+         lib/RT/Condition/StatusChange.pm, lib/RT/Interface/CLI.pm,
+         lib/RT/Interface/Email.pm, lib/RT/Interface/Web.pm: reverting to
+         vendor branch rt 3.0.4, hopefully
 
 2003-07-15 06:16  ivan
 
-       * rt/: COPYING, Makefile.in, README, aclocal.m4, Changelog,
-         configure, configure.ac, install-sh, bin/mason_handler.fcgi.in,
-         bin/mason_handler.scgi.in, bin/mason_handler.svc.in,
+       * rt/: Makefile.in, aclocal.m4, config, config.layout, Changelog,
+         config.log, config.pld, config.status, configure, configure.ac,
+         install-sh, bin/mason_handler.fcgi.in, bin/mason_handler.scgi.in,
+         bin/mason_handler.svc, bin/mason_handler.svc.in,
+         bin/rt-commit-handler, bin/rt-commit-handler.in,
          bin/rt-crontool.in, bin/rt-mailgate.in, bin/webmux.pl.in,
-         docs/README.docs, docs/Security, docs/design_docs/CARS,
-         docs/design_docs/TransactionTypes.txt, docs/design_docs/acls,
-         docs/design_docs/approval_notices,
+         bin/rt-crontool, docs/design_docs/approval_notices,
          docs/design_docs/approval_template, docs/design_docs/cf_search,
-         docs/design_docs/cli_spec, docs/design_docs/cvs_integration,
-         docs/design_docs/delegation, docs/design_docs/evil_plans,
-         docs/design_docs/groups_notes,
-         docs/design_docs/link-definitions.txt,
+         docs/design_docs/delegation, docs/design_docs/groups_notes,
          docs/design_docs/recursive_group_membership_algorithm,
          docs/design_docs/rql_parser_machine.graphviz,
          docs/design_docs/string-extraction-guide.txt,
-         docs/design_docs/subscription-definitions.txt,
-         docs/design_docs/ticket_templates, docs/design_docs/users,
-         etc/acl.Oracle, etc/acl.Pg, etc/acl.mysql, etc/constraints.mysql,
-         etc/initialdata, etc/rt.spec, etc/schema.SQLite,
-         etc/schema.mysql, html/autohandler, html/index.html, html/l,
-         html/Admin/index.html, html/Admin/Elements/AddCustomFieldValue,
+         docs/design_docs/ticket_templates, etc/RT_Config.pm,
+         etc/RT_Config.pm.in, etc/RT_SiteConfig.pm, etc/constraints.mysql,
+         etc/initialdata, etc/schema.SQLite, etc/upgrade/2.1.71,
+         html/autohandler, html/index.html, html/l, html/Admin/index.html,
+         html/Admin/Elements/AddCustomFieldValue,
          html/Admin/Elements/CreateUserCalled,
          html/Admin/Elements/EditCustomField,
          html/Admin/Elements/EditCustomFieldValues,
          html/Admin/Elements/GroupTabs, html/Admin/Elements/Header,
          html/Admin/Elements/ListGlobalCustomFields,
          html/Admin/Elements/ListGlobalScrips,
+         html/Admin/Elements/ModifyQueue,
          html/Admin/Elements/ModifyTemplate,
+         html/Admin/Elements/ModifyUser,
          html/Admin/Elements/QueueRightsForUser,
          html/Admin/Elements/QueueTabs,
          html/Admin/Elements/SelectCustomFieldType,
          html/Admin/Elements/SelectTemplate,
          html/Admin/Elements/SelectUsers, html/Admin/Elements/SystemTabs,
          html/Admin/Elements/Tabs, html/Admin/Elements/UserTabs,
+         html/Admin/Global/CustomField.html,
+         html/Admin/Global/CustomFields.html,
          html/Admin/Global/GroupRights.html, html/Admin/Global/Scrip.html,
          html/Admin/Global/Scrips.html, html/Admin/Global/Template.html,
          html/Admin/Global/Templates.html,
          html/Admin/Queues/Template.html,
          html/Admin/Queues/Templates.html,
          html/Admin/Queues/UserRights.html, html/Admin/Queues/index.html,
+         html/Admin/Users/Modify.html, html/Admin/Users/Prefs.html,
          html/Admin/Users/index.html, html/Approvals/Display.html,
          html/Approvals/index.html, html/Approvals/Elements/Approve,
          html/Approvals/Elements/PendingMyApproval,
          html/Approvals/Elements/Tabs, html/Elements/BevelBoxRaisedEnd,
          html/Elements/BevelBoxRaisedStart, html/Elements/Callback,
          html/Elements/Checkbox, html/Elements/CreateTicket,
-         html/Elements/Error, html/Elements/GotoTicket,
+         html/Elements/Error, html/Elements/Footer,
+         html/Elements/GotoTicket, html/Elements/Header,
          html/Elements/ListActions, html/Elements/Login,
-         html/Elements/MessageBox, html/Elements/MyRequests,
-         html/Elements/MyTickets, html/Elements/Quicksearch,
+         html/Elements/Menu, html/Elements/MessageBox,
+         html/Elements/MyRequests, html/Elements/MyTickets,
+         html/Elements/PageLayout, html/Elements/Quicksearch,
          html/Elements/Refresh, html/Elements/Section,
          html/Elements/SelectAttachmentField, html/Elements/SelectBoolean,
          html/Elements/SelectCustomFieldOperator,
-         html/Elements/SelectCustomFieldValue,
+         html/Elements/SelectCustomFieldValue, html/Elements/SelectDate,
          html/Elements/SelectDateRelation, html/Elements/SelectDateType,
          html/Elements/SelectEqualityOperator, html/Elements/SelectGroups,
          html/Elements/SelectLinkType, html/Elements/SelectMatch,
          html/Elements/SelectTicketSortBy,
          html/Elements/SelectTicketTypes, html/Elements/SelectUsers,
          html/Elements/SelectWatcherType,
-         html/Elements/SetupSessionCookie, html/Elements/Submit,
-         html/Elements/TitleBoxEnd, html/NoAuth/Logout.html,
-         html/NoAuth/Reminder.html, html/NoAuth/images/bplogo.gif,
-         html/NoAuth/images/favicon.png,
-         html/REST/1.0/NoAuth/mail-gateway, html/SelfService/Closed.html,
+         html/Elements/SetupSessionCookie, html/Elements/ShadedBox,
+         html/Elements/ShadedInputRow, html/Elements/ShadedRow,
+         html/Elements/SimpleSearch, html/Elements/Submit,
+         html/Elements/Tabs, html/Elements/TitleBoxEnd,
+         html/Elements/TitleBoxStart, html/Elements/ViewUser,
+         html/NoAuth/Logout.html, html/NoAuth/Reminder.html,
+         html/NoAuth/webrt.css, html/NoAuth/images/back_home.gif,
+         html/NoAuth/images/bplogo.gif, html/NoAuth/images/favicon.png,
+         html/NoAuth/images/head_requestracker.gif,
+         html/NoAuth/images/rt.jpg, html/NoAuth/images/space.gif,
+         html/NoAuth/images/spacer.gif,
+         html/NoAuth/images/squares_blue.gif,
+         html/REST/1.0/NoAuth/mail-gateway, html/Search/Bulk.html,
+         html/Search/Listing.html, html/Search/Elements/PickRestriction,
+         html/Search/Elements/TicketHeader,
+         html/Search/Elements/TicketHeaderCell,
+         html/Search/Elements/TicketRow, html/SelfService/Closed.html,
          html/SelfService/Create.html, html/SelfService/Display.html,
          html/SelfService/Error.html, html/SelfService/Prefs.html,
          html/SelfService/Update.html, html/SelfService/index.html,
          html/SelfService/Elements/GotoTicket,
          html/SelfService/Elements/Header,
          html/SelfService/Elements/MyRequests,
-         html/SelfService/Elements/Tabs, html/Ticket/History.html,
+         html/SelfService/Elements/Tabs, html/Ticket/Create.html,
+         html/Ticket/Display.html, html/Ticket/History.html,
          html/Ticket/Modify.html, html/Ticket/ModifyAll.html,
          html/Ticket/ModifyDates.html, html/Ticket/ModifyLinks.html,
          html/Ticket/ModifyPeople.html, html/Ticket/Update.html,
          html/Ticket/Elements/EditBasics,
          html/Ticket/Elements/EditCustomField,
          html/Ticket/Elements/EditCustomFields,
-         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditPeople,
+         html/Ticket/Elements/EditDates, html/Ticket/Elements/EditLinks,
+         html/Ticket/Elements/EditPeople,
          html/Ticket/Elements/EditWatchers,
          html/Ticket/Elements/ShowAttachments,
          html/Ticket/Elements/ShowBasics,
          html/Ticket/Elements/ShowCustomFields,
          html/Ticket/Elements/ShowDates,
          html/Ticket/Elements/ShowDependencies,
-         html/Ticket/Elements/ShowHistory,
+         html/Ticket/Elements/ShowHistory, html/Ticket/Elements/ShowLink,
+         html/Ticket/Elements/ShowLinks,
+         html/Ticket/Elements/ShowMemberOf,
          html/Ticket/Elements/ShowMembers,
          html/Ticket/Elements/ShowMessageHeaders,
          html/Ticket/Elements/ShowMessageStanza,
          html/Ticket/Elements/ShowPeople,
+         html/Ticket/Elements/ShowReferences,
          html/Ticket/Elements/ShowRequestor,
-         html/Ticket/Elements/ShowTransaction, html/User/Delegation.html,
+         html/Ticket/Elements/ShowSummary,
+         html/Ticket/Elements/ShowTransaction, html/Ticket/Elements/Tabs,
+         html/User/Delegation.html, html/User/Prefs.html,
          html/User/Elements/DelegateRights, html/User/Elements/GroupTabs,
          html/User/Elements/Tabs, html/User/Groups/Members.html,
          html/User/Groups/Modify.html, html/User/Groups/index.html,
-         lib/RT.pm.in, lib/RT/ACE.pm, lib/RT/ACE_Overlay.pm,
-         lib/RT/ACL.pm, lib/RT/ACL_Overlay.pm, lib/RT/Attachment.pm,
-         lib/RT/Attachment_Overlay.pm, lib/RT/Attachments.pm,
-         lib/RT/Attachments_Overlay.pm, lib/RT/Base.pm,
-         lib/RT/CachedGroupMember.pm, lib/RT/CachedGroupMember_Overlay.pm,
+         lib/RT.pm.in, lib/RT/ACE_Overlay.pm, lib/RT/ACL_Overlay.pm,
+         lib/RT/Attachment_Overlay.pm, lib/RT/Attachments_Overlay.pm,
+         lib/RT/Base.pm, lib/RT/CachedGroupMember.pm,
+         lib/RT/CachedGroupMember_Overlay.pm,
          lib/RT/CachedGroupMembers.pm,
-         lib/RT/CachedGroupMembers_Overlay.pm, lib/RT/CurrentUser.pm,
-         lib/RT/CustomField.pm, lib/RT/CustomFieldValue.pm,
-         lib/RT/CustomFieldValues.pm, lib/RT/CustomFieldValues_Overlay.pm,
+         lib/RT/CachedGroupMembers_Overlay.pm, lib/RT/CustomField.pm,
+         lib/RT/CustomFieldValue.pm, lib/RT/CustomFieldValues.pm,
+         lib/RT/CustomFieldValues_Overlay.pm,
          lib/RT/CustomField_Overlay.pm, lib/RT/CustomFields.pm,
-         lib/RT/CustomFields_Overlay.pm, lib/RT/Date.pm,
-         lib/RT/EmailParser.pm, lib/RT/Group.pm, lib/RT/GroupMember.pm,
-         lib/RT/GroupMember_Overlay.pm, lib/RT/GroupMembers.pm,
-         lib/RT/GroupMembers_Overlay.pm, lib/RT/Group_Overlay.pm,
-         lib/RT/Groups.pm, lib/RT/Handle.pm, lib/RT/I18N.pm,
-         lib/RT/Link.pm, lib/RT/Link_Overlay.pm, lib/RT/Links.pm,
-         lib/RT/Links_Overlay.pm, lib/RT/Principal.pm,
-         lib/RT/Principal_Overlay.pm, lib/RT/Principals.pm,
-         lib/RT/Principals_Overlay.pm, lib/RT/Queue.pm,
-         lib/RT/Queue_Overlay.pm, lib/RT/Queues.pm,
-         lib/RT/Queues_Overlay.pm, lib/RT/Scrip.pm, lib/RT/ScripAction.pm,
-         lib/RT/ScripAction_Overlay.pm, lib/RT/ScripActions.pm,
-         lib/RT/ScripActions_Overlay.pm, lib/RT/ScripCondition.pm,
-         lib/RT/ScripCondition_Overlay.pm, lib/RT/ScripConditions.pm,
+         lib/RT/CustomFields_Overlay.pm, lib/RT/EmailParser.pm,
+         lib/RT/GroupMember_Overlay.pm, lib/RT/GroupMembers_Overlay.pm,
+         lib/RT/Group_Overlay.pm, lib/RT/Groups_Overlay.pm,
+         lib/RT/I18N.pm, lib/RT/Link_Overlay.pm, lib/RT/Links_Overlay.pm,
+         lib/RT/Principal.pm, lib/RT/Principal_Overlay.pm,
+         lib/RT/Principals.pm, lib/RT/Principals_Overlay.pm,
+         lib/RT/Queue_Overlay.pm, lib/RT/Queues_Overlay.pm,
+         lib/RT/ScripAction_Overlay.pm, lib/RT/ScripActions_Overlay.pm,
+         lib/RT/ScripCondition_Overlay.pm,
          lib/RT/ScripConditions_Overlay.pm, lib/RT/Scrip_Overlay.pm,
-         lib/RT/Scrips.pm, lib/RT/Scrips_Overlay.pm, lib/RT/System.pm,
-         lib/RT/Template.pm, lib/RT/Template_Overlay.pm,
-         lib/RT/Templates.pm, lib/RT/Templates_Overlay.pm,
-         lib/RT/Ticket.pm, lib/RT/Tickets.pm, lib/RT/Tickets_Overlay.pm,
-         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Transaction.pm,
-         lib/RT/Transactions.pm, lib/RT/Transactions_Overlay.pm,
-         lib/RT/URI.pm, lib/RT/User.pm, lib/RT/Users.pm,
-         lib/RT/Action/AutoOpen.pm, lib/RT/Action/Autoreply.pm,
-         lib/RT/Action/CreateTickets.pm,
-         lib/RT/Action/EscalatePriority.pm, lib/RT/Action/Generic.pm,
-         lib/RT/Action/Notify.pm, lib/RT/Action/NotifyAsComment.pm,
-         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SendEmail.pm,
-         lib/RT/Action/SetPriority.pm, lib/RT/Action/UserDefined.pm,
-         lib/RT/Condition/AnyTransaction.pm,
-         lib/RT/Condition/BeforeDue.pm, lib/RT/Condition/Generic.pm,
+         lib/RT/Scrips_Overlay.pm, lib/RT/SearchBuilder.pm,
+         lib/RT/System.pm, lib/RT/Template_Overlay.pm,
+         lib/RT/Templates_Overlay.pm, lib/RT/TicketCustomFieldValue.pm,
+         lib/RT/TicketCustomFieldValue_Overlay.pm,
+         lib/RT/TicketCustomFieldValues.pm,
+         lib/RT/TicketCustomFieldValues_Overlay.pm,
+         lib/RT/Ticket_Overlay.pm, lib/RT/Tickets_Overlay.pm,
+         lib/RT/Tickets_Overlay_SQL.pm, lib/RT/Transaction_Overlay.pm,
+         lib/RT/Transactions_Overlay.pm, lib/RT/URI.pm,
+         lib/RT/User_Overlay.pm, lib/RT/Users_Overlay.pm,
+         lib/RT/Action/AutoOpen.pm, lib/RT/Action/CreateTickets.pm,
+         lib/RT/Action/EscalatePriority.pm, lib/RT/Action/SetPriority.pm,
+         lib/RT/Action/UserDefined.pm, lib/RT/Condition/BeforeDue.pm,
          lib/RT/Condition/Overdue.pm, lib/RT/Condition/OwnerChange.pm,
          lib/RT/Condition/PriorityExceeds.pm,
-         lib/RT/Condition/QueueChange.pm,
-         lib/RT/Condition/StatusChange.pm,
-         lib/RT/Condition/UserDefined.pm, lib/RT/I18N/cs.pm,
-         lib/RT/I18N/cs.po, lib/RT/I18N/de.po, lib/RT/I18N/en.po,
-         lib/RT/I18N/es.po, lib/RT/I18N/fi.po, lib/RT/I18N/fr.po,
-         lib/RT/I18N/he.po, lib/RT/I18N/i_default.pm, lib/RT/I18N/ja.po,
-         lib/RT/I18N/nl.po, lib/RT/I18N/no.po, lib/RT/I18N/pt_br.po,
-         lib/RT/I18N/ru.po, lib/RT/I18N/zh_cn.po, lib/RT/I18N/zh_tw.po,
-         lib/RT/Interface/CLI.pm, lib/RT/Interface/Email.pm,
-         lib/RT/Interface/Web.pm, lib/RT/Interface/Email/Auth/MailFrom.pm,
+         lib/RT/Condition/QueueChange.pm, lib/RT/Condition/UserDefined.pm,
+         lib/RT/I18N/cs.pm, lib/RT/I18N/cs.po, lib/RT/I18N/de.po,
+         lib/RT/I18N/en.po, lib/RT/I18N/es.po, lib/RT/I18N/fi.po,
+         lib/RT/I18N/fr.po, lib/RT/I18N/he.po, lib/RT/I18N/i_default.pm,
+         lib/RT/I18N/ja.po, lib/RT/I18N/nl.po, lib/RT/I18N/no.po,
+         lib/RT/I18N/pt_br.po, lib/RT/I18N/ru.po, lib/RT/I18N/zh_cn.po,
+         lib/RT/I18N/zh_tw.po, lib/RT/Interface/Email/Auth/MailFrom.pm,
          lib/RT/Interface/Email/Filter/SpamAssassin.pm,
          lib/RT/Search/ActiveTicketsInQueue.pm, lib/RT/Search/Generic.pm,
          lib/RT/URI/base.pm, lib/RT/URI/fsck_com_rt.pm, lib/t/00smoke.t,
-         lib/t/01harness.t, lib/t/data/multipart-alternative-with-umlaut,
+         lib/t/00smoke.t.in, lib/t/01harness.t, lib/t/01harness.t.in,
+         lib/t/02regression.t, lib/t/02regression.t.in, lib/t/03web.pl,
+         lib/t/03web.pl.in, lib/t/04_send_email.pl,
+         lib/t/04_send_email.pl.in,
+         lib/t/data/multipart-alternative-with-umlaut,
          lib/t/data/nested-mime-sample, lib/t/data/nested-rfc-822,
          lib/t/data/new-ticket-from-iso-8859-1,
          lib/t/data/new-ticket-from-iso-8859-1-full,
          lib/t/data/8859-15-message-series/msg5,
          lib/t/data/8859-15-message-series/msg6,
          lib/t/data/8859-15-message-series/msg7,
-         lib/t/regression/mime_tests, m4/rt_enable_layout.m4,
-         m4/rt_expand_var.m4, m4/rt_layout.m4,
+         lib/t/regression/00placeholder, lib/t/regression/mime_tests,
+         m4/rt_enable_layout.m4, m4/rt_expand_var.m4, m4/rt_layout.m4,
          m4/rt_subst_expanded_arg.m4, sbin/extract-message-catalog,
          sbin/extract_pod_tests, sbin/factory, sbin/license_tag,
-         sbin/regression_harness, sbin/rt-test-dependencies.in,
+         sbin/regression_harness, sbin/rt-setup-database,
+         sbin/rt-setup-database.in, sbin/rt-test-dependencies.in,
          autom4te.cache/output.0, autom4te.cache/requests,
-         autom4te.cache/traces.0: import of rt 3.0.4
+         autom4te.cache/traces.0, sbin/rt-test-dependencies: Initial
+         revision
 
 2003-07-15 04:23  ivan
 
        * httemplate/view/cust_main.cgi: don't bother displaying comments
          that are only whitespace/newlines
 
+2003-07-03 20:34  ivan
+
+       * etc/acp_logfile-parse: removing obsolete file
+
 2003-07-03 20:31  ivan
 
        * etc/abbr_state.txt: adding states
 
+2003-07-03 20:27  ivan
+
+       * etc/example-direct-cardin: removing ancient cybercash example
+
 2003-07-03 18:37  ivan
 
        * FS/FS/svc_acct_pop.pm: don't populate the whole initial list if
        * FS/FS/svc_acct_pop.pm: optimize javascript to handle large
          numbers of POPs
 
+2003-07-03 16:00  ivan
+
+       * htetc/global.asa: working DBIx::Profile again
+
 2003-07-02 05:58  ivan
 
        * FS/FS/part_pkg.pm: tyop
 
 2003-07-02 05:34  ivan
 
-       * README: change license to GPL only
+       * Artistic, README: change license to GPL only
 
 2003-07-01 02:00  ivan
 
 
 2003-06-30 06:18  ivan
 
-       * FS/MANIFEST: removing deprecated freeside-overdue
+       * FS/: MANIFEST, bin/freeside-overdue: removing deprecated
+         freeside-overdue
 
 2003-06-30 05:22  ivan
 
        * FS/FS/cust_main.pm, httemplate/misc/bill.cgi: fix the credit card
          retry on change or manual "retry_card" to ONCE per invoice
 
+2003-06-22 02:11  ivan
+
+       * bin/create-history-tables: skip pg_ tables also (ewww, showing up
+         in reverse-engineered schema)
+
+2003-06-22 02:04  ivan
+
+       * bin/create-history-tables: skip history tables that exist
+         already; easier to re-run now
+
+2003-06-13 19:04  ivan
+
+       * httemplate/docs/upgrade9.html: cust_bill2 index
+
 2003-06-13 19:02  ivan
 
        * FS/bin/freeside-setup: add index on cust_bill._date
 
        * FS/FS/cust_svc.pm: add "$ignore_quantity" bypass
 
+2003-06-08 17:59  ivan
+
+       * httemplate/docs/install.html: documentation update from "Jesse D.
+         Guardiani" <jesse@wingnet.net>, thanks
+
 2003-06-06 18:58  ivan
 
        * FS/FS/cust_main.pm: and fix the error message
        * FS/FS/part_export/cp.pm: add suspend/unsuspend capability to CP
          export
 
+2003-06-05 21:42  ivan
+
+       * htetc/global.asa: database profiling bs i should just switch to
+         mason
+
 2003-06-04 17:22  khoff
 
        * FS/FS/cust_pkg.pm: order/cancel packages rewritten
 
        * Makefile: 1.5.0pre2 (too late, hehe)
 
+2003-06-03 02:34  ivan
+
+       * bin/svc_acct_sm.import: removing (very) deprecated import
+
+2003-06-03 00:54  ivan
+
+       * httemplate/docs/upgrade10.html: upgrade docs
+
+2003-06-02 23:10  ivan
+
+       * httemplate/docs/upgrade10.html: slightly better upgrade docs
+
 2003-06-02 23:09  ivan
 
        * FS/bin/freeside-setup: use serial for primary keys in new tables
 
        * FS/FS/cust_pkg.pm: add last_bill field to manpage
 
-2003-05-30 02:40  ivan
-
-       * httemplate/docs/man/FS/part_export/.cvs_is_on_crack: force
-         inclusion of httemplate/docs/man hierarchy
-
 2003-05-30 02:22  ivan
 
        * FS/FS/part_export/sqlradius.pm: sqlradius exports include "op"
        * FS/FS/cust_main.pm, FS/FS/ClientAPI/MyAccount.pm,
          fs_selfservice/FS-SelfService/cgi/make_payment.html,
          fs_selfservice/FS-SelfService/cgi/payment_results.html,
+         fs_selfservice/FS-SelfService/cgi/process_payment.html,
          fs_selfservice/FS-SelfService/cgi/selfservice.cgi: working
          self-service self-payments!
 
 
        * FS/FS/cust_main.pm, FS/FS/ClientAPI/MyAccount.pm,
          fs_selfservice/FS-SelfService/cgi/make_payment.html,
+         fs_selfservice/FS-SelfService/cgi/process_payment.html,
          fs_selfservice/FS-SelfService/cgi/selfservice.cgi: first crack at
          payment processing with self-service (step two of the process)
 
 
 2003-05-11 15:25  ivan
 
-       * htetc/handler.pl: handler.pl updates from Richard Siddall
-         <richard.siddall@elirion.net>
+       * htetc/: handler.pl, handler.pl-1.0x: handler.pl updates from
+         Richard Siddall <richard.siddall@elirion.net>
 
 2003-05-09 23:45  ivan
 
-       * httemplate/view/cust_main.cgi: first pass at new package list UI
+       * httemplate/view/: cust_main.cgi, cust_pkg.cgi: first pass at new
+         package list UI
 
 2003-05-09 22:41  ivan
 
        * Makefile, FS/FS/Record.pm: general Pg 7.3 fix for setting int
          columns to '' / NULL
 
+2003-05-06 14:15  ivan
+
+       * httemplate/view/cust_main_alt.cgi: don't create new files in lieu
+         of branches
+
+2003-05-06 13:33  khoff
+
+       * httemplate/view/cust_main_alt.cgi: Can't pull  out of thin air.
+
+2003-05-04 13:58  khoff
+
+       * httemplate/view/cust_main_alt.cgi: proposed cust_main.cgi
+
 2003-05-02 19:06  ivan
 
        * FS/FS/part_export/infostreet.pm, httemplate/edit/svc_acct.cgi:
 
 2003-04-23 16:12  ivan
 
-       * Makefile, htetc/handler.pl: compatible with mason 1.1!  closes:
+       * Makefile, htetc/handler.pl, htetc/handler.pl-1.0x,
+         httemplate/docs/install.html: compatible with mason 1.1!  closes:
          bug#492
 
 2003-04-23 15:16  ivan
 
 2003-04-21 21:39  ivan
 
-       * FS/: MANIFEST, FS/Conf.pm, FS/part_export.pm, FS/svc_domain.pm,
-         FS/svc_forward.pm, FS/part_export/domain_shellcommands.pm,
-         FS/part_export/forward_shellcommands.pm,
-         t/part_export-forward_shellcommands.t: - mysql 4.1 is available;
-         update documentation - remove last vestiges of 1.3-style
-         qmail/vpopmail exports from svc_domain and   svc_forward; add
-         appropriate exports (closes: Bug#299)
+       * FS/MANIFEST, FS/FS/Conf.pm, FS/FS/part_export.pm,
+         FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
+         FS/FS/part_export/domain_shellcommands.pm,
+         FS/FS/part_export/forward_shellcommands.pm,
+         FS/t/part_export-forward_shellcommands.t,
+         httemplate/docs/install.html: - mysql 4.1 is available; update
+         documentation - remove last vestiges of 1.3-style qmail/vpopmail
+         exports from svc_domain and   svc_forward; add appropriate
+         exports (closes: Bug#299)
 
 2003-04-21 15:40  ivan
 
 
 2003-04-21 14:29  khoff
 
-       * httemplate/edit/process/generic.cgi: Navigation fixes.
+       * httemplate/edit/: part_router_field.cgi, process/generic.cgi:
+         Navigation fixes.
 
 2003-04-21 14:13  khoff
 
 2003-04-21 13:53  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main.pm, FS/FS/part_bill_event.pm,
-         FS/bin/freeside-daily, FS/bin/freeside-setup,
-         httemplate/docs/schema.html, httemplate/edit/cust_main.cgi,
+         FS/bin/freeside-daily, FS/bin/freeside-expiration-alerter,
+         FS/bin/freeside-setup, httemplate/docs/schema.html,
+         httemplate/edit/cust_main.cgi,
          httemplate/edit/part_bill_event.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/search/cust_main.cgi, httemplate/view/cust_main.cgi:
 2003-04-01 00:03  ivan
 
        * FS/FS/Record.pm, httemplate/docs/index.html,
-         httemplate/view/cust_main.cgi: - update qsearch for Pg 7.3 -
-         preliminary 1.5.0 upgrade docs - syntax error in main customer
-         view
+         httemplate/docs/upgrade10.html, httemplate/view/cust_main.cgi: -
+         update qsearch for Pg 7.3 - preliminary 1.5.0 upgrade docs -
+         syntax error in main customer view
 
 2003-03-31 22:55  ivan
 
        * FS/FS/cust_main.pm, FS/FS/cust_pkg.pm, debian/changelog,
          debian/control, httemplate/edit/REAL_cust_pkg.cgi,
          httemplate/edit/process/REAL_cust_pkg.cgi,
-         httemplate/search/cust_pkg.cgi, httemplate/view/cust_main.cgi:
-         correct last_bill problems with $0 invoice (non-existant) edge
-         cases
+         httemplate/search/cust_pkg.cgi, httemplate/view/cust_main.cgi,
+         httemplate/view/cust_pkg.cgi: correct last_bill problems with $0
+         invoice (non-existant) edge cases
 
 2003-03-31 15:49  ivan
 
          bin/apache.export, bin/bind.export, bin/bsdshell.export,
          bin/sysvshell.export: apache export!
 
+2003-03-11 16:44  ivan
+
+       * httemplate/docs/upgrade9.html: doc from 1.4 branch
+
 2003-03-11 03:40  ivan
 
        * FS/FS/svc_domain.pm: another pg7.3 fix
          FS/FS/cust_bill_pkg.pm, FS/FS/cust_bill_pkg_detail.pm,
          FS/FS/cust_main.pm, FS/bin/freeside-setup,
          FS/t/cust_bill_pkg_detail.t, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi: time/data detail on invoices
+         httemplate/docs/upgrade10.html, httemplate/edit/part_pkg.cgi:
+         time/data detail on invoices
+
+2003-02-05 15:22  khoff
+
+       * FS/FS/ac.pm, FS/FS/ac_block.pm, FS/FS/ac_field.pm,
+         FS/FS/ac_type.pm, FS/FS/part_ac_field.pm,
+         httemplate/browse/ac.cgi, httemplate/browse/ac_type.cgi,
+         httemplate/edit/ac.cgi, httemplate/edit/ac_type.cgi,
+         httemplate/edit/process/ac.cgi,
+         httemplate/edit/process/ac_block.cgi,
+         httemplate/edit/process/ac_field.cgi,
+         httemplate/edit/process/ac_type.cgi,
+         httemplate/edit/process/part_ac_field.cgi: svc_broadband rewrite
 
 2003-02-05 15:17  khoff
 
-       * FS/FS/addr_block.pm, FS/FS/part_svc_router.pm, FS/FS/router.pm,
+       * FS/FS/addr_block.pm, FS/FS/part_router_field.pm,
+         FS/FS/part_sb_field.pm, FS/FS/part_svc_router.pm,
+         FS/FS/router.pm, FS/FS/router_field.pm, FS/FS/sb_field.pm,
          FS/FS/svc_broadband.pm, httemplate/browse/addr_block.cgi,
-         httemplate/browse/router.cgi, httemplate/edit/router.cgi,
+         httemplate/browse/generic.cgi,
+         httemplate/browse/part_sb_field.cgi,
+         httemplate/browse/router.cgi,
+         httemplate/edit/part_router_field.cgi,
+         httemplate/edit/part_sb_field.cgi, httemplate/edit/router.cgi,
          httemplate/edit/svc_broadband.cgi,
          httemplate/edit/process/addr_block/add.cgi,
          httemplate/edit/process/addr_block/allocate.cgi,
          FS/bin/freeside-setup, httemplate/edit/process/generic.cgi,
          httemplate/edit/process/router.cgi,
          httemplate/edit/process/svc_broadband.cgi,
-         httemplate/edit/process/addr_block/split.cgi, htetc/handler.pl,
-         httemplate/index.html, httemplate/view/svc_broadband.cgi:
-         svc_broadband rewrite
+         httemplate/edit/process/addr_block/split.cgi, htetc/global.asa,
+         htetc/handler.pl, httemplate/index.html,
+         httemplate/view/svc_broadband.cgi: svc_broadband rewrite
 
 2003-02-05 14:06  khoff
 
        * FS/FS/cust_svc.pm: ip_netmask is gone now
 
+2003-02-04 14:04  ivan
+
+       * htetc/global.asa, httemplate/docs/install.html: 1.5-specific
+         fixes
+
 2003-01-27 23:47  ivan
 
        * FS/bin/freeside-setup: eek, and this is what caused connectup to
 2003-01-14 01:26  ivan
 
        * FS/MANIFEST, FS/bin/freeside-selfservice-server,
-         init.d/freeside-init: move freeside-selfservice-server to proper
-         MakeMaker install location
+         fs_selfservice/freeside-selfservice-server, init.d/freeside-init:
+         move freeside-selfservice-server to proper MakeMaker install
+         location
 
 2003-01-14 00:49  ivan
 
 
 2002-12-24 14:41  ivan
 
-       * FS/bin/freeside-setup, httemplate/view/cust_main.cgi:
-         optimization for ginourmous numbers of packages for intergate,
-         whew
+       * README.1.5.0pre1, FS/bin/freeside-setup,
+         httemplate/view/cust_main.cgi: optimization for ginourmous
+         numbers of packages for intergate, whew
 
 2002-12-23 15:56  ivan
 
        * FS/FS/cust_pkg.pm: added stuff for selfservice_server-quiet,
          signup_server-quiet, and emailcancel messages.
 
+2002-12-23 06:38  steve
+
+       * fs_selfservice/freeside-selfservice-server: added stuff for
+         selfservice_server-quiet, signup_server-quiet, and emailcancel
+         messages.
+
 2002-12-23 06:22  steve
 
        * FS/FS/: cust_bill.pm, Conf.pm: added stuff for
        * FS/: MANIFEST, bin/freeside-sqlradius-seconds: adding
          freeside-sqlradius-seconds
 
+2002-12-16 22:36  ivan
+
+       * httemplate/docs/install.html: add PerlModule commands to install
+         instructions
+
 2002-12-16 13:52  ivan
 
        * FS/FS/part_svc.pm, httemplate/edit/part_svc.cgi: fix for Pg 7.3,
 
 2002-12-16 02:47  ivan
 
-       * httemplate/graph/money_time.cgi: working date range selector that
-         defaults to the past year!
+       * httemplate/graph/: money_time-graph.cgi, money_time.cgi: working
+         date range selector that defaults to the past year!
 
 2002-12-14 13:18  ivan
 
        * httemplate/misc/: meta-import.cgi, process/meta-import.cgi:
          beginning of web-based data importer
 
+2002-12-09 02:54  ivan
+
+       * httemplate/docs/install.html: doc
+
 2002-12-04 04:43  ivan
 
        * bin/bind.export: really fixed now
 
 2002-11-27 21:10  ivan
 
-       * FS/FS/Conf.pm: deprecate username_policy
+       * FS/FS/Conf.pm, httemplate/docs/upgrade8.html: deprecate
+         username_policy
 
 2002-11-26 03:58  ivan
 
 
 2002-11-20 01:07  ivan
 
-       * FS/bin/freeside-setup: ugh... need to increase length of payinfo
-         field in cust_pay and cust_refund for ACH
+       * FS/bin/freeside-setup, httemplate/docs/upgrade9.html: ugh... need
+         to increase length of payinfo field in cust_pay and cust_refund
+         for ACH
 
 2002-11-19 14:55  ivan
 
 
        * FS/FS/cust_main.pm: doc
 
+2002-11-05 21:41  ivan
+
+       * httemplate/graph/money_time-graph.cgi: lala
+
 2002-11-05 20:23  ivan
 
        * FS/FS/part_pkg.pm: safe regex for sqlradius hour/data billing,
 
        * FS/bin/freeside-sqlradius-radacctd: lost?
 
+2002-11-04 18:15  ivan
+
+       * httemplate/graph/money_time-graph.cgi: local kludge
+
 2002-11-04 15:40  ivan
 
        * FS/FS/CGI.pm: balance on small_custview
 
+2002-11-04 13:20  ivan
+
+       * httemplate/docs/upgrade9.html: doc
+
 2002-11-04 12:51  ivan
 
        * httemplate/view/svc_acct.cgi: fix cosmetic bug on online time
 
 2002-11-01 16:13  ivan
 
-       * httemplate/graph/money_time.cgi: whew, glad i had a copy of this
+       * httemplate/graph/: money_time-graph.cgi, money_time.cgi: whew,
+         glad i had a copy of this
 
 2002-10-28 05:22  ivan
 
 
 2002-10-19 20:28  ivan
 
-       * FS/FS/: part_export.pm, part_export/vpopmail.pm: vpopmail restart
-         export option
+       * FS/FS/part_export.pm, FS/FS/part_export/vpopmail.pm,
+         eg/vpopmailrestart: vpopmail restart export option
 
 2002-10-18 09:54  ivan
 
          httemplate/view/svc_acct.cgi: radacct update: use sqlradius for
          datasrc, not plandata options (whew)
 
+2002-10-17 04:17  ivan
+
+       * httemplate/search/cust_bill.cgi: another mason fix, this one from
+         5
+
 2002-10-15 02:54  ivan
 
        * FS/FS/cust_bill.pm: ach fix s/ECHECK/CHECK/
 
 2002-10-13 00:14  ivan
 
-       * httemplate/docs/session.html: doh
+       * httemplate/docs/: session.html, upgrade9.html: doh
+
+2002-10-13 00:13  ivan
+
+       * httemplate/docs/upgrade9.html: msgcat docs for upgrade
+
+2002-10-12 23:49  ivan
+
+       * httemplate/docs/install.html: don't use ILIKE (7.1-ism) anymore
 
 2002-10-12 18:14  ivan
 
 
 2002-10-12 06:46  ivan
 
-       * httemplate/: edit/cust_main.cgi, view/cust_main.cgi:
-         dayphone/nightphone as customizable labels, closes: Bug#464
+       * bin/populate-msgcat, httemplate/edit/cust_main.cgi,
+         httemplate/view/cust_main.cgi: dayphone/nightphone as
+         customizable labels, closes: Bug#464
 
 2002-10-12 06:26  ivan
 
 2002-10-04 05:56  ivan
 
        * FS/FS/type_pkgs.pm, FS/FS/part_export/sqlradius.pm,
-         FS/bin/freeside-setup, httemplate/edit/process/cust_pkg.cgi,
+         FS/bin/freeside-setup, httemplate/docs/install.html,
+         httemplate/edit/process/cust_pkg.cgi,
          httemplate/misc/change_pkg.cgi, httemplate/search/cust_main.cgi,
          httemplate/view/cust_main.cgi: working on the road:   - easier
          "change package" link for changing one package to another   -
 
        * FS/FS/UID.pm: don't chop blanks
 
+2002-09-26 23:00  ivan
+
+       * htetc/global.asa: only load Devel::AutoProfiler if it is
+         installed
+
 2002-09-26 22:36  ivan
 
        * FS/bin/freeside-adduser: lock mapsecrets file
 
 2002-09-25 02:11  ivan
 
-       * Makefile: doc
+       * Makefile, httemplate/docs/install.html: doc
 
 2002-09-25 02:09  ivan
 
 
 2002-09-23 07:27  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl: global.asa changes for profiling
-         redirects header-handling changes necessary for chart .cgis
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl: global.asa
+         changes for profiling redirects header-handling changes necessary
+         for chart .cgis
 
 2002-09-23 01:50  ivan
 
 
 2002-09-21 04:17  ivan
 
-       * FS/bin/freeside-setup, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html, FS/FS/cust_bill.pm,
-         FS/FS/cust_bill_pkg.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_main_county.pm,
-         httemplate/browse/cust_main_county.cgi: all taxes now have names.
-         closes: Bug#15
+       * README.1.5.0pre1, FS/bin/freeside-setup,
+         httemplate/docs/schema.dia, httemplate/docs/schema.html,
+         FS/FS/cust_bill.pm, FS/FS/cust_bill_pkg.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_main_county.pm, bin/create-history-tables,
+         httemplate/browse/cust_main_county.cgi,
+         httemplate/edit/cust_main_county.cgi,
+         httemplate/edit/process/cust_main_county.cgi: all taxes now have
+         names.  closes: Bug#15
 
 2002-09-20 08:49  ivan
 
 
 2002-09-20 08:47  ivan
 
-       * FS/: MANIFEST, bin/freeside-addoutsourceuser,
-         bin/freeside-deloutsource, bin/freeside-deloutsourceuser,
-         bin/freeside-deluser, bin/freeside-setup: add freeside-deluser,
-         freeside-deloutsource and freeside-deloutsourceuser
+       * FS/MANIFEST, FS/bin/freeside-addoutsourceuser,
+         FS/bin/freeside-deloutsource, FS/bin/freeside-deloutsourceuser,
+         FS/bin/freeside-deluser, FS/bin/freeside-setup,
+         bin/populate-msgcat: add freeside-deluser, freeside-deloutsource
+         and freeside-deloutsourceuser
 
 2002-09-20 08:46  ivan
 
 
 2002-09-20 05:50  ivan
 
-       * FS/bin/freeside-setup: move from bin/fs-setup to
+       * FS/bin/freeside-setup, bin/fs-setup,
+         httemplate/docs/install.html: move from bin/fs-setup to
          FS/bin/freeside-setup
 
+2002-09-20 05:04  ivan
+
+       * README.1.5.0pre1, httemplate/docs/install.html: doc NetAddr::IP
+         dependancy
+
 2002-09-20 03:16  ivan
 
-       * FS/FS/UID.pm: change otaker fields to 32 chars
+       * README.1.5.0pre1, FS/FS/UID.pm, bin/fs-setup: change otaker
+         fields to 32 chars
 
 2002-09-19 06:34  ivan
 
-       * FS/FS/Record.pm: use database SERIAL or AUTO_INCREMENT for
-         primary keys, finally, yay! closes: bug#69
+       * bin/fs-setup, FS/FS/Record.pm, bin/dbdef-create: use database
+         SERIAL or AUTO_INCREMENT for primary keys, finally, yay! closes:
+         bug#69
+
+2002-09-19 06:25  ivan
+
+       * README.1.5.0pre1: preliminary upgrade instructions
 
 2002-09-19 01:43  ivan
 
 
        * FS/FS/svc_acct.pm: remove extra definition of $cust_pkg
 
+2002-09-19 00:15  ivan
+
+       * httemplate/view/cust_pkg.cgi: cancel later in view UI... hmm
+
 2002-09-18 15:50  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main_invoice.pm, FS/FS/svc_acct.pm,
 
 2002-09-18 05:10  ivan
 
-       * httemplate/docs/: index.html, legacy.html: doc
+       * httemplate/docs/: index.html, legacy.html, upgrade4.html,
+         upgrade5.html, upgrade6.html: doc
 
 2002-09-17 03:21  ivan
 
 
        * FS/FS.pm, FS/MANIFEST, FS/FS/InitHandler.pm, FS/FS/cust_pkg.pm,
          FS/FS/part_export.pm, FS/FS/part_svc.pm, FS/FS/svc_acct.pm,
-         httemplate/index.html, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html, httemplate/edit/part_svc.cgi,
-         httemplate/edit/process/part_svc.cgi, httemplate/misc/link.cgi,
-         httemplate/search/svc_domain.cgi: remove svc_acct_sm
+         FS/FS/svc_acct_sm.pm, FS/t/svc_acct_sm.t, httemplate/index.html,
+         httemplate/docs/schema.dia, httemplate/docs/schema.html,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct_sm.cgi,
+         httemplate/edit/process/part_svc.cgi,
+         httemplate/edit/process/svc_acct_sm.cgi,
+         httemplate/misc/link.cgi, httemplate/search/svc_acct_sm.cgi,
+         httemplate/search/svc_acct_sm.html,
+         httemplate/search/svc_domain.cgi,
+         httemplate/view/svc_acct_sm.cgi: remove svc_acct_sm
 
 2002-09-16 17:40  ivan
 
          stop
              overwriting existing invoice destinations
 
+2002-09-16 02:27  ivan
+
+       * FS/bin/freeside-expiration-alerter: skip empty expiration dates
+
 2002-09-11 02:28  ivan
 
        * httemplate/browse/svc_acct_pop.cgi: mason error
        * FS/FS/cust_bill.pm: Business::OnlinePaymet fix for processors w/o
          order numbers, like VirtualNet
 
+2002-09-09 17:37  ivan
+
+       * httemplate/docs/upgrade9.html: doc: need Net::SSH 0.07 for 1.4.1
+
 2002-09-09 16:05  khoff
 
-       * httemplate/: edit/svc_broadband.cgi,
+       * httemplate/: browse/ac.cgi, browse/ac_type.cgi, edit/ac.cgi,
+         edit/ac_type.cgi, edit/svc_broadband.cgi, edit/process/ac.cgi,
+         edit/process/ac_block.cgi, edit/process/ac_field.cgi,
+         edit/process/ac_type.cgi, edit/process/part_ac_field.cgi,
          edit/process/svc_broadband.cgi, view/svc_broadband.cgi:
          svc_broadband merge
 
 2002-09-09 16:01  khoff
 
-       * FS/FS/cust_svc.pm, FS/FS/part_export.pm, httemplate/index.html,
+       * FS/FS/cust_svc.pm, FS/FS/part_export.pm, bin/fs-setup,
+         htetc/global.asa, httemplate/index.html,
          httemplate/edit/part_svc.cgi,
-         httemplate/edit/process/part_svc.cgi, FS/FS/svc_broadband.pm:
-         svc_broadband merge
+         httemplate/edit/process/part_svc.cgi, FS/FS/ac.pm,
+         FS/FS/ac_block.pm, FS/FS/ac_field.pm, FS/FS/ac_type.pm,
+         FS/FS/part_ac_field.pm, FS/FS/svc_broadband.pm: svc_broadband
+         merge
+
+2002-09-09 15:57  ivan
+
+       * FS/bin/: freeside-cc-receipts-report, freeside-credit-report,
+         freeside-receivables-report, freeside-tax-report: allow . in
+         untaint_argv, for usernames
 
 2002-09-09 15:56  khoff
 
 
 2002-09-06 19:27  ivan
 
-       * httemplate/docs/index.html: 1.4.1
+       * httemplate/docs/: index.html, upgrade9.html: 1.4.1
 
 2002-09-06 19:19  ivan
 
        * FS/FS/cust_bill.pm: Business::OnlinePayment::VitualNet
          compatibility
 
+2002-09-05 06:59  ivan
+
+       * ANNOUCE.1.4.0: naw
+
 2002-09-05 06:50  ivan
 
        * httemplate/browse/part_svc.cgi: don't show "clone an existing
 
 2002-08-11 23:17  ivan
 
-       * rt/: Makefile, bin/mason_handler.fcgi, bin/mason_handler.scgi,
-         bin/rt-mailgate, etc/schema.Pg, lib/RT.pm, lib/RT/Record.pm:
-         import rt 2.0.14
+       * rt/: COPYING, ChangeLog, Makefile, README, TODO,
+         bin/initacls.Oracle, bin/initacls.Pg, bin/initacls.mysql,
+         bin/mason_handler.fcgi, bin/mason_handler.scgi, bin/rt,
+         bin/rt-mailgate, bin/rtadmin, bin/webmux.pl, docs/README.docs,
+         docs/Security, docs/rt.gif, docs/design_docs/CARS,
+         docs/design_docs/TransactionTypes.txt, docs/design_docs/acls,
+         docs/design_docs/basic-definitions.txt,
+         docs/design_docs/cli_spec, docs/design_docs/cvs_integration,
+         docs/design_docs/evil_plans,
+         docs/design_docs/link-definitions.txt,
+         docs/design_docs/local_hacking,
+         docs/design_docs/subscription-definitions.txt,
+         docs/design_docs/users, etc/acl.Oracle, etc/acl.Pg,
+         etc/acl.mysql, etc/config.pm, etc/rt.spec, etc/schema.Oracle,
+         etc/schema.Pg, etc/schema.mysql, etc/schema.pm, lib/MANIFEST,
+         lib/MANIFEST.SKIP, lib/Makefile.PL, lib/RT.pm, lib/test.pl,
+         lib/RT/ACE.pm, lib/RT/ACL.pm, lib/RT/Attachment.pm,
+         lib/RT/Attachments.pm, lib/RT/CurrentUser.pm, lib/RT/Date.pm,
+         lib/RT/EasySearch.pm, lib/RT/Group.pm, lib/RT/GroupMember.pm,
+         lib/RT/GroupMembers.pm, lib/RT/Groups.pm, lib/RT/Handle.pm,
+         lib/RT/Keyword.pm, lib/RT/KeywordSelect.pm,
+         lib/RT/KeywordSelects.pm, lib/RT/Keywords.pm, lib/RT/Link.pm,
+         lib/RT/Links.pm, lib/RT/ObjectKeyword.pm,
+         lib/RT/ObjectKeywords.pm, lib/RT/Queue.pm, lib/RT/Queues.pm,
+         lib/RT/Record.pm, lib/RT/Scrip.pm, lib/RT/ScripAction.pm,
+         lib/RT/ScripActions.pm, lib/RT/ScripCondition.pm,
+         lib/RT/ScripConditions.pm, lib/RT/Scrips.pm, lib/RT/Template.pm,
+         lib/RT/Templates.pm, lib/RT/TestHarness.pm, lib/RT/Ticket.pm,
+         lib/RT/Tickets.pm, lib/RT/Transaction.pm, lib/RT/Transactions.pm,
+         lib/RT/User.pm, lib/RT/Users.pm, lib/RT/Watcher.pm,
+         lib/RT/Watchers.pm, lib/RT/Action/Autoreply.pm,
+         lib/RT/Action/Generic.pm, lib/RT/Action/Notify.pm,
+         lib/RT/Action/NotifyAsComment.pm, lib/RT/Action/OpenDependent.pm,
+         lib/RT/Action/ResolveMembers.pm, lib/RT/Action/SendEmail.pm,
+         lib/RT/Action/SendPasswordEmail.pm,
+         lib/RT/Action/StallDependent.pm,
+         lib/RT/Condition/AnyTransaction.pm, lib/RT/Condition/Generic.pm,
+         lib/RT/Condition/NewDependency.pm,
+         lib/RT/Condition/StatusChange.pm, lib/RT/Interface/CLI.pm,
+         lib/RT/Interface/Email.pm, lib/RT/Interface/Web.pm: import rt
+         2.0.14
 
 2002-08-02 17:39  ivan
 
-       * httemplate/docs/legacy.html: remove some extra modules from
-         install doc
+       * httemplate/docs/: install.html, legacy.html: remove some extra
+         modules from install doc
 
 2002-07-31 11:55  ivan
 
        * FS/FS/: part_export.pm, part_export/shellcommands.pm:
          shellcommands edit gecos field too
 
+2002-07-25 18:38  ivan
+
+       * httemplate/docs/install.html: tyop
+
+2002-07-25 18:31  ivan
+
+       * httemplate/docs/install.html: tyop
+
 2002-07-23 05:37  ivan
 
        * FS/FS/svc_acct.pm: fix small bugs in duplicate username checking
        * FS/t/ClientAPI.t, fs_selfservice/FS-SelfService/cgi/passwd.html:
          adding
 
+2002-07-22 03:41  ivan
+
+       * httemplate/docs/install.html: no mysql in 1.4.0 release.
+         hopefully 1.4.1
+
 2002-07-22 03:20  ivan
 
-       * Makefile: 1.4.0
+       * ANNOUCE.1.4.0, Makefile, README.1.4.0pre11, README.1.4.0pre12,
+         README.1.4.0pre13, README.1.4.0pre14, README.1.4.0pre8,
+         README.1.4.0pre9: 1.4.0
 
 2002-07-22 03:18  ivan
 
 
 2002-07-16 05:28  ivan
 
-       * fs_selfservice/: DEPLOY, fs_passwd_test,
-         FS-SelfService/SelfService.pm,
+       * fs_selfservice/: DEPLOY, freeside-selfservice-server,
+         fs_passwd_test, FS-SelfService/SelfService.pm,
          FS-SelfService/freeside-selfservice-clientd,
          FS-SelfService/cgi/login.html, FS-SelfService/cgi/myaccount.html,
          FS-SelfService/cgi/selfservice.cgi,
 
 2002-07-15 01:28  ivan
 
-       * fs_selfservice/: fs_passwd_test,
+       * fs_selfservice/: freeside-selfservice-server, fs_passwd_test,
          FS-SelfService/freeside-selfservice-clientd: working framework,
          no hung clients, whew
 
 
        * bin/bind.import: finally a working DNS::ZoneParse
 
+2002-07-13 17:28  ivan
+
+       * httemplate/docs/: install.html, upgrade8.html: no mason 1.1x yet
+         :(
+
 2002-07-11 06:52  ivan
 
-       * fs_selfservice/: DEPLOY, fs_passwd_test, FS-SelfService/MANIFEST,
+       * fs_selfservice/: DEPLOY, freeside-selfservice-server,
+         fs_passwd_test, FS-SelfService/MANIFEST,
          FS-SelfService/SelfService.pm,
          FS-SelfService/freeside-selfservice-clientd: finally working
          async framework
        * httemplate/edit/: REAL_cust_pkg.cgi, process/REAL_cust_pkg.cgi:
          edit expiration dates
 
+2002-07-08 03:52  ivan
+
+       * httemplate/search/cust_bill.cgi: remove perl-side sort routines,
+         no longer needed
+
 2002-07-08 03:01  ivan
 
        * FS/FS/part_export.pm: default linux/netbsd shellcommand userdel
          should remove home directories
 
+2002-07-08 01:39  ivan
+
+       * httemplate/docs/install.html: new and improved instructions!  now
+         even more idiot proof!
+
 2002-07-07 10:49  ivan
 
        * FS/FS/svc_acct.pm: rewrite uid-dup checking to be
          new-export-aware, closes: #431
 
+2002-07-07 07:33  ivan
+
+       * httemplate/search/cust_bill.cgi: clean up after rewrite... turned
+         out rather nice
+
+2002-07-07 07:28  ivan
+
+       * httemplate/search/cust_bill.cgi: fixing 30/60/90/120...
+
+2002-07-07 07:26  ivan
+
+       * httemplate/search/cust_bill.cgi: just might work
+
+2002-07-07 07:24  ivan
+
+       * httemplate/search/cust_bill.cgi: that would be nice...
+
+2002-07-07 07:18  ivan
+
+       * httemplate/search/cust_bill.cgi: fix 30/60/90/120 browses
+
+2002-07-07 07:14  ivan
+
+       * httemplate/search/cust_bill.cgi: UI
+
+2002-07-07 07:12  ivan
+
+       * httemplate/search/cust_bill.cgi: totals and order by
+
+2002-07-07 07:00  ivan
+
+       * httemplate/search/cust_bill.cgi: try for correct totals
+
+2002-07-07 06:52  ivan
+
+       * httemplate/search/cust_bill.cgi: don't recalculate owed
+
+2002-07-07 06:31  ivan
+
+       * httemplate/search/cust_bill.cgi: comma
+
+2002-07-07 06:30  ivan
+
+       * httemplate/search/cust_bill.cgi: calculate owed as subquery here
+         too
+
+2002-07-07 06:25  ivan
+
+       * httemplate/search/cust_bill.cgi: don't forget to where the where
+         clause
+
+2002-07-07 06:23  ivan
+
+       * httemplate/search/cust_bill.cgi: try for working paged invoices,
+         this time with subqueries
+
+2002-07-07 04:45  ivan
+
+       * httemplate/search/cust_bill.cgi: wtf?
+
+2002-07-07 04:30  ivan
+
+       * httemplate/search/cust_bill.cgi: invoice search with possibly
+         working pager
+
+2002-07-07 04:03  ivan
+
+       * httemplate/search/cust_bill.cgi: move query logic from perl to
+         sql for scalability
+
+2002-07-06 05:53  ivan
+
+       * httemplate/docs/install.html: new!  improved!  now even more
+         idiot-proof!
+
 2002-07-06 05:15  ivan
 
        * Makefile: beta2
 
+2002-07-06 05:13  ivan
+
+       * bin/fs-setup: fix Can't use an undefined value as an ARRAY
+         reference at ./fs-setup line 209, <STDIN> line 3.
+
 2002-07-06 04:08  ivan
 
        * httemplate/: edit/svc_forward.cgi, view/svc_forward.cgi: fix UI
 
 2002-07-06 01:29  ivan
 
-       * httemplate/view/cust_main.cgi: speling
+       * httemplate/view/: cust_pkg.cgi, cust_main.cgi: speling
 
 2002-07-06 00:32  ivan
 
        * httemplate/edit/part_pkg.cgi: fix speling
 
+2002-07-06 00:31  ivan
+
+       * ANNOUCE.1.4.0: this file should probably go away soon...
+
 2002-07-06 00:30  ivan
 
        * FS/FS/: Conf.pm, part_export.pm, svc_www.pm,
 2002-07-04 03:35  ivan
 
        * httemplate/browse/: agent.cgi, agent_type.cgi,
-         part_bill_event.cgi, part_export.cgi, part_pkg.cgi, part_svc.cgi,
-         svc_acct_pop.cgi: move "add" links to the top
+         part_bill_event.cgi, part_export.cgi, part_pkg.cgi,
+         part_referral.cgi, part_svc.cgi, svc_acct_pop.cgi: move "add"
+         links to the top
 
 2002-07-03 07:45  ivan
 
 
        * FS/FS/part_export.pm: fix usermod commands for freebsd
 
+2002-07-02 07:38  ivan
+
+       * ANNOUCE.1.4.0: beta1!
+
 2002-07-02 07:37  ivan
 
        * Makefile: beta1!!
 
        * FS/bin/freeside-queued: grr old openssh grr freebsd
 
+2002-07-02 03:01  ivan
+
+       * httemplate/docs/install.html: freeside group
+
 2002-07-02 02:42  ivan
 
        * FS/bin/freeside-queued: fleabsd grr
 
 2002-06-30 04:01  ivan
 
-       * CREDITS: administrivia
+       * ANNOUCE.1.4.0, CREDITS: administrivia
 
 2002-06-30 00:17  ivan
 
 
 2002-06-28 13:31  ivan
 
-       * FS/FS/svc_acct.pm: better error message for illegal password
+       * FS/FS/svc_acct.pm, bin/populate-msgcat: better error message for
+         illegal password
+
+2002-06-28 13:23  ivan
+
+       * bin/fs-setup: not anymore...
 
 2002-06-28 13:21  ivan
 
 
 2002-06-26 00:42  ivan
 
-       * bin/: bsdshell.export, sysvshell.export: shell.export ->
-         bsdshell.export & sysvshell.export
+       * bin/: bsdshell.export, shell.export, sysvshell.export:
+         shell.export -> bsdshell.export & sysvshell.export
 
 2002-06-25 20:53  ivan
 
        * FS/FS/svc_acct.pm: better error messages on uid duplicates... uid
          stuff still needs to be rewritten for new exports
 
+2002-06-21 02:28  ivan
+
+       * httemplate/docs/upgrade8.html: don't forget part_svc in upgrades
+
 2002-06-21 02:15  ivan
 
        * bin/passwd.import: oops
 
        * bin/passwd.import: tiny bit better passwd.import
 
+2002-06-21 02:03  ivan
+
+       * httemplate/docs/upgrade8.html: doc
+
 2002-06-21 01:29  ivan
 
-       * httemplate/index.html: uid search on main menu, updated upgrade
-         docs
+       * httemplate/: index.html, docs/upgrade8.html: uid search on main
+         menu, updated upgrade docs
 
 2002-06-20 15:35  ivan
 
        * FS/FS/part_export/infostreet.pm: fix infostreet contact field foo
 
+2002-06-20 15:31  ivan
+
+       * httemplate/docs/install.html: doc
+
 2002-06-19 18:29  ivan
 
        * FS/FS/part_export.pm, FS/FS/part_export/shellcommands.pm,
 
 2002-06-14 04:26  ivan
 
-       * Makefile: 1.4.0pre14
+       * ANNOUCE.1.4.0, Makefile, README.1.4.0pre14: 1.4.0pre14
 
 2002-06-14 04:22  ivan
 
 
 2002-06-13 20:12  ivan
 
-       * httemplate/index.html: remove classic interface
+       * httemplate/: classic.html, index.html: remove classic interface
+
+2002-06-13 19:52  ivan
+
+       * httemplate/docs/: install.html, mysql.html: mysql support!
 
 2002-06-13 19:25  ivan
 
        * FS/FS/cust_main.pm: fix problems with code that resets invoice
          events
 
+2002-06-11 11:32  ivan
+
+       * bin/shell.export: don't export empty files
+
+2002-06-11 11:25  ivan
+
+       * bin/shell.export: use FS::cust_svc and FS::svc_acct
+
+2002-06-11 11:23  ivan
+
+       * bin/shell.export: bsd only for now
+
 2002-06-11 11:20  ivan
 
-       * bin/bind.export: perl 5.005 needs an explicit mask for mkdir
+       * bin/: bind.export, shell.export: perl 5.005 needs an explicit
+         mask for mkdir
 
 2002-06-11 02:51  ivan
 
 
 2002-06-11 02:46  ivan
 
-       * bin/bind.export: add preliminary bsd shell export
+       * bin/: bind.export, shell.export: add preliminary bsd shell export
 
 2002-06-11 02:14  ivan
 
 
 2002-06-09 18:39  khoff
 
-       * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm,
+       * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm, bin/fs-setup,
          httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
          httemplate/edit/part_pkg.cgi: Rollback part_pkg.def_svcpart
          changes.
 
 2002-06-08 00:48  khoff
 
-       * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm,
+       * FS/FS/part_pkg.pm, FS/FS/pkg_svc.pm, bin/fs-setup,
          httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
          httemplate/edit/part_pkg.cgi: Default svcpart support for
          part_pkg.  Fixes 'bug' with new customer and online signup.
        * httemplate/search/: cust_main.cgi, cust_pkg.cgi, svc_acct.cgi:
          more mysql goodness, thanks dale
 
+2002-06-04 10:37  ivan
+
+       * httemplate/docs/install.html: small doc patch from
+         baloo@gimpgirl.org
+
 2002-06-04 07:35  ivan
 
        * FS/FS/: cust_credit.pm, cust_pay.pm: fix unsuspendauto
 
        * conf/declinetemplate: misspelling
 
+2002-05-31 15:37  ivan
+
+       * bin/fs-setup: no state necessary in batch cards (i18n)
+
 2002-05-31 13:34  ivan
 
        * FS/FS/part_export.pm: dammit i want to catch export subclass
 
 2002-05-28 21:40  ivan
 
-       * fs_selfservice/FS-SelfService/: Changes, MANIFEST, Makefile.PL,
-         SelfService.pm, test.pl: add fs_selfservice
+       * fs_selfservice/: freeside-selfservice-server,
+         FS-SelfService/Changes, FS-SelfService/MANIFEST,
+         FS-SelfService/Makefile.PL, FS-SelfService/SelfService.pm,
+         FS-SelfService/test.pl: add fs_selfservice
 
 2002-05-28 14:22  ivan
 
-       * FS/FS/svc_acct.pm: better error message for "Illegal password"
+       * FS/FS/svc_acct.pm, bin/populate-msgcat: better error message for
+         "Illegal password"
 
 2002-05-28 00:55  ivan
 
 
 2002-05-23 06:00  ivan
 
-       * FS/FS/domain_record.pm, bin/bind.import,
-         httemplate/edit/process/domain_record.cgi,
+       * ANNOUCE.1.4.0, FS/FS/domain_record.pm, bin/bind.import,
+         bin/svc_domain.import, httemplate/edit/process/domain_record.cgi,
          httemplate/view/svc_domain.cgi: bind: allow adding slave domains
          too
 
 
        * FS/FS/part_export/sqlradius.pm: 5.6-isms
 
+2002-05-20 04:02  ivan
+
+       * bin/svc_domain.import: [no log message]
+
 2002-05-18 02:51  ivan
 
        * FS/FS/: cust_bill.pm, cust_pay.pm, svc_domain.pm: Mail::Internet
          1.44
 
+2002-05-17 06:51  ivan
+
+       * httemplate/docs/install.html: tyop
+
 2002-05-16 20:47  ivan
 
        * FS/FS/svc_acct.pm: freebsd `toor' user
          t/part_export-bsdshell.t, t/part_export-textradius.t: adding
          (stub) bsdshell and textradius exports
 
+2002-05-16 07:28  ivan
+
+       * bin/svc_acct.export: ip address is added by radius_reply method
+         already
+
 2002-05-16 07:27  ivan
 
        * FS/MANIFEST, eg/export_template.pm: add (stub) bsdshell and
 
        * FS/FS/svc_acct.pm: allow freebsd `toor' root user
 
+2002-05-16 00:53  ivan
+
+       * httemplate/docs/upgrade8.html: upgrade docs: run populate-msgcat
+
 2002-05-15 07:00  ivan
 
        * FS/FS/: queue.pm, part_export/sqlradius.pm: use job dependancies
 
 2002-05-15 06:24  ivan
 
-       * Makefile, FS/FS.pm, FS/MANIFEST, FS/FS/queue.pm,
-         FS/FS/queue_depend.pm, FS/FS/part_export/sqlradius.pm,
-         FS/bin/freeside-queued, FS/t/queue_depend.t,
-         eg/export_template.pm, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html, httemplate/docs/schema.png: queue
-         dependancies
+       * ANNOUCE.1.4.0, Makefile, README.1.4.0pre13, FS/FS.pm,
+         FS/MANIFEST, FS/FS/queue.pm, FS/FS/queue_depend.pm,
+         FS/FS/part_export/sqlradius.pm, FS/bin/freeside-queued,
+         FS/t/queue_depend.t, bin/fs-setup, eg/export_template.pm,
+         httemplate/docs/install.html, httemplate/docs/schema.dia,
+         httemplate/docs/schema.html, httemplate/docs/schema.png,
+         httemplate/docs/upgrade8.html: queue dependancies
 
 2002-05-14 00:36  ivan
 
 
        * Makefile: INSTALLGROUP
 
+2002-05-09 09:41  ivan
+
+       * bin/populate-msgcat: permissions
+
 2002-05-09 08:26  ivan
 
        * Makefile: final make release?
        * httemplate/: edit/cust_main.cgi, view/cust_main.cgi:
          s/Referral/Advertising source/
 
+2002-05-09 08:14  ivan
+
+       * httemplate/docs/: install.html, mysql.html: attempt to avoid
+         people installing and asking for help with MySQL despite the VERY
+         FUCKING CLEAR instructions that it isn't supported.
+
 2002-05-09 08:12  ivan
 
        * FS/FS/cust_main_county.pm: don't duplicate state/county/country
 2002-05-09 05:38  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_main.pm, FS/FS/cust_main_county.pm,
-         FS/FS/part_pkg.pm, FS/t/cust_tax_exempt.t, htetc/handler.pl,
-         httemplate/browse/agent.cgi,
+         FS/FS/part_pkg.pm, FS/t/cust_tax_exempt.t, htetc/global.asa,
+         htetc/handler.pl, httemplate/browse/agent.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/edit/agent.cgi, httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/part_pkg.cgi,
-         httemplate/edit/process/cust_main_county-expand.cgi: texas tax!
+         httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi: texas tax!
 
 2002-05-06 06:36  ivan
 
 
 2002-05-04 08:00  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/cust_main_county.pm,
-         FS/FS/cust_tax_exempt.pm, FS/FS/part_pkg.pm,
+       * README.1.4.0pre12, FS/FS.pm, FS/MANIFEST,
+         FS/FS/cust_main_county.pm, FS/FS/cust_tax_exempt.pm,
+         FS/FS/part_pkg.pm, FS/t/cust_tax_exempt.pm, bin/fs-setup,
          httemplate/docs/admin.html, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html: schema changes for proper texas tax
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html:
+         schema changes for proper texas tax
 
 2002-05-03 18:11  ivan
 
 
        * httemplate/search/cust_pkg.cgi: fix ranges on cust_pkg search
 
+2002-05-03 17:49  ivan
+
+       * httemplate/search/cust_pkg.html: point at correct .cgi
+
 2002-05-03 17:47  ivan
 
        * FS/FS/cust_pkg.pm: prevent stuff passed from template/user from
 
 2002-05-03 17:32  ivan
 
-       * httemplate/search/cust_pkg.cgi: lilunixbtch: trying to pull
-         accounts based on next billdate tofu_beast420: hmm a report
-         ordered by next bill date? tofu_beast420: i don't know how you'd
-         do that per _customer_ since a customer could have lots of
-         packages, but you could do a per-package report maybe?
+       * httemplate/search/: cust_pkg.cgi, cust_pkg.html: lilunixbtch:
+         trying to pull accounts based on next billdate tofu_beast420: hmm
+         a report ordered by next bill date? tofu_beast420: i don't know
+         how you'd do that per _customer_ since a customer could have lots
+         of packages, but you could do a per-package report maybe?
 
 2002-04-29 22:43  ivan
 
-       * FS/FS/part_export.pm: better BIND integration
+       * FS/FS/part_export.pm, bin/svc_domain.import: better BIND
+         integration
 
 2002-04-26 04:14  ivan
 
 
 2002-04-24 02:03  ivan
 
-       * FS/FS/cust_main.pm: msgcat error for credit card expiration
-         (closes: Bug#407)
+       * FS/FS/cust_main.pm, bin/populate-msgcat: msgcat error for credit
+         card expiration (closes: Bug#407)
 
 2002-04-23 00:32  ivan
 
 
 2002-04-20 05:37  ivan
 
-       * FS/FS/part_export.pm, httemplate/edit/part_export.cgi: bind
-         export
+       * ANNOUCE.1.4.0, FS/FS/part_export.pm,
+         httemplate/edit/part_export.cgi: bind export
 
 2002-04-20 04:57  ivan
 
        * FS/FS/domain_record.pm, FS/FS/part_export.pm, bin/passwd.import,
-         bin/svc_domain.erase, httemplate/docs/legacy.html:
+         bin/svc_domain.erase, bin/svc_domain.import,
+         httemplate/docs/legacy.html:
          working BIND import
 
 2002-04-20 03:49  ivan
 
        * FS/FS/domain_record.pm: allow uppercase zones...
 
+2002-04-19 23:34  ivan
+
+       * bin/populate-msgcat: perms
+
+2002-04-19 23:33  ivan
+
+       * bin/fs-setup: fixup fs-setup
+
 2002-04-19 19:06  ivan
 
        * FS/FS/: cust_pkg.pm, cust_svc.pm: fix problem with edge case
 
        * FS/FS/Record.pm: get rid of debugging cruft
 
+2002-04-16 22:48  ivan
+
+       * fs_passwd/fs_passwdd: forgotten semicolon
+
+2002-04-16 22:46  ivan
+
+       * fs_passwd/fs_passwdd: also untaint pid
+
+2002-04-16 22:44  ivan
+
+       * fs_passwd/fs_passwdd: *sigh*
+
+2002-04-16 22:42  ivan
+
+       * fs_passwd/fs_passwdd:
+         okay pid file has a change of working now
+
+2002-04-16 22:39  ivan
+
+       * fs_passwd/fs_passwdd: tyop
+
+2002-04-16 22:22  ivan
+
+       * fs_passwd/fs_passwdd: pid file foo
+
+2002-04-16 18:14  ivan
+
+       * fs_passwd/fs_passwd_server: kill off ssh kid on exit...
+
 2002-04-16 17:25  ivan
 
        * httemplate/search/cust_main.cgi: better ordering in search
 
 2002-04-16 15:52  ivan
 
-       * FS/FS/: Conf.pm, cust_bill.pm: further authorize.net description
-         debugging (agent??) and get rid of bad unique index on
-         cust_bill_event
+       * README.1.4.0pre12, FS/FS/Conf.pm, FS/FS/cust_bill.pm,
+         bin/fs-setup: further authorize.net description debugging
+         (agent??) and get rid of bad unique index on cust_bill_event
 
 2002-04-16 15:38  ivan
 
        * FS/FS/Conf.pm, FS/FS/cust_bill.pm, FS/FS/cust_bill_event.pm,
          httemplate/index.html, httemplate/search/cust_bill_event.cgi,
          httemplate/search/cust_bill_event.html,
+         httemplate/search/report_cc.html,
+         httemplate/search/report_credit.html,
          httemplate/search/report_tax.html, httemplate/view/cust_bill.cgi:
          report on failed billing events...
 
 2002-04-16 02:38  ivan
 
-       * FS/FS/Conf.pm, FS/FS/cust_bill.pm, conf/declinetemplate: - send a
-         notice to the customer when their card is declined - closes:
-         Bug#351 - freeside-expiration-alerter works fine, closes: Bug#7
+       * FS/FS/Conf.pm, FS/FS/cust_bill.pm,
+         FS/bin/freeside-expiration-alerter, conf/declinetemplate,
+         httemplate/docs/billing.html: - send a notice to the customer
+         when their card is declined - closes: Bug#351 -
+         freeside-expiration-alerter works fine, closes: Bug#7
 
 2002-04-16 01:52  ivan
 
          FS/FS/part_export/vpopmail.pm, FS/t/part_export-cp.t,
          FS/t/part_export-cyrus.t, FS/t/part_export-shellcommands.t,
          FS/t/part_export-vpopmail.t, eg/export_template.pm,
-         httemplate/docs/legacy.html, httemplate/docs/schema.dia,
-         httemplate/docs/schema.html, httemplate/docs/schema.png: - move
-         cyrus, shellcommands, CP exports exports to new-style - skeleton
-         files for vpopmail exports - documentation updates - add big
-         schema diagram to docs
+         httemplate/docs/billing.html, httemplate/docs/legacy.html,
+         httemplate/docs/schema.dia, httemplate/docs/schema.html,
+         httemplate/docs/schema.png: - move cyrus, shellcommands, CP
+         exports exports to new-style - skeleton files for vpopmail
+         exports - documentation updates - add big schema diagram to docs
+
+2002-04-13 18:36  ivan
+
+       * httemplate/docs/billing.html: docu for invoice_lines(0) with no
+         arguments
 
 2002-04-13 06:36  ivan
 
        * FS/FS.pm, FS/FS/Conf.pm, FS/FS/part_export.pm, FS/FS/svc_acct.pm,
-         FS/FS/part_export/cp.pm, FS/bin/freeside-sqlradius-reset,
+         FS/FS/part_export/cp.pm, FS/bin/freeside-overdue,
+         FS/bin/freeside-sqlradius-reset, bin/sqlradius_reset,
          httemplate/edit/part_export.cgi: - documentation updates - move
          Critical Path export to new-style export - bin/sqlradius_reset
          gets a manpage and becomes FS/bin/freeside-sqlradius-reset
        * FS/MANIFEST, FS/FS/Msgcat.pm, FS/FS/Record.pm,
          FS/FS/cust_main.pm, FS/FS/cust_main_invoice.pm, FS/FS/msgcat.pm,
          FS/FS/part_export.pm, FS/FS/svc_acct.pm, FS/t/Msgcat.t,
-         htetc/handler.pl, httemplate/browse/part_svc.cgi,
-         httemplate/edit/part_export.cgi, httemplate/edit/part_svc.cgi,
+         htetc/global.asa, htetc/handler.pl,
+         httemplate/browse/part_svc.cgi, httemplate/edit/part_export.cgi,
+         httemplate/edit/part_svc.cgi,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/part_export.cgi,
          httemplate/edit/process/part_svc.cgi,
 
 2002-04-11 15:05  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/export_svc.pm, FS/FS/part_export.pm,
-         FS/FS/part_svc.pm, FS/t/export_svc.t, httemplate/index.html,
+       * README.1.4.0pre12, FS/FS.pm, FS/MANIFEST, FS/FS/export_svc.pm,
+         FS/FS/part_export.pm, FS/FS/part_svc.pm, FS/t/export_svc.t,
+         bin/fs-setup, bin/sqlradius_reset, httemplate/index.html,
          httemplate/browse/part_export.cgi,
          httemplate/browse/part_svc.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_export.cgi,
+         httemplate/docs/upgrade8.html, httemplate/edit/part_export.cgi,
          httemplate/edit/process/part_export.cgi,
          httemplate/misc/delete-part_export.cgi: (almost) everything for
          bug#375 - create export_svc table - part_svc to part_export is
 
 2002-04-10 06:42  ivan
 
-       * FS/FS/Conf.pm, FS/FS/Record.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_main_invoice.pm, FS/FS/svc_acct.pm,
-         FS/FS/svc_acct_pop.pm, httemplate/browse/msgcat.cgi,
-         httemplate/docs/signup.html, httemplate/edit/msgcat.cgi,
+       * ANNOUCE.1.4.0, README.1.4.0pre12, FS/FS/Conf.pm, FS/FS/Record.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_main_invoice.pm,
+         FS/FS/svc_acct.pm, FS/FS/svc_acct_pop.pm, bin/populate-msgcat,
+         httemplate/browse/msgcat.cgi, httemplate/docs/signup.html,
+         httemplate/docs/upgrade8.html, httemplate/edit/msgcat.cgi,
          httemplate/edit/process/msgcat.cgi: bulk checkin from working on
          the road:
 
          on errors - httemplate/edit/process/msgcat.cgi - don't update
          identical fields
 
+2002-04-10 01:39  ivan
+
+       * bin/fs-setup: fix mistake in part_pop_local schema (not used by
+         anyone really so no big deal)
+
 2002-04-06 22:23  ivan
 
        * FS/FS/: Conf.pm, cust_bill.pm, cust_pay.pm: send email on signup
 
 2002-04-06 21:56  ivan
 
-       * FS/FS/Conf.pm, FS/FS/msgcat.pm, conf/show-msgcat-codes,
-         httemplate/browse/msgcat.cgi, httemplate/edit/msgcat.cgi,
+       * FS/FS/Conf.pm, FS/FS/msgcat.pm, bin/populate-msgcat,
+         conf/show-msgcat-codes, httemplate/browse/msgcat.cgi,
+         httemplate/docs/install.html, httemplate/edit/msgcat.cgi,
          httemplate/edit/process/msgcat.cgi: working message catalogs (not
          used for enough yet) - almost (but not quite) closes Bug#385 -
          still have to catalog the   backend things triggered by signup
 
 2002-04-06 12:37  ivan
 
-       * httemplate/docs/signup.html: big signup server cleanups.  uses
-         Storable for network protocol now.  - makes Bugs 384 & 385 easier
-         - closes: Bug#382
+       * httemplate/docs/: install.html, signup.html: big signup server
+         cleanups.  uses Storable for network protocol now.  - makes Bugs
+         384 & 385 easier - closes: Bug#382
 
 2002-04-05 16:08  ivan
 
 
 2002-04-05 15:51  ivan
 
-       * CREDITS, Makefile, FS/MANIFEST, FS/FS/Conf.pm, FS/FS/msgcat.pm,
-         FS/FS/svc_acct.pm, FS/t/msgcat.t, bin/freeside-session-kill,
-         conf/locale, eg/table_template-svc.pm, eg/table_template.pm,
-         htetc/handler.pl, httemplate/index.html,
-         httemplate/browse/cust_main_county.cgi,
-         httemplate/browse/msgcat.cgi, httemplate/browse/svc_acct_pop.cgi,
-         httemplate/docs/schema.html, httemplate/edit/svc_acct.cgi,
+       * ANNOUCE.1.4.0, CREDITS, Makefile, README.1.4.0pre12, FS/MANIFEST,
+         FS/FS/Conf.pm, FS/FS/msgcat.pm, FS/FS/svc_acct.pm, FS/t/msgcat.t,
+         bin/freeside-session-kill, bin/fs-setup, bin/populate-msgcat,
+         bin/sqlradius_reset, conf/locale, eg/table_template-svc.pm,
+         eg/table_template.pm, htetc/global.asa, htetc/handler.pl,
+         httemplate/index.html, httemplate/browse/cust_main_county.cgi,
+         httemplate/browse/msgcat.cgi,
+         httemplate/browse/part_referral.cgi,
+         httemplate/browse/svc_acct_pop.cgi, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html, httemplate/edit/svc_acct.cgi,
          httemplate/view/svc_acct.cgi: - add message catalog table &
          beginning of web interface - add security_phrase and conf option
          to svc_acct.pm - random other stuff
 
 2002-04-05 08:37  ivan
 
-       * eg/export_template.pm, FS/t/part_export-infostreet.t,
-         FS/t/part_export-sqlradius.t: oops forgot these from working on
-         the road
+       * eg/export_template.pm, httemplate/search/sql.cgi,
+         FS/t/part_export-infostreet.t, FS/t/part_export-sqlradius.t: oops
+         forgot these from working on the road
 
 2002-04-04 16:42  ivan
 
        * FS/MANIFEST, FS/FS/part_export.pm,
          FS/FS/part_export/infostreet.pm, FS/FS/part_export/sqlradius.pm,
-         httemplate/index.html, httemplate/edit/part_export.cgi: Checkin
-         of disparate changes from working on the road: - generic SQL
-         query - move exports out to their own files - small cleanup of
-         selfadmin server
+         httemplate/index.html, httemplate/docs/install.html,
+         httemplate/edit/part_export.cgi: Checkin of disparate changes
+         from working on the road: - generic SQL query - move exports out
+         to their own files - small cleanup of selfadmin server
+
+2002-03-29 18:35  ivan
+
+       * httemplate/edit/part_referral.cgi: finish up
+         s/referral/advertising source/
 
 2002-03-29 09:27  ivan
 
-       * htetc/handler.pl, httemplate/search/svc_acct.cgi: fix unlinked
-         svc browse!
+       * htetc/global.asa, htetc/handler.pl,
+         httemplate/search/svc_acct.cgi: fix unlinked svc browse!
+
+2002-03-27 16:18  ivan
+
+       * ANNOUCE.1.4.0: still pretty much just notes...
 
 2002-03-26 23:08  ivan
 
 2002-03-26 21:36  ivan
 
        * FS/FS/cust_main.pm, FS/FS/part_referral.pm,
-         httemplate/index.html, httemplate/docs/admin.html:
+         httemplate/index.html, httemplate/browse/part_referral.cgi,
+         httemplate/docs/admin.html, httemplate/edit/part_referral.cgi:
          s/referral/advertising source/
 
          yes, the name sucks.  got a better one?
 
+2002-03-26 15:18  ivan
+
+       * fs_passwd/fs_passwd.cgi: yay works now... just forgot to send
+         http header
+
 2002-03-26 08:24  ivan
 
        * httemplate/search/cust_main.cgi: simple visual fix: &nbsp; for
 
        * httemplate/docs/passwd.html: doc
 
+2002-03-26 05:04  ivan
+
+       * bin/create-history-tables: error message typo
+
 2002-03-26 04:35  ivan
 
        * httemplate/docs/admin.html: s/Add/Provision/
 2002-03-25 16:32  ivan
 
        * FS/FS/part_export.pm, FS/bin/freeside-queued,
-         httemplate/edit/part_export.cgi: further export bugfixing add 10
-         kid limit to freeside-queued sqlradius_reset now works (closes:
-         Bug#372)
+         bin/sqlradius_reset, httemplate/edit/part_export.cgi: further
+         export bugfixing add 10 kid limit to freeside-queued
+         sqlradius_reset now works (closes: Bug#372)
 
 2002-03-25 16:26  ivan
 
          search/cust_main.cgi: customers by otaker report (ugly
          search/cust_main.cgi mods; revert if they cause problems)
 
+2002-03-24 15:16  ivan
+
+       * bin/: icradius_reset, sqlradius_reset: s/icradius/sqlradius/
+
 2002-03-24 12:00  ivan
 
        * httemplate/: edit/cust_main.cgi, search/svc_acct.cgi,
 
 2002-03-22 10:56  ivan
 
-       * Makefile, FS/MANIFEST, FS/FS/cust_main_county.pm,
-         FS/FS/svc_acct.pm, FS/t/radius_usergroup.t,
-         httemplate/docs/schema.html, httemplate/edit/part_svc.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/view/svc_acct.cgi:
-         RADIUS groups on the way!
+       * Makefile, README.1.4.0pre12, FS/MANIFEST,
+         FS/FS/cust_main_county.pm, FS/FS/svc_acct.pm,
+         FS/t/radius_usergroup.t, bin/create-history-tables, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/view/svc_acct.cgi: RADIUS groups on the way!
 
 2002-03-22 04:49  ivan
 
 
 2002-03-20 13:31  ivan
 
-       * FS/FS/Conf.pm, FS/FS/part_export.pm, FS/FS/part_export_option.pm,
-         FS/FS/part_svc.pm, FS/FS/svc_acct.pm, FS/bin/freeside-queued,
-         htetc/handler.pl, httemplate/edit/part_export.cgi,
+       * README.1.4.0pre12, FS/FS/Conf.pm, FS/FS/part_export.pm,
+         FS/FS/part_export_option.pm, FS/FS/part_svc.pm,
+         FS/FS/svc_acct.pm, FS/bin/freeside-queued, bin/icradius_reset,
+         bin/svc_acct.export, htetc/global.asa, htetc/handler.pl,
+         httemplate/docs/export.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_export.cgi,
          httemplate/edit/process/part_export.cgi: new export!  infostreet
          and sqlradius provisioning switched over  (Bug #299 - doesn't
          close it, but all the groundwork is done)
        * FS/FS/: Conf.pm, Record.pm, cust_bill.pm, cust_pay.pm: fixes: bug
          #348 - adds the ability to email on deleted payments.
 
+2002-03-18 11:40  ivan
+
+       * httemplate/search/cust_main-quickpay.html: update quickpay for
+         current search capabilities
+
 2002-03-18 09:50  ivan
 
        * httemplate/config/config.cgi:
          in config editor, initial newlines in <textarea>s are lost.  even
          if you didn't mean to edit them you remove that..
 
+2002-03-18 08:07  ivan
+
+       * bin/backup-freeside: removing backup-freeside script from here
+
 2002-03-18 08:05  ivan
 
        * FS/FS/: svc_Common.pm, svc_acct.pm: handle inserting cust_svc and
 
 2002-03-18 01:10  ivan
 
-       * FS/FS/Conf.pm, FS/FS/svc_domain.pm,
+       * README.1.4.0pre12, FS/FS/Conf.pm, FS/FS/svc_domain.pm,
          httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi, httemplate/config/config.cgi:
-         new config value `defaultrecords', documentation, javascript
-         config file editor
+         httemplate/config/config-view.cgi, httemplate/config/config.cgi,
+         httemplate/docs/upgrade8.html: new config value `defaultrecords',
+         documentation, javascript config file editor
 
 2002-03-17 00:33  ivan
 
 
 2002-03-12 07:33  ivan
 
-       * htetc/handler.pl, httemplate/edit/part_pkg.cgi,
-         httemplate/edit/part_svc.cgi: abstract stupid HTML layer trick
-         out to HTML::Widgets::SelectLayers
+       * README.1.4.0pre12, htetc/global.asa, htetc/handler.pl,
+         httemplate/docs/install.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi:
+         abstract stupid HTML layer trick out to
+         HTML::Widgets::SelectLayers
 
 2002-03-09 02:19  khoff
 
        * FS/FS/: Conf.pm, svc_domain.pm: Support for default CNAME/A
          records
 
+2002-03-07 11:50  jeff
+
+       * FS/bin/: freeside-cc-receipts-report, freeside-credit-report,
+         freeside-expiration-alerter, freeside-receivables-report,
+         freeside-tax-report: less shelling, more perly - abolish some
+         pipes to sendmail
+
 2002-03-07 06:13  ivan
 
        * FS/FS/cust_bill.pm: better error msgs for mail errors
 
        * conf/invoice_from: oops, missing invoice_from
 
+2002-03-06 15:31  ivan
+
+       * httemplate/docs/upgrade8.html: add freeside-expiration-alerter to
+         upgrade8.html
+
 2002-03-06 14:44  jeff
 
-       * FS/MANIFEST, FS/FS/Conf.pm, conf/alerter_template,
+       * README.1.4.0pre12, FS/MANIFEST, FS/FS/Conf.pm,
+         FS/bin/freeside-expiration-alerter, conf/alerter_template,
          httemplate/docs/admin.html: billing expiration alerts
 
+2002-03-05 16:17  ivan
+
+       * FS/bin/: freeside-cc-receipts-report, freeside-credit-report,
+         freeside-receivables-report, freeside-tax-report: remove CVS Log
+         tag
+
 2002-03-05 15:13  jeff
 
-       * httemplate/search/report_tax.cgi: consistency is nice
+       * FS/bin/freeside-cc-receipts-report,
+         FS/bin/freeside-credit-report,
+         FS/bin/freeside-receivables-report, FS/bin/freeside-tax-report,
+         httemplate/search/report_cc.cgi,
+         httemplate/search/report_credit.cgi,
+         httemplate/search/report_tax.cgi: consistency is nice
+
+2002-03-05 01:44  ivan
+
+       * FS/bin/freeside-receivables-report: yes i have crazy customers
+         with 8-digit customer numbers
 
 2002-03-04 14:10  ivan
 
 
 2002-03-04 04:48  ivan
 
-       * Makefile, FS/FS/Record.pm, FS/FS/nas.pm, bin/fs-radius-add-check,
-         bin/fs-radius-add-reply: [no log message]
+       * Makefile, README.1.4.0pre12, FS/FS/Record.pm, FS/FS/nas.pm,
+         bin/create-history-tables, bin/fs-radius-add-check,
+         bin/fs-radius-add-reply, bin/fs-setup,
+         httemplate/docs/upgrade8.html: [no log message]
+
+2002-03-03 15:46  ivan
+
+       * httemplate/docs/install.html: docu
 
 2002-02-28 15:30  ivan
 
 
 2002-02-27 14:39  ivan
 
-       * FS/FS/cust_bill_event.pm, httemplate/docs/schema.html,
+       * README.1.4.0pre12, FS/FS/cust_bill_event.pm, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html,
          httemplate/view/cust_bill.cgi: add status and statustext fields
          to cust_bill_event
 
 
        * FS/: FS/cust_main.pm, bin/freeside-daily: better debugging
 
+2002-02-27 09:07  khoff
+
+       * httemplate/docs/upgrade8.html: Should be "CREATE TABLE" not
+         "CREATE INDEX" for part_export_option
+
 2002-02-26 14:09  ivan
 
-       * httemplate/search/: report_receivables.cgi, report_tax.cgi: fixup
-         reports for templated webUI
+       * httemplate/search/: report_cc.cgi, report_credit.cgi,
+         report_receivables.cgi, report_tax.cgi: fixup reports for
+         templated webUI
 
 2002-02-26 03:53  ivan
 
 
 2002-02-23 14:36  ivan
 
-       * httemplate/search/: report_receivables.cgi, report_tax.cgi: take
-         hardcoded paths out of report cgis
+       * httemplate/search/: report_cc.cgi, report_credit.cgi,
+         report_receivables.cgi, report_tax.cgi: take hardcoded paths out
+         of report cgis
 
 2002-02-23 03:56  ivan
 
 
 2002-02-22 18:14  jeff
 
-       * FS/FS/UID.pm, httemplate/search/report_receivables.cgi,
+       * FS/FS/UID.pm, bin/svc_acct.export,
+         httemplate/search/report_cc.cgi,
+         httemplate/search/report_credit.cgi,
+         httemplate/search/report_receivables.cgi,
          httemplate/search/report_tax.cgi: report fixes and cruft removal
 
 2002-02-22 18:02  ivan
 
-       * httemplate/index.html: UI work on main menu, remove Archive::Tar
-         from docs
+       * httemplate/: index.html, docs/install.html, docs/upgrade8.html:
+         UI work on main menu, remove Archive::Tar from docs
 
 2002-02-22 15:18  jeff
 
-       * FS/MANIFEST, httemplate/index.html,
+       * FS/MANIFEST, FS/bin/freeside-cc-receipts-report,
+         FS/bin/freeside-credit-report,
+         FS/bin/freeside-receivables-report, FS/bin/freeside-tax-report,
+         conf/report_template, httemplate/classic.html,
+         httemplate/index.html, httemplate/search/report_cc.cgi,
+         httemplate/search/report_cc.html,
+         httemplate/search/report_credit.cgi,
+         httemplate/search/report_credit.html,
          httemplate/search/report_receivables.cgi,
          httemplate/search/report_tax.cgi,
          httemplate/search/report_tax.html: add some reporting features
        * FS/FS/svc_acct.pm: freeside *SUSPENDED* -> CP set_mailbox_status
          OTHER/OTHER_BOUNCE
 
+2002-02-21 23:50  ivan
+
+       * bin/fs-setup: doh
+
 2002-02-21 22:42  ivan
 
        * FS/FS/queue.pm: UI in joblisting: don't split ( retry | remove )
 
 2002-02-21 17:07  ivan
 
-       * FS/FS/Conf.pm, httemplate/view/cust_main.cgi: UI work:
+       * FS/FS/Conf.pm, httemplate/view/cust_main.cgi,
+         httemplate/view/cust_pkg.cgi: UI work:
 
          make all functions of view/cust_pkg.cgi available on
          view/cust_main.cgi  - having them one link down in "Edit" is
 
          closes: Bug#325
 
+2002-02-21 15:17  ivan
+
+       * bin/fs-setup: queue.svcnum is nullable too, oops
+
+2002-02-21 13:43  ivan
+
+       * bin/fs-setup: looks like statustext field is missing NULL flag in
+         fs-setup
+
 2002-02-20 14:03  ivan
 
        * httemplate/index.html: invoice reports belong here too
 
 2002-02-19 17:03  ivan
 
-       * CREDITS, FS/FS/CGI.pm, FS/FS/Record.pm, FS/FS/queue.pm,
-         FS/FS/svc_acct.pm, FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
-         FS/bin/freeside-queued, htetc/handler.pl, httemplate/index.html,
-         httemplate/misc/queue.cgi, httemplate/view/svc_acct.cgi,
-         httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi,
-         httemplate/view/svc_www.cgi: use Net::SSH::ssh_cmd for all job
-         queueing rather than local duplicated ssh subs
+       * CREDITS, README.1.4.0pre11, README.1.4.0pre8, FS/FS/CGI.pm,
+         FS/FS/Record.pm, FS/FS/queue.pm, FS/FS/svc_acct.pm,
+         FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
+         FS/bin/freeside-queued, bin/fs-setup, htetc/global.asa,
+         htetc/handler.pl, httemplate/index.html,
+         httemplate/browse/queue.cgi, httemplate/misc/queue.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_domain.cgi,
+         httemplate/view/svc_forward.cgi, httemplate/view/svc_www.cgi: use
+         Net::SSH::ssh_cmd for all job queueing rather than local
+         duplicated ssh subs
 
          queue daemon updates: retry & remove links work, bubble up error
          message to webinterface, link to svcnum & have job listings on
 
 2002-02-19 15:43  ivan
 
-       * httemplate/docs/schema.html: set EVERYTHING=1 for your own
-         mod_perl compile
+       * httemplate/docs/: install.html, schema.html, upgrade8.html: set
+         EVERYTHING=1 for your own mod_perl compile
 
 2002-02-18 23:51  ivan
 
        * httemplate/index.html: oops
 
+2002-02-18 23:00  ivan
+
+       * httemplate/classic.html: TMTOWTDI
+
 2002-02-18 20:43  ivan
 
        * httemplate/index.html: new main menu!
 2002-02-18 00:39  ivan
 
        * FS/FS/Conf.pm, FS/FS/part_bill_event.pm, FS/FS/part_pkg.pm,
-         httemplate/edit/part_pkg.cgi: safe web demo operation!  closes:
-         Bug#217
+         htetc/global.asa, httemplate/edit/part_pkg.cgi: safe web demo
+         operation!  closes: Bug#217
 
          fix bug in edit/part_pkg: s/bkg/pkg/
 
        * httemplate/edit/part_svc.cgi: fix modified <SELECT>s under
          netcape4, use one for svc_acct.popnum too
 
+2002-02-17 17:26  ivan
+
+       * README.1.4.0pre11, httemplate/docs/install.html,
+         httemplate/docs/upgrade8.html: rsync docs
+
 2002-02-17 16:21  jeff
 
        * Makefile: keep accidentally checking in Makefile changes, gotta
 
 2002-02-17 16:13  jeff
 
-       * Makefile, FS/FS/Conf.pm: trading in tar for rsync for improved
-         vpopmail support
+       * Makefile, FS/FS/Conf.pm, bin/svc_acct.export, eg/vpopmailrestart:
+         trading in tar for rsync for improved vpopmail support
 
 2002-02-17 13:01  ivan
 
 
 2002-02-17 11:12  ivan
 
-       * FS/MANIFEST: get ride of CGIwrapper.pm
+       * README.1.4.0pre9, FS/MANIFEST, FS/FS/CGIwrapper.pm,
+         FS/t/CGIwrapper.t: get ride of CGIwrapper.pm
 
 2002-02-17 11:07  jeff
 
        * FS/FS/svc_forward.pm: queue svc_forward remote commands; better
          commands too
 
+2002-02-16 13:47  ivan
+
+       * htetc/global.asa: work with current Apache::ASP
+
+2002-02-16 10:14  ivan
+
+       * TODO: now in RT2!
+
+2002-02-15 23:27  ivan
+
+       * httemplate/docs/install.html: install warnings about mysql
+
+2002-02-15 12:21  jeff
+
+       * bin/svc_acct.export: remove arbitary uid requirement for vpasswd
+         generation
+
 2002-02-15 11:34  ivan
 
        * Makefile: keep accidentally checking in Makefile changes, gotta
 
        * Makefile, FS/FS/Conf.pm, FS/FS/svc_acct.pm: CP provisioning!!
 
+2002-02-14 14:37  jeff
+
+       * bin/svc_acct.export: fix bug in multiline radiusprepend
+
 2002-02-14 10:06  ivan
 
        * bin/: fs-radius-add-check, fs-radius-add-reply: docs?  haha
          Bill' );): Illegal or empty (text) comment:  at
          /usr/local/lib/perl5/site_perl/5.005/FS/cust_main.pm line 1141.
 
+2002-02-12 10:37  ivan
+
+       * bin/svc_acct.export: fixes:
+
+         In string, @domain now must be written as \@domain at
+         ./svc_acct.export line 292, near "^append @domain" Global symbol
+         "@domain" requires explicit package name at ./svc_acct.export
+         line 292.  Execution of ./svc_acct.export aborted due to
+         compilation errors.
+
 2002-02-11 21:58  ivan
 
-       * httemplate/docs/admin.html: fixes: bug#331
+       * README.1.4.0pre9, bin/fs-setup, httemplate/docs/admin.html:
+         fixes: bug#331
 
 2002-02-11 20:49  ivan
 
        * httemplate/edit/part_bill_event.cgi: oops
 
+2002-02-11 19:29  ivan
+
+       * README.1.4.0pre8, README.1.4.0pre9: 1.4.0pre9!!!
+
 2002-02-11 18:11  ivan
 
-       * FS/FS/Conf.pm, httemplate/config/config.cgi: add username_policy
-         "@append domain"
+       * FS/FS/Conf.pm, bin/svc_acct.export, httemplate/config/config.cgi:
+         add username_policy "@append domain"
 
          add "select" config type, mmm
 
 
 2002-02-10 11:58  ivan
 
-       * FS/MANIFEST, FS/bin/freeside-daily,
+       * FS/MANIFEST, FS/bin/freeside-bill, FS/bin/freeside-daily,
+         httemplate/docs/billing.html, httemplate/docs/upgrade8.html,
          httemplate/edit/process/part_bill_event.cgi: update billing
          documentation for the new world of invoice events added
          freeside-daily replacing freeside-bill for the new world of
 
 2002-02-10 10:56  ivan
 
-       * FS/FS/cust_pay.pm, httemplate/edit/cust_pay.cgi: use unique
-         tokens to prevent double-submission of payments in the web UI
-         (closes: Bug#320)
+       * README.1.4.0pre9, FS/FS/cust_pay.pm, bin/fs-setup,
+         httemplate/docs/upgrade8.html, httemplate/edit/cust_pay.cgi: use
+         unique tokens to prevent double-submission of payments in the web
+         UI (closes: Bug#320)
 
 2002-02-10 09:30  ivan
 
        * htetc/handler.pl, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
-         httemplate/browse/nas.cgi, httemplate/browse/part_bill_event.cgi,
-         httemplate/browse/part_pkg.cgi, httemplate/browse/part_svc.cgi,
+         httemplate/browse/cust_pay_batch.cgi, httemplate/browse/nas.cgi,
+         httemplate/browse/part_bill_event.cgi,
+         httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
+         httemplate/browse/part_svc.cgi, httemplate/browse/queue.cgi,
          httemplate/browse/svc_acct_pop.cgi,
          httemplate/config/config-process.cgi,
          httemplate/config/config-view.cgi, httemplate/config/config.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
          httemplate/edit/part_bill_event.cgi,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_referral.cgi,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi,
          httemplate/edit/process/quick-cust_pkg.cgi,
          httemplate/misc/bill.cgi, httemplate/misc/cancel-unaudited.cgi,
          httemplate/misc/catchall.cgi,
          httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
          httemplate/misc/process/link.cgi,
-         httemplate/search/cust_main.cgi, httemplate/search/cust_pay.cgi,
-         httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_main.cgi,
+         httemplate/search/cust_pay.cgi, httemplate/search/cust_pkg.cgi,
+         httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
          httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_acct.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi,
          httemplate/view/svc_www.cgi: *finally* seems to be working under
          Mason.  sheesh.  *finally* seems to be working under Mason.
        * htetc/handler.pl, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
-         httemplate/browse/nas.cgi, httemplate/browse/part_bill_event.cgi,
-         httemplate/browse/part_pkg.cgi, httemplate/browse/part_svc.cgi,
+         httemplate/browse/cust_pay_batch.cgi, httemplate/browse/nas.cgi,
+         httemplate/browse/part_bill_event.cgi,
+         httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
+         httemplate/browse/part_svc.cgi, httemplate/browse/queue.cgi,
          httemplate/browse/svc_acct_pop.cgi, httemplate/edit/agent.cgi,
          httemplate/edit/agent_type.cgi,
          httemplate/edit/cust_bill_pay.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
          httemplate/edit/part_bill_event.cgi,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_referral.cgi,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi,
          httemplate/edit/process/REAL_cust_pkg.cgi,
          httemplate/edit/process/agent.cgi,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/cust_main_county-collapse.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/cust_pkg.cgi,
          httemplate/edit/process/part_pkg.cgi,
+         httemplate/edit/process/part_referral.cgi,
          httemplate/edit/process/quick-cust_pkg.cgi,
          httemplate/edit/process/svc_acct.cgi,
          httemplate/edit/process/svc_acct_pop.cgi,
+         httemplate/edit/process/svc_acct_sm.cgi,
          httemplate/edit/process/svc_domain.cgi,
          httemplate/edit/process/svc_forward.cgi,
          httemplate/misc/bill.cgi, httemplate/misc/cancel-unaudited.cgi,
-         httemplate/misc/catchall.cgi,
+         httemplate/misc/cancel_pkg.cgi, httemplate/misc/catchall.cgi,
          httemplate/misc/delete-cust_pay.cgi,
-         httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/misc/print-invoice.cgi,
+         httemplate/misc/delete-customer.cgi,
+         httemplate/misc/expire_pkg.cgi, httemplate/misc/link.cgi,
+         httemplate/misc/print-invoice.cgi, httemplate/misc/susp_pkg.cgi,
          httemplate/misc/unsusp_pkg.cgi,
          httemplate/misc/process/catchall.cgi,
          httemplate/misc/process/delete-customer.cgi,
-         httemplate/misc/process/link.cgi, httemplate/search/cust_pay.cgi,
+         httemplate/misc/process/link.cgi,
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_pay.cgi,
          httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
          httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_acct.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi,
          httemplate/view/svc_www.cgi: removed <!-- $Id$ --> from all files
          to fix any redirects, whew
 
          add new comission plans
 
+2002-02-09 17:47  ivan
+
+       * README.1.4.0pre8, httemplate/docs/upgrade8.html,
+         FS/bin/freeside-bill: remove -i option from freeside-bill
+         (obsoleted by invoice events)
+
 2002-02-09 10:24  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl,
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/part_pkg.cgi,
          httemplate/search/cust_main.cgi, httemplate/search/cust_pkg.cgi,
 
 2002-02-09 09:03  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl: okay, both Apache::ASP and Mason
-         should set no-cache headers now (closes: Bug#23)
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl: okay, both
+         Apache::ASP and Mason should set no-cache headers now (closes:
+         Bug#23)
 
 2002-02-07 14:30  ivan
 
 
 2002-02-06 07:49  ivan
 
-       * Makefile: documentation building Makefile patch
+       * Makefile, httemplate/docs/install.html: documentation building
+         Makefile patch
 
 2002-02-06 07:36  ivan
 
        * FS/FS/part_bill_event.pm: part_bill_event.plan can contain
          punctuation
 
+2002-02-06 07:07  ivan
+
+       * bin/fs-setup: tyop
+
 2002-02-06 06:58  ivan
 
        * FS/bin/freeside-adduser: fix for non-file auth
        * FS/FS/Record.pm: better error messages if you haven't run
          fs-setup ?
 
+2002-02-05 10:24  ivan
+
+       * httemplate/docs/install.html: &nbsp; for commands; confusing
+         otherwise
+
+2002-02-05 10:04  ivan
+
+       * httemplate/docs/install.html: doc
+
 2002-02-05 08:48  ivan
 
-       * fs_passwd/fs_passwd, httemplate/docs/passwd.html: web-based
+       * fs_passwd/fs_passwd, fs_passwd/fs_passwd.cgi,
+         fs_passwd/fs_passwd.html, httemplate/docs/passwd.html: web-based
          password changer!
 
+2002-02-05 03:06  ivan
+
+       * httemplate/docs/upgrade8.html: don't need DBIx::DataSource for
+         upgrades
+
+2002-02-05 01:46  ivan
+
+       * httemplate/docs/: install.html, upgrade8.html: doc
+
+2002-02-04 23:57  ivan
+
+       * README.1.4.0pre8, httemplate/docs/upgrade8.html: fix
+         part_export_option indices
+
+2002-02-04 10:12  ivan
+
+       * httemplate/docs/install.html: doc update
+
 2002-02-04 09:06  ivan
 
-       * Makefile: 1.4.0pre8!
+       * Makefile, README.1.4.0pre4567-8, README.1.4.0pre8: 1.4.0pre8!
 
 2002-02-04 09:04  ivan
 
-       * httemplate/edit/part_bill_event.cgi: have fs-setup create the
+       * bin/fs-setup, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_bill_event.cgi: have fs-setup create the
          necessary "default" billing events documentation on necessary
          "default" billing events
 
 2002-02-04 08:44  ivan
 
-       * httemplate/edit/part_bill_event.cgi,
+       * httemplate/docs/install.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_bill_event.cgi,
          httemplate/view/cust_bill.cgi, FS/FS/cust_bill.pm,
          FS/FS/cust_main.pm: billing events!
 
 
 2002-01-30 06:18  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl, httemplate/browse/agent.cgi,
-         httemplate/browse/agent_type.cgi,
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl,
+         httemplate/browse/agent.cgi, httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
-         httemplate/browse/nas.cgi, httemplate/browse/part_bill_event.cgi,
-         httemplate/browse/part_pkg.cgi, httemplate/browse/part_svc.cgi,
-         httemplate/browse/svc_acct_pop.cgi, httemplate/edit/agent.cgi,
-         httemplate/edit/agent_type.cgi,
+         httemplate/browse/cust_pay_batch.cgi, httemplate/browse/nas.cgi,
+         httemplate/browse/part_bill_event.cgi,
+         httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
+         httemplate/browse/part_svc.cgi, httemplate/browse/queue.cgi,
+         httemplate/browse/svc_acct_pop.cgi, httemplate/docs/install.html,
+         httemplate/edit/agent.cgi, httemplate/edit/agent_type.cgi,
          httemplate/edit/cust_bill_pay.cgi,
          httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
          httemplate/edit/part_bill_event.cgi,
-         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
-         httemplate/edit/svc_acct_pop.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/part_referral.cgi, httemplate/edit/part_svc.cgi,
+         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
          httemplate/edit/svc_forward.cgi,
          httemplate/edit/process/agent.cgi,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/cust_main_county-collapse.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/cust_pkg.cgi,
          httemplate/edit/process/part_pkg.cgi,
+         httemplate/edit/process/part_referral.cgi,
          httemplate/edit/process/quick-cust_pkg.cgi,
          httemplate/edit/process/svc_acct.cgi,
          httemplate/edit/process/svc_acct_pop.cgi,
+         httemplate/edit/process/svc_acct_sm.cgi,
          httemplate/edit/process/svc_domain.cgi,
          httemplate/edit/process/svc_forward.cgi,
          httemplate/misc/bill.cgi, httemplate/misc/cancel-unaudited.cgi,
-         httemplate/misc/catchall.cgi,
-         httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/misc/print-invoice.cgi,
+         httemplate/misc/cancel_pkg.cgi, httemplate/misc/catchall.cgi,
+         httemplate/misc/delete-customer.cgi,
+         httemplate/misc/expire_pkg.cgi, httemplate/misc/link.cgi,
+         httemplate/misc/print-invoice.cgi, httemplate/misc/susp_pkg.cgi,
          httemplate/misc/unsusp_pkg.cgi,
          httemplate/misc/process/catchall.cgi,
          httemplate/misc/process/delete-customer.cgi,
          httemplate/misc/process/link.cgi,
-         httemplate/search/cust_main.cgi, httemplate/search/cust_pay.cgi,
-         httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_main.cgi,
+         httemplate/search/cust_pay.cgi, httemplate/search/cust_pkg.cgi,
+         httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
          httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
-         httemplate/view/cust_main.cgi, httemplate/view/svc_acct.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
          httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi,
          httemplate/view/svc_www.cgi: remove   use Module; and   $cgi =
          new CGI;   &cgisuidsetup(); from all templates.  should work
 
 2002-01-29 09:42  ivan
 
-       * FS/FS/part_bill_event.pm, httemplate/docs/schema.html: weight,
-         plan and plandata fields in part_bill_event
+       * README.1.4.0pre4567-8, FS/FS/part_bill_event.pm, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html:
+         weight, plan and plandata fields in part_bill_event
 
 2002-01-29 08:33  ivan
 
        * Makefile, FS/FS.pm, FS/FS/Record.pm, FS/FS/cust_main.pm,
          FS/FS/cust_pay.pm, FS/FS/cust_pkg.pm, FS/FS/cust_svc.pm,
-         FS/FS/svc_acct.pm, bin/pod2x, htetc/handler.pl,
+         FS/FS/svc_acct.pm, bin/pod2x, htetc/global.asa, htetc/handler.pl,
          httemplate/index.html, httemplate/browse/part_bill_event.cgi,
+         httemplate/docs/install.html,
          httemplate/edit/part_bill_event.cgi,
          httemplate/edit/part_pkg.cgi,
          httemplate/edit/process/part_bill_event.cgi: - web interface for
          interface - cust_pay::upgrade_replace doesn't error out if
          history includes   overapplied payments
 
+2002-01-29 03:11  ivan
+
+       * bin/fs-setup: oops bad column type for part_bill_event.payby
+
 2002-01-28 03:24  ivan
 
        * FS/FS/Record.pm: oops, syntax error in new() check for missing
 
 2002-01-27 22:57  ivan
 
-       * FS/FS/cust_bill.pm, FS/FS/cust_credit.pm, FS/FS/cust_pay.pm,
-         FS/FS/cust_refund.pm, FS/FS/part_pkg.pm, FS/FS/part_svc.pm,
-         httemplate/docs/schema.html: book closing schema changes
+       * README.1.4.0pre4567-8, FS/FS/cust_bill.pm, FS/FS/cust_credit.pm,
+         FS/FS/cust_pay.pm, FS/FS/cust_refund.pm, FS/FS/part_pkg.pm,
+         FS/FS/part_svc.pm, bin/fs-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html: book closing schema changes
 
 2002-01-27 21:15  ivan
 
-       * FS/FS/part_export.pm, FS/FS/part_export_option.pm,
-         httemplate/docs/schema.html: part_export schema changes
+       * README.1.4.0pre4567-8, FS/FS/part_export.pm,
+         FS/FS/part_export_option.pm, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html:
+         part_export schema changes
 
 2002-01-25 17:52  ivan
 
 
 2002-01-22 06:42  ivan
 
-       * httemplate/docs/index.html: remove old upgrade docs
+       * httemplate/docs/: index.html, upgrade.html, upgrade2.html,
+         upgrade3.html: remove old upgrade docs
 
 2002-01-21 03:30  ivan
 
 
 2002-01-14 12:28  ivan
 
-       * FS/FS/: Conf.pm, svc_acct.pm: pay some attention to 1.4 RADIUS
-         SQL export
+       * FS/FS/Conf.pm, FS/FS/svc_acct.pm, httemplate/docs/export.html:
+         pay some attention to 1.4 RADIUS SQL export
+
+2002-01-14 06:29  ivan
+
+       * FS/bin/freeside-overdue: fix -l option
+
+2002-01-11 23:23  ivan
+
+       * httemplate/docs/upgrade8.html: fix upgrade8.html to be in
+         agreement with fs-setup
 
 2002-01-09 05:29  ivan
 
 
 2002-01-03 09:40  ivan
 
-       * FS/MANIFEST, FS/FS/cust_bill_event.pm, FS/FS/part_bill_event.pm,
-         FS/t/cust_bill_event.t, FS/t/part_bill_event.t,
-         httemplate/docs/schema.html: more schema changes:
-         part_bill_event and cust_bill_event tables
+       * README.1.4.0pre2-3, README.1.4.0pre3-4, README.1.4.0pre4567-8,
+         FS/MANIFEST, FS/FS/cust_bill_event.pm, FS/FS/part_bill_event.pm,
+         FS/t/cust_bill_event.t, FS/t/part_bill_event.t, bin/fs-setup,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html: more
+         schema changes:  part_bill_event and cust_bill_event tables
 
          remove old 1.4.0pre READMEs
 
+2001-12-28 07:17  ivan
+
+       * FS/bin/freeside-overdue: update usage message
+
 2001-12-28 07:14  ivan
 
-       * FS/FS/cust_main.pm: force printing in freeside-overdue
+       * FS/: FS/cust_main.pm, bin/freeside-overdue: force printing in
+         freeside-overdue
 
 2001-12-28 06:40  ivan
 
-       * FS/FS/cust_main.pm, httemplate/edit/cust_main.cgi,
+       * FS/FS/cust_main.pm, FS/bin/freeside-bill,
+         FS/bin/freeside-overdue, httemplate/edit/cust_main.cgi,
          httemplate/edit/part_pkg.cgi: add more options to
          freeside-overdue
 
 
 2001-12-27 01:26  ivan
 
-       * FS/FS/Record.pm, FS/FS/part_pkg.pm, FS/FS/part_svc.pm,
-         httemplate/browse/part_pkg.cgi, httemplate/browse/part_svc.cgi,
-         httemplate/edit/agent_type.cgi, httemplate/edit/cust_main.cgi,
-         httemplate/edit/cust_pkg.cgi, httemplate/edit/part_pkg.cgi,
-         httemplate/edit/part_svc.cgi,
+       * README.1.4.0pre4567-8, FS/FS/Record.pm, FS/FS/part_pkg.pm,
+         FS/FS/part_svc.pm, FS/bin/freeside-overdue, bin/fs-setup,
+         htetc/global.asa, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_svc.cgi, httemplate/edit/agent_type.cgi,
+         httemplate/edit/cust_main.cgi, httemplate/edit/cust_pkg.cgi,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
          httemplate/edit/process/part_pkg.cgi,
          httemplate/view/cust_main.cgi: service and package disable!
 
 2001-12-26 15:59  ivan
 
-       * httemplate/docs/schema.html: doc
+       * httemplate/docs/: install.html, schema.html, upgrade8.html: doc
 
 2001-12-26 07:41  ivan
 
 
 2001-12-26 07:08  ivan
 
-       * FS/MANIFEST: add freeside-overdue
+       * FS/: MANIFEST, bin/freeside-overdue: add freeside-overdue
 
 2001-12-26 07:07  ivan
 
        * httemplate/edit/: cust_credit.cgi, process/cust_credit.cgi: fix
          posting credit
 
+2001-12-26 03:47  ivan
+
+       * FS/bin/freeside-overdue: don't provide example crontabs that run
+         at 4:20 _PM_
+
 2001-12-26 03:17  ivan
 
-       * FS/FS/cust_main.pm: (untested eek) freeside-overdue script &
-         cust_main balance_date & total_owed_date methods
+       * FS/FS/cust_main.pm, FS/bin/freeside-overdue,
+         httemplate/docs/billing.html: (untested eek) freeside-overdue
+         script & cust_main balance_date & total_owed_date methods
 
 2001-12-26 01:18  ivan
 
-       * httemplate/: index.html, search/cust_pay.cgi, view/cust_main.cgi:
-         search by check #
+       * httemplate/: index.html, search/cust_pay.cgi,
+         search/cust_pay.html, view/cust_main.cgi: search by check #
 
 2001-12-25 23:53  ivan
 
 2001-12-25 21:19  ivan
 
        * httemplate/: index.html, edit/cust_pay.cgi,
-         edit/process/cust_pay.cgi, search/cust_main.cgi,
+         edit/process/cust_pay.cgi, search/cust_main-payinfo.html,
+         search/cust_main-quickpay.html, search/cust_main.cgi,
          search/cust_main.html: expedited check entry
 
 2001-12-25 21:02  ivan
 
 2001-12-25 20:52  ivan
 
-       * httemplate/search/: cust_bill.html, cust_main.html: same look as
-         rest of search pages
+       * httemplate/search/: cust_bill.html, svc_acct.html,
+         svc_domain.html, cust_main.html: same look as rest of search
+         pages
 
 2001-12-25 20:25  ivan
 
 
        * httemplate/edit/cust_pay.cgi: fix service display for duplicates
 
+2001-12-21 18:41  ivan
+
+       * httemplate/docs/install.html: doco on creating database manually
+
 2001-12-21 13:40  ivan
 
        * FS/FS/cust_bill.pm, httemplate/edit/cust_pay.cgi,
        * httemplate/edit/: cust_main.cgi, svc_acct.cgi: allow >8 character
          passwords in web interface
 
+2001-12-11 23:59  ivan
+
+       * bin/svc_acct.export: use pwd_mkdb to install
+         /etc/master.passwd.new instead of moving it into place
+
 2001-12-11 13:26  ivan
 
        * httemplate/search/svc_acct.cgi: missing space in SQL, oops
 
+2001-12-11 02:38  ivan
+
+       * bin/svc_acct.export, httemplate/docs/install.html: radiusprepend
+         config file for export add Archive::Tar to docs
+
 2001-12-10 04:18  ivan
 
        * FS/FS/Record.pm: Pg datatype pain
        * FS/FS/Conf.pm, httemplate/edit/cust_main.cgi:
          postalinvoicedefault config file
 
+2001-11-16 02:22  ivan
+
+       * httemplate/docs/billing.html: update link to Text::Template docs
+
 2001-11-13 13:27  ivan
 
-       * FS/MANIFEST: remove freeside-print-batch
+       * FS/: MANIFEST, bin/freeside-print-batch: remove
+         freeside-print-batch
 
 2001-11-12 05:19  ivan
 
        * FS/FS/cust_main.pm: import hack to be less strict
 
+2001-11-09 10:26  ivan
+
+       * httemplate/docs/install.html: Pg7 dependancy
+
 2001-11-08 07:26  ivan
 
        * FS/bin/freeside-queued: harmless typo noticed by "Edward
 
        * FS/FS/UID.pm: fix error message for s/htdocs/httemplate/
 
+2001-11-06 09:48  ivan
+
+       * bin/fs-setup: payinfo changed from length 16 to $char_d for
+         future expansion
+
 2001-11-05 13:30  ivan
 
        * Makefile: more fixes for fresh installation
 
        * Makefile, FS/FS/Record.pm: makefile fixups
 
+2001-11-05 10:23  ivan
+
+       * httemplate/docs/install.html: doc
+
 2001-11-05 09:00  jeff
 
        * FS/FS/svc_acct.pm: improved svc_acct replacement
        * FS/FS/Record.pm: AUTOLOAD optimizations broke things rather
          badly, oops
 
+2001-11-05 06:04  ivan
+
+       * FS/bin/freeside-bill: fixup getopt
+
 2001-11-05 06:03  ivan
 
        * Makefile: move sys-dependant stuff to vars
 
        * FS/FS/svc_acct.pm: doc tyop
 
+2001-11-05 04:07  ivan
+
+       * bin/svc_domain.import: this is unfinished and untested anyway,
+         but this corrects a silly typo
+
 2001-11-05 03:55  ivan
 
        * FS/FS/cust_main.pm: better error messages for eval'ed setup/recur
          joined searches & caching support preliminary customer browse
          optimizations, much faster!
 
+2001-11-02 00:14  ivan
+
+       * FS/bin/freeside-print-batch: silence pod complaints
+
 2001-11-01 21:28  ivan
 
        * httemplate/config/config.cgi: note config changes need
        * httemplate/search/cust_main.cgi: hit the database slightly less.
          this page still takes forever with lots of customers.
 
+2001-10-31 08:52  ivan
+
+       * httemplate/browse/queue.cgi: queue display works again, even if
+         those links don't
+
 2001-10-30 11:05  ivan
 
-       * FS/FS/cust_pay_batch.pm, httemplate/index.html,
+       * FS/FS/cust_pay_batch.pm, bin/fs-setup, httemplate/index.html,
+         httemplate/browse/cust_pay_batch.cgi,
          httemplate/docs/schema.html: depriciate cust_pay_batch.trancode
          web interface to view pending batch
 
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/browse/nas.cgi, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi, httemplate/browse/queue.cgi,
          httemplate/browse/svc_acct_pop.cgi, httemplate/edit/agent.cgi,
          httemplate/edit/agent_type.cgi, httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
-         httemplate/misc/catchall.cgi,
+         httemplate/edit/part_referral.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi, httemplate/misc/catchall.cgi,
          httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/search/cust_main.cgi, httemplate/search/cust_pkg.cgi,
-         httemplate/search/svc_acct.cgi, httemplate/search/svc_domain.cgi,
-         httemplate/view/cust_bill.cgi, httemplate/view/cust_main.cgi,
-         httemplate/view/svc_acct.cgi, httemplate/view/svc_domain.cgi,
-         httemplate/view/svc_forward.cgi: get rid of header foo in
-         individual templates
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_main.cgi,
+         httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
+         httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
+         httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi:
+         get rid of header foo in individual templates
+
+2001-10-30 06:28  ivan
+
+       * httemplate/docs/: install.html, upgrade8.html: docu
 
 2001-10-30 06:20  ivan
 
 
 2001-10-30 05:47  ivan
 
-       * Makefile, FS/bin/freeside-adduser, conf/shells, conf/smtpmachine:
-         `make create-config' installs default config (conf dir update)
-         freeside-adduser uses default secrets file
+       * Makefile, FS/bin/freeside-adduser, conf/address, conf/domain,
+         conf/secrets, conf/shells, conf/smtpmachine,
+         httemplate/docs/install.html: `make create-config' installs
+         default config (conf dir update) freeside-adduser uses default
+         secrets file
 
 2001-10-30 04:38  ivan
 
 
 2001-10-30 04:35  ivan
 
-       * Makefile: makefile typo
+       * Makefile, httemplate/docs/install.html: makefile typo
 
 2001-10-30 03:47  ivan
 
        * Makefile, FS/bin/freeside-adduser, httemplate/docs/admin.html,
-         httemplate/docs/index.html: whew more install docs and automation
+         httemplate/docs/config.html, httemplate/docs/index.html,
+         httemplate/docs/install.html: whew more install docs and
+         automation
 
 2001-10-30 02:20  ivan
 
-       * Makefile, FS/MANIFEST, FS/FS/Conf.pm, FS/bin/freeside-adduser:
-         setup/config updates.  getting easier...
+       * Makefile, FS/MANIFEST, FS/FS/Conf.pm, FS/bin/freeside-adduser,
+         httemplate/docs/install.html: setup/config updates.  getting
+         easier...
 
 2001-10-29 13:22  ivan
 
        * Makefile: fix make clean
 
+2001-10-29 12:54  ivan
+
+       * httemplate/docs/install.html: doc typo
+
 2001-10-29 12:53  ivan
 
        * FS/FS/svc_forward.pm: methods for getting the associated svc_acct
 
 2001-10-26 03:24  ivan
 
-       * FS/FS/CGI.pm, htetc/handler.pl, httemplate/browse/agent.cgi,
-         httemplate/browse/agent_type.cgi,
+       * FS/FS/CGI.pm, htetc/global.asa, htetc/handler.pl,
+         httemplate/browse/agent.cgi, httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/browse/nas.cgi, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi, httemplate/browse/queue.cgi,
          httemplate/browse/svc_acct_pop.cgi, httemplate/edit/agent.cgi,
          httemplate/edit/agent_type.cgi, httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
-         httemplate/misc/catchall.cgi,
+         httemplate/edit/part_referral.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi, httemplate/misc/catchall.cgi,
          httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/search/cust_main.cgi, httemplate/search/cust_pkg.cgi,
-         httemplate/search/svc_acct.cgi, httemplate/search/svc_domain.cgi,
-         httemplate/view/cust_bill.cgi, httemplate/view/cust_main.cgi,
-         httemplate/view/svc_acct.cgi, httemplate/view/svc_domain.cgi,
-         httemplate/view/svc_forward.cgi: cache foo *sigh*
+         httemplate/search/cust_bill.cgi, httemplate/search/cust_main.cgi,
+         httemplate/search/cust_pkg.cgi, httemplate/search/svc_acct.cgi,
+         httemplate/search/svc_acct_sm.cgi,
+         httemplate/search/svc_domain.cgi, httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
+         httemplate/view/svc_domain.cgi, httemplate/view/svc_forward.cgi:
+         cache foo *sigh*
 
 2001-10-26 02:50  ivan
 
 
        * FS/FS.pm, FS/MANIFEST, FS/FS/Conf.pm, FS/FS/ConfItem.pm,
          FS/FS/svc_acct.pm, FS/FS/svc_domain.pm, FS/t/ConfItem.t,
-         httemplate/index.html, httemplate/config/config-process.cgi,
-         httemplate/config/config-view.cgi,
-         httemplate/search/svc_acct.cgi: preliminary web config editor
+         bin/fs-setup, bin/svc_acct.export, httemplate/index.html,
+         httemplate/config/config-process.cgi,
+         httemplate/config/config-view.cgi, httemplate/docs/config.html,
+         httemplate/docs/install.html, httemplate/search/svc_acct.cgi:
+         preliminary web config editor
 
          new config files: username-ampersand, passwordmax
 
 
          documentation updates
 
+2001-10-23 17:59  ivan
+
+       * httemplate/browse/queue.cgi: Can't find string terminator "!"
+         anywhere before EOF at queue.cgi line 42
+
 2001-10-23 13:53  ivan
 
        * FS/bin/freeside-queued: Pg: FOR UPDATE LIMIT 1 mysql: LIMIT 1 FOR
 
          greeeat.
 
+2001-10-23 11:57  ivan
+
+       * httemplate/docs/: config.html, install.html: document how to set
+         MySQL with BDB default tables
+
+2001-10-23 11:15  ivan
+
+       * bin/fs-setup: mysql fixes
+
 2001-10-22 07:48  ivan
 
        * FS/FS/svc_acct.pm: fix dir check
 
 2001-10-20 05:17  ivan
 
-       * FS/FS/cust_main.pm, FS/FS/part_pkg.pm, htetc/handler.pl,
+       * README.1.4.0pre3-4, FS/FS/cust_main.pm, FS/FS/part_pkg.pm,
+         bin/fs-setup, htetc/global.asa, htetc/handler.pl,
          httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/docs/upgrade8.html, httemplate/edit/part_pkg.cgi,
+         httemplate/edit/svc_acct.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/part_pkg.cgi: setup and recurring fee tax
          exempt flags, UI to edit rework part_pkg editing UI some more
 
+2001-10-16 13:33  jeff
+
+       * bin/svc_acct.export: added slipip insertion for icradius and
+         vpopmail restart config
+
 2001-10-15 07:58  ivan
 
-       * FS/FS/cust_pkg.pm, htetc/handler.pl,
+       * FS/FS/cust_pkg.pm, htetc/global.asa, htetc/handler.pl,
          httemplate/edit/REAL_cust_pkg.cgi,
-         httemplate/edit/process/REAL_cust_pkg.cgi: date editing
+         httemplate/edit/process/REAL_cust_pkg.cgi,
+         httemplate/view/cust_pkg.cgi: date editing
 
 2001-10-15 05:16  ivan
 
 
 2001-10-15 03:42  ivan
 
-       * FS/FS/cust_main.pm, FS/FS/part_pkg.pm,
-         httemplate/browse/part_pkg.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
+       * README.1.4.0pre3-4, FS/FS/cust_main.pm, FS/FS/part_pkg.pm,
+         bin/fs-setup, httemplate/browse/part_pkg.cgi,
+         httemplate/docs/config.html, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html, httemplate/edit/part_pkg.cgi,
+         httemplate/edit/part_svc.cgi,
          httemplate/edit/process/part_pkg.cgi: price plans web gui 1st
          pass, oh my
 
+2001-10-12 08:26  ivan
+
+       * httemplate/browse/queue.cgi: add (as yet inactive) retry & remove
+         links
+
 2001-10-11 10:46  ivan
 
-       * htetc/handler.pl: price plan uI!
+       * htetc/: global.asa, handler.pl: price plan uI!
 
 2001-10-11 10:44  ivan
 
 
 2001-10-09 16:10  ivan
 
-       * FS/FS/cust_credit.pm, FS/FS/cust_main.pm, FS/FS/cust_pay.pm,
-         FS/FS/cust_pkg.pm, httemplate/docs/schema.html: add
-         `unsuspendauto' config file: enable the automatic unsuspension of
-         suspended packages when a customer's balance due changes from
-         positive to zero or negative as the result of a payment or credit
+       * README.1.4.0pre3-4, FS/FS/cust_credit.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_pay.pm, FS/FS/cust_pkg.pm,
+         httemplate/docs/config.html, httemplate/docs/install.html,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html,
+         bin/fs-setup: add `unsuspendauto' config file: enable the
+         automatic unsuspension of suspended packages when a customer's
+         balance due changes from positive to zero or negative as the
+         result of a payment or credit
 
          add cust_pkg.manual_flag to disable this behaviour per customer
          package (no UI to set this yet)
 
+2001-10-09 06:16  ivan
+
+       * httemplate/docs/install.html: update mysql links
+
 2001-10-09 00:16  ivan
 
        * httemplate/edit/process/part_svc.cgi: that was a confusing bug to
        * FS/FS/cust_pkg.pm: fix syntax error in newly-enabled insert sub,
          sheesh
 
+2001-10-02 13:07  ivan
+
+       * httemplate/docs/upgrade8.html: doc clarification (?)
+
 2001-10-02 09:00  jeff
 
-       * FS/FS/cust_pay_batch.pm: add pkey to batch payments and fix a doc
-         typo
+       * README.1.4.0pre3-4, FS/FS/cust_pay_batch.pm, bin/fs-setup,
+         httemplate/docs/upgrade8.html: add pkey to batch payments and fix
+         a doc typo
 
 2001-10-02 04:10  ivan
 
 
 2001-09-30 13:30  ivan
 
-       * FS/FS/svc_acct.pm: username-uppercase config file
+       * FS/FS/svc_acct.pm, httemplate/docs/config.html:
+         username-uppercase config file
+
+2001-09-27 21:33  ivan
+
+       * httemplate/docs/install.html: ssh recommendations
 
 2001-09-27 14:49  ivan
 
        * httemplate/view/svc_acct.cgi: fix for pre-1.4.0 accounts with no
          domsvc
 
+2001-09-26 04:34  ivan
+
+       * README.1.4.0pre3-4: index oops
+
 2001-09-26 02:17  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/cust_credit_bill.pm,
-         FS/FS/cust_main.pm, FS/FS/part_pop_local.pm,
-         FS/FS/svc_acct_pop.pm, FS/t/part_pop_local.t,
-         httemplate/docs/schema.html: add part_pop_local table
+       * README.1.4.0pre3-4, FS/FS.pm, FS/MANIFEST,
+         FS/FS/cust_credit_bill.pm, FS/FS/cust_main.pm,
+         FS/FS/part_pop_local.pm, FS/FS/svc_acct_pop.pm,
+         FS/t/part_pop_local.t, bin/fs-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html: add part_pop_local table
 
 2001-09-25 11:03  ivan
 
 
 2001-09-25 11:01  ivan
 
-       * FS/FS/cust_main.pm: add emailinvoiceonly config file and begin to
-         use it
+       * FS/FS/cust_main.pm, httemplate/docs/config.html: add
+         emailinvoiceonly config file and begin to use it
 
 2001-09-25 08:55  ivan
 
-       * FS/FS/cust_main.pm: Business::OnlinePayment::BankOfAmerica
+       * FS/FS/cust_main.pm, httemplate/docs/config.html:
+         Business::OnlinePayment::BankOfAmerica
 
 2001-09-24 17:05  ivan
 
 
 2001-09-19 14:06  ivan
 
-       * FS/: MANIFEST, FS/svc_acct.pm, bin/freeside-apply-credits:
+       * README.1.4.0pre3-4, FS/MANIFEST, FS/FS/svc_acct.pm,
+         FS/bin/freeside-apply-credits, httemplate/docs/config.html:
          directory hashing remove jeff's lib patch from
          freeside-apply-credits add freeside-apply-credits to MANIFEST
          README for pre3-4
 2001-09-16 05:45  ivan
 
        * FS/FS/Record.pm, FS/FS/cust_main_invoice.pm, FS/FS/svc_acct.pm,
-         httemplate/index.html, httemplate/search/cust_main.cgi,
-         httemplate/view/cust_main.cgi: fix oops in
-         FS::cust_main_invoice::replace preventing package cancellation
+         httemplate/index.html, httemplate/docs/config.html,
+         httemplate/search/cust_main.cgi, httemplate/view/cust_main.cgi:
+         fix oops in FS::cust_main_invoice::replace preventing package
+         cancellation
 
          add toggle switch to cust_main searching to show/hide cancelled
          customers.  hidecancelledcustomers config file is just which
 
        * FS/FS/Record.pm: s/croak/confess/
 
+2001-09-12 08:54  ivan
+
+       * httemplate/docs/: install.html, upgrade8.html: mason warnings
+
 2001-09-12 08:45  ivan
 
        * FS/FS/part_svc.pm: oops
 2001-09-11 16:44  ivan
 
        * FS/FS/part_svc.pm, httemplate/edit/svc_acct.cgi,
-         httemplate/edit/svc_domain.cgi, httemplate/edit/svc_forward.cgi,
-         httemplate/view/svc_acct.cgi: radius attributes & default/fixed
-         values should work again now
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
+         httemplate/edit/svc_forward.cgi, httemplate/view/svc_acct.cgi:
+         radius attributes & default/fixed values should work again now
 
 2001-09-11 15:20  ivan
 
        * FS/FS/svc_Common.pm, bin/fs-radius-add-check,
-         bin/fs-radius-add-reply: fix radius attribute adding
+         bin/fs-radius-add-reply, bin/fs-setup, bin/svc_acct.export: fix
+         radius attribute adding
 
 2001-09-11 14:58  ivan
 
        * FS/bin/freeside-queued: usage sub
 
+2001-09-11 13:59  ivan
+
+       * httemplate/edit/svc_acct_sm.cgi: persistance problem not clearing
+         variables between runs
+
 2001-09-11 13:44  ivan
 
        * httemplate/search/svc_acct.cgi: getting "you should run the
 
 2001-09-11 02:56  ivan
 
-       * httemplate/: edit/process/quick-cust_pkg.cgi, view/cust_main.cgi:
-         fix quick order
+       * README.1.4.0pre2-3, httemplate/edit/process/quick-cust_pkg.cgi,
+         httemplate/view/cust_main.cgi: fix quick order
+
+2001-09-10 21:44  ivan
+
+       * httemplate/browse/queue.cgi: web queue view
 
 2001-09-10 21:17  ivan
 
-       * FS/FS/svc_acct.pm: username-noperiod config file
+       * FS/FS/svc_acct.pm, httemplate/docs/config.html: username-noperiod
+         config file
 
 2001-09-10 20:15  ivan
 
-       * FS/FS/cust_main.pm, FS/FS/svc_acct.pm, FS/bin/freeside-queued,
-         httemplate/edit/part_svc.cgi: cyrus support
+       * README.1.4.0pre2-3, FS/FS/cust_main.pm, FS/FS/svc_acct.pm,
+         FS/bin/freeside-queued, httemplate/docs/config.html,
+         httemplate/docs/export.html, httemplate/edit/part_svc.cgi: cyrus
+         support
 
 2001-09-10 18:09  ivan
 
 
 2001-09-10 17:08  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/Record.pm,
+       * README.1.4.0pre2-3, FS/FS.pm, FS/MANIFEST, FS/FS/Record.pm,
          FS/FS/cust_credit_bill.pm, FS/FS/cust_main.pm, FS/FS/part_svc.pm,
-         FS/FS/queue.pm, FS/FS/queue_arg.pm, FS/bin/freeside-queued,
-         FS/t/queue.t, FS/t/queue_arg.t, htetc/handler.pl,
-         httemplate/index.html, httemplate/browse/part_svc.cgi,
-         httemplate/docs/schema.html, httemplate/edit/part_svc.cgi,
+         FS/FS/queue.pm, FS/FS/queue_arg.pm, FS/bin/freeside-bill,
+         FS/bin/freeside-queued, FS/t/queue.t, FS/t/queue_arg.t,
+         htetc/handler.pl, httemplate/index.html,
+         httemplate/browse/part_svc.cgi, httemplate/docs/install.html,
+         httemplate/docs/schema.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/part_svc.cgi,
          httemplate/edit/process/part_svc.cgi,
          httemplate/search/cust_main.cgi: faster (cached) fuzzy searches
          prelim. job queues! fixed part_svc editing
 
 2001-09-10 17:07  ivan
 
-       * bin/: freeside-init, fs-migrate-part_svc: fixing
+       * bin/: freeside-init, fs-migrate-part_svc, fs-setup: fixing
          fs-migrate-part_svc updateing fs-setup for job queues
          freeside-init for starting freeside-queued
 
+2001-09-07 17:28  khoff
+
+       * bin/fs-setup: First post.  Sorry.  Missing comma.
+
 2001-09-07 13:49  ivan
 
        * FS/FS/part_svc_column.pm: oops, forgot to add this
 2001-09-07 13:17  ivan
 
        * FS/MANIFEST, FS/FS/raddb.pm, FS/FS/svc_acct.pm, FS/t/raddb.t,
-         bin/fs-radius-add-check, bin/fs-radius-add-reply,
+         bin/fs-radius-add-check, bin/fs-radius-add-reply, bin/fs-setup,
          bin/generate-raddb: fix RADIUS attribute capitalization
 
+2001-09-06 14:43  ivan
+
+       * httemplate/docs/: install.html, postgresql.html: no more pg
+         RADIUS silliness
+
 2001-09-06 14:20  ivan
 
        * FS/FS/svc_acct.pm, httemplate/docs/schema.html: doc
 
 2001-09-06 13:41  ivan
 
-       * FS/FS.pm, FS/MANIFEST, FS/FS/UID.pm, FS/FS/part_svc.pm,
-         FS/FS/svc_Common.pm, FS/FS/svc_acct.pm, FS/FS/svc_domain.pm,
-         FS/FS/svc_forward.pm, FS/FS/svc_www.pm, FS/t/part_svc_column.t,
+       * README.1.4.0pre2-3, FS/FS.pm, FS/MANIFEST, FS/FS/UID.pm,
+         FS/FS/part_svc.pm, FS/FS/svc_Common.pm, FS/FS/svc_acct.pm,
+         FS/FS/svc_acct_sm.pm, FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
+         FS/FS/svc_www.pm, FS/t/part_svc_column.t,
          bin/fs-migrate-part_svc, bin/fs-migrate-payref,
-         bin/fs-radius-add-check, bin/fs-radius-add-reply,
+         bin/fs-radius-add-check, bin/fs-radius-add-reply, bin/fs-setup,
          httemplate/browse/part_svc.cgi, httemplate/docs/schema.html,
-         httemplate/edit/part_svc.cgi,
+         httemplate/docs/upgrade8.html, httemplate/edit/part_svc.cgi,
          httemplate/edit/process/part_svc.cgi: finally fix part_svc!!!
 
 2001-09-04 08:12  ivan
 
        * FS/FS/cust_pkg.pm, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
          httemplate/browse/part_svc.cgi, httemplate/docs/admin.html,
          httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
          httemplate/edit/process/quick-cust_pkg.cgi,
          httemplate/view/cust_main.cgi: new admin documentation, quick
          one-pkg order
 
+2001-09-04 04:15  ivan
+
+       * bin/fs-setup: rar
+
+2001-09-04 04:15  ivan
+
+       * bin/fs-setup: much better
+
+2001-09-04 04:14  ivan
+
+       * bin/fs-setup: tyops
+
+2001-09-04 04:03  ivan
+
+       * bin/fs-setup, httemplate/docs/config.html: silly syntax error and
+         doc updates
+
+2001-09-04 02:55  ivan
+
+       * httemplate/docs/install.html: better installation instructions
+
+2001-09-04 02:54  ivan
+
+       * htetc/global.asa: hehe, this should help out everybody without
+         DBIx::Profile (i.e. everybody)
+
+2001-09-03 15:16  ivan
+
+       * bin/fs-setup: this too
+
 2001-09-03 15:07  ivan
 
        * FS/FS/cust_bill.pm, FS/FS/cust_bill_pay.pm, FS/FS/cust_main.pm,
-         FS/FS/cust_pay.pm, FS/FS/cust_svc.pm,
-         httemplate/docs/signup.html, httemplate/edit/cust_credit.cgi,
+         FS/FS/cust_pay.pm, FS/FS/cust_svc.pm, FS/bin/freeside-bill,
+         httemplate/docs/signup.html, httemplate/docs/upgrade8.html,
+         httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/cust_pay.cgi,
          httemplate/edit/process/cust_pay.cgi, httemplate/misc/bill.cgi,
 
 2001-09-01 21:25  ivan
 
-       * FS/: FS.pm, MANIFEST, FS/cust_bill_pay.pm, FS/cust_main.pm,
-         FS/cust_refund.pm, t/CGI.t, t/Conf.t, t/Record.t, t/UID.t,
-         t/agent.t, t/agent_type.t, t/cust_bill.t, t/cust_bill_pay.t,
-         t/cust_bill_pkg.t, t/cust_credit.t, t/cust_credit_bill.t,
-         t/cust_credit_refund.t, t/cust_main.t, t/cust_main_county.t,
-         t/cust_main_invoice.t, t/cust_pay.t, t/cust_pay_batch.t,
-         t/cust_pkg.t, t/cust_refund.t, t/cust_svc.t, t/domain_record.t,
-         t/nas.t, t/part_pkg.t, t/part_referral.t, t/part_svc.t,
-         t/pkg_svc.t, t/port.t, t/prepay_credit.t, t/session.t,
-         t/svc_Common.t, t/svc_acct.t, t/svc_acct_pop.t, t/svc_domain.t,
+       * FS/: FS.pm, MANIFEST, test.pl, FS/cust_bill_pay.pm,
+         FS/cust_main.pm, FS/cust_refund.pm, t/CGI.t, t/CGIwrapper.t,
+         t/Conf.t, t/Record.t, t/UID.t, t/agent.t, t/agent_type.t,
+         t/cust_bill.t, t/cust_bill_pay.t, t/cust_bill_pkg.t,
+         t/cust_credit.t, t/cust_credit_bill.t, t/cust_credit_refund.t,
+         t/cust_main.t, t/cust_main_county.t, t/cust_main_invoice.t,
+         t/cust_pay.t, t/cust_pay_batch.t, t/cust_pkg.t, t/cust_refund.t,
+         t/cust_svc.t, t/domain_record.t, t/nas.t, t/part_pkg.t,
+         t/part_referral.t, t/part_svc.t, t/pkg_svc.t, t/port.t,
+         t/prepay_credit.t, t/session.t, t/svc_Common.t, t/svc_acct.t,
+         t/svc_acct_pop.t, t/svc_acct_sm.t, t/svc_domain.t,
          t/svc_forward.t, t/svc_www.t, t/type_pkgs.t: lame testsuite and
          the embarassing fixes in it found
 
+2001-09-01 20:42  ivan
+
+       * httemplate/docs/upgrade8.html: really.  backup.
+
+2001-09-01 20:20  ivan
+
+       * httemplate/docs/upgrade8.html: upgrade
+
 2001-09-01 19:53  jeff
 
        * FS/bin/freeside-apply-credits: adding a credit apply utility
 2001-09-01 19:46  ivan
 
        * FS/FS/cust_bill_pay.pm, FS/FS/cust_main.pm, FS/FS/cust_pay.pm,
-         FS/FS/cust_refund.pm, httemplate/docs/schema.html: cust_refund
-         and cust_pay get custnums
+         FS/FS/cust_refund.pm, bin/fs-setup, httemplate/docs/schema.html,
+         httemplate/docs/upgrade8.html: cust_refund and cust_pay get
+         custnums
 
 2001-09-01 18:27  ivan
 
          cust_refund.pm: more udpates for the new world of unapplied
          stuff.  yay.
 
+2001-09-01 16:41  ivan
+
+       * httemplate/docs/upgrade8.html: cust_bill_pay and
+         cust_credit_refund
+
 2001-09-01 15:28  jeff
 
-       * FS/FS/cust_main.pm: haste makes waste... and left a method out
+       * FS/FS/cust_main.pm, httemplate/docs/upgrade8.html: haste makes
+         waste... and left a method out
 
 2001-09-01 15:18  ivan
 
-       * FS/FS/cust_credit_bill.pm: add primary key
+       * FS/FS/cust_credit_bill.pm, bin/fs-setup: add primary key
 
 2001-09-01 15:01  ivan
 
 2001-09-01 14:52  jeff
 
        * FS/MANIFEST, FS/FS/cust_bill.pm, FS/FS/cust_credit.pm,
-         FS/FS/cust_credit_bill.pm, FS/FS/cust_main.pm,
+         FS/FS/cust_credit_bill.pm, FS/FS/cust_main.pm, bin/fs-setup,
+         httemplate/docs/upgrade8.html,
          httemplate/edit/cust_credit_bill.cgi,
          httemplate/edit/process/cust_credit_bill.cgi,
          httemplate/view/cust_main.cgi: add cust_credit_bill relating
 
        * FS/FS/cust_bill_pay.pm, FS/FS/cust_credit_refund.pm,
          FS/FS/cust_main.pm, FS/FS/cust_pay.pm, FS/FS/cust_refund.pm,
-         httemplate/docs/schema.html: cust_bill_pay and
+         bin/fs-setup, httemplate/docs/schema.html: cust_bill_pay and
          cust_credit_refund.  payments can apply to multiple invoices and
          refunds can apply to multiple credits.
 
+2001-09-01 05:35  ivan
+
+       * httemplate/search/cust_bill.cgi: totals
+
 2001-08-31 02:20  ivan
 
        * FS/FS/Record.pm: check US zips more strictly
 
        * httemplate/edit/agent.cgi: ui
 
+2001-08-29 01:45  ivan
+
+       * bin/fs-setup, httemplate/docs/upgrade8.html: catchall *can* be
+         NULL
+
 2001-08-28 09:58  ivan
 
-       * httemplate/: docs/signup.html, search/cust_main.cgi:
-         customer-to-customer referrals in singup server
+       * httemplate/: docs/signup.html, docs/upgrade8.html,
+         search/cust_main.cgi: customer-to-customer referrals in singup
+         server
 
 2001-08-28 07:34  ivan
 
-       * FS/FS/cust_main.pm, httemplate/edit/cust_main.cgi,
+       * FS/FS/cust_main.pm, httemplate/docs/config.html,
+         httemplate/docs/upgrade8.html, httemplate/edit/cust_main.cgi,
          httemplate/search/cust_main.cgi, httemplate/view/cust_main.cgi:
          customer-to-customer referrals!
 
 
 2001-08-21 02:34  ivan
 
-       * FS/FS/Record.pm, FS/FS/UID.pm, httemplate/browse/agent.cgi,
+       * FS/FS/Record.pm, FS/FS/UID.pm, FS/bin/freeside-bill,
+         htetc/global.asa, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
          httemplate/browse/svc_acct_pop.cgi: no more &swapuid
 
 2001-08-20 20:03  ivan
 2001-08-20 19:44  ivan
 
        * FS/FS/domain_record.pm, FS/FS/prepay_credit.pm, FS/FS/svc_www.pm,
-         eg/TEMPLATE_cust_main.import, eg/table_template-svc.pm: remove
-         $Log$
+         FS/bin/freeside-print-batch, eg/TEMPLATE_cust_main.import,
+         eg/table_template-svc.pm: remove $Log$
 
 2001-08-20 19:43  ivan
 
-       * bin/fs-migrate-svc_acct_sm: i think svc_acct_sm.import should go
-         away, but...
+       * bin/: dbdef-create, fs-migrate-svc_acct_sm, svc_acct_sm.import: i
+         think svc_acct_sm.import should go away, but...
 
 2001-08-20 19:32  ivan
 
 2001-08-20 19:31  ivan
 
        * httemplate/: browse/agent.cgi, browse/agent_type.cgi,
-         browse/part_pkg.cgi, browse/svc_acct_pop.cgi, edit/agent.cgi,
-         edit/agent_type.cgi, edit/cust_credit.cgi,
-         edit/cust_main_county-expand.cgi, edit/cust_pay.cgi,
-         edit/cust_pkg.cgi, edit/part_pkg.cgi, edit/svc_acct_pop.cgi,
-         edit/svc_domain.cgi, edit/svc_forward.cgi,
+         browse/part_pkg.cgi, browse/part_referral.cgi,
+         browse/svc_acct_pop.cgi, edit/agent.cgi, edit/agent_type.cgi,
+         edit/cust_credit.cgi, edit/cust_main_county-expand.cgi,
+         edit/cust_main_county.cgi, edit/cust_pay.cgi, edit/cust_pkg.cgi,
+         edit/part_pkg.cgi, edit/part_referral.cgi, edit/svc_acct_pop.cgi,
+         edit/svc_acct_sm.cgi, edit/svc_domain.cgi, edit/svc_forward.cgi,
          edit/process/agent.cgi, edit/process/agent_type.cgi,
-         edit/process/cust_credit.cgi, edit/process/cust_pay.cgi,
-         edit/process/cust_pkg.cgi, edit/process/part_pkg.cgi,
+         edit/process/cust_credit.cgi, edit/process/cust_main_county.cgi,
+         edit/process/cust_pay.cgi, edit/process/cust_pkg.cgi,
+         edit/process/part_pkg.cgi, edit/process/part_referral.cgi,
          edit/process/svc_acct.cgi, edit/process/svc_acct_pop.cgi,
-         edit/process/svc_domain.cgi, edit/process/svc_forward.cgi,
-         misc/bill.cgi, misc/cancel-unaudited.cgi, misc/catchall.cgi,
-         misc/delete-customer.cgi, misc/link.cgi, misc/print-invoice.cgi,
+         edit/process/svc_acct_sm.cgi, edit/process/svc_domain.cgi,
+         edit/process/svc_forward.cgi, misc/bill.cgi,
+         misc/cancel-unaudited.cgi, misc/cancel_pkg.cgi,
+         misc/catchall.cgi, misc/delete-customer.cgi, misc/expire_pkg.cgi,
+         misc/link.cgi, misc/print-invoice.cgi, misc/susp_pkg.cgi,
          misc/unsusp_pkg.cgi, misc/process/catchall.cgi,
          misc/process/delete-customer.cgi, misc/process/link.cgi,
-         search/svc_domain.cgi, view/cust_bill.cgi, view/svc_acct.cgi,
-         view/svc_domain.cgi, view/svc_forward.cgi: remove $Log$ messages.
-         whew.
+         search/cust_bill.cgi, search/svc_acct_sm.cgi,
+         search/svc_domain.cgi, view/cust_bill.cgi, view/cust_pkg.cgi,
+         view/svc_acct.cgi, view/svc_acct_sm.cgi, view/svc_domain.cgi,
+         view/svc_forward.cgi: remove $Log$ messages.  whew.
 
 2001-08-20 19:16  ivan
 
 
 2001-08-20 02:41  ivan
 
-       * FS/FS/: svc_acct.pm, svc_domain.pm, svc_forward.pm: dtrt when
-         deleting accouts wrt forwards, catchalls & other references to
-         svc_acct records
+       * FS/FS/: svc_acct.pm, svc_acct_sm.pm, svc_domain.pm,
+         svc_forward.pm: dtrt when deleting accouts wrt forwards,
+         catchalls & other references to svc_acct records
 
          depreciate svc_acct_sm further; move qmail catchall handling to
          svc_domain
 
 2001-08-20 02:38  ivan
 
-       * httemplate/docs/schema.html: documentation updates
+       * httemplate/docs/: config.html, export.html, schema.html:
+         documentation updates
 
 2001-08-19 08:53  jeff
 
          httemplate/view/svc_forward.cgi: added user interface for
          svc_forward and vpopmail support
 
+2001-08-19 06:50  ivan
+
+       * bin/fs-setup, httemplate/docs/upgrade8.html: indices on cust_main
+         ship_last and ship_country
+
 2001-08-19 03:25  ivan
 
        * bin/svc_acct.import: add system shells to @FS::svc_acct:shells on
          the fly, fixes: ticket #88
 
+2001-08-19 02:08  ivan
+
+       * TODO: this is what i fed to RT, might as well check it in.
+
+         no further modifications to TODO.  everything is in the ticketing
+         system now.
+
 2001-08-19 01:32  ivan
 
        * httemplate/search/cust_pkg.cgi: display bill and service
 2001-08-17 04:05  ivan
 
        * httemplate/: browse/cust_main_county.cgi,
+         edit/cust_main_county.cgi,
          edit/process/cust_main_county-collapse.cgi,
          edit/process/cust_main_county-expand.cgi: clean up tax rate
          editing:   sort by country->state->county,   add "collapse state"
 
 2001-08-17 03:57  ivan
 
-       * bin/svc_acct.import: gah
+       * bin/: dbdef-create, svc_acct.export, svc_acct.import: gah
 
 2001-08-17 03:57  ivan
 
 
 2001-08-17 03:55  ivan
 
-       * FS/FS/cust_main.pm: Business::OnlinePayment
+       * FS/FS/cust_main.pm, httemplate/docs/config.html:
+         Business::OnlinePayment
 
 2001-08-17 03:53  ivan
 
 
        * FS/FS/svc_acct.pm: untaint svcnum & domsvc
 
+2001-08-12 17:19  ivan
+
+       * bin/fs-setup: depriciate svc_acct_sm, add unique index for
+         username+domsvc on svc_acct, remove silly $Log$
+
 2001-08-12 12:41  jeff
 
        * FS/FS/svc_acct.pm, FS/FS/svc_domain.pm, FS/FS/svc_forward.pm,
-         bin/fs-migrate-svc_acct_sm: merging vpopmail support branch
+         bin/fs-migrate-svc_acct_sm, bin/fs-setup, bin/svc_acct.export,
+         bin/svc_acct_sm.export, httemplate/docs/config.html,
+         httemplate/docs/upgrade8.html: merging vpopmail support branch
 
 2001-08-12 01:56  ivan
 
        * httemplate/edit/process/part_svc.cgi: don't use
          Apache::ASP-specific $Redirect object
 
+2001-08-11 18:26  ivan
+
+       * httemplate/docs/postgresql.html: i did get it working
+
 2001-08-11 17:07  ivan
 
        * httemplate/edit/: cust_main.cgi, process/cust_main.cgi: use
 
        * httemplate/browse/part_svc.cgi: missed a variable interpolation
 
+2001-08-10 22:53  ivan
+
+       * bin/fs-setup, httemplate/docs/upgrade8.html: add comments field
+
 2001-08-10 22:52  ivan
 
        * httemplate/: edit/cust_main.cgi, view/cust_main.cgi: add customer
          httemplate/search/cust_main.cgi, httemplate/view/cust_main.cgi:
          shipping address additions
 
+2001-07-30 02:53  ivan
+
+       * httemplate/docs/upgrade8.html: Pg primary key upgrade fix (create
+         fix in new DBIx::DBSchema)
+
 2001-07-30 01:03  ivan
 
        * httemplate/: .htaccess, docs/overview.dia, docs/overview.png:
 
 2001-07-30 01:02  ivan
 
-       * htetc/handler.pl: template stuffs
+       * htetc/: global.asa, handler.pl: template stuffs
 
 2001-07-30 01:01  ivan
 
        * Makefile: need this too!
 
+2001-07-30 00:42  ivan
+
+       * bin/fs-setup: need an DBIx::DBSchema with delcolumn
+
 2001-07-30 00:36  ivan
 
        * httemplate/index.html, httemplate/browse/agent.cgi,
          httemplate/browse/agent_type.cgi,
          httemplate/browse/cust_main_county.cgi,
          httemplate/browse/nas.cgi, httemplate/browse/part_pkg.cgi,
+         httemplate/browse/part_referral.cgi,
          httemplate/browse/part_svc.cgi,
          httemplate/browse/svc_acct_pop.cgi, httemplate/docs/admin.html,
-         httemplate/docs/index.html, httemplate/docs/legacy.html,
-         httemplate/docs/passwd.html, httemplate/docs/schema.html,
-         httemplate/docs/session.html, httemplate/docs/signup.html,
-         bin/masonize, bin/pod2x, httemplate/edit/agent.cgi,
+         httemplate/docs/billing.html, httemplate/docs/config.html,
+         httemplate/docs/export.html, httemplate/docs/index.html,
+         httemplate/docs/install.html, httemplate/docs/legacy.html,
+         httemplate/docs/passwd.html, httemplate/docs/postgresql.html,
+         httemplate/docs/schema.html, httemplate/docs/session.html,
+         httemplate/docs/signup.html, httemplate/docs/trouble.html,
+         httemplate/docs/upgrade.html, httemplate/docs/upgrade2.html,
+         httemplate/docs/upgrade3.html, httemplate/docs/upgrade4.html,
+         httemplate/docs/upgrade5.html, httemplate/docs/upgrade6.html,
+         httemplate/docs/upgrade7.html, httemplate/docs/upgrade8.html,
+         bin/fs-setup, bin/masonize, bin/pod2x, httemplate/edit/agent.cgi,
          httemplate/edit/agent_type.cgi, httemplate/edit/cust_credit.cgi,
          httemplate/edit/cust_main.cgi,
          httemplate/edit/cust_main_county-expand.cgi,
+         httemplate/edit/cust_main_county.cgi,
          httemplate/edit/cust_pay.cgi, httemplate/edit/cust_pkg.cgi,
-         httemplate/edit/part_pkg.cgi, httemplate/edit/part_svc.cgi,
-         httemplate/edit/svc_acct.cgi, httemplate/edit/svc_acct_pop.cgi,
-         httemplate/edit/svc_domain.cgi,
+         httemplate/edit/part_pkg.cgi, httemplate/edit/part_referral.cgi,
+         httemplate/edit/part_svc.cgi, httemplate/edit/svc_acct.cgi,
+         httemplate/edit/svc_acct_pop.cgi,
+         httemplate/edit/svc_acct_sm.cgi, httemplate/edit/svc_domain.cgi,
          httemplate/edit/process/agent.cgi,
          httemplate/edit/process/agent_type.cgi,
          httemplate/edit/process/cust_credit.cgi,
          httemplate/edit/process/cust_main.cgi,
          httemplate/edit/process/cust_main_county-expand.cgi,
+         httemplate/edit/process/cust_main_county.cgi,
          httemplate/edit/process/cust_pay.cgi,
          httemplate/edit/process/cust_pkg.cgi,
          httemplate/edit/process/part_pkg.cgi,
+         httemplate/edit/process/part_referral.cgi,
          httemplate/edit/process/part_svc.cgi,
          httemplate/edit/process/svc_acct.cgi,
          httemplate/edit/process/svc_acct_pop.cgi,
+         httemplate/edit/process/svc_acct_sm.cgi,
          httemplate/edit/process/svc_domain.cgi,
-         httemplate/images/small-logo.png, httemplate/misc/bill.cgi,
-         httemplate/misc/cancel-unaudited.cgi,
-         httemplate/misc/delete-customer.cgi, httemplate/misc/link.cgi,
-         httemplate/misc/print-invoice.cgi,
+         httemplate/images/mid-logo.png, httemplate/images/small-logo.png,
+         httemplate/misc/bill.cgi, httemplate/misc/cancel-unaudited.cgi,
+         httemplate/misc/cancel_pkg.cgi,
+         httemplate/misc/delete-customer.cgi,
+         httemplate/misc/expire_pkg.cgi, httemplate/misc/link.cgi,
+         httemplate/misc/print-invoice.cgi, httemplate/misc/susp_pkg.cgi,
          httemplate/misc/unsusp_pkg.cgi,
          httemplate/misc/process/delete-customer.cgi,
          httemplate/misc/process/link.cgi,
+         httemplate/search/cust_bill.cgi,
          httemplate/search/cust_bill.html,
+         httemplate/search/cust_main-payinfo.html,
          httemplate/search/cust_main.cgi,
          httemplate/search/cust_main.html, httemplate/search/cust_pkg.cgi,
-         httemplate/search/svc_acct.cgi, httemplate/search/svc_domain.cgi,
-         httemplate/view/cust_bill.cgi, httemplate/view/cust_main.cgi,
-         httemplate/view/svc_acct.cgi, httemplate/view/svc_domain.cgi:
-         templates!!!
+         httemplate/search/svc_acct.cgi, httemplate/search/svc_acct.html,
+         httemplate/search/svc_acct_sm.cgi,
+         httemplate/search/svc_acct_sm.html,
+         httemplate/search/svc_domain.cgi,
+         httemplate/search/svc_domain.html, httemplate/view/cust_bill.cgi,
+         httemplate/view/cust_main.cgi, httemplate/view/cust_pkg.cgi,
+         httemplate/view/svc_acct.cgi, httemplate/view/svc_acct_sm.cgi,
+         httemplate/view/svc_domain.cgi: templates!!!
 
 2001-07-30 00:33  ivan
 
 
        * INSTALL, README: templates!
 
+2001-07-30 00:13  ivan
+
+       * TODO: todocruft
+
 2001-07-29 23:28  ivan
 
        * FS/FS/svc_acct.pm: allow !! as password for disabled accounts
 
 2001-07-29 23:07  ivan
 
-       * bin/svc_acct.import: allow !! for locked accounts instead of
-         changing to *SUSPENDED*
+       * bin/: svc_acct.export, svc_acct.import: allow !! for locked
+         accounts instead of changing to *SUSPENDED*
 
 2001-07-27 10:16  ivan
 
 
        * FS/FS/UID.pm: better error message
 
+2001-06-20 01:33  ivan
+
+       * bin/svc_acct.export: >     Use of uninitialized value in
+         concatenation (.) at svc_acct.export line
+         > 276.
+
+2001-06-06 15:22  ivan
+
+       * TODO: templating thoughts
+
 2001-06-05 14:40  ivan
 
-       * debian/: README.Debian, changelog, control, copyright, init.d.ex,
-         rules: add deb packaging foo (doesn't work yet)
+       * debian/: README.Debian, changelog, conffiles.ex, control,
+         copyright, cron.d.ex, dirs, docs, ex.doc-base.package,
+         freeside-doc.docs, freeside-doc.files, init.d.ex, manpage.1.ex,
+         manpage.sgml.ex, menu.ex, postinst.ex, postrm.ex, preinst.ex,
+         prerm.ex, rules, watch.ex: add deb packaging foo (doesn't work
+         yet)
 
 2001-06-03 10:22  ivan
 
 
        * README: 1.3.1!!!
 
+2001-06-03 07:16  ivan
+
+       * bin/fs-setup: allow empty refund reasons
+
+2001-06-03 07:15  ivan
+
+       * TODO: yes yes
+
 2001-06-03 05:36  ivan
 
        * FS/FS/svc_acct.pm: add username-letter and username-letterfirst
 
        * FS/bin/freeside-email: simple program to list all email addresses
 
+2001-05-08 03:44  ivan
+
+       * bin/: svc_acct.export, svc_acct_sm.export: fix for OO Net::SCP
+
 2001-05-07 08:42  ivan
 
        * FS/FS/Record.pm: tyop
 
 2001-04-21 18:56  ivan
 
-       * README, FS/FS.pm, FS/MANIFEST, FS/FS/svc_acct.pm,
-         FS/FS/svc_domain.pm, FS/FS/svc_www.pm, bin/svc_acct.import: get
-         rid of FS::SSH.pm (became Net::SSH and Net::SCP on CPAN)
+       * README, FS/FS.pm, FS/MANIFEST, FS/FS/SSH.pm, FS/FS/svc_acct.pm,
+         FS/FS/svc_acct_sm.pm, FS/FS/svc_domain.pm, FS/FS/svc_www.pm,
+         bin/svc_acct.export, bin/svc_acct.import, bin/svc_acct_sm.export,
+         bin/svc_acct_sm.import, bin/svc_domain.import,
+         fs_passwd/fs_passwd_server: get rid of FS::SSH.pm (became
+         Net::SSH and Net::SCP on CPAN)
 
 2001-04-21 18:38  ivan
 
-       * FS/FS/svc_domain.pm: svc_domain needs to import dbh sub from
-         Record view/cust_main.cgi needs to use ->owed method, not check
-         (depriciated) owed field search/cust_bill.cgi redirect error when
-         there's only one invoice
+       * TODO, FS/FS/svc_domain.pm: svc_domain needs to import dbh sub
+         from Record view/cust_main.cgi needs to use ->owed method, not
+         check (depriciated) owed field search/cust_bill.cgi redirect
+         error when there's only one invoice
 
 2001-04-21 17:49  ivan
 
 
        * FS/MANIFEST: no more dbdef
 
+2001-04-15 06:56  ivan
+
+       * TODO: [no log message]
+
 2001-04-15 06:35  ivan
 
        * FS/FS/: nas.pm, session.pm, svc_Common.pm, svc_domain.pm:
 
 2001-04-15 05:56  ivan
 
-       * FS/FS/Record.pm: s/dbdef/DBIx::DBSchema/
+       * TODO, FS/FS/Record.pm, FS/FS/dbdef.pm, FS/FS/dbdef_colgroup.pm,
+         FS/FS/dbdef_column.pm, FS/FS/dbdef_index.pm,
+         FS/FS/dbdef_table.pm, FS/FS/dbdef_unique.pm, bin/dbdef-create,
+         bin/fs-setup: s/dbdef/DBIx::DBSchema/
 
 2001-04-15 03:33  ivan
 
-       * CREDITS: better docs for the worst bit, finally
+       * CREDITS, TODO: better docs for the worst bit, finally
+
+2001-04-15 02:36  ivan
+
+       * bin/fs-setup:
+         http://www.sisd.com/freeside/list-archive/msg01450.html
 
 2001-04-09 16:05  ivan
 
-       * FS/FS/: cust_bill.pm, cust_credit.pm, cust_main.pm, cust_pay.pm,
-         cust_pkg.pm, cust_refund.pm, session.pm, svc_Common.pm:
-         Transactions Part I!!!
+       * TODO, FS/FS/cust_bill.pm, FS/FS/cust_credit.pm,
+         FS/FS/cust_main.pm, FS/FS/cust_pay.pm, FS/FS/cust_pkg.pm,
+         FS/FS/cust_refund.pm, FS/FS/session.pm, FS/FS/svc_Common.pm,
+         bin/fs-setup: Transactions Part I!!!
 
 2001-04-09 08:50  ivan
 
-       * CREDITS, FS/MANIFEST: rar
+       * CREDITS, TODO, FS/MANIFEST: rar
 
 2001-03-30 09:33  ivan
 
        * FS/FS/session.pm: silly typo, fix sent by Mack <mackn@mackn.net>,
          thanks!
 
+2001-02-21 15:48  ivan
+
+       * bin/svc_acct.export: add icradius_secrets config file to export
+         to a non-Freeside MySQL database for ICRADIUS
+
+2001-02-20 17:48  ivan
+
+       * FS/bin/freeside-print-batch: stupid pod errors
+
+2001-02-20 17:46  ivan
+
+       * FS/FS/: Bill.pm, Invoice.pm: cruft
+
 2001-02-20 17:45  ivan
 
        * FS/FS/nas.pm: pod tyop
 
 2001-02-03 06:03  ivan
 
-       * FS/FS/Record.pm, FS/FS/UID.pm, FS/FS/cust_main.pm,
+       * FS/FS/Record.pm, FS/FS/UID.pm, FS/FS/cust_main.pm, bin/fs-setup,
          bin/generate-prepay: time-based prepaid cards, session monitor.
          woop!
 
 2001-01-30 23:21  ivan
 
-       * FS/FS/: cust_main.pm, svc_acct.pm: fix tyops
+       * TODO, FS/FS/cust_main.pm, FS/FS/svc_acct.pm: fix tyops
 
 2001-01-30 01:08  ivan
 
 
 2000-12-26 15:51  ivan
 
-       * CREDITS: statedefault & referraldefault config files
+       * CREDITS, TODO: statedefault & referraldefault config files
+
+2000-12-10 17:30  ivan
+
+       * TODO: more ancient todo stuff from my inbox
+
+2000-12-10 17:10  ivan
+
+       * TODO: ancient stuff out of my inbox
 
 2000-12-08 14:22  ivan
 
 
        * FS/FS/Record.pm: DESTROY sub
 
+2000-12-03 16:13  ivan
+
+       * bin/fs-setup: fix nas.last type
+
 2000-12-03 12:25  ivan
 
-       * FS/FS/: Record.pm, nas.pm, port.pm, session.pm: session monitor
-         updates
+       * TODO, FS/FS/Record.pm, FS/FS/nas.pm, FS/FS/port.pm,
+         FS/FS/session.pm: session monitor updates
 
 2000-12-03 07:14  ivan
 
-       * CREDITS, FS/FS/cust_bill.pm: bugfixes from Jeff Finucane
-         <jeff@cmh.net>, thanks!
+       * CREDITS, FS/FS/cust_bill.pm, bin/svc_acct_sm.import: bugfixes
+         from Jeff Finucane <jeff@cmh.net>, thanks!
 
 2000-12-03 05:45  ivan
 
 
 2000-12-03 02:09  ivan
 
-       * FS/MANIFEST: bad caches!
+       * FS/: MANIFEST, FS/CGIwrapper.pm: bad caches!
+
+2000-12-01 10:34  ivan
+
+       * bin/fs-setup: another tyop
+
+2000-12-01 10:33  ivan
+
+       * bin/fs-setup: tyop
 
 2000-11-22 15:30  ivan
 
 
 2000-11-07 07:00  ivan
 
-       * FS/: MANIFEST, FS/Record.pm, FS/nas.pm, FS/session.pm: session
-         monitor
+       * FS/MANIFEST, FS/FS/Record.pm, FS/FS/nas.pm, FS/FS/session.pm,
+         bin/fs-setup: session monitor
+
+2000-10-30 02:47  ivan
+
+       * bin/fs-setup: nas.last can't be defined NULL if indexed
 
 2000-10-27 13:18  ivan
 
 
 2000-10-27 13:15  ivan
 
-       * FS/FS/Record.pm, eg/table_template.pm: session monitor
+       * TODO, FS/FS/Record.pm, bin/fs-setup, eg/table_template.pm:
+         session monitor
+
+2000-10-15 05:58  ivan
+
+       * TODO: roo
 
 2000-10-11 17:44  ivan
 
          print_text method is called, want to print overdue invoices if
          printed > 0, not > 1
 
+2000-08-24 00:26  ivan
+
+       * TODO: untaint template source
+
 2000-08-09 11:40  ivan
 
        * conf/invoice_template: example invoice template
 
 2000-08-09 04:30  ivan
 
-       * FS/FS/cust_bill.pm: templatable invoices
+       * TODO, FS/FS/cust_bill.pm: templatable invoices
 
 2000-07-17 06:51  ivan
 
 
        * CREDITS: rawr!
 
+2000-07-06 21:05  ivan
+
+       * fs_passwd/fs_passwd_server: wait()ing on SIGCHLD causing hangs
+         for some folks
+
 2000-07-06 06:56  ivan
 
        * FS/FS/svc_acct.pm: mis-PODed =back should have been a =cut in
          conjunction with AUTOLOAD this was sure a pain to find
 
+2000-07-06 06:23  ivan
+
+       * bin/svc_acct.export: tyop
+
 2000-07-06 06:19  ivan
 
        * bin/: fs-radius-add-check, fs-radius-add-reply: remove duplicate
 
 2000-07-06 01:57  ivan
 
-       * FS/FS/svc_acct.pm, bin/fs-radius-add-check,
-         bin/fs-radius-add-reply: support for radius check attributes
-         (except importing).  poorly documented.
+       * TODO, FS/FS/svc_acct.pm, bin/fs-radius-add,
+         bin/fs-radius-add-check, bin/fs-radius-add-reply, bin/fs-setup,
+         bin/svc_acct.export: support for radius check attributes (except
+         importing).  poorly documented.
+
+2000-07-05 20:37  ivan
+
+       * bin/svc_acct_sm.export: don't error out on invalid
+         svc_acct_sm.domuid's that can't be matched in svc_acct.uid - just
+         warn.
 
 2000-07-04 06:42  ivan
 
        * FS/FS/svc_acct.pm: noted a API inconsistancy
 
+2000-07-03 02:13  ivan
+
+       * bin/svc_acct_sm.export: get rid of double sendmailrestart
+         invocation; no need for multiple sessions
+
+2000-07-03 02:09  ivan
+
+       * bin/svc_acct_sm.export: typo
+
+2000-07-03 02:03  ivan
+
+       * TODO, bin/svc_acct_sm.export: added sendmailrestart and
+         sendmailconfigpath config files
+
+2000-06-30 03:37  ivan
+
+       * FS/FS/svc_acct_sm.pm: maildisablecatchall configuration file
+
+2000-06-29 08:01  ivan
+
+       * bin/svc_acct.export: another silly typo in svc_acct.export
+
+2000-06-29 07:02  ivan
+
+       * bin/svc_acct_sm.export: add sendmailrestart configuration file
+
 2000-06-29 05:27  ivan
 
        * bin/svc_acct.import: s/password/_password/ for PostgreSQL wasn't
          done in the import.
 
+2000-06-29 05:00  ivan
+
+       * bin/fs-setup: support for pre-encrypted md5 passwords.
+
 2000-06-29 04:56  ivan
 
        * FS/FS/svc_acct.pm: md5 passwords can are 34 characters long and
        * FS/FS/svc_domain.pm: don't block on $whois_hack trueness when
          adding new domains.
 
+2000-06-29 03:51  ivan
+
+       * bin/svc_acct_sm.import: oops, silly mistake
+
+2000-06-29 03:48  ivan
+
+       * bin/svc_acct_sm.import: make svc_acct_sm skip blank lines in
+         sendmail import
+
 2000-06-28 05:54  ivan
 
        * FS/FS/svc_acct.pm: superfluous my()
        * FS/FS/svc_acct.pm: bugfix to accept shells that evaluate to false
          in perl, like the empty string.
 
+2000-06-28 05:37  ivan
+
+       * bin/svc_acct.export: add support for config option
+         textradiusprepend
+
 2000-06-28 05:32  ivan
 
        * bin/svc_acct.import: allow RADIUS lines with "Auth-Type = Local"
        * bin/svc_acct.import: make svc_acct more forgiving about RADIUS
          users files
 
+2000-06-28 03:51  ivan
+
+       * bin/fs-radius-add: forgot to import a sub
+
+2000-06-28 03:48  ivan
+
+       * bin/fs-radius-add: quick hack to add RADIUS attributes
+
+2000-06-27 05:15  ivan
+
+       * TODO: i18n
+
 2000-06-27 05:15  ivan
 
        * FS/FS/: Record.pm, cust_main.pm: i18
 
 2000-06-23 17:28  ivan
 
-       * FS/FS/cust_main.pm: don't use Date::Manip; report correct program
-         name in freeside-bill usage msg
+       * FS/: FS/cust_main.pm, bin/freeside-bill: don't use Date::Manip;
+         report correct program name in freeside-bill usage msg
 
 2000-06-23 05:25  ivan
 
-       * CREDITS, FS/FS/Record.pm, FS/FS/UID.pm: FS::Record::qsearch -
-         more portable, doesn't depend on $sth->execute returning a number
-         of rows, uses placeholders and prepare_cached
+       * CREDITS, TODO, FS/FS/Record.pm, FS/FS/UID.pm: FS::Record::qsearch
+         - more portable, doesn't depend on $sth->execute returning a
+         number of rows, uses placeholders and prepare_cached
+
+2000-06-22 03:52  ivan
+
+       * FS/bin/freeside-bill: tyop
 
 2000-06-20 00:13  ivan
 
 
 2000-06-15 07:45  ivan
 
-       * CREDITS: text updates
+       * CREDITS, TODO: text updates
+
+2000-06-15 07:07  ivan
+
+       * bin/svc_acct.export: added ICRADIUS radreply table support,
+         courtesy of Kenny Elliott
 
 2000-06-15 06:35  ivan
 
        * FS/FS/cust_main.pm: fix for ncancelled_pkgs - when called in
          scalar context, was only returning second item
 
+2000-06-12 01:37  ivan
+
+       * bin/svc_acct_sm.export: sendmail fix from Jeff Finucane
+
+2000-05-13 14:57  ivan
+
+       * TODO, FS/bin/freeside-print-batch: add print_batch script from
+         Joel Griffiths
+
 2000-05-13 14:50  ivan
 
        * FS/FS/: CGI.pm, UID.pm: cgisuidsetup takes an Apache object as
        * FS/FS/CGI.pm: CGI.pm detects mod_perl and calls appropriate exit
          (Registry's override doesn't work here)
 
+2000-04-02 19:32  ivan
+
+       * FS/bin/freeside-bill: accept anything in ARGV for -d Date::Parse
+
 2000-03-06 08:38  ivan
 
        * FS/FS/svc_acct.pm: better error message.  bah.
 
+2000-03-06 08:00  ivan
+
+       * bin/svc_acct.export: sync up with working versoin
+
+2000-03-06 07:59  ivan
+
+       * bin/svc_acct.export: finally get MySQL locking working for
+         ICRADIUS export
+
+2000-03-06 07:15  ivan
+
+       * FS/FS/SSH.pm: backout silly change
+
+2000-03-06 07:04  ivan
+
+       * FS/FS/SSH.pm: bug in IPC::Open3 documentation?
+
+2000-03-06 06:59  ivan
+
+       * bin/svc_acct.export: s/sshopen2/sshopen3/ to prevent spurious
+         mysql "Enter password: " dialog from showing up in cron/terminal
+
+2000-03-06 06:51  ivan
+
+       * bin/svc_acct.export: eek
+
+2000-03-06 06:50  ivan
+
+       * bin/svc_acct.export: oop
+
+2000-03-06 06:48  ivan
+
+       * bin/svc_acct.export: s/icradiusmachine/machine/
+
+2000-03-06 06:46  ivan
+
+       * bin/svc_acct.export: not setuid or run by malicious user - no -T
+         necessary
+
+2000-03-06 06:19  ivan
+
+       * bin/svc_acct.export: ICRADIUS export bugfix
+
+2000-03-06 06:12  ivan
+
+       * TODO, bin/svc_acct.export: ICRADIUS export support
+
 2000-03-03 10:45  ivan
 
        * FS/FS/CGI.pm: use Apache::exit instead of exit in &eidiot -
        * FS/FS/Record.pm: changes backported from 1.2.3 release, bugfix
          from web demo
 
+2000-03-01 23:44  ivan
+
+       * bin/fs-setup: typo forgot closing '
+
 2000-03-01 00:13  ivan
 
        * FS/: MANIFEST, FS/svc_domain.pm, FS/svc_www.pm: compilation
 2000-02-02 21:16  ivan
 
        * FS/FS/cust_pkg.pm, FS/FS/domain_record.pm, FS/FS/svc_domain.pm,
-         FS/FS/svc_www.pm, bin/svc_acct.import: beginning of DNS and
-         Apache support
+         FS/FS/svc_www.pm, bin/fs-setup, bin/svc_acct.import,
+         bin/svc_acct_sm.import, bin/svc_domain.import: beginning of DNS
+         and Apache support
 
 2000-02-02 12:22  ivan
 
 
 2000-01-30 21:22  ivan
 
-       * FS/FS/: cust_main.pm, prepay_credit.pm: prepaid "internet cards"
+       * FS/FS/cust_main.pm, FS/FS/prepay_credit.pm, bin/fs-setup: prepaid
+         "internet cards"
 
 2000-01-30 00:18  ivan
 
        * CREDITS: [no log message]
 
+2000-01-29 22:11  ivan
+
+       * TODO: [no log message]
+
+2000-01-29 22:03  ivan
+
+       * bin/fs-setup: postgres 6.5 finally supports decimal(10,2)
+
 2000-01-29 13:10  ivan
 
        * FS/FS/svc_domain.pm: doc update
 
 2000-01-28 14:53  ivan
 
-       * FS/FS/svc_acct_pop.pm: track full phone number
+       * bin/fs-setup, FS/FS/svc_acct_pop.pm: track full phone number
 
 2000-01-26 16:37  ivan
 
        * README: ack
 
+2000-01-26 16:27  ivan
+
+       * TODO: update TODO
+
 1999-11-08 13:38  ivan
 
        * FS/FS/cust_pkg.pm: remove services using pkg_svc table now, oops!
 
+1999-10-04 01:23  ivan
+
+       * FS/bin/freeside-bill: silly 'use of unitialized value' errors
+
+1999-09-22 15:06  ivan
+
+       * TODO: ya todo update
+
+1999-08-26 23:25  ivan
+
+       * TODO: [no log message]
+
 1999-08-23 05:26  ivan
 
        * test/cgi-test: need to untaint the command line
        * FS/FS/svc_acct.pm: configurable min/max username length, min
          password length, periods in usernames
 
+1999-08-11 13:51  ivan
+
+       * FS/bin/freeside-bill: [no log message]
+
 1999-08-11 13:41  ivan
 
-       * FS/: MANIFEST, Makefile.PL, FS/svc_domain.pm: new bill script,
+       * FS/MANIFEST, FS/Makefile.PL, FS/FS/svc_domain.pm,
+         FS/bin/freeside-bill, bin/bill: new bill script,
+
+1999-08-11 07:42  ivan
+
+       * bin/backup-freeside: [no log message]
 
 1999-08-11 06:12  ivan
 
        * FS/FS/svc_domain.pm: require a working Net::Whois version
 
+1999-08-10 05:06  ivan
+
+       * fs_passwd/fs_passwdd: even though you should probably set this
+         for your installation
+
 1999-08-04 05:42  ivan
 
        * bin/pod2x: new, kludgy-but-working html generator
 
 1999-08-04 02:03  ivan
 
-       * FS/: MANIFEST, MANIFEST.SKIP, FS/CGI.pm, FS/Conf.pm,
-         FS/Record.pm, FS/UID.pm, FS/agent.pm, FS/agent_type.pm,
-         FS/cust_bill.pm, FS/cust_bill_pkg.pm, FS/cust_credit.pm,
-         FS/cust_main.pm, FS/cust_main_county.pm, FS/cust_main_invoice.pm,
-         FS/cust_pay.pm, FS/cust_pay_batch.pm, FS/cust_pkg.pm,
-         FS/cust_refund.pm, FS/cust_svc.pm, FS/part_pkg.pm,
-         FS/part_referral.pm, FS/part_svc.pm, FS/pkg_svc.pm,
-         FS/svc_Common.pm, FS/svc_acct.pm, FS/svc_acct_pop.pm,
-         FS/svc_domain.pm, FS/type_pkgs.pm: initial checkin of module
-         files for proper perl installation
+       * FS/: MANIFEST, MANIFEST.SKIP, README, FS/Bill.pm, FS/CGI.pm,
+         FS/Conf.pm, FS/Invoice.pm, FS/Record.pm, FS/SSH.pm, FS/UID.pm,
+         FS/agent.pm, FS/agent_type.pm, FS/cust_bill.pm,
+         FS/cust_bill_pkg.pm, FS/cust_credit.pm, FS/cust_main.pm,
+         FS/cust_main_county.pm, FS/cust_main_invoice.pm, FS/cust_pay.pm,
+         FS/cust_pay_batch.pm, FS/cust_pkg.pm, FS/cust_refund.pm,
+         FS/cust_svc.pm, FS/dbdef.pm, FS/dbdef_colgroup.pm,
+         FS/dbdef_column.pm, FS/dbdef_index.pm, FS/dbdef_table.pm,
+         FS/dbdef_unique.pm, FS/part_pkg.pm, FS/part_referral.pm,
+         FS/part_svc.pm, FS/pkg_svc.pm, FS/svc_Common.pm, FS/svc_acct.pm,
+         FS/svc_acct_pop.pm, FS/svc_acct_sm.pm, FS/svc_domain.pm,
+         FS/type_pkgs.pm, FS/UI/Base.pm, FS/UI/CGI.pm, FS/UI/Gtk.pm,
+         FS/UI/agent.pm: initial checkin of module files for proper perl
+         installation
 
 1999-08-04 01:03  ivan
 
 
 1999-08-03 21:15  ivan
 
-       * FS/: Changes, FS.pm, MANIFEST, Makefile.PL: initial h2xs
+       * FS/: Changes, FS.pm, MANIFEST, Makefile.PL, test.pl: initial h2xs
+
+1999-08-03 00:43  ivan
+
+       * TODO: use Net::Whois;
+
+1999-07-29 12:13  ivan
+
+       * TODO: [no log message]
+
+1999-07-29 01:50  ivan
+
+       * bin/fs-setup: wrong type for cust_pay_batch.exp
+
+1999-07-15 17:20  ivan
+
+       * TODO: [no log message]
+
+1999-07-15 16:50  ivan
+
+       * TODO: [no log message]
 
 1999-07-08 04:40  ivan
 
-       * CREDITS, README: [no log message]
+       * CREDITS, README, TODO: [no log message]
 
 1999-07-07 19:32  ivan
 
        * bin/svc_acct.import: updates to avoid -w warnings from Joel
          Griffiths <griff@aver-computer.com>
 
+1999-07-07 18:02  ivan
+
+       * TODO: [no log message]
+
+1999-04-29 02:37  ivan
+
+       * TODO: [no log message]
+
 1999-04-19 03:32  ivan
 
        * etc/megapop.pl: if you are a megapop customer...
 
+1999-04-15 15:46  ivan
+
+       * bin/fs-setup: TT isn't a state!
+
+1999-04-14 06:14  ivan
+
+       * TODO: configuration option to edit referrals of existing
+         customers
+
+1999-04-14 04:27  ivan
+
+       * TODO: showpasswords config option to show passwords
+
+1999-04-14 01:58  ivan
+
+       * TODO: [no log message]
+
+1999-04-14 00:58  ivan
+
+       * bin/fs-setup: export getsecrets from FS::UID instead of calling
+         it explicitly
+
+1999-04-08 20:52  ivan
+
+       * TODO: [no log message]
+
 1999-04-08 06:21  ivan
 
-       * CREDITS: [no log message]
+       * CREDITS, conf/address: [no log message]
 
 1999-04-08 06:11  ivan
 
 
        * test/cgi-test: web interface tester / sample data creator
 
+1999-04-08 06:03  ivan
+
+       * TODO: [no log message]
+
 1999-03-26 05:15  ivan
 
        * eg/TEMPLATE_cust_main.import: s/create/new/, use all necessary
          FS::table_names to avoid warnings
 
+1999-03-26 05:00  ivan
+
+       * fs_passwd/fs_passwd_server: s/create/new/
+
 1999-03-25 00:42  ivan
 
-       * bin/svc_acct.import: import stuff uses Term::Query and spits out
-         (some kinds of) nonsensical input
+       * bin/: svc_acct.import, svc_acct_sm.import: import stuff uses
+         Term::Query and spits out (some kinds of) nonsensical input
+
+1999-03-23 16:51  ivan
+
+       * bin/svc_acct_sm.import: die if no relevant services... cvspain
 
 1999-03-23 16:43  ivan
 
        * bin/svc_acct.import: die if no relevant services
 
+1999-02-28 11:44  ivan
+
+       * bin/fs-setup: constructors s/create/new/ pointed out by "Bao C.
+         Ha" <bao@hacom.net>
+
+1999-02-27 13:06  ivan
+
+       * bin/fs-setup: cust_main.paydate should be varchar(10), not
+         @date_type ; problem reported by Ben Leibig <leibig@colorado.edu>
+
+1999-02-23 00:09  ivan
+
+       * TODO: beginnings of one-screen new customer entry and some other
+         miscellania
+
 1999-02-10 01:02  ivan
 
        * etc/sql-reserved-words.txt: some new doc files
 
+1999-02-10 00:27  ivan
+
+       * TODO: [no log message]
+
+1999-02-09 01:56  ivan
+
+       * TODO: [no log message]
+
 1999-02-07 01:59  ivan
 
-       * CREDITS: more mod_perl fixes, and bugfixes Peter Wemm sent via
-         email
+       * CREDITS, TODO, bin/fs-setup: more mod_perl fixes, and bugfixes
+         Peter Wemm sent via email
 
 1999-02-06 14:43  ivan
 
-       * CREDITS: don't use [e]idiot; display error messages on the form
-         page
+       * CREDITS, TODO: don't use [e]idiot; display error messages on the
+         form page
+
+1999-02-03 22:09  ivan
+
+       * bin/fs-setup: add AU provences
+
+1999-02-03 02:42  ivan
+
+       * bin/fs-setup: [no log message]
+
+1999-01-25 04:09  ivan
+
+       * TODO: yet more mod_perl stuff
+
+1999-01-18 15:05  ivan
+
+       * TODO: update TODO for stuff that was done etc.
+
+1999-01-16 19:11  ivan
+
+       * bin/fs-setup: remove preliminary completehost changes
 
 1999-01-15 16:24  ivan
 
 
        * CREDITS: [no log message]
 
+1998-12-30 15:03  ivan
+
+       * TODO: bugfixes; fields isn't exported by derived classes
+
+1998-12-29 03:59  ivan
+
+       * TODO: mostly properly OO, some work still to be done with svc_
+         stuff
+
+1998-12-15 22:05  ivan
+
+       * bin/fs-setup: add table cust_main_invoice
+
+1998-12-15 21:38  ivan
+
+       * TODO: [no log message]
+
+1998-12-15 21:32  ivan
+
+       * fs_passwd/fs_passwd_server: adminsuidsetup now requires user
+
 1998-12-15 21:29  ivan
 
        * eg/TEMPLATE_cust_main.import: adminsuidsetup now need user
 
+1998-12-14 20:36  ivan
+
+       * bin/fs-setup: s/croak/die/; #oops
+
+1998-12-14 20:33  ivan
+
+       * bin/fs-setup: dies if it isn't running as the freeside user
+
 1998-12-09 23:23  ivan
 
-       * bin/svc_acct.import: use FS::Conf, need user (for datasrc)
+       * bin/: svc_acct.export, svc_acct.import, svc_acct_sm.export,
+         svc_acct_sm.import: use FS::Conf, need user (for datasrc)
 
 1998-12-01 17:23  ivan
 
-       * CREDITS: [no log message]
+       * TODO, CREDITS: [no log message]
+
+1998-11-19 03:17  ivan
+
+       * bin/dbdef-create: adminsuidsetup requires argument
 
 1998-11-18 01:01  ivan
 
-       * CREDITS: i18n! i18n!
+       * CREDITS, TODO, bin/fs-setup: i18n! i18n!
+
+1998-11-15 05:18  ivan
+
+       * bin/fs-setup: remove debugging
+
+1998-11-15 01:43  ivan
+
+       * bin/fs-setup: update for new config file syntax, new
+         adminsuidsetup
+
+1998-11-14 18:53  ivan
+
+       * bin/bill: afterthought
+
+1998-11-14 18:51  ivan
+
+       * bin/bill: adminsuidsetup needs user, pod, cleanup
+
+1998-11-13 01:56  ivan
+
+       * TODO: change configuration file layout to support multiple
+         distinct databases (with own set of config files, export, etc.)
 
 1998-11-07 17:09  ivan
 
        * README: don't use depriciated FS::Bill and FS::Invoice, other
          miscellania
 
+1998-11-07 00:25  ivan
+
+       * TODO: [no log message]
+
+1998-11-07 00:21  ivan
+
+       * bin/bill: missing use
+
+1998-11-07 00:19  ivan
+
+       * bin/bill:
+         still need to bless into FS::cust_main (for now)
+
+1998-11-07 00:08  ivan
+
+       * bin/bill:
+         Removed depriciated FS::Bill (now in FS::cust_main)
+
+1998-10-22 08:51  ivan
+
+       * bin/fs-setup: also varchar with no length specified - postgresql
+         fix broke mysql.
+
+1998-10-22 08:46  ivan
+
+       * bin/fs-setup: now smallint is illegal, so remove that too.
+
 1998-10-14 00:05  ivan
 
-       * README: 1.1.4 release, fix postgresql
+       * README, bin/fs-setup: 1.1.4 release, fix postgresql
+
+1998-10-13 05:49  ivan
+
+       * TODO: [no log message]
 
 1998-10-13 05:07  ivan
 
-       * bin/svc_acct.import: Assigns password from the shadow file for
-         RADIUS password "UNIX"
+       * TODO, bin/svc_acct.import: Assigns password from the shadow file
+         for RADIUS password "UNIX"
+
+1998-10-13 02:17  ivan
+
+       * TODO: [no log message]
+
+1998-10-12 14:22  ivan
+
+       * TODO: [no log message]
+
+1998-10-12 14:15  ivan
+
+       * TODO: [no log message]
+
+1998-10-12 02:12  ivan
+
+       * TODO: remove adding cvs from the todo
+
+1998-10-12 02:09  ivan
+
+       * TODO: [no log message]
+
+1998-10-12 02:09  ivan
+
+       * TODO: Id to Header
+
+1998-10-12 02:07  ivan
+
+       * TODO: Test keyword substitution
+
+1998-10-12 01:59  ivan
+
+       * TODO: Commiting sample change.
 
 1998-10-12 00:15  ivan
 
 
 1998-10-12 00:12  ivan
 
-       * conf/: home, lpr: Initial import into CVS
+       * conf/: address, home, lpr, secrets, smtpmachine, domain: Initial
+         revision
+
+1998-10-12 00:08  ivan
 
-1998-10-12 00:12  ivan
+       * TODO: Initial revision
 
-       * conf/smtpmachine: Initial revision
+1998-10-12 00:03  ivan
+
+       * bin/fs-setup: Initial revision
 
 1998-10-11 23:56  ivan
 
 
        * bin/pod2x: Initial revision
 
+1998-09-17 22:43  ivan
+
+       * bin/svc_acct.export: Initial revision
+
 1998-09-02 21:50  ivan
 
        * CREDITS: Initial revision
 
+1998-08-23 20:12  ivan
+
+       * fs_passwd/fs_passwd_server: Initial revision
+
 1998-08-23 20:04  ivan
 
        * fs_passwd/fs_passwd: Initial revision
 
+1998-08-23 19:01  ivan
+
+       * bin/bill: Initial revision
+
 1998-08-19 21:42  ivan
 
        * eg/TEMPLATE_cust_main.import: Initial revision
 
        * bin/svc_acct.import: Initial revision
 
+1998-08-14 15:11  ivan
+
+       * bin/svc_acct_sm.export: Initial revision
+
+1998-08-12 20:55  ivan
+
+       * Artistic: Initial revision
+
 1998-07-18 00:11  ivan
 
-       * etc/domain-template.txt: Initial import into CVS
+       * etc/domain-template.txt: Initial revision
 
-1998-03-22 23:46  ivan
+1998-07-17 00:43  ivan
+
+       * bin/svc_acct_sm.import: Initial revision
+
+1998-06-03 00:22  ivan
+
+       * bin/dbdef-create: Initial revision
+
+1998-03-23 00:20  ivan
 
-       * etc/countries.txt: Initial import into CVS
+       * fs_passwd/fs_passwdd: Initial revision
 
 1998-03-22 23:46  ivan
 
-       * INSTALL: Initial revision
+       * GPL, INSTALL, etc/acp_logfile-parse, etc/countries.txt,
+         etc/example-direct-cardin: Initial revision
 
index 7b9d6fe..7024d60 100644 (file)
--- a/FS/FS.pm
+++ b/FS/FS.pm
@@ -126,6 +126,12 @@ L<FS::registrar> - Domain registrar class
 
 L<FS::svc_forward> - Mail forwarding class
 
+L<FS::svc_mailinglist> - (Customer) Mailing list class
+
+L<FS::mailinglist> - Mailing list class
+
+L<FS::mailinglistmember> - Mailing list member class
+
 L<FS::svc_www> - Web virtual host class.
 
 L<FS::svc_broadband> - DSL, wireless and other broadband class.
@@ -346,6 +352,8 @@ L<FS::h_svc_external> - Historical externally tracked service objects
 
 L<FS::h_svc_forward> - Historical mail forwarding alias objects
 
+L<FS::h_svc_mailinglist> - Historical mailing list objects
+
 L<FS::h_svc_phone> - Historical phone number objects
 
 L<FS::h_svc_pbx> - Historical PBX objects
index da5d983..45d11c4 100644 (file)
@@ -1112,6 +1112,13 @@ worry that config_items is freeside-specific and icky.
   },
 
   {
+    'key'         => 'trigger_export_insert_on_payment',
+    'section'     => 'billing',
+    'description' => 'Enable exports on payment application.',
+    'type'        => 'checkbox',
+  },
+
+  {
     'key'         => 'lpr',
     'section'     => 'required',
     'description' => 'Print command for paper invoices, for example `lpr -h\'',
@@ -3297,6 +3304,13 @@ worry that config_items is freeside-specific and icky.
   },
 
   {
+    'key'         => 'svc_phone-phone_name-max_length',
+    'section'     => '',
+    'description' => 'Maximum length of the phone service "Name" field (svc_phone.phone_name).  Sometimes useful to limit this (to 15?) when exporting as Caller ID data.',
+    'type'        => 'text',
+  },
+
+  {
     'key'         => 'default_phone_countrycode',
     'section'     => '',
     'description' => 'Default countrcode',
@@ -3532,6 +3546,13 @@ worry that config_items is freeside-specific and icky.
     'type'        => 'checkbox',
   },
 
+  {
+    'key'         => 'enable_legacy_prepaid_income',
+    'section'     => '',
+    'description' => "Enable legacy prepaid income reporting.  Only useful when you have imported pre-Freeside packages with longer-than-monthly duration, and need to do prepaid income reporting on them before they've been invoiced the first time.",
+    'type'        => 'checkbox',
+  },
+
   { key => "apacheroot", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
   { key => "apachemachine", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
   { key => "apachemachines", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
index 9a8272b..cc2bdcc 100644 (file)
@@ -222,6 +222,7 @@ if ( -e $addl_handler_use_file ) {
   use FS::h_svc_www;
   use FS::cust_statement;
   use FS::svc_pbx;
+  use FS::svc_mailinglist;
   # Sammath Naur
 
   if ( $FS::Mason::addl_handler_use ) {
index 69954a8..71670f7 100644 (file)
@@ -343,14 +343,14 @@ sub send_email {
   $smtp_opt{'port'} = $port;
 
   my $transport;
-  if ( $enc eq 'starttls' ) {
+  if ( defined($enc) && $enc eq 'starttls' ) {
     $smtp_opt{$_} = $conf->config("smtp-$_") for qw(username password);
     $transport = Email::Sender::Transport::SMTP::TLS->new( %smtp_opt );
   } else {
     if ( $conf->exists('smtp-username') && $conf->exists('smtp-password') ) {
       $smtp_opt{"sasl_$_"} = $conf->config("smtp-$_") for qw(username password);
     }
-    $smtp_opt{'ssl'} = 1 if $enc eq 'tls';
+    $smtp_opt{'ssl'} = 1 if defined($enc) && $enc eq 'tls';
     $transport = Email::Sender::Transport::SMTP->new( %smtp_opt );
   }
 
index 9016676..660a072 100644 (file)
@@ -102,6 +102,10 @@ sub dbdef_dist {
       my %hash = map { $_ => shift @coldef }
                      qw( name type null length default local );
 
+      #can be removed once we depend on DBIx::DBSchema 0.39;
+      $hash{'type'} = 'LONGTEXT'
+        if $hash{'type'} =~ /^TEXT$/i && $datasrc =~ /^dbi:mysql/i;
+
       unless ( defined $hash{'default'} ) {
         warn "$tablename:\n".
              join('', map "$_ => $hash{$_}\n", keys %hash) ;# $stop = <STDIN>;
@@ -113,7 +117,17 @@ sub dbdef_dist {
     #false laziness w/sub indices in DBIx::DBSchema::DBD (well, sorta)
     #and sub sql_create_table in DBIx::DBSchema::Table (slighty more?)
     my $unique = $tables_hashref->{$tablename}{'unique'};
-    my $index  = $tables_hashref->{$tablename}{'index'};
+    my @index  = @{ $tables_hashref->{$tablename}{'index'} };
+
+    # kludge to avoid avoid "BLOB/TEXT column 'statustext' used in key
+    #  specification without a key length".
+    # better solution: teach DBIx::DBSchema to specify a default length for
+    #  MySQL indices on text columns, or just to support an index length at all
+    #  so we can pass something in.
+    # best solution: eliminate need for this index in cust_main::retry_realtime
+    @index = grep { @{$_}[0] ne 'statustext' } @index
+      if $datasrc =~ /^dbi:mysql/i;
+
     my @indices = ();
     push @indices, map {
                          DBIx::DBSchema::Index->new({
@@ -130,7 +144,7 @@ sub dbdef_dist {
                            'columns' => $_,
                          });
                        }
-                       @$index;
+                       @index;
 
     DBIx::DBSchema::Table->new({
       'name'          => $tablename,
@@ -641,10 +655,11 @@ sub tables_hashref {
         'addlinfo', 'text', 'NULL', '', '', '',
         'closed',    'char', 'NULL', 1, '', '', 
         'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
+        'eventnum', 'int', 'NULL', '', '', '', #triggering event for commission
       ],
       'primary_key' => 'crednum',
       'unique' => [],
-      'index' => [ ['custnum'], ['_date'] ],
+      'index' => [ ['custnum'], ['_date'], ['eventnum'] ],
     },
 
     'cust_credit_bill' => {
@@ -1353,8 +1368,8 @@ sub tables_hashref {
     'part_pkg_taxoverride' => { 
       'columns' => [
         'taxoverridenum', 'serial', '', '', '', '',
-        'pkgpart',        'serial', '', '', '', '',
-        'taxclassnum',    'serial', '', '', '', '',
+        'pkgpart',           'int', '', '', '', '',
+        'taxclassnum',       'int', '', '', '', '',
         'usage_class',    'varchar', 'NULL', $char_d, '', '', 
       ],
       'primary_key' => 'taxoverridenum',
@@ -1969,16 +1984,17 @@ sub tables_hashref {
 
     'rate_detail' => {
       'columns' => [
-        'ratedetailnum',   'serial', '', '', '', '', 
-        'ratenum',         'int',     '', '', '', '', 
-        'orig_regionnum',  'int', 'NULL', '', '', '', 
-        'dest_regionnum',  'int',     '', '', '', '', 
-        'min_included',    'int',     '', '', '', '', 
-        #'min_charge',      @money_type, '', '', 
-        'min_charge',      'decimal', '', '10,5', '', '', 
-        'sec_granularity', 'int',     '', '', '', '', 
+        'ratedetailnum',   'serial',  '',     '', '', '', 
+        'ratenum',         'int',     '',     '', '', '', 
+        'orig_regionnum',  'int', 'NULL',     '', '', '', 
+        'dest_regionnum',  'int',     '',     '', '', '', 
+        'min_included',    'int',     '',     '', '', '', 
+        'conn_charge',     @money_type, '0', '', #'decimal','','10,5','0','',
+        'conn_sec',        'int',     '',     '', '0', '',
+        'min_charge',      'decimal', '', '10,5', '', '', #@money_type, '', '', 
+        'sec_granularity', 'int',     '',     '', '', '', 
         #time period (link to table of periods)?
-        'classnum',        'int',     'NULL', '', '', '', 
+        'classnum',        'int', 'NULL',     '', '', '', 
       ],
       'primary_key' => 'ratedetailnum',
       'unique'      => [ [ 'ratenum', 'orig_regionnum', 'dest_regionnum' ] ],
@@ -2365,11 +2381,12 @@ sub tables_hashref {
         '_password', 'varchar', '', $char_d, '', '',
         'last',      'varchar', '', $char_d, '', '', 
         'first',     'varchar', '', $char_d, '', '', 
+        'user_custnum',  'int', 'NULL',  '', '', '',
         'disabled',     'char', 'NULL',   1, '', '', 
       ],
       'primary_key' => 'usernum',
       'unique' => [ [ 'username' ] ],
-      'index'  => [],
+      'index'  => [ [ 'user_custnum' ] ],
     },
 
     'access_user_pref' => {
@@ -2439,10 +2456,13 @@ sub tables_hashref {
         'phone_name',   'varchar', 'NULL', $char_d, '', '',
         'pbxsvc',           'int', 'NULL',      '', '', '',
         'domsvc',           'int', 'NULL',      '', '', '', 
+        'locationnum',      'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'svcnum',
       'unique' => [],
-      'index'  => [ [ 'countrycode', 'phonenum' ], ['pbxsvc'], ['domsvc'] ],
+      'index'  => [ ['countrycode', 'phonenum'], ['pbxsvc'], ['domsvc'],
+                    ['locationnum'],
+                  ],
     },
 
     'phone_device' => {
@@ -2550,6 +2570,44 @@ sub tables_hashref {
       'index'  => [ [ 'id' ] ],
     },
 
+    'svc_mailinglist' => { #svc_group?
+      'columns' => [
+        'svcnum',            'int',     '',            '', '', '', 
+        'username',      'varchar',     '', $username_len, '', '',
+        'domsvc',            'int',     '',            '', '', '', 
+        'listnum',           'int',     '',            '', '', '',
+        'reply_to',         'char', 'NULL',             1, '', '',#SetReplyTo
+        'remove_from',      'char', 'NULL',             1, '', '',#RemoveAuthor
+        'reject_auto',      'char', 'NULL',             1, '', '',#RejectAuto
+        'remove_to_and_cc', 'char', 'NULL',             1, '', '',#RemoveToAndCc
+      ],
+      'primary_key' => 'svcnum',
+      'unique' => [],
+      'index'  => [ ['username'], ['domsvc'], ['listnum'] ],
+    },
+
+    'mailinglist' => {
+      'columns' => [
+        'listnum',   'serial', '',      '', '', '',
+        'listname', 'varchar', '', $char_d, '', '',
+      ],
+      'primary_key' => 'listnum',
+      'unique' => [],
+      'index'  => [],
+    },
+
+    'mailinglistmember' => {
+      'columns' => [
+        'membernum',        'serial',     '',   '', '', '',
+        'listnum',             'int',     '',   '', '', '',
+        'svcnum',              'int', 'NULL',   '', '', '', 
+        'email',           'varchar', 'NULL',  255, '', '', 
+      ],
+      'primary_key' => 'membernum',
+      'unique'      => [],
+      'index'       => [['listnum'],['svcnum'],['email']],
+    },
+
 
     # name type nullability length default local
 
index 7d8279b..46af1f5 100644 (file)
@@ -247,7 +247,7 @@ sub href_customer_tickets {
 
 }
 
-sub href_new_ticket {
+sub href_params_new_ticket {
   my( $self, $custnum_or_cust_main, $requestors ) = @_;
 
   my( $custnum, $cust_main );
@@ -258,14 +258,25 @@ sub href_new_ticket {
     $custnum = $custnum_or_cust_main;
     $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
   }
-  my $queueid = $cust_main->agent->ticketing_queueid || $default_queueid;
-
-  $self->baseurl.
-  'Ticket/Create.html?'.
-    "Queue=$queueid".
-    "&new-MemberOf=freeside://freeside/cust_main/$custnum".
-    ( $requestors ? '&Requestors='. uri_escape($requestors) : '' )
-    ;
+
+  my %param = (
+    'Queue'       => ($cust_main->agent->ticketing_queueid || $default_queueid),
+    'new-MemberOf'=> "freeside://freeside/cust_main/$custnum",
+    'Requestors'  => $requestors,
+  );
+
+  ( $self->baseurl.'Ticket/Create.html', %param );
+}
+
+sub href_new_ticket {
+  my $self = shift;
+
+  my( $base, %param ) = $self->href_params_new_ticket(@_);
+
+  my $uri = new URI $base;
+  $uri->query_form(%param);
+  $uri;
+
 }
 
 sub href_ticket {
index e3a4604..e042c05 100644 (file)
@@ -128,7 +128,7 @@ sub forksuidsetup {
     }
 
   } else {
-    warn "NO CONFIGURATION TABLE FOUND";
+    warn "NO CONFIGURATION TABLE FOUND" unless $FS::Schema::setup_hack;
   }
 
   unless ( $callback_hack ) {
index c39680e..ff577f2 100644 (file)
@@ -99,7 +99,6 @@ sub upgrade_data {
 
     #reason type and reasons
     'reason_type'     => [],
-    'reason'          => [],
     'cust_pkg_reason' => [],
 
     #need part_pkg before cust_credit...
@@ -129,9 +128,6 @@ sub upgrade_data {
     #fixup access rights
     'access_right' => [],
 
-    #change tax_rate column types
-    'tax_rate' => [],
-
     #change recur_flat and enable_prorate
     'part_pkg_option' => [],
 
index 8cc8b64..1bf6e93 100644 (file)
@@ -10,6 +10,7 @@ use FS::option_Common;
 use FS::access_user_pref;
 use FS::access_usergroup;
 use FS::agent;
+use FS::cust_main;
 
 @ISA = qw( FS::m2m_Common FS::option_Common FS::Record );
 #@ISA = qw( FS::m2m_Common FS::option_Common );
@@ -220,6 +221,9 @@ sub replace {
       $dbh->rollback or die $dbh->errstr if $oldAutoCommit;
       return $error;
     }
+  } elsif ( $old->disabled && !$new->disabled
+              && $new->_password =~ /changeme/i ) {
+    return "Must change password when enabling this account";
   }
 
   my $error = $new->SUPER::replace($old, @_);
@@ -254,6 +258,7 @@ sub check {
     || $self->ut_text('_password')
     || $self->ut_text('last')
     || $self->ut_text('first')
+    || $self->ut_foreign_keyn('user_custnum', 'cust_main', 'custnum')
     || $self->ut_enum('disabled', [ '', 'Y' ] )
   ;
   return $error if $error;
@@ -272,6 +277,18 @@ sub name {
   $self->get('last'). ', '. $self->first;
 }
 
+=item user_cust_main
+
+Returns the FS::cust_main object (see L<FS::cust_main>), if any, for this
+user.
+
+=cut
+
+sub user_cust_main {
+  my $self = shift;
+  qsearchs( 'cust_main', { 'custnum' => $self->user_custnum } );
+}
+
 =item access_usergroup
 
 Returns links to the the groups this user is a part of, as FS::access_usergroup
index f2e60d2..4d9ee81 100644 (file)
@@ -241,8 +241,8 @@ sub _upgrade_data { # class method
 
   warn "$me upgrading $class\n" if $DEBUG;
 
-  my $columndef = dbdef->table($class->table)->column('classnum');
-  unless ($columndef->type eq 'int4') {
+  my $type = dbdef->table($class->table)->column('classnum')->type;
+  unless ( $type =~ /^int/i || $type =~ /int$/i ) {
 
     my $dbh = dbh;
     if ( $dbh->{Driver}->{Name} eq 'Pg' ) {
index 6c3effa..d0aa3a4 100644 (file)
@@ -14,6 +14,7 @@ use FS::cust_credit_bill;
 use FS::part_pkg;
 use FS::reason_type;
 use FS::reason;
+use FS::cust_event;
 
 @ISA = qw( FS::cust_main_Mixin FS::Record );
 $me = '[ FS::cust_credit ]';
@@ -301,6 +302,7 @@ sub check {
     || $self->ut_textn('addlinfo')
     || $self->ut_enum('closed', [ '', 'Y' ])
     || $self->ut_foreign_keyn('pkgnum', 'cust_pkg', 'pkgnum')
+    || $self->ut_foreign_keyn('eventnum', 'cust_event', 'eventnum')
   ;
   return $error if $error;
 
index d2fcfc1..52b5911 100644 (file)
@@ -1,18 +1,16 @@
 package FS::cust_event;
 
 use strict;
+use base qw( FS::cust_main_Mixin FS::Record );
 use vars qw( @ISA $DEBUG $me );
 use Carp qw( croak confess );
 use FS::Record qw( qsearch qsearchs dbdef );
-use FS::cust_main_Mixin;
 use FS::part_event;
 #for cust_X
 use FS::cust_main;
 use FS::cust_pkg;
 use FS::cust_bill;
 
-@ISA = qw(FS::cust_main_Mixin FS::Record);
-
 $DEBUG = 0;
 $me = '[FS::cust_event]';
 
@@ -230,7 +228,7 @@ sub do_event {
   my $error;
   {
     local $SIG{__DIE__}; # don't want Mason __DIE__ handler active
-    $error = eval { $part_event->do_action($object); };
+    $error = eval { $part_event->do_action($object, $self); };
   }
 
   my $status = '';
index 87c6c3e..a90fbe1 100644 (file)
@@ -225,6 +225,20 @@ sub line {
   $self->location_label;
 }
 
+=item location_hash
+
+Returns a list of key/value pairs, with the following keys: address1, adddress2,
+city, county, state, zip, country.
+
+=cut
+
+#geocode?  not yet set
+
+sub location_hash {
+  my $self = shift;
+  map { $_ => $self->$_ } qw( address1 address2 city county state zip country );
+}
+
 =back
 
 =head1 BUGS
index dab71f0..88aceb9 100644 (file)
@@ -1910,6 +1910,25 @@ sub has_ship_address {
   scalar( grep { $self->getfield("ship_$_") ne '' } $self->addr_fields );
 }
 
+=item location_hash
+
+Returns a list of key/value pairs, with the following keys: address1, adddress2,
+city, county, state, zip, country.  The shipping address is used if present.
+
+=cut
+
+#geocode?  dependent on tax-ship_address config, not available in cust_location
+#mostly.  not yet then.
+
+sub location_hash {
+  my $self = shift;
+  my $prefix = $self->has_ship_address ? 'ship_' : '';
+
+  map { $_ => $self->get($prefix.$_) }
+      qw( address1 address2 city county state zip country geocode );
+      #fields that cust_location has
+}
+
 =item all_pkgs [ EXTRA_QSEARCH_PARAMS_HASHREF ]
 
 Returns all packages (see L<FS::cust_pkg>) for this customer.
@@ -4768,9 +4787,19 @@ sub realtime_refund_bop {
   ) {
     warn "  attempting void\n" if $DEBUG > 1;
     my $void = new Business::OnlinePayment( $processor, @bop_options );
-    $content{'card_number'} = $cust_pay->payinfo
-      if $cust_pay->payby eq 'CARD'
-      && $void->can('info') && $void->info('CC_void_requires_card');
+    if ( $void->can('info') ) {
+      if ( $cust_pay->payby eq 'CARD'
+           && $void->info('CC_void_requires_card') )
+      {
+        $content{'card_number'} = $cust_pay->payinfo
+      } elsif ( $cust_pay->payby eq 'CHEK'
+                && $void->info('ECHECK_void_requires_account') )
+      {
+        ( $content{'account_number'}, $content{'routing_code'} ) =
+          split('@', $cust_pay->payinfo);
+        $content{'name'} = $self->get('first'). ' '. $self->get('last');
+      }
+    }
     $void->content( 'action' => 'void', %content );
     $void->submit();
     if ( $void->is_success ) {
@@ -6111,9 +6140,19 @@ sub _new_realtime_refund_bop {
   ) {
     warn "  attempting void\n" if $DEBUG > 1;
     my $void = new Business::OnlinePayment( $processor, @bop_options );
-    $content{'card_number'} = $cust_pay->payinfo
-      if $cust_pay->payby eq 'CARD'
-      && $void->can('info') && $void->info('CC_void_requires_card');
+    if ( $void->can('info') ) {
+      if ( $cust_pay->payby eq 'CARD'
+           && $void->info('CC_void_requires_card') )
+      {
+        $content{'card_number'} = $cust_pay->payinfo;
+      } elsif ( $cust_pay->payby eq 'CHEK'
+                && $void->info('ECHECK_void_requires_account') )
+      {
+        ( $content{'account_number'}, $content{'routing_code'} ) =
+          split('@', $cust_pay->payinfo);
+        $content{'name'} = $self->get('first'). ' '. $self->get('last');
+      }
+    }
     $void->content( 'action' => 'void', %content );
     $void->submit();
     if ( $void->is_success ) {
@@ -7281,7 +7320,7 @@ sub referral_cust_main_ncancelled {
 
 Like referral_cust_main, except returns a flat list of all unsuspended (and
 uncancelled) packages for each customer.  The number of items in this list may
-be useful for comission calculations (perhaps after a C<grep { my $pkgpart = $_->pkgpart; grep { $_ == $pkgpart } @commission_worthy_pkgparts> } $cust_main-> ).
+be useful for commission calculations (perhaps after a C<grep { my $pkgpart = $_->pkgpart; grep { $_ == $pkgpart } @commission_worthy_pkgparts> } $cust_main-> ).
 
 =cut
 
@@ -7343,8 +7382,10 @@ sub credit {
     $cust_credit->set('reason', $reason)
   }
 
-  $cust_credit->addlinfo( delete $options{'addlinfo'} )
-    if exists($options{'addlinfo'});
+  for (qw( addlinfo eventnum )) {
+    $cust_credit->$_( delete $options{$_} )
+      if exists($options{$_});
+  }
 
   $cust_credit->insert(%options);
 
index 8415d62..89eadd5 100644 (file)
@@ -1,17 +1,19 @@
 package FS::cust_pkg;
 
 use strict;
+use base qw( FS::cust_main_Mixin FS::location_Mixin
+             FS::m2m_Common FS::option_Common FS::Record
+           );
 use vars qw(@ISA $disable_agentcheck $DEBUG $me);
 use Carp qw(cluck);
 use Scalar::Util qw( blessed );
 use List::Util qw(max);
 use Tie::IxHash;
+use Time::Local qw( timelocal_nocheck );
 use MIME::Entity;
 use FS::UID qw( getotaker dbh );
 use FS::Misc qw( send_email );
 use FS::Record qw( qsearch qsearchs );
-use FS::m2m_Common;
-use FS::cust_main_Mixin;
 use FS::cust_svc;
 use FS::part_pkg;
 use FS::cust_main;
@@ -38,8 +40,6 @@ use FS::svc_forward;
 # for sending cancel emails in sub cancel
 use FS::Conf;
 
-@ISA = qw( FS::m2m_Common FS::cust_main_Mixin FS::option_Common FS::Record );
-
 $DEBUG = 0;
 $me = '[FS::cust_pkg]';
 
@@ -250,6 +250,26 @@ an optional queue name for ticket additions
 sub insert {
   my( $self, %options ) = @_;
 
+  if ( $self->part_pkg->option('start_1st', 1) && !$self->start_date ) {
+    my ($sec,$min,$hour,$mday,$mon,$year) = (localtime(time) )[0,1,2,3,4,5];
+    $mon += 1 unless $mday == 1;
+    until ( $mon < 12 ) { $mon -= 12; $year++; }
+    $self->start_date( timelocal_nocheck(0,0,0,1,$mon,$year) );
+  }
+
+  my $expire_months = $self->part_pkg->option('expire_months', 1);
+  if ( $expire_months && !$self->expire ) {
+    my $start = $self->start_date || $self->setup || time;
+
+    #false laziness w/part_pkg::add_freq
+    my ($sec,$min,$hour,$mday,$mon,$year) = (localtime($start) )[0,1,2,3,4,5];
+    $mon += $expire_months;
+    until ( $mon < 12 ) { $mon -= 12; $year++; }
+
+    #$self->expire( timelocal_nocheck($sec,$min,$hour,$mday,$mon,$year) );
+    $self->expire( timelocal_nocheck(0,0,0,$mday,$mon,$year) );
+  }
+
   local $SIG{HUP} = 'IGNORE';
   local $SIG{INT} = 'IGNORE';
   local $SIG{QUIT} = 'IGNORE';
@@ -1683,7 +1703,9 @@ sub extra_part_svc {
 
 #seems to benchmark slightly faster...
   qsearch( {
-    'select'      => 'DISTINCT ON (svcpart) part_svc.*',
+    #'select'      => 'DISTINCT ON (svcpart) part_svc.*',
+    #MySQL doesn't grok DISINCT ON
+    'select'      => 'DISTINCT part_svc.*',
     'table'       => 'part_svc',
     'addl_from'   =>
       'LEFT JOIN pkg_svc  ON (     pkg_svc.svcpart   = part_svc.svcpart 
@@ -1925,41 +1947,24 @@ sub cust_main {
   qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
 }
 
+#these subs are in location_Mixin.pm now... unfortunately the POD doesn't mixin
+
 =item cust_location
 
 Returns the location object, if any (see L<FS::cust_location>).
 
-=cut
-
-sub cust_location {
-  my $self = shift;
-  return '' unless $self->locationnum;
-  qsearchs( 'cust_location', { 'locationnum' => $self->locationnum } );
-}
-
 =item cust_location_or_main
 
 If this package is associated with a location, returns the locaiton (see
 L<FS::cust_location>), otherwise returns the customer (see L<FS::cust_main>).
 
-=cut
-
-sub cust_location_or_main {
-  my $self = shift;
-  $self->cust_location || $self->cust_main;
-}
-
 =item location_label [ OPTION => VALUE ... ]
 
 Returns the label of the location object (see L<FS::cust_location>).
 
 =cut
 
-sub location_label {
-  my $self = shift;
-  my $object = $self->cust_location_or_main;
-  $object->location_label(@_);
-}
+#end of subs in location_Mixin.pm now... unfortunately the POD doesn't mixin
 
 =item seconds_since TIMESTAMP
 
diff --git a/FS/FS/export_device.pm b/FS/FS/export_device.pm
deleted file mode 100644 (file)
index 69e3826..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-package FS::export_device;
-
-use strict;
-use base qw( FS::Record );
-use FS::Record qw( qsearch qsearchs dbh );
-use FS::part_export;
-use FS::part_device;
-
-=head1 NAME
-
-FS::export_device - Object methods for export_device records
-
-=head1 SYNOPSIS
-
-  use FS::export_device;
-
-  $record = new FS::export_device \%hash;
-  $record = new FS::export_device { 'column' => 'value' };
-
-  $error = $record->insert;
-
-  $error = $new_record->replace($old_record);
-
-  $error = $record->delete;
-
-  $error = $record->check;
-
-=head1 DESCRIPTION
-
-An FS::export_device object links a device definition (see L<FS::part_device>)
-to an export (see L<FS::part_export>).  FS::export_device inherits from
-FS::Record.  The following fields are currently supported:
-
-=over 4
-
-=item exportdevicenum - primary key
-
-=item exportnum - export (see L<FS::part_export>)
-
-=item devicepart - device definition (see L<FS::part_device>)
-
-=back
-
-=head1 METHODS
-
-=over 4
-
-=item new HASHREF
-
-Creates a new record.  To add the record to the database, see L<"insert">.
-
-Note that this stores the hash reference, not a distinct copy of the hash it
-points to.  You can ask the object for a copy with the I<hash> method.
-
-=cut
-
-sub table { 'export_device'; }
-
-=item insert
-
-Adds this record to the database.  If there is an error, returns the error,
-otherwise returns false.
-
-=cut
-
-# may want to check for duplicates against either services or devices
-# cf FS::export_svc
-
-=item delete
-
-Delete this record from the database.
-
-=cut
-
-=item replace OLD_RECORD
-
-Replaces the OLD_RECORD with this one in the database.  If there is an error,
-returns the error, otherwise returns false.
-
-=cut
-
-=item check
-
-Checks all fields to make sure this is a valid record.  If there is
-an error, returns the error, otherwise returns false.  Called by the insert
-and replace methods.
-
-=cut
-
-sub check {
-  my $self = shift;
-
-  $self->ut_numbern('exportdevicenum')
-    || $self->ut_number('exportnum')
-    || $self->ut_foreign_key('exportnum', 'part_export', 'exportnum')
-    || $self->ut_number('devicepart')
-    || $self->ut_foreign_key('devicepart', 'part_device', 'devicepart')
-    || $self->SUPER::check
-  ;
-}
-
-=item part_export
-
-Returns the FS::part_export object (see L<FS::part_export>).
-
-=cut
-
-sub part_export {
-  my $self = shift;
-  qsearchs( 'part_export', { 'exportnum' => $self->exportnum } );
-}
-
-=item part_device
-
-Returns the FS::part_device object (see L<FS::part_device>).
-
-=cut
-
-sub part_device {
-  my $self = shift;
-  qsearchs( 'part_device', { 'svcpart' => $self->devicepart } );
-}
-
-=back
-
-=head1 BUGS
-
-=head1 SEE ALSO
-
-L<FS::part_export>, L<FS::part_device>, L<FS::Record>, schema.html from the base
-documentation.
-
-=cut
-
-1;
-
diff --git a/FS/FS/h_svc_mailinglist.pm b/FS/FS/h_svc_mailinglist.pm
new file mode 100644 (file)
index 0000000..3d1fd27
--- /dev/null
@@ -0,0 +1,33 @@
+package FS::h_svc_mailinglist;
+
+use strict;
+use vars qw( @ISA );
+use FS::h_Common;
+use FS::svc_mailinglist;
+
+@ISA = qw( FS::h_Common FS::svc_mailinglist );
+
+sub table { 'h_svc_mailinglist' };
+
+=head1 NAME
+
+FS::h_svc_mailinglist - Historical mailing list objects
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+An FS::h_svc_mailinglist object represents a historical mailing list.
+FS::h_svc_mailinglist inherits from FS::h_Common and FS::svc_mailinglist.
+
+=head1 BUGS
+
+=head1 SEE ALSO
+
+L<FS::h_Common>, L<FS::svc_mailinglist>, L<FS::Record>, schema.html from the
+base documentation.
+
+=cut
+
+1;
+
diff --git a/FS/FS/location_Mixin.pm b/FS/FS/location_Mixin.pm
new file mode 100644 (file)
index 0000000..d457386
--- /dev/null
@@ -0,0 +1,57 @@
+package FS::location_Mixin;
+
+use strict;
+use FS::Record qw( qsearchs );
+use FS::cust_location;
+
+=item cust_location
+
+Returns the location object, if any (see L<FS::cust_location>).
+
+=cut
+
+sub cust_location {
+  my $self = shift;
+  return '' unless $self->locationnum;
+  qsearchs( 'cust_location', { 'locationnum' => $self->locationnum } );
+}
+
+=item cust_location_or_main
+
+If this package is associated with a location, returns the locaiton (see
+L<FS::cust_location>), otherwise returns the customer (see L<FS::cust_main>).
+
+=cut
+
+sub cust_location_or_main {
+  my $self = shift;
+  $self->cust_location || $self->cust_main;
+}
+
+=item location_label [ OPTION => VALUE ... ]
+
+Returns the label of the location object (see L<FS::cust_location>).
+
+=cut
+
+sub location_label {
+  my $self = shift;
+  my $object = $self->cust_location_or_main;
+  $object->location_label(@_);
+}
+
+=item location_hash
+
+Returns a hash of values for the location, either from the location object,
+the cust_main shipping address, or the cust_main address, whichever is present
+first.
+
+=cut
+
+sub location_hash {
+  my $self = shift;
+  my $object = $self->cust_location_or_main;
+  $object->location_hash(@_);
+}
+
+1;
diff --git a/FS/FS/mailinglist.pm b/FS/FS/mailinglist.pm
new file mode 100644 (file)
index 0000000..1294610
--- /dev/null
@@ -0,0 +1,173 @@
+package FS::mailinglist;
+
+use strict;
+use base qw( FS::Record );
+use FS::Record qw( qsearch qsearchs dbh );
+use FS::mailinglistmember;
+use FS::svc_mailinglist;
+
+=head1 NAME
+
+FS::mailinglist - Object methods for mailinglist records
+
+=head1 SYNOPSIS
+
+  use FS::mailinglist;
+
+  $record = new FS::mailinglist \%hash;
+  $record = new FS::mailinglist { 'column' => 'value' };
+
+  $error = $record->insert;
+
+  $error = $new_record->replace($old_record);
+
+  $error = $record->delete;
+
+  $error = $record->check;
+
+=head1 DESCRIPTION
+
+An FS::mailinglist object represents a mailing list  FS::mailinglist inherits
+from FS::Record.  The following fields are currently supported:
+
+=over 4
+
+=item listnum
+
+primary key
+
+=item listname
+
+Mailing list name
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item new HASHREF
+
+Creates a new mailing list.  To add the mailing list to the database, see
+L<"insert">.
+
+Note that this stores the hash reference, not a distinct copy of the hash it
+points to.  You can ask the object for a copy with the I<hash> method.
+
+=cut
+
+# the new method can be inherited from FS::Record, if a table method is defined
+
+sub table { 'mailinglist'; }
+
+=item insert
+
+Adds this record to the database.  If there is an error, returns the error,
+otherwise returns false.
+
+=cut
+
+# the insert method can be inherited from FS::Record
+
+=item delete
+
+Delete this record from the database.
+
+=cut
+
+sub delete {
+  my $self = shift;
+
+  local $SIG{HUP} = 'IGNORE';
+  local $SIG{INT} = 'IGNORE';
+  local $SIG{QUIT} = 'IGNORE';
+  local $SIG{TERM} = 'IGNORE';
+  local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
+
+  my $oldAutoCommit = $FS::UID::AutoCommit;
+  local $FS::UID::AutoCommit = 0;
+  my $dbh = dbh;
+
+  foreach my $member ( $self->mailinglistmember ) {
+    my $error = $member->delete;
+    if ( $error ) {
+      $dbh->rollback if $oldAutoCommit;
+      return $error;
+    }
+  }
+
+  my $error = $self->SUPER::delete;
+  if ( $error ) {
+    $dbh->rollback if $oldAutoCommit;
+    return $error;
+  }
+
+  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+  '';
+
+}
+
+=item replace OLD_RECORD
+
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+
+=cut
+
+# the replace method can be inherited from FS::Record
+
+=item check
+
+Checks all fields to make sure this is a valid mailing list.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert
+and replace methods.
+
+=cut
+
+# the check method should currently be supplied - FS::Record contains some
+# data checking routines
+
+sub check {
+  my $self = shift;
+
+  my $error = 
+    $self->ut_numbern('listnum')
+    || $self->ut_text('listname')
+  ;
+  return $error if $error;
+
+  $self->SUPER::check;
+}
+
+=item mailinglistmember
+
+=cut
+
+sub mailinglistmember {
+  my $self = shift;
+  qsearch('mailinglistmember', { 'listnum' => $self->listnum } );
+}
+
+=item svc_mailinglist
+
+=cut
+
+sub svc_mailinglist {
+  my $self = shift;
+  qsearchs('svc_mailinglist', { 'listnum' => $self->listnum } );
+}
+
+=back
+
+=head1 BUGS
+
+=head1 SEE ALSO
+
+L<FS::mailinglistmember>, L<FS::svc_mailinglist>, L<FS::Record>, schema.html
+from the base documentation.
+
+=cut
+
+1;
+
diff --git a/FS/FS/mailinglistmember.pm b/FS/FS/mailinglistmember.pm
new file mode 100644 (file)
index 0000000..8655d61
--- /dev/null
@@ -0,0 +1,239 @@
+package FS::mailinglistmember;
+
+use strict;
+use base qw( FS::Record );
+use Scalar::Util qw( blessed );
+use FS::Record qw( dbh qsearchs ); # qsearch );
+use FS::mailinglist;
+use FS::svc_acct;
+
+=head1 NAME
+
+FS::mailinglistmember - Object methods for mailinglistmember records
+
+=head1 SYNOPSIS
+
+  use FS::mailinglistmember;
+
+  $record = new FS::mailinglistmember \%hash;
+  $record = new FS::mailinglistmember { 'column' => 'value' };
+
+  $error = $record->insert;
+
+  $error = $new_record->replace($old_record);
+
+  $error = $record->delete;
+
+  $error = $record->check;
+
+=head1 DESCRIPTION
+
+An FS::mailinglistmember object represents a mailing list member.
+FS::mailinglistmember inherits from FS::Record.  The following fields are
+currently supported:
+
+=over 4
+
+=item membernum
+
+primary key
+
+=item listnum
+
+listnum
+
+=item svcnum
+
+svcnum
+
+=item email
+
+email
+
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item new HASHREF
+
+Creates a new mailing list member.  To add the member to the database, see
+ L<"insert">.
+
+Note that this stores the hash reference, not a distinct copy of the hash it
+points to.  You can ask the object for a copy with the I<hash> method.
+
+=cut
+
+# the new method can be inherited from FS::Record, if a table method is defined
+
+sub table { 'mailinglistmember'; }
+
+=item insert
+
+Adds this record to the database.  If there is an error, returns the error,
+otherwise returns false.
+
+=cut
+
+sub insert {
+  my $self = shift;
+
+  local $SIG{HUP} = 'IGNORE';
+  local $SIG{INT} = 'IGNORE';
+  local $SIG{QUIT} = 'IGNORE';
+  local $SIG{TERM} = 'IGNORE';
+  local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
+
+  my $oldAutoCommit = $FS::UID::AutoCommit;
+  local $FS::UID::AutoCommit = 0;
+  my $dbh = dbh;
+
+  my $error =    $self->SUPER::insert
+              || $self->export('mailinglistmember_insert');
+  if ( $error ) {
+    $dbh->rollback if $oldAutoCommit;
+    return $error;
+  }
+
+  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+  '';
+}
+
+=item delete
+
+Delete this record from the database.
+
+=cut
+
+sub delete {
+  my $self = shift;
+
+  local $SIG{HUP} = 'IGNORE';
+  local $SIG{INT} = 'IGNORE';
+  local $SIG{QUIT} = 'IGNORE';
+  local $SIG{TERM} = 'IGNORE';
+  local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
+
+  my $oldAutoCommit = $FS::UID::AutoCommit;
+  local $FS::UID::AutoCommit = 0;
+  my $dbh = dbh;
+
+  my $error =    $self->SUPER::delete
+              || $self->export('mailinglistmember_delete');
+  if ( $error ) {
+    $dbh->rollback if $oldAutoCommit;
+    return $error;
+  }
+
+  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+  '';
+}
+
+=item replace OLD_RECORD
+
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+
+=cut
+
+sub replace {
+  my $new = shift;
+
+  my $old = ( blessed($_[0]) && $_[0]->isa('FS::Record') )
+              ? shift
+              : $new->replace_old;
+
+  local $SIG{HUP} = 'IGNORE';
+  local $SIG{INT} = 'IGNORE';
+  local $SIG{QUIT} = 'IGNORE';
+  local $SIG{TERM} = 'IGNORE';
+  local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
+
+  my $oldAutoCommit = $FS::UID::AutoCommit;
+  local $FS::UID::AutoCommit = 0;
+  my $dbh = dbh;
+
+  my $error =    $new->SUPER::replace($old)
+              || $new->export('mailinglistmember_replace', $old);
+  if ( $error ) {
+    $dbh->rollback if $oldAutoCommit;
+    return $error;
+  }
+
+  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+  '';
+}
+
+=item check
+
+Checks all fields to make sure this is a valid member.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert
+and replace methods.
+
+=cut
+
+# the check method should currently be supplied - FS::Record contains some
+# data checking routines
+
+sub check {
+  my $self = shift;
+
+  my $error = 
+    $self->ut_numbern('membernum')
+    || $self->ut_foreign_key('listnum', 'mailinglist', 'listnum')
+    || $self->ut_foreign_keyn('svcnum', 'svc_acct', 'svcnum')
+    || $self->ut_textn('email') #XXX ut_email! from svc_forward, cust_main_invoice
+  ;
+  return $error if $error;
+
+  $self->SUPER::check;
+}
+
+=item mailinglist
+
+=cut
+
+sub mailinglist {
+  my $self = shift;
+  qsearchs('mailinglist', { 'listnum' => $self->listnum } );
+}
+
+=item email_address
+
+=cut
+
+sub email_address {
+  my $self = shift;
+  #XXX svcnum
+  $self->email;
+}
+
+=item export
+
+=cut
+
+sub export {
+  my( $self, $method ) = ( shift, shift );
+  my $svc_mailinglist = $self->mailinglist->svc_mailinglist
+    or return '';
+  $svc_mailinglist->export($method, $self, @_);
+}
+
+=back
+
+=head1 BUGS
+
+=head1 SEE ALSO
+
+L<FS::Record>, schema.html from the base documentation.
+
+=cut
+
+1;
+
index 4963584..79a534a 100644 (file)
@@ -1,10 +1,8 @@
 package FS::part_device;
 
 use strict;
-use base qw( FS::Record FS::m2m_Common );
-use FS::Record qw( qsearch qsearchs );
-use FS::part_export;
-use FS::export_device;
+use base qw( FS::Record );
+use FS::Record; # qw( qsearch qsearchs );
 
 =head1 NAME
 
@@ -109,18 +107,6 @@ sub check {
   $self->SUPER::check;
 }
 
-=item part_export
-
-Returns a list of all exports (see L<FS::part_export>) for this device.
-
-=cut
-
-sub part_export {
-  my $self = shift;
-  map { qsearchs( 'part_export', { 'exportnum' => $_->exportnum } ) }
-    qsearch( 'export_device', { 'devicepart' => $self->devicepart } );
-}
-
 sub process_batch_import {
   my $job = shift;
 
diff --git a/FS/FS/part_event/Action/Mixin/credit_pkg.pm b/FS/FS/part_event/Action/Mixin/credit_pkg.pm
new file mode 100644 (file)
index 0000000..aeda92f
--- /dev/null
@@ -0,0 +1,63 @@
+package FS::part_event::Action::Mixin::credit_pkg;
+
+use strict;
+
+sub eventtable_hashref {
+  { 'cust_pkg' => 1 };
+}
+
+sub option_fields {
+  ( 
+    'reasonnum' => { 'label'        => 'Credit reason',
+                     'type'         => 'select-reason',
+                     'reason_class' => 'R',
+                   },
+    'percent'   => { 'label'   => 'Percent',
+                     'type'    => 'input-percentage',
+                     'default' => '100',
+                   },
+    'what' => { 'label'   => 'Of',
+                'type'    => 'select',
+                #add additional ways to specify in the package def
+                'options' => [ qw( base_recur_permonth unit_setup recur_cost_permonth setup_cost ) ],
+                'labels'  => { 'base_recur_permonth' => 'Base monthly fee',
+                               'unit_setup'          => 'Setup fee',
+                               'recur_cost_permonth' => 'Monthly cost',
+                               'setup_cost'          => 'Setup cost',
+                             },
+              },
+  );
+
+}
+
+#my %no_cust_pkg = ( 'setup_cost' => 1 );
+
+sub _calc_credit {
+  my( $self, $cust_pkg ) = @_;
+
+  my $cust_main = $self->cust_main($cust_pkg);
+
+  my $part_pkg = $cust_pkg->part_pkg;
+
+  my $what = $self->option('what');
+
+  #false laziness w/Condition/cust_payments_pkg.pm
+  if ( $what =~ /_permonth$/ ) { #huh.  yuck.
+    if ( $part_pkg->freq !~ /^\d+$/ ) {
+      die 'WARNING: Not crediting for package '. $cust_pkg->pkgnum.
+          ' ( customer '. $cust_pkg->custnum. ')'.
+          ' - credits not (yet) available for '.
+          ' packages with '. $part_pkg->freq_pretty. ' frequency';
+    }
+  }
+
+  my $percent = $self->option('percent');
+
+  #my @arg = $no_cust_pkg{$what} ? () : ($cust_pkg);
+  my @arg = ($what eq 'setup_cost') ? () : ($cust_pkg);
+
+  sprintf('%.2f', $part_pkg->$what(@arg) * $percent / 100 );
+
+}
+
+1;
diff --git a/FS/FS/part_event/Action/pkg_agent_credit.pm b/FS/FS/part_event/Action/pkg_agent_credit.pm
new file mode 100644 (file)
index 0000000..4bcee98
--- /dev/null
@@ -0,0 +1,39 @@
+package FS::part_event::Action::pkg_agent_credit;
+
+use strict;
+use base qw( FS::part_event::Action::pkg_referral_credit );
+
+sub description { 'Credit the agent a specific amount'; }
+
+#a little false laziness w/pkg_referral_credit
+sub do_action {
+  my( $self, $cust_pkg, $cust_event ) = @_;
+
+  my $cust_main = $self->cust_main($cust_pkg);
+
+  my $agent = $cust_main->agent;
+  return "No customer record for agent ". $agent->agent
+    unless $agent->agent_custnum;
+
+  my $agent_cust_main = $agent->agent_cust_main;
+    #? or return "No customer record for agent ". $agent->agent;
+
+  my $amount    = $self->_calc_credit($cust_pkg);
+  return '' unless $amount > 0;
+
+  my $reasonnum = $self->option('reasonnum');
+
+  my $error = $agent_cust_main->credit(
+    $amount, 
+    \$reasonnum,
+    'eventnum' => $cust_event->eventnum,
+    'addlinfo' => 'for customer #'. $cust_main->display_custnum.
+                               ': '.$cust_main->name,
+  );
+  die "Error crediting customer ". $agent_cust_main->custnum.
+      " for agent commission: $error"
+    if $error;
+
+}
+
+1;
diff --git a/FS/FS/part_event/Action/pkg_agent_credit_pkg.pm b/FS/FS/part_event/Action/pkg_agent_credit_pkg.pm
new file mode 100644 (file)
index 0000000..b3e1181
--- /dev/null
@@ -0,0 +1,9 @@
+package FS::part_event::Action::pkg_agent_credit_pkg;
+
+use strict;
+use base qw( FS::part_event::Action::Mixin::credit_pkg
+             FS::part_event::Action::pkg_agent_credit );
+
+sub description { 'Credit the agent an amount based on the referred package'; }
+
+1;
diff --git a/FS/FS/part_event/Action/pkg_employee_credit.pm b/FS/FS/part_event/Action/pkg_employee_credit.pm
new file mode 100644 (file)
index 0000000..e4913a2
--- /dev/null
@@ -0,0 +1,44 @@
+package FS::part_event::Action::pkg_employee_credit;
+
+use strict;
+use base qw( FS::part_event::Action::pkg_referral_credit );
+use FS::Record qw(qsearchs);
+use FS::access_user;
+
+sub description { 'Credit the ordering employee a specific amount'; }
+
+#a little false laziness w/pkg_referral_credit
+sub do_action {
+  my( $self, $cust_pkg, $cust_event ) = @_;
+
+  my $cust_main = $self->cust_main($cust_pkg);
+
+  #yuck.  this is why text $otaker is gone in 2.1
+  my $otaker = $cust_pkg->otaker;
+  my $employee = qsearchs('access_user', { 'username' => $otaker } )
+    or return "No employee for username $otaker";
+  return "No customer record for employee ". $employee->username
+    unless $employee->user_custnum;
+
+  my $employee_cust_main = $employee->user_cust_main;
+    #? or return "No customer record for employee ". $employee->username;
+
+  my $amount    = $self->_calc_credit($cust_pkg);
+  return '' unless $amount > 0;
+
+  my $reasonnum = $self->option('reasonnum');
+
+  my $error = $employee_cust_main->credit(
+    $amount, 
+    \$reasonnum,
+    'eventnum' => $cust_event->eventnum,
+    'addlinfo' => 'for customer #'. $cust_main->display_custnum.
+                               ': '.$cust_main->name,
+  );
+  die "Error crediting customer ". $employee_cust_main->custnum.
+      " for employee commission: $error"
+    if $error;
+
+}
+
+1;
diff --git a/FS/FS/part_event/Action/pkg_employee_credit_pkg.pm b/FS/FS/part_event/Action/pkg_employee_credit_pkg.pm
new file mode 100644 (file)
index 0000000..e3b867f
--- /dev/null
@@ -0,0 +1,9 @@
+package FS::part_event::Action::pkg_employee_credit_pkg;
+
+use strict;
+use base qw( FS::part_event::Action::Mixin::credit_pkg
+             FS::part_event::Action::pkg_employee_credit );
+
+sub description { 'Credit the ordering employee an amount based on the referred package'; }
+
+1;
index 98d9820..e7c92d6 100644 (file)
@@ -22,9 +22,8 @@ sub option_fields {
 
 }
 
-#a little false laziness w/pkg_referral_credit_pkg
 sub do_action {
-  my( $self, $cust_pkg ) = @_;
+  my( $self, $cust_pkg, $cust_event ) = @_;
 
   my $cust_main = $self->cust_main($cust_pkg);
 
@@ -36,14 +35,17 @@ sub do_action {
   return 'Referring customer is cancelled'
     if $referring_cust_main->status eq 'cancelled';
 
-  my $amount    = $self->_calc_referral_credit($cust_pkg);
+  my $amount    = $self->_calc_credit($cust_pkg);
+  return '' unless $amount > 0;
+
   my $reasonnum = $self->option('reasonnum');
 
   my $error = $referring_cust_main->credit(
     $amount, 
     \$reasonnum,
-    'addlinfo' =>
-      'for customer #'. $cust_main->display_custnum. ': '.$cust_main->name,
+    'eventnum' => $cust_event->eventnum,
+    'addlinfo' => 'for customer #'. $cust_main->display_custnum.
+                               ': '.$cust_main->name,
   );
   die "Error crediting customer ". $cust_main->referral_custnum.
       " for referral: $error"
@@ -51,7 +53,7 @@ sub do_action {
 
 }
 
-sub _calc_referral_credit {
+sub _calc_credit {
   my( $self, $cust_pkg ) = @_;
 
   $self->option('amount');
index eb9b510..667c4ce 100644 (file)
@@ -1,58 +1,9 @@
 package FS::part_event::Action::pkg_referral_credit_pkg;
 
 use strict;
-use base qw( FS::part_event::Action::pkg_referral_credit );
+use base qw( FS::part_event::Action::Mixin::credit_pkg
+             FS::part_event::Action::pkg_referral_credit );
 
 sub description { 'Credit the referring customer an amount based on the referred package'; }
 
-#sub eventtable_hashref {
-#  { 'cust_pkg' => 1 };
-#}
-
-sub option_fields {
-  ( 
-    'reasonnum' => { 'label'        => 'Credit reason',
-                     'type'         => 'select-reason',
-                     'reason_class' => 'R',
-                   },
-    'percent'   => { 'label'   => 'Percent',
-                     'type'    => 'input-percentage',
-                     'default' => '100',
-                   },
-    'what' => { 'label'   => 'Of',
-                'type'    => 'select',
-                #also add some way to specify in the package def, no?
-                'options' => [ qw( base_recur_permonth ) ],
-                'labels'  => { 'base_recur_permonth' => 'Base monthly fee', },
-              },
-  );
-
-}
-
-sub _calc_referral_credit {
-  my( $self, $cust_pkg ) = @_;
-
-  my $cust_main = $self->cust_main($cust_pkg);
-
-  my $part_pkg = $cust_pkg->part_pkg;
-
-  my $what = $self->option('what');
-
-  #false laziness w/Condition/cust_payments_pkg.pm
-  if ( $what eq 'base_recur_permonth' ) { #huh.  yuck.
-    if ( $part_pkg->freq !~ /^\d+$/ ) {
-      die 'WARNING: Not crediting customer '. $cust_main->referral_custnum.
-          ' for package '. $cust_pkg->pkgnum.
-          ' ( customer '. $cust_pkg->custnum. ')'.
-          ' - Referral credits not (yet) available for '.
-          ' packages with '. $part_pkg->freq_pretty. ' frequency';
-    }
-  }
-
-  my $percent = $self->option('percent');
-
-  sprintf('%.2f', $part_pkg->$what($cust_pkg) * $percent / 100 );
-
-}
-
 1;
index 65670c0..3b8854a 100644 (file)
@@ -40,7 +40,7 @@ sub condition_sql {
 
   my $balance_sql = FS::cust_main->balance_sql;
 
-  "$balance_sql > CAST( $over AS numeric )";
+  "$balance_sql > CAST( $over AS DECIMAL(10,2) )";
 
 }
 
index f1a9707..fc34612 100644 (file)
@@ -38,7 +38,7 @@ sub condition_sql {
 
   my $balance_sql = FS::cust_main->balance_date_sql( $age );
 
-  "$balance_sql > CAST( $over AS numeric )";
+  "$balance_sql > CAST( $over AS DECIMAL(10,2) )";
 }
 
 sub order_sql {
index 9c71590..2002c70 100644 (file)
@@ -34,7 +34,7 @@ sub condition_sql {
 
   my $balance_sql = FS::cust_main->balance_sql;
 
-  "$balance_sql <= CAST( $under AS numeric )";
+  "$balance_sql <= CAST( $under AS DECIMAL(10,2) )";
 
 }
 
index 91d75dd..d85af26 100644 (file)
@@ -38,14 +38,16 @@ sub condition {
 }
 
 sub condition_sql {
-  my( $class, $table ) = @_;
+  my( $class, $table, %opt ) = @_;
+
+  my $integer = $opt{'driver_name'} =~ /^mysql/ ? 'UNSIGNED INTEGER' : 'INTEGER';
   
   my $servicenum = $class->condition_sql_option('has_service');
   my $sql = qq| 0 < ( SELECT COUNT(cs.svcpart)
      FROM cust_bill_pkg cbp, cust_svc cs
     WHERE cbp.invnum = cust_bill.invnum
       AND cs.pkgnum = cbp.pkgnum
-      AND cs.svcpart = CAST( $servicenum AS integer )
+      AND cs.svcpart = CAST( $servicenum AS $integer )
   )
   |;
   return $sql;
index 0fd9922..d8c77c7 100644 (file)
@@ -48,7 +48,7 @@ sub condition_sql {
 
   my $owed_sql = FS::cust_bill->owed_sql;
 
-  "$owed_sql > CAST( $over AS numeric )";
+  "$owed_sql > CAST( $over AS DECIMAL(10,2) )";
 }
 
 1;
index a0bf92f..4eb6439 100644 (file)
@@ -43,7 +43,7 @@ sub condition_sql {
 
   my $owed_sql = FS::cust_bill->owed_sql;
 
-  "$owed_sql <= CAST( $under AS numeric )";
+  "$owed_sql <= CAST( $under AS DECIMAL(10,2) )";
 }
 
 1;
index d13e849..32f19a3 100644 (file)
@@ -2,7 +2,7 @@ package FS::part_event_condition;
 
 use strict;
 use vars qw( @ISA $DEBUG @SKIP_CONDITION_SQL );
-use FS::UID qw(dbh);
+use FS::UID qw( dbh driver_name );
 use FS::Record qw( qsearch qsearchs );
 use FS::option_Common;
 use FS::part_event; #for order_conditions_sql...
@@ -285,7 +285,9 @@ sub where_conditions_sql {
     map {
           my $conditionname = $_;
           my $coderef = $conditions{$conditionname}->{condition_sql};
-          my $sql = &$coderef( $eventtable, 'time'=>$time );
+          my $sql = &$coderef( $eventtable, 'time'        => $time,
+                                            'driver_name' => driver_name(),
+                             );
           die "$coderef is not a CODEREF" unless ref($coderef) eq 'CODE';
           "( cond_$conditionname.conditionname IS NULL OR $sql )";
         }
index 2084f15..7f5cece 100644 (file)
@@ -33,11 +33,11 @@ tie %options, 'Tie::IxHash',
 ;
 
 %info = (
-  'svc'     => [qw( svc_acct svc_domain svc_forward )],
-  'desc'    => 'Real-time export of accounts and domains to a CommuniGate Pro mail server',
+  'svc'     => [qw( svc_acct svc_domain svc_forward svc_mailinglist )],
+  'desc'    => 'Real-time export of accounts, domains, mail forwards and mailing lists to a CommuniGate Pro mail server',
   'options' => \%options,
   'notes'   => <<'END'
-Real time export of accounts and domains to a
+Real time export of accounts, domains, mail forwards and mailing lists to a
 <a href="http://www.stalker.com/CommuniGatePro/">CommuniGate Pro</a>
 mail server.  The
 <a href="http://www.stalker.com/CGPerl/">CommuniGate Pro Perl Interface</a>
@@ -200,6 +200,31 @@ sub _export_insert_svc_forward {
   '';
 }
 
+sub _export_insert_svc_mailinglist {
+  my( $self, $svc_mlist ) = (shift, shift);
+
+  my @members = map $_->email_address,
+                    $svc_mlist->mailinglist->mailinglistmember;
+
+  #real-time here, presuming CGP does some dup detection
+  eval { $self->communigate_pro_runcommand(
+           'CreateGroup',
+           $svc_mlist->username.'@'.$svc_mlist->domain,
+           { 'RealName'      => $svc_mlist->listname,
+             'SetReplyTo'    => ( $svc_mlist->reply_to         ? 'YES' : 'NO' ),
+             'RemoveAuthor'  => ( $svc_mlist->remove_from      ? 'YES' : 'NO' ),
+             'RejectAuto'    => ( $svc_mlist->reject_auto      ? 'YES' : 'NO' ),
+             'RemoveToAndCc' => ( $svc_mlist->remove_to_and_cc ? 'YES' : 'NO' ),
+             'Members'       => \@members,
+           }
+         );
+       };
+  return $@ if $@;
+
+  '';
+
+}
+
 sub _export_replace {
   my( $self, $new, $old ) = (shift, shift, shift);
 
@@ -385,6 +410,39 @@ sub _export_replace_svc_forward {
   '';
 }
 
+sub _export_replace_svc_mailinglist {
+  my( $self, $new, $old ) = (shift, shift, shift);
+
+  my $oldGroupName = $old->username.'@'.$old->domain;
+  my $newGroupName = $new->username.'@'.$new->domain;
+
+  if ( $oldGroupName ne $newGroupName ) {
+    eval { $self->communigate_pro_runcommand(
+             'RenameGroup', $oldGroupName, $newGroupName ); };
+    return $@ if $@;
+  }
+
+  my @members = map $_->email_address,
+                $new->mailinglist->mailinglistmember;
+
+  #real-time here, presuming CGP does some dup detection
+  eval { $self->communigate_pro_runcommand(
+           'SetGroup', $newGroupName,
+           { 'RealName'      => $new->listname,
+             'SetReplyTo'    => ( $new->reply_to         ? 'YES' : 'NO' ),
+             'RemoveAuthor'  => ( $new->remove_from      ? 'YES' : 'NO' ),
+             'RejectAuto'    => ( $new->reject_auto      ? 'YES' : 'NO' ),
+             'RemoveToAndCc' => ( $new->remove_to_and_cc ? 'YES' : 'NO' ),
+             'Members'       => \@members,
+           }
+         );
+       };
+  return $@ if $@;
+
+  '';
+
+}
+
 sub _export_delete {
   my( $self, $svc_x ) = (shift, shift);
 
@@ -418,6 +476,21 @@ sub _export_delete_svc_forward {
   );
 }
 
+sub _export_delete_svc_mailinglist {
+  my( $self, $svc_mailinglist ) = (shift, shift);
+
+  #real-time here, presuming CGP does some dup detection
+  eval { $self->communigate_pro_runcommand(
+           'DeleteGroup',
+           $svc_mailinglist->username.'@'.$svc_mailinglist->domain,
+         );
+       };
+  return $@ if $@;
+
+  '';
+
+}
+
 sub _export_suspend {
   my( $self, $svc_x ) = (shift, shift);
 
@@ -479,6 +552,20 @@ sub _export_unsuspend_svc_domain {
 
 }
 
+sub export_mailinglistmember_insert {
+  my( $self, $svc_mailinglist, $mailinglistmember ) = (shift, shift, shift);
+  $svc_mailinglist->replace();
+}
+
+sub export_mailinglistmember_replace {
+  my( $self, $svc_mailinglist, $new, $old ) = (shift, shift, shift, shift);
+  die "no way to do this from the UI right now";
+}
+
+sub export_mailinglistmember_delete {
+  my( $self, $svc_mailinglist, $mailinglistmember ) = (shift, shift, shift);
+  $svc_mailinglist->replace();
+}
 
 sub export_getsettings {
   my($self, $svc_x) = (shift, shift);
@@ -647,6 +734,22 @@ sub export_getsettings_svc_acct {
 
 }
 
+sub export_getsettings_svc_mailinglist {
+  my($self, $svc_mailinglist, $settingsref, $defaultref ) = @_;
+
+  my $settings = eval { $self->communigate_pro_runcommand(
+    'GetGroup',
+    $svc_mailinglist->username.'@'.$svc_mailinglist->domain,
+  ) };
+  return $@ if $@;
+
+  $settings->{'Members'} = join(', ', @{ $settings->{'Members'} } );
+
+  %{$settingsref} = %$settings;
+
+  '';
+}
+
 sub communigate_pro_queue {
   my( $self, $svcnum, $method ) = (shift, shift, shift);
   my $jobnum = ''; #don't actually care
diff --git a/FS/FS/part_export/indosoft.pm b/FS/FS/part_export/indosoft.pm
new file mode 100644 (file)
index 0000000..b573401
--- /dev/null
@@ -0,0 +1,219 @@
+package FS::part_export::indosoft;
+
+use vars qw(@ISA %info $insert_hack);
+use Tie::IxHash;
+use Date::Format;
+use FS::part_export;
+
+@ISA = qw(FS::part_export);
+
+tie my %options, 'Tie::IxHash',
+   'url'        => { label => 'Voicebridge API URL' },
+   'account_id' => { label => 'Voicebridge Account ID' },
+;
+
+%info = (
+  'svc'      => 'svc_phone', #svc_bridge?  svc_confbridge?
+  'desc'     =>
+    'Export conferences to the Indosoft Conference Bridge',
+  'options'  => \%options,
+  'notes'    => <<'END'
+Export conferences to the Indosoft conference bridge.
+Net::Indosoft::Voicebridge is required.
+END
+);
+
+$insert_hack = 0;
+
+sub rebless { shift; }
+
+sub _export_insert {
+  my($self, $svc_phone) = (shift, shift);
+
+  my $cust_main = $svc_phone->cust_svc->cust_pkg->cust_main;
+
+  my $address = $cust_main->address1;
+  $address .= ' '.$cust_main->address2 if $cust_main->address2;
+
+  my $phone = $cust_main->daytime || $cust_main->night;
+
+  my @email = $cust_main->invoicing_list_emailonly;
+
+  #svc_phone->location_hash stuff?  well that was for e911.. this shouldn't
+  # even be svc_phone
+
+  #add client
+  my $client_return = eval {
+    indosoft_runcommand( 'addClient',
+      'account_id' => $self->option('account_id'),
+
+      'client_contact_name'     => $cust_main->name, #or just first last?
+      'client_contact_password' => $svc_phone->sip_password, # ?
+
+      'client_contact_addr'     => $address,
+      'client_contact_city'     => $cust_main->city,
+      'client_contact_state'    => $cust_main->state,
+      'client_contact_country'  => $cust_main->country,
+      'client_contact_zip'      => $cust_main->zip,
+
+      'client_contact_phone'    => $phone,
+      'client_contact_fax'      => $cust_main->fax,
+      'client_contact_email'    => $email[0],
+    );
+  };
+  return $@ if $@;
+
+  my $client_id = $client_return->{client_id};
+
+  #add conference
+  my $conf_return = eval {
+    indosoft_runcommand( 'addConference',
+      'client_id'          => $client_id,
+      'conference_name'    => $cust_main->name,
+      'conference_desc'    => $svc_phone->svcnum. ' for '. $cust_main->name,
+      'start_time'         => time2str('%Y-%d-$m %T', time), #now, right??  '2010-20-04 16:20:00',
+      #'moderated_flag'     => 0,
+      #'entry_ann_flag'     => 0
+      #'record_flag'        => 0
+      #'moh_flag'           => 0
+      #'talk_detect_flag'   => 0
+      #'play_user_cnt_flag' => 0
+      #'wait_for_admin'     => 0
+      #'stop_on_admin_exit' => 0
+      #'second_pin'         => 0
+      #'secondary_pin'      => 0,
+      #'allow_sub-conf'     => 0,
+      #'duration'           => 0,
+      #'conference_type' => 'reservation', #'reservationless',
+    );
+  };
+  return $@ if $@;
+
+  my $conference_id = $conf_return->{conference_id};
+
+  #put conference_id in svc_phone.phonenum (and client_id in... phone_name???)
+  local($insert_hack) = 1;
+  $svc_phone->phonenum($conference_id);
+  $svc_phone->phone_name($client_id);
+  #my $error = $svc_phone->replace;
+  #return $error if $error;
+  $svc_phone->replace;
+
+}
+
+sub _export_replace {
+  my( $self, $new, $old ) = (shift, shift, shift);
+  return "can't change phone number as conference_id with indosoft"
+    if $old->phonenum ne $new->phonenum && ! $insert_hack;
+  return '';
+
+  #change anything?
+}
+
+sub _export_delete {
+  my( $self, $svc_phone ) = (shift, shift);
+
+  #delete conference
+  my $conf_return = eval {
+    indosoft_runcommand( 'deleteConference',
+      'conference_id' => $svc_phone->phonenum,
+    );
+  };
+  return $@ if $@;
+
+  #delete client
+  my $client_return = eval {
+    indosoft_runcommand( 'deleteClient',
+      'client_id' => $svc_phone->phone_name,
+    )
+  };
+  return $@ if $@;
+
+  '';
+
+}
+
+# #these three are optional
+# # fallback for svc_acct will change and restore password
+# sub _export_suspend {
+#   my( $self, $svc_phone ) = (shift, shift);
+#   $err_or_queue = $self->indosoft_queue( $svc_phone->svcnum,
+#     'suspend', $svc_phone->username );
+#   ref($err_or_queue) ? '' : $err_or_queue;
+# }
+# 
+# sub _export_unsuspend {
+#   my( $self, $svc_phone ) = (shift, shift);
+#   $err_or_queue = $self->indosoft_queue( $svc_phone->svcnum,
+#     'unsuspend', $svc_phone->username );
+#   ref($err_or_queue) ? '' : $err_or_queue;
+# }
+# 
+# sub export_links {
+#   my($self, $svc_phone, $arrayref) = (shift, shift, shift);
+#   #push @$arrayref, qq!<A HREF="http://example.com/~!. $svc_phone->username.
+#   #                 qq!">!. $svc_phone->username. qq!</A>!;
+#   '';
+# }
+
+###
+
+sub indosoft_runcommand {
+  my( $self, $method ) = (shift, shift);
+
+  indosoft_command(
+    $self->option('url'),
+    $method,
+    @_,
+  );
+
+}
+
+sub indosoft_command {
+  my( $url, $method, @args ) = @_;
+
+  eval 'use Net::Indosoft::Voicebridge;';
+  die $@ if $@;
+
+  my $vb = new Net::Indosoft::Voicebridge( 'url' => $url );
+
+  my $return = $vb->$method( @args );
+
+  die "Indosoft error: ". $return->{'error'} if $return->{'error'};
+
+  $return;
+
+}
+
+
+# #a good idea to queue anything that could fail or take any time
+# sub indosoft_queue {
+#   my( $self, $svcnum, $method ) = (shift, shift, shift);
+#   my $queue = new FS::queue {
+#     'svcnum' => $svcnum,
+#     'job'    => "FS::part_export::indosoft::indosoft_$method",
+#   };
+#   $queue->insert( @_ ) or $queue;
+# }
+# 
+# sub indosoft_insert { #subroutine, not method
+#   my( $username, $password ) = @_;
+#   #do things with $username and $password
+# }
+# 
+# sub indosoft_replace { #subroutine, not method
+# }
+# 
+# sub indosoft_delete { #subroutine, not method
+#   my( $username ) = @_;
+#   #do things with $username
+# }
+# 
+# sub indosoft_suspend { #subroutine, not method
+# }
+# 
+# sub indosoft_unsuspend { #subroutine, not method
+# }
+
+
+1;
index bb18dd4..60c0997 100644 (file)
@@ -157,7 +157,7 @@ sub _export_replace {
       if ( $old->pbxsvc ) {
         my $result = $self->_thirdlane_command(
           'asterisk::rpc_did_unassign',
-          $self->_thirdlane_did($svc_x),
+          $self->_thirdlane_did($old),
         );
         $result eq '0' or return 'Thirdlane API failure (rpc_did_unassign)';
       }
@@ -165,7 +165,7 @@ sub _export_replace {
       if ( $new->pbxsvc ) {
         my $result = $self->_thirdlane_command(
           'asterisk::rpc_did_assign',
-          $self->_thirdlane_did($svc_x),
+          $self->_thirdlane_did($new),
           $new->pbx_title,
         );
         $result eq '0' or return 'Thirdlane API failure (rpc_did_assign)';
@@ -190,7 +190,7 @@ sub _export_replace {
     ''; #we don't care then
 
   } else {
-    die "guru meditation #11: $svc_x is not FS::svc_pbx, FS::svc_phone or FS::svc_acct";
+    die "guru meditation #11: $new is not FS::svc_pbx, FS::svc_phone or FS::svc_acct";
   }
 
 }
@@ -278,11 +278,11 @@ sub _thirdlane_command {
 }
 
 sub _thirdlane_did {
-  my($self, $svc_x) = @_;
+  my($self, $svc_phone) = @_;
   if ( $self->option('omit_countrycode') ) {
-    $svc_x->phonenum;
+    $svc_phone->phonenum;
   } else {
-    $svc_x->countrycode. $svc_x->phonenum;
+    $svc_phone->countrycode. $svc_phone->phonenum;
   }
 }
 
index 46f4e72..276889d 100644 (file)
@@ -1179,6 +1179,18 @@ sub calc_units  { 0; }
 #fallback for everything except bulk.pm
 sub hide_svc_detail { 0; }
 
+=item recur_cost_permonth CUST_PKG
+
+recur_cost divided by freq (only supported for monthly and longer frequencies)
+
+=cut
+
+sub recur_cost_permonth {
+  my($self, $cust_pkg) = @_;
+  return 0 unless $self->freq =~ /^\d+$/ && $self->freq > 0;
+  sprintf('%.2f', $self->recur_cost / $self->freq );
+}
+
 =item format OPTION DATA
 
 Returns data formatted according to the function 'format' described
index f9aaebe..be17fd8 100644 (file)
@@ -104,19 +104,30 @@ tie my %temporalities, 'Tie::IxHash',
                              'type' => 'select',
                              'select_options' => \%temporalities,
                            },
-
-    %usage_fields,
-    %usage_recharge_fields,
-
     'unused_credit' => { 'name' => 'Credit the customer for the unused portion'.
                                    ' of service at cancellation',
                          'type' => 'checkbox',
                        },
+
+    #used in cust_pkg.pm so could add to any price plan
+    'expire_months' => { 'name' => 'Auto-add an expiration date this number of months out',
+                       },
+    #used in cust_pkg.pm so could add to any price plan where it made sense
+    'start_1st'     => { 'name' => 'Auto-add a start date to the 1st, ignoring the current month.',
+                         'type' => 'checkbox',
+                       },
+
+    %usage_fields,
+    %usage_recharge_fields,
+
     'externalid' => { 'name'   => 'Optional External ID',
                       'default' => '',
                     },
   },
-  'fieldorder' => [ qw( setup_fee recur_fee recur_temporality unused_credit ),
+  'fieldorder' => [ qw( setup_fee recur_fee
+                        recur_temporality unused_credit
+                        expire_months start_1st
+                      ),
                     @usage_fieldorder, @usage_recharge_fieldorder,
                     qw( externalid ),
                   ],
index 70f9f04..effc101 100644 (file)
@@ -1,12 +1,10 @@
 package FS::part_pkg::sql_external;
 
 use strict;
-use vars qw(@ISA %info);
+use base qw( FS::part_pkg::recur_Common );
+use vars qw( %info );
 use DBI;
 #use FS::Record qw(qsearch qsearchs);
-use FS::part_pkg::flat;
-
-@ISA = qw(FS::part_pkg::flat);
 
 %info = (
   'name' => 'Base charge plus additional fees for external services from a configurable SQL query',
@@ -22,6 +20,17 @@ use FS::part_pkg::flat;
                                    ' of service at cancellation',
                          'type' => 'checkbox',
                        },
+    'cutoff_day'    => { 'name' => 'Billing Day (1 - 28) for prorating or '.
+                                   'subscription',
+                         'default' => '1',
+                       },
+
+    'recur_method'  => { 'name' => 'Recurring fee method',
+                         #'type' => 'radio',
+                         #'options' => \%recur_method,
+                         'type' => 'select',
+                         'select_options' => \%FS::part_pkg::recur_Common::recur_method,
+                       },
     'datasrc' => { 'name' => 'DBI data source',
                    'default' => '',
                  },
@@ -35,14 +44,17 @@ use FS::part_pkg::flat;
                  'default' => '',
                },
   },
-  'fieldorder' => [qw( setup_fee recur_fee unused_credit datasrc db_username db_password query )],
-  #'setup' => 'what.setup_fee.value',
-  #'recur' => q!'my $dbh = DBI->connect("' + what.datasrc.value + '", "' + what.db_username.value + '", "' + what.db_password.value + '" ) or die $DBI::errstr; my $sth = $dbh->prepare("' + what.query.value + '") or die $dbh->errstr; my $price = ' + what.recur_fee.value + '; foreach my $cust_svc ( grep { $_->part_svc->svcdb eq "svc_external" } $cust_pkg->cust_svc ){ my $id = $cust_svc->svc_x->id; $sth->execute($id) or die $sth->errstr; $price += $sth->fetchrow_arrayref->[0]; } $price;'!,
+  'fieldorder' => [qw( setup_fee recur_fee unused_credit recur_method cutoff_day
+                       datasrc db_username db_password query 
+                  )],
   'weight' => '58',
 );
 
 sub calc_recur {
-  my($self, $cust_pkg ) = @_;
+  my $self = shift;
+  my($cust_pkg) = @_; #, $sdate, $details, $param ) = @_;
+
+  my $price = $self->calc_recur_Common(@_);
 
   my $dbh = DBI->connect( map { $self->option($_) }
                               qw( datasrc db_username db_password )
@@ -52,8 +64,6 @@ sub calc_recur {
   my $sth = $dbh->prepare( $self->option('query') )
     or die $dbh->errstr;
 
-  my $price = $self->option('recur_fee');
-
   foreach my $cust_svc (
     grep { $_->part_svc->svcdb eq "svc_external" } $cust_pkg->cust_svc
   ) {
@@ -69,9 +79,4 @@ sub is_free {
   0;
 }
 
-sub base_recur {
-  my($self, $cust_pkg) = @_;
-  $self->option('recur_fee');
-}
-
 1;
index 0c87581..38e5941 100644 (file)
@@ -535,6 +535,9 @@ sub calc_usage {
                       # length($cdr->billsec) ? $cdr->billsec : $cdr->duration;
           $seconds = $use_duration ? $cdr->duration : $cdr->billsec;
 
+          $seconds -= $rate_detail->conn_sec;
+          $seconds = 0 if $seconds < 0;
+
           $seconds += $granularity - ( $seconds % $granularity )
             if $seconds      # don't granular-ize 0 billsec calls (bills them)
             && $granularity; # 0 is per call
@@ -546,12 +549,15 @@ sub calc_usage {
 
           $included_min{$regionnum} -= $minutes;
 
+          $charge = sprintf('%.2f', $rate_detail->conn_charge);
+
           if ( $included_min{$regionnum} < 0 ) {
             my $charge_min = 0 - $included_min{$regionnum}; #XXX should preserve
                                                             #(display?) this
             $included_min{$regionnum} = 0;
-            $charge = sprintf('%.2f', ( $rate_detail->min_charge * $charge_min )
-                                      + 0.00000001 ); #so 1.005 rounds to 1.01
+            $charge += sprintf('%.2f', ($rate_detail->min_charge * $charge_min)
+                                       + 0.00000001 ); #so 1.005 rounds to 1.01
+            $charge = sprintf('%.2f', $charge);
             $charges += $charge;
           }
 
index 6a27554..59ff2c3 100644 (file)
@@ -272,12 +272,11 @@ sub import_results {
         };
         push @all_values, [ $csv->fields(), $line ];
       }elsif ($filetype eq 'fixed'){
-        my @values = ( $line =~ /$formatre/ );
+        my @values = ( $line =~ /$formatre/, $line );
         unless (@values) {
           $dbh->rollback if $oldAutoCommit;
           return "can't parse: ". $line;
         };
-        push @values, $line;
         push @all_values, \@values;
       }else{
         $dbh->rollback if $oldAutoCommit;
index 26ff959..daf6548 100644 (file)
@@ -14,7 +14,7 @@ $name = 'RBC';
 %import_info = (
   'filetype'    => 'fixed',
   'formatre'    => 
-  '^(.).{18}(.{4}).{3}(.).{11}(.{19}).{6}(.{30}).{17}(.{9})(.{18}).{6}(.{14}).{23}(.).{9}\r?$',
+  '^(.).{18}(.{4}).{3}(.).{11}(.{19}).{6}(.{30}).{17}(.{9})(.{18}).{6}(.{14}).{23}(.).{9}$',
   'fields' => [ qw(
     recordtype
     batchnum
index ba765e0..914f735 100644 (file)
@@ -97,7 +97,7 @@ sub insert {
     return $error;
   }
 
-  $self->export('device_insert');
+  $self->svc_phone->export('device_insert', $self); #call device export
 
   $dbh->commit or die $dbh->errstr if $oldAutoCommit;
   '';
@@ -124,7 +124,7 @@ sub delete {
   local $FS::UID::AutoCommit = 0;
   my $dbh = dbh;
 
-  $self->export('device_delete');
+  $self->svc_phone->export('device_delete', $self); #call device export
 
   my $error = $self->SUPER::delete;
   if ( $error ) {
@@ -167,7 +167,7 @@ sub replace {
     return $error;
   }
 
-  $new->export('device_replace', $old);
+  $new->svc_phone->export('device_replace', $new, $old); #call device export
 
   $dbh->commit or die $dbh->errstr if $oldAutoCommit;
   '';
@@ -227,64 +227,6 @@ sub svc_phone {
   qsearchs( 'svc_phone', { 'svcnum' => $self->svcnum } );
 }
 
-=item export HOOK [ EXPORT_ARGS ]
-
-Runs the provided export hook (i.e. "device_insert") for this service.
-
-=cut
-
-sub export {
-  my( $self, $method ) = ( shift, shift );
-
-  local $SIG{HUP} = 'IGNORE';
-  local $SIG{INT} = 'IGNORE';
-  local $SIG{QUIT} = 'IGNORE';
-  local $SIG{TERM} = 'IGNORE';
-  local $SIG{TSTP} = 'IGNORE';
-  local $SIG{PIPE} = 'IGNORE';
-
-  my $oldAutoCommit = $FS::UID::AutoCommit;
-  local $FS::UID::AutoCommit = 0;
-  my $dbh = dbh;
-
-  my $svc_phone = $self->svc_phone;
-  my $error = $svc_phone->export($method, $self, @_); #call device export
-  if ( $error ) {                                     #netsapiens at least
-    $dbh->rollback if $oldAutoCommit;
-    return "error exporting $method event to svc_phone ". $svc_phone->svcnum.
-           " (transaction rolled back): $error";
-  }
-
-  $method = "export_$method" unless $method =~ /^export_/;
-
-  foreach my $part_export ( $self->part_device->part_export ) {
-    next unless $part_export->can($method);
-    my $error = $part_export->$method($svc_phone, $self, @_);
-    if ( $error ) {
-      $dbh->rollback if $oldAutoCommit;
-      return "error exporting $method event to ". $part_export->exporttype.
-             " (transaction rolled back): $error";
-    }
-  }
-
-  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
-  '';
-
-}
-
-=item export_links
-
-Returns a list of html elements associated with this device's exports.
-
-=cut
-
-sub export_links {
-  my $self = shift;
-  my $return = [];
-  $self->export('export_device_links', $return);
-  $return;
-}
-
 =back
 
 =head1 BUGS
index b7b23ba..f6cdedf 100644 (file)
@@ -232,6 +232,31 @@ sub granularities {
   %granularities;
 }
 
+=item conn_secs
+
+  Returns an (ordered) hash of conn_sec => name pairs
+
+=cut
+
+tie my %conn_secs, 'Tie::IxHash',
+    '0' => 'connection',
+    '1' => 'first second',
+    '6' => 'first 6 seconds',
+   '30' => 'first 30 seconds', # '1/2 minute',
+   '60' => 'first minute',
+  '120' => 'first 2 minutes',
+  '180' => 'first 3 minutes',
+  '300' => 'first 5 minutes',
+;
+
+sub conn_secs {
+  %conn_secs;
+}
+
+=item process_edit_import
+
+=cut
+
 use Storable qw(thaw);
 use Data::Dumper;
 use MIME::Base64;
@@ -311,6 +336,10 @@ sub process_edit_import {
 
 }
 
+=item edit_import
+
+=cut
+
 #false laziness w/ #FS::Record::batch_import, grep "edit_import" for differences
 #could be turned into callbacks or something
 use Text::CSV_XS;
@@ -569,8 +598,6 @@ sub edit_import {
 
 }
 
-
-
 =back
 
 =head1 BUGS
index 5311ec5..377da49 100644 (file)
@@ -114,60 +114,6 @@ sub reasontype {
   qsearchs( 'reason_type', { 'typenum' => shift->reason_type } );
 }
 
-# _upgrade_data
-#
-# Used by FS::Upgrade to migrate to a new database.
-#
-#
-
-sub _upgrade_data {  # class method
-  my ($self, %opts) = @_;
-  my $dbh = dbh;
-
-  warn "$me upgrading $self\n" if $DEBUG;
-
-  my $column = dbdef->table($self->table)->column('reason');
-  unless ($column->type eq 'text') { # assume history matches main table
-
-    # ideally this would be supported in DBIx-DBSchema and friends
-    warn "$me Shifting reason column to type 'text'\n" if $DEBUG;
-    foreach my $table ( $self->table, 'h_'. $self->table ) {
-      my @sql = ();
-
-      $column = dbdef->table($self->table)->column('reason');
-      my $columndef = $column->line($dbh);
-      $columndef =~ s/varchar\(\d+\)/text/i;
-
-      if ( $dbh->{Driver}->{Name} eq 'Pg' ) {
-
-        my $notnull = $columndef =~ s/not null//i;
-        push @sql,"ALTER TABLE $table RENAME reason TO freeside_upgrade_reason";
-        push @sql,"ALTER TABLE $table ADD $columndef";
-        push @sql,"UPDATE $table SET reason = freeside_upgrade_reason";
-        push @sql,"ALTER TABLE $table ALTER reason SET NOT NULL"
-          if $notnull;
-        push @sql,"ALTER TABLE $table DROP freeside_upgrade_reason";
-
-      } elsif ( $dbh->{Driver}->{Name} =~ /^mysql/i ){
-
-        #crap, this isn't working
-        #push @sql,"ALTER TABLE $table MODIFY reason ". $column->line($dbh);
-        warn "WARNING: reason table upgrade not yet supported for mysql, sorry";
-
-      } else {
-        die "watchu talkin' 'bout, Willis? (unsupported database type)";
-      }
-
-      foreach (@sql) {
-        my $sth = $dbh->prepare($_) or die $dbh->errstr;
-        $sth->execute or die $sth->errstr;
-      }
-    }
-  }
-
- '';
-
-}
 =back
 
 =head1 BUGS
diff --git a/FS/FS/svc_mailinglist.pm b/FS/FS/svc_mailinglist.pm
new file mode 100644 (file)
index 0000000..ba297ee
--- /dev/null
@@ -0,0 +1,330 @@
+package FS::svc_mailinglist;
+
+use strict;
+use base qw( FS::svc_Domain_Mixin FS::svc_Common );
+use Scalar::Util qw( blessed );
+use FS::Record qw( qsearchs dbh ); # qsearch );
+use FS::svc_domain;
+use FS::mailinglist;
+
+=head1 NAME
+
+FS::svc_mailinglist - Object methods for svc_mailinglist records
+
+=head1 SYNOPSIS
+
+  use FS::svc_mailinglist;
+
+  $record = new FS::svc_mailinglist \%hash;
+  $record = new FS::svc_mailinglist { 'column' => 'value' };
+
+  $error = $record->insert;
+
+  $error = $new_record->replace($old_record);
+
+  $error = $record->delete;
+
+  $error = $record->check;
+
+=head1 DESCRIPTION
+
+An FS::svc_mailinglist object represents a mailing list customer service.
+FS::svc_mailinglist inherits from FS::Record.  The following fields are
+currently supported:
+
+=over 4
+
+=item svcnum
+
+primary key
+
+=item username
+
+username
+
+=item domsvc
+
+domsvc
+
+=item listnum
+
+listnum
+
+=item reply_to_group
+
+reply_to_group
+
+=item remove_author
+
+remove_author
+
+=item reject_auto
+
+reject_auto
+
+=item remove_to_and_cc
+
+remove_to_and_cc
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item new HASHREF
+
+Creates a new record.  To add the record to the database, see L<"insert">.
+
+Note that this stores the hash reference, not a distinct copy of the hash it
+points to.  You can ask the object for a copy with the I<hash> method.
+
+=cut
+
+# the new method can be inherited from FS::Record, if a table method is defined
+
+sub table { 'svc_mailinglist'; }
+
+sub table_info {
+  {
+    'name' => 'Mailing list',
+    'display_weight' => 80,
+    'cancel_weight'  => 55,
+    'fields' => {
+      'username' => { 'label' => 'List address',
+                      'disable_default'   => 1,
+                      'disable_fixed'     => 1,
+                      'disable_inventory' => 1,
+                    },
+      'domsvc' => { 'label' => 'List address domain',
+                    'disable_inventory' => 1,
+                    },
+      'domain' => 'List address domain',
+      'listnum' => { 'label' => 'List name',
+                     'disable_inventory' => 1,
+                   },
+      'listname' => 'List name', #actually mailinglist.listname
+      'reply_to' => { 'label' => 'Reply-To list',
+                      'type'  => 'checkbox',
+                      'disable_inventory' => 1,
+                      'disable_select'    => 1,
+                    },
+      'remove_from' => { 'label' => 'Remove From: from messages',
+                          'type'  => 'checkbox',
+                          'disable_inventory' => 1,
+                          'disable_select'    => 1,
+                        },
+      'reject_auto' => { 'label' => 'Reject automatic messages',
+                         'type'  => 'checkbox',
+                         'disable_inventory' => 1,
+                         'disable_select'    => 1,
+                       },
+      'remove_to_and_cc' => { 'label' => 'Remove To: and Cc: from messages',
+                              'type'  => 'checkbox',
+                              'disable_inventory' => 1,
+                              'disable_select'    => 1,
+                            },
+    },
+  };
+}
+
+=item insert
+
+Adds this record to the database.  If there is an error, returns the error,
+otherwise returns false.
+
+=cut
+
+sub insert {
+  my $self = shift;
+
+  local $SIG{HUP} = 'IGNORE';
+  local $SIG{INT} = 'IGNORE';
+  local $SIG{QUIT} = 'IGNORE';
+  local $SIG{TERM} = 'IGNORE';
+  local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
+
+  my $oldAutoCommit = $FS::UID::AutoCommit;
+  local $FS::UID::AutoCommit = 0;
+  my $dbh = dbh;
+
+  my $error;
+
+  #attach to existing lists?  sound scary 
+  #unless ( $self->listnum ) {
+    my $mailinglist = new FS::mailinglist {
+      'listname' => $self->get('listname'),
+    };
+    $error = $mailinglist->insert;
+    if ( $error ) {
+      $dbh->rollback if $oldAutoCommit;
+      return $error;
+    }
+    $self->listnum($mailinglist->listnum);
+  #}
+
+  $error = $self->SUPER::insert(@_);
+  if ( $error ) {
+    $dbh->rollback if $oldAutoCommit;
+    return $error;
+  }
+
+  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+  '';
+}
+
+=item delete
+
+Delete this record from the database.
+
+=cut
+
+sub delete {
+  my $self = shift;
+
+  local $SIG{HUP} = 'IGNORE';
+  local $SIG{INT} = 'IGNORE';
+  local $SIG{QUIT} = 'IGNORE';
+  local $SIG{TERM} = 'IGNORE';
+  local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
+
+  my $oldAutoCommit = $FS::UID::AutoCommit;
+  local $FS::UID::AutoCommit = 0;
+  my $dbh = dbh;
+
+  my $error = $self->mailinglist->delete || $self->SUPER::delete;
+  if ( $error ) {
+    $dbh->rollback if $oldAutoCommit;
+    return $error;
+  }
+
+  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+  '';
+
+}
+
+=item replace OLD_RECORD
+
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+
+=cut
+
+sub replace {
+  my $new = shift;
+
+  my $old = ( blessed($_[0]) && $_[0]->isa('FS::Record') )
+              ? shift
+              : $new->replace_old;
+
+  return "can't change listnum" if $old->listnum != $new->listnum; #?
+
+  my %options = @_;
+
+  local $SIG{HUP} = 'IGNORE';
+  local $SIG{INT} = 'IGNORE';
+  local $SIG{QUIT} = 'IGNORE';
+  local $SIG{TERM} = 'IGNORE';
+  local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
+
+  my $oldAutoCommit = $FS::UID::AutoCommit;
+  local $FS::UID::AutoCommit = 0;
+  my $dbh = dbh;
+
+  if ( $new->get('listname') && $new->get('listname') ne $old->listname ) {
+    my $mailinglist = $old->mailinglist;
+    $mailinglist->listname($new->get('listname'));
+    my $error = $mailinglist->replace;
+    if ( $error ) {
+      $dbh->rollback if $oldAutoCommit;
+      return $error if $error;
+    }
+  }
+
+  my $error = $new->SUPER::replace($old, %options);
+  if ( $error ) {
+    $dbh->rollback if $oldAutoCommit;
+    return $error if $error;
+  }
+
+  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+  ''; #no error
+  
+
+}
+
+=item check
+
+Checks all fields to make sure this is a valid record.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert
+and replace methods.
+
+=cut
+
+# the check method should currently be supplied - FS::Record contains some
+# data checking routines
+
+sub check {
+  my $self = shift;
+
+  my $error = 
+    $self->ut_numbern('svcnum')
+    || $self->ut_text('username')
+    || $self->ut_foreign_key('domsvc', 'svc_domain', 'svcnum')
+    #|| $self->ut_foreign_key('listnum', 'mailinglist', 'listnum')
+    || $self->ut_foreign_keyn('listnum', 'mailinglist', 'listnum')
+    || $self->ut_enum('reply_to_group', [ '', 'Y' ] )
+    || $self->ut_enum('remove_author', [ '', 'Y' ] )
+    || $self->ut_enum('reject_auto', [ '', 'Y' ] )
+    || $self->ut_enum('remove_to_and_cc', [ '', 'Y' ] )
+  ;
+  return $error if $error;
+
+  return "Can't remove listnum" if $self->svcnum && ! $self->listnum;
+
+  $self->SUPER::check;
+}
+
+=item mailinglist
+
+=cut
+
+sub mailinglist {
+  my $self = shift;
+  qsearchs('mailinglist', { 'listnum' => $self->listnum } );
+}
+
+=item listname
+
+=cut
+
+sub listname {
+  my $self = shift;
+  my $mailinglist = $self->mailinglist;
+  $mailinglist ? $mailinglist->listname : '';
+}
+
+=item label
+
+=cut
+
+sub label {
+  my $self = shift;
+  $self->listname. ' <'. $self->username. '@'. $self->domain. '>';
+}
+
+=back
+
+=head1 BUGS
+
+=head1 SEE ALSO
+
+L<FS::Record>, schema.html from the base documentation.
+
+=cut
+
+1;
+
index 0ed01ad..30572ec 100644 (file)
@@ -1,8 +1,10 @@
 package FS::svc_phone;
 
 use strict;
-use base qw( FS::svc_Domain_Mixin FS::svc_Common );
-use vars qw( @pw_set $conf );
+use base qw( FS::svc_Domain_Mixin FS::location_Mixin FS::svc_Common );
+use vars qw( $DEBUG $me @pw_set $conf $phone_name_max );
+use Data::Dumper;
+use Scalar::Util qw( blessed );
 use FS::Conf;
 use FS::Record qw( qsearch qsearchs dbh );
 use FS::Msgcat qw(gettext);
@@ -10,6 +12,10 @@ use FS::part_svc;
 use FS::phone_device;
 use FS::svc_pbx;
 use FS::svc_domain;
+use FS::cust_location;
+
+$me = '[' . __PACKAGE__ . ']';
+$DEBUG = 0;
 
 #avoid l 1 and o O 0
 @pw_set = ( 'a'..'k', 'm','n', 'p-z', 'A'..'N', 'P'..'Z' , '2'..'9' );
@@ -17,6 +23,7 @@ use FS::svc_domain;
 #ask FS::UID to run this stuff for us later
 $FS::UID::callback{'FS::svc_acct'} = sub { 
   $conf = new FS::Conf;
+  $phone_name_max = $conf->config('svc_phone-phone_name-max_length');
 };
 
 =head1 NAME
@@ -121,6 +128,11 @@ sub table_info {
                          select_label => 'domain',
                          disable_inventory => 1,
                        },
+        'locationnum' => {
+                           label => 'E911 location',
+                           disable_inventory => 1,
+                           disable_select    => 1,
+                         },
     },
   };
 }
@@ -173,12 +185,54 @@ sub label {
 
 =item insert
 
-Adds this record to the database.  If there is an error, returns the error,
-otherwise returns false.
+Adds this phone number to the database.  If there is an error, returns the
+error, otherwise returns false.
 
 =cut
 
-# the insert method can be inherited from FS::Record
+sub insert {
+  my $self = shift;
+  my %options = @_;
+
+  if ( $DEBUG ) {
+    warn "[$me] insert called on $self: ". Dumper($self).
+         "\nwith options: ". Dumper(%options);
+  }
+
+  local $SIG{HUP} = 'IGNORE';
+  local $SIG{INT} = 'IGNORE';
+  local $SIG{QUIT} = 'IGNORE';
+  local $SIG{TERM} = 'IGNORE';
+  local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
+
+  my $oldAutoCommit = $FS::UID::AutoCommit;
+  local $FS::UID::AutoCommit = 0;
+  my $dbh = dbh;
+
+  #false laziness w/cust_pkg.pm... move this to location_Mixin?  that would
+  #make it more of a base class than a mixin... :)
+  if ( $options{'cust_location'}
+         && ( ! $self->locationnum || $self->locationnum == -1 ) ) {
+    my $error = $options{'cust_location'}->insert;
+    if ( $error ) {
+      $dbh->rollback if $oldAutoCommit;
+      return "inserting cust_location (transaction rolled back): $error";
+    }
+    $self->locationnum( $options{'cust_location'}->locationnum );
+  }
+  #what about on-the-fly edits?  if the ui supports it?
+
+  my $error = $self->SUPER::insert(%options);
+  if ( $error ) {
+    $dbh->rollback if $oldAutoCommit;
+    return $error;
+  }
+
+  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+  '';
+
+}
 
 =item delete
 
@@ -228,7 +282,53 @@ returns the error, otherwise returns false.
 
 =cut
 
-# the replace method can be inherited from FS::Record
+sub replace {
+  my $new = shift;
+
+  my $old = ( blessed($_[0]) && $_[0]->isa('FS::Record') )
+              ? shift
+              : $new->replace_old;
+
+  my %options = @_;
+
+  if ( $DEBUG ) {
+    warn "[$me] replacing $old with $new\n".
+         "\nwith options: ". Dumper(%options);
+  }
+
+  local $SIG{HUP} = 'IGNORE';
+  local $SIG{INT} = 'IGNORE';
+  local $SIG{QUIT} = 'IGNORE';
+  local $SIG{TERM} = 'IGNORE';
+  local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
+
+  my $oldAutoCommit = $FS::UID::AutoCommit;
+  local $FS::UID::AutoCommit = 0;
+  my $dbh = dbh;
+
+  #false laziness w/cust_pkg.pm... move this to location_Mixin?  that would
+  #make it more of a base class than a mixin... :)
+  if ( $options{'cust_location'}
+         && ( ! $new->locationnum || $new->locationnum == -1 ) ) {
+    my $error = $options{'cust_location'}->insert;
+    if ( $error ) {
+      $dbh->rollback if $oldAutoCommit;
+      return "inserting cust_location (transaction rolled back): $error";
+    }
+    $new->locationnum( $options{'cust_location'}->locationnum );
+  }
+  #what about on-the-fly edits?  if the ui supports it?
+
+  my $error = $new->SUPER::replace($old, %options);
+  if ( $error ) {
+    $dbh->rollback if $oldAutoCommit;
+    return $error if $error;
+  }
+
+  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+  ''; #no error
+}
 
 =item suspend
 
@@ -269,6 +369,8 @@ sub check {
   }
   $self->phonenum($phonenum);
 
+  $self->locationnum('') if !$self->locationnum || $self->locationnum == -1;
+
   my $error = 
     $self->ut_numbern('svcnum')
     || $self->ut_numbern('countrycode')
@@ -278,9 +380,14 @@ sub check {
     || $self->ut_textn('phone_name')
     || $self->ut_foreign_keyn('pbxsvc', 'svc_pbx',    'svcnum' )
     || $self->ut_foreign_keyn('domsvc', 'svc_domain', 'svcnum' )
+    || $self->ut_foreign_keyn('locationnum', 'cust_location', 'locationnum')
   ;
   return $error if $error;
 
+  return 'Name ('. $self->phone_name.
+         ") is longer than $phone_name_max characters"
+    if $phone_name_max && length($self->phone_name) > $phone_name_max;
+
   $self->countrycode(1) unless $self->countrycode;
 
   unless ( length($self->sip_password) ) {
@@ -407,6 +514,17 @@ sub phone_device {
   qsearch('phone_device', { 'svcnum' => $self->svcnum } );
 }
 
+#override location_Mixin version cause we want to try the cust_pkg location
+#in between us and cust_main
+# XXX what to do in the unlinked case???  return a pseudo-object that returns
+# empty fields?
+sub cust_location_or_main {
+  my $self = shift;
+  return $self->cust_location if $self->locationnum;
+  my $cust_pkg = $self->cust_svc->cust_pkg;
+  $cust_pkg ? $cust_pkg->cust_location_or_main : '';
+}
+
 =back
 
 =head1 BUGS
index 45f3f58..75e72c5 100644 (file)
@@ -502,7 +502,9 @@ given customer (see L<FS::cust_main>)
 
 =cut
 
+    #hot
 sub tax_on_tax {
+       #akshun
   my $self = shift;
   my $cust_main = shift;
 
@@ -1263,7 +1265,7 @@ sub _remember_tax_products {
       if $part_pkg_taxproduct && $part_pkg_taxproduct->data_vendor eq $format;
 
     foreach my $option ( $part_pkg->part_pkg_option ) {
-      next unless $option->optionname =~ /^usage_taxproductnum_(\w)$/;
+      next unless $option->optionname =~ /^usage_taxproductnum_(\w+)$/;
       my $class = $1;
 
       $part_pkg_taxproduct = $part_pkg->taxproduct($class);
@@ -1755,111 +1757,6 @@ sub browse_queries {
   return ($query, "SELECT COUNT(*) FROM tax_rate $extra_sql");
 }
 
-# _upgrade_data
-#
-# Used by FS::Upgrade to migrate to a new database.
-#
-#
-
-sub _upgrade_data {  # class method
-  my ($self, %opts) = @_;
-  my $dbh = dbh;
-
-  warn "$me upgrading $self\n" if $DEBUG;
-
-  my @column = qw ( tax excessrate usetax useexcessrate fee excessfee
-                    feebase feemax );
-
-  if ( $dbh->{Driver}->{Name} eq 'Pg' ) {
-
-    eval "use DBI::Const::GetInfoType;";
-    die $@ if $@;
-
-    my $major_version = 0;
-    $dbh->get_info( $GetInfoType{SQL_DBMS_VER} ) =~ /^(\d{2})/
-      && ( $major_version = sprintf("%d", $1) );
-
-    if ( $major_version > 7 ) {
-
-      # ideally this would be supported in DBIx-DBSchema and friends
-
-      foreach my $column ( @column ) {
-        my $columndef = dbdef->table($self->table)->column($column);
-        unless ($columndef->type eq 'numeric') {
-
-          warn "updating tax_rate column $column to numeric\n" if $DEBUG;
-          my $sql = "ALTER TABLE tax_rate ALTER $column TYPE numeric(14,8)";
-          my $sth = $dbh->prepare($sql) or die $dbh->errstr;
-          $sth->execute or die $sth->errstr;
-
-          warn "updating h_tax_rate column $column to numeric\n" if $DEBUG;
-          $sql = "ALTER TABLE h_tax_rate ALTER $column TYPE numeric(14,8)";
-          $sth = $dbh->prepare($sql) or die $dbh->errstr;
-          $sth->execute or die $sth->errstr;
-
-        }
-      }
-
-    } elsif ( $dbh->{pg_server_version} =~ /^704/ ) {
-
-      # ideally this would be supported in DBIx-DBSchema and friends
-
-      foreach my $column ( @column ) {
-        my $columndef = dbdef->table($self->table)->column($column);
-        unless ($columndef->type eq 'numeric') {
-
-          warn "updating tax_rate column $column to numeric\n" if $DEBUG;
-
-          foreach my $table ( qw( tax_rate h_tax_rate ) ) {
-
-            my $sql = "ALTER TABLE $table RENAME $column TO old_$column";
-            my $sth = $dbh->prepare($sql) or die $dbh->errstr;
-            $sth->execute or die $sth->errstr;
-
-            my $def = dbdef->table($table)->column($column);
-            $def->type('numeric');
-            $def->length('14,8'); 
-            my $null = $def->null;
-            $def->null('NULL');
-
-            $sql = "ALTER TABLE $table ADD COLUMN ". $def->line($dbh);
-            $sth = $dbh->prepare($sql) or die $dbh->errstr;
-            $sth->execute or die $sth->errstr;
-
-            $sql = "UPDATE $table SET $column = CAST( old_$column AS numeric )";
-            $sth = $dbh->prepare($sql) or die $dbh->errstr;
-            $sth->execute or die $sth->errstr;
-
-            unless ( $null eq 'NULL' ) {
-              $sql = "ALTER TABLE $table ALTER $column SET NOT NULL";
-              $sth = $dbh->prepare($sql) or die $dbh->errstr;
-              $sth->execute or die $sth->errstr;
-            }
-
-            $sql = "ALTER TABLE $table DROP old_$column";
-            $sth = $dbh->prepare($sql) or die $dbh->errstr;
-            $sth->execute or die $sth->errstr;
-
-          }
-        }
-      }
-
-    } else {
-
-      warn "WARNING: tax_rate table upgrade unsupported for this Pg version\n";
-
-    }
-
-  } else {
-
-    warn "WARNING: tax_rate table upgrade only supported for Pg 8+\n";
-
-  }
-
-  '';
-
-}
-
 =back
 
 =head1 BUGS
index 0df1dde..4755f1f 100644 (file)
@@ -463,3 +463,16 @@ FS/svc_pbx.pm
 t/svc_pbx.t
 FS/h_svc_www.pm
 t/h_svc_www.t
+FS/location_Mixin.pm
+t/location_Mixin.t
+FS/svc_mailinglist.pm
+t/svc_mailinglist.t
+FS/mailinglist.pm
+t/mailinglist.t
+FS/mailinglistmember.pm
+t/mailinglistmember.t
+FS/part_event/Action/Mixin/credit_pkg.pm
+FS/part_event/Action/pkg_agent_credit.pm
+FS/part_event/Action/pkg_agent_credit_pkg.pm
+FS/part_event/Action/pkg_employee_credit.pm
+FS/part_event/Action/pkg_employee_credit_pkg.pm
index 06bef68..3f8abc0 100755 (executable)
@@ -12,15 +12,15 @@ use FS::pay_batch;
 use FS::cust_pay_batch;
 use FS::Conf;
 
-use vars qw( $opt_a $opt_t $opt_v );
-getopts('avt');
+use vars qw( $opt_a $opt_t $opt_v $opt_p );
+getopts('avtp:');
 
 #$Net::SFTP::Foreign::debug = -1;
 
 sub usage { "
   Usage:
     freeside-paymentech-upload [ -v ] [ -t ] user batchnum
-    freeside-paymentech-upload -a [ -v ] [ -t ] user\n
+    freeside-paymentech-upload -a [ -p payby ] [ -v ] [ -t ] user\n
 " }
 
 my $user = shift or die &usage;
@@ -31,8 +31,11 @@ my $zip_check = `which zip` or die "can't find zip executable\n";
 my @batches; 
 
 if($opt_a) {
-  @batches = qsearch('pay_batch', { status => 'O' } );
-  die "No open batches found.\n" if !@batches;
+  my %criteria = (status => 'O');
+  $criteria{'payby'} = uc($opt_p) if $opt_p;
+  @batches = qsearch('pay_batch', \%criteria);
+  die "No open batches found".($opt_p ? " of type '$opt_p'" : '').".\n" 
+    if !@batches;
 }
 else {
   my $batchnum = shift;
@@ -95,7 +98,7 @@ freeside-paymentech-upload - Transmit a payment batch to Chase Paymentech via SF
 
 =head1 SYNOPSIS
 
-  freeside-paymentech-upload [ -a ] [ -v ] [ -t ] user batchnum
+  freeside-paymentech-upload [ -a [ -p PAYBY ] ] [ -v ] [ -t ] user batchnum
 
 =head1 DESCRIPTION
 
@@ -106,6 +109,8 @@ response file.
 
 -a: Send all open batches, instead of specifying a batchnum.
 
+-p PAYBY: With -a, limit to batches of that payment type, e.g. -p CARD.
+
 -v: Be verbose.
 
 -t: Send the transaction to the test server.
index 97c704c..f4ff1c2 100755 (executable)
@@ -4,7 +4,7 @@ use strict;
 use vars qw($opt_d $opt_s $opt_q $opt_v $opt_r);
 use vars qw($DEBUG $DRY_RUN);
 use Getopt::Std;
-use DBIx::DBSchema 0.31;
+use DBIx::DBSchema 0.31; #0.39
 use FS::UID qw(adminsuidsetup checkeuid datasrc driver_name);  #getsecrets);
 use FS::CurrentUser;
 use FS::Schema qw( dbdef dbdef_dist reload_dbdef );
@@ -30,6 +30,11 @@ $FS::UID::callback_hack = 1;
 my $dbh = adminsuidsetup($user);
 $FS::UID::callback_hack = 0;
 
+if ( driver_name =~ /^mysql/i ) { #until 0.39 is required above
+  eval "use DBIx::DBSchema 0.39;";
+  die $@ if $@;
+}
+
 #needs to match FS::Schema...
 my $dbdef_file = "%%%FREESIDE_CONF%%%/dbdef.". datasrc;
 
index 8c1f3db..412033c 100755 (executable)
@@ -34,8 +34,9 @@ elsif($opt{'a'}) {
     or die "Agent has no payment gateway for method '$method'.";
 }
 
-if(defined($opt{'X'}) and !qsearchs('reason', { reasonnum => opt{'X'} })) {
-  die "Cancellation reason not found: '".$opt{'X'}."'";
+if(defined($opt{'X'})) {
+  die "Cancellation reason not found: '".$opt{'X'}."'" 
+    if(! qsearchs('reason', { reasonnum => $opt{'X'} } ) );
 }
 
 my ($processor, $login, $password, $action, @bop_options) =
@@ -132,21 +133,7 @@ if($opt{'v'}) {
 }
 
 sub usage {
-    die "Usage:\n\n  freeside-void-payments [ options ] user
-    
-    options:
-      -a agentnum    use agentnum's gateway information
-      -g gatewaynum  use gatewaynum
-      -f file        read transaction numbers from file
-      -c             use ECHECK gateway instead of CARD
-      -r reason      specify void reason (as a string)
-      -v             be verbose
-      -s start-date
-      -e end-date    limit by payment return date
-      -X reasonnum   cancel customers whose payments are voided
-                     (specify cancellation reason number)
-
-";
+    die "Usage:\n\n  freeside-void-payments [ -f file | [ -s start-date ] [ -e end-date ] ] [ -r 'reason' ] [ -g gatewaynum | -a agentnum ] [ -c ] [ -v ] [ -n ] [-X reasonnum ] user\n";
 }
 
 __END__
@@ -159,17 +146,10 @@ freeside-void-payments - Automatically void a list of returned payments.
 
 =head1 SYNOPSIS
 
-  freeside-void-payments [ -f file | [ -s start-date ] [ -e end-date ] ] 
-                         [ -r 'reason' ] 
-                         [ -g gatewaynum | -a agentnum ] 
-                         [ -c ] [ -v ] 
-                         [ -X reasonnum ] 
-                         user
+  freeside-void-payments [ -f file | [ -s start-date ] [ -e end-date ] ] [ -r 'reason' ] [ -g gatewaynum | -a agentnum ] [ -c ] [ -v ] [ -n ] user
 
 =head1 DESCRIPTION
 
-=pod
-
 Voids payments that were returned by the payment processor.  Can be 
 run periodically from crontab or manually after receiving a list of 
 returned payments.  Normally this is a meaningful operation only for 
@@ -182,12 +162,12 @@ generally how the processor will identify them later.
   -f: Read the list of authorization numbers from the specified file.  
       If they are not from the default payment gateway, -g or -a 
       must be given to identify the gateway.
-
+      
   If -f is not given, the script will attempt to contact the gateway 
   and download a list of returned transactions.  To support this, 
   the Business::OnlinePayment module for the processor must implement 
-  the get_returns() method.  For an example, see 
-  Business::OnlinePayment::WesternACH.
+  the I<get_returns()> method.  For an example, see 
+  L<Business::OnlinePayment::WesternACH>.
 
   -s, -e: Specify the starting and ending dates for the void list.  
       This has no effect if -f is given.  The end date defaults to 
@@ -195,7 +175,7 @@ generally how the processor will identify them later.
 
   -r: The reason for voiding the payments, to be stored in the database.
 
-  -g: The FS::payment_gateway number for the gateway that handled 
+  -g: The L<FS::payment_gateway> number for the gateway that handled 
       these payments.  If -f is not given, this determines which 
       gateway will be contacted.  This overrides -a.
 
@@ -207,9 +187,12 @@ generally how the processor will identify them later.
 
   -v: Be verbose.
   
-  -X: Automatically cancel all packages belonging to customers whose 
-      payments were returned.  Requires a cancellation reasonnum 
-      (from FS::reason).
+  -X: Automatically cancel all packages belonging to customers whose payments 
+      were returned.  Requires a cancellation reasonnum (from L<FS::reason>).
+
+A warning will be emitted for each transaction that can't be found.  
+This may happen if it's already been voided, or if the gateway 
+doesn't match.
 
 =head1 EXAMPLE
 
@@ -230,7 +213,7 @@ day at 8:30 every morning:
 
 =head1 BUGS
 
-Most payment gateways don't support it.
+Most payment gateways don't support it, making the script largely useless.
 
 =head1 SEE ALSO
 
diff --git a/FS/t/export_device.t b/FS/t/export_device.t
deleted file mode 100644 (file)
index 4688326..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-BEGIN { $| = 1; print "1..1\n" }
-END {print "not ok 1\n" unless $loaded;}
-use FS::export_device;
-$loaded=1;
-print "ok 1\n";
diff --git a/FS/t/h_svc_mailinglist.t b/FS/t/h_svc_mailinglist.t
new file mode 100644 (file)
index 0000000..d75575a
--- /dev/null
@@ -0,0 +1,5 @@
+BEGIN { $| = 1; print "1..1\n" }
+END {print "not ok 1\n" unless $loaded;}
+use FS::h_svc_mailinglist;
+$loaded=1;
+print "ok 1\n";
diff --git a/FS/t/location_Mixin.t b/FS/t/location_Mixin.t
new file mode 100644 (file)
index 0000000..b6a9bf2
--- /dev/null
@@ -0,0 +1,5 @@
+BEGIN { $| = 1; print "1..1\n" }
+END {print "not ok 1\n" unless $loaded;}
+use FS::location_Mixin;
+$loaded=1;
+print "ok 1\n";
diff --git a/FS/t/mailinglist.t b/FS/t/mailinglist.t
new file mode 100644 (file)
index 0000000..45b7dd5
--- /dev/null
@@ -0,0 +1,5 @@
+BEGIN { $| = 1; print "1..1\n" }
+END {print "not ok 1\n" unless $loaded;}
+use FS::mailinglist;
+$loaded=1;
+print "ok 1\n";
diff --git a/FS/t/mailinglistmember.t b/FS/t/mailinglistmember.t
new file mode 100644 (file)
index 0000000..1ceb2f5
--- /dev/null
@@ -0,0 +1,5 @@
+BEGIN { $| = 1; print "1..1\n" }
+END {print "not ok 1\n" unless $loaded;}
+use FS::mailinglistmember;
+$loaded=1;
+print "ok 1\n";
diff --git a/FS/t/svc_mailinglist.t b/FS/t/svc_mailinglist.t
new file mode 100644 (file)
index 0000000..73896da
--- /dev/null
@@ -0,0 +1,5 @@
+BEGIN { $| = 1; print "1..1\n" }
+END {print "not ok 1\n" unless $loaded;}
+use FS::svc_mailinglist;
+$loaded=1;
+print "ok 1\n";
index 568cf4a..b7b355c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -123,7 +123,7 @@ RT_PATH = /opt/rt3
 FREESIDE_PATH = `pwd`
 PERL_INC_DEV_KLUDGE = /usr/local/share/perl/5.10.0/
 
-VERSION=1.9.2cvs
+VERSION=1.9.2
 TAG=freeside_1_9_2
 
 DEBVERSION = `echo ${VERSION} | perl -pe 's/(\d)([a-z])/\1~\2/'`-1
index 110ec8f..e20d96b 100644 (file)
@@ -1 +1 @@
-ivan-unconfigured-freeside-installation@420.am
+ivan-unconfigured-freeside-installation@freeside.biz
index 20a0b4f..7f9977c 100644 (file)
@@ -1,3 +1,15 @@
+freeside (1.9.2-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Ivan Kohler <ivan-debian@420.am>  Mon, 05 Apr 2010 00:08:55 -0700
+
+freeside (1.9.2~cvs-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Ivan Kohler <ivan-debian@420.am>  Mon, 05 Apr 2010 00:05:25 -0700
+
 freeside (1.9.1-1) unstable; urgency=low
 
   * New upstream release
index 78850c4..952d620 100644 (file)
@@ -76,11 +76,8 @@ sub handler
       RT::Init() if $RT::VERSION; #for lack of something else
 
       #we don't want the RT error handlers under FS
-      {
-        no warnings 'uninitialized';
-        undef $SIG{__WARN__} if defined($SIG{__WARN__});
-        undef $SIG{__DIE__}  if defined($SIG{__DIE__} );
-      }
+      undef $SIG{__WARN__} if defined($SIG{__WARN__});
+      undef $SIG{__DIE__}  if defined($SIG{__DIE__} );
 
       $ah->interp($fs_interp);
 
index 321025b..3162e3a 100644 (file)
@@ -49,13 +49,29 @@ my $groups_sub = sub {
 
 };
 
+my $cust_sub = sub {
+  my $access_user = shift;
+  $access_user->user_custnum ? $access_user->user_cust_main->name : '';
+};
+my $cust_link = [ $p.'view/cust_main.cgi?custnum=', 'user_custnum' ];
+
 my $count_query = 'SELECT COUNT(*) FROM access_user';
 
 my $link = [ $p.'edit/access_user.html?', 'usernum' ];
 
-my @header = ( '#',       'Username', 'Full name', 'Groups'    );
-my @fields = ( 'usernum', 'username', 'name',      $groups_sub );
-my $align = 'rlll';
-my @links = ( $link, $link, $link, '' );
+my @header = ( '#',       'Username', 'Full name', 'Groups',    'Customer' );
+my @fields = ( 'usernum', 'username', 'name',      $groups_sub, $cust_sub, );
+my $align = 'rllll';
+my @links = ( $link, $link, $link, '', $cust_link );
+
+#if ( FS::Conf->new->config('ticket_system') ) {
+#  push @header, 'Ticketing';
+#  push @fields, sub {
+#    my $access_user = shift;
+#
+#  };
+#  $align .= 'l';
+#  push @links, '';
+#}
 
 </%init>
index 23bc23f..3371926 100644 (file)
@@ -15,6 +15,7 @@
                            'Region',
                            'Prefix(es)',
                            'Included<BR>minutes',
+                           'Connection<BR>charge',
                            'Charge per<BR>minute',
                            'Granularity',
                            'Usage class',
      'fields'         => [
                            'regionname',
                            sub { shift->dest_region->prefixes_short },
-                           sub { shift->min_included.
-                                 '&nbsp;<FONT SIZE="-1">(edit)</FONT>';
-                               },
-                           sub { $money_char. shift->min_charge.
-                                 '&nbsp;<FONT SIZE="-1">(edit)</FONT>';
-                               },
+                           sub { shift->min_included. $edit_hint },
+                           $conn_charge_sub,
+                           sub { $money_char. shift->min_charge. $edit_hint },
                            sub { $granularity{ shift->sec_granularity } },
                            'classname',
                          ],
@@ -39,6 +37,7 @@
 <%once>
 
 tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities();
+tie my %conn_secs,   'Tie::IxHash', FS::rate_detail::conn_secs();
 
 my $conf = new FS::Conf;
 my $money_char = $conf->config('money_char') || '$';
@@ -59,6 +58,15 @@ my $edit_onclick = sub {
              #default# 'color'       => '#333399',
          );
 };
+my $edit_hint = '&nbsp;<FONT SIZE="-1">(edit)</FONT>';
+
+my $conn_charge_sub = sub {
+   my $rate_detail = shift;
+   #return '' unless $rate_detail->conn_charge > 0 || $rate_detail->conn_sec;
+   $money_char. $rate_detail->conn_charge.
+     ($rate_detail->conn_sec ? ' for '.$conn_secs{$rate_detail->conn_sec} : '').
+     $edit_hint;
+};
 
 </%once>
 <%init>
index 04af73d..056c17c 100644 (file)
@@ -8,7 +8,7 @@
 </CENTER>
 
 <CENTER>
-<FONT SIZE="-1">&copy; 2009 Freeside Internet Services, Inc.<BR>
+<FONT SIZE="-1">&copy; 2010 Freeside Internet Services, Inc.<BR>
 All rights reserved.<BR>
 Licensed under the terms of the<BR>
 GNU <b>Affero</b> General Public License.<BR>
@@ -29,7 +29,7 @@ GNU <b>Affero</b> General Public License.<BR>
 <BR>
 
 <CENTER>
-<FONT SIZE="-3">"I need a miracle every day." -J.P. Barlow</FONT>
+<FONT SIZE="-3">"Put your gold money where your love is, baby" -R. Hunter</FONT>
 </CENTER>
 
 <SCRIPT TYPE="text/javascript">
index d927722..10b9e70 100644 (file)
@@ -36,12 +36,13 @@ Peter Bowen<BR>
 Jeremy Davis<BR>
 Jeff Finucane<BR>
 Jason Hall<BR>
-Kristian Hoffman<BR>
 Ivan Kohler<BR>
 Richard Siddall<BR>
+Mark Wells<BR>
 <BR>
 
 <H3>Core Emeritus</H3>
+Kristian Hoffman<BR>
 Brian McCane<BR>
 Matt Simerson<BR>
 <BR>
@@ -90,7 +91,6 @@ Audrey Tang<BR>
 Jason Thomas<BR>
 Jesse Vincent<BR>
 Johan Vromans<BR>
-Mark Wells<BR>
 Peter Wemm<BR>
 Mark Williamson<BR>
 Tim Yardley<BR>
diff --git a/httemplate/docs/man/FS/part_export/.cvs_is_on_crack b/httemplate/docs/man/FS/part_export/.cvs_is_on_crack
deleted file mode 100644 (file)
index e69de29..0000000
index 18d4415..29c8ca6 100755 (executable)
 </FORM>
 
 <% include('/elements/footer.html') %>
+<%shared>
 
+my $conf = new FS::Conf;
+my $date_format = $conf->config('date_format') || '%m/%d/%Y';
+
+my $format = $date_format. ' %T %z (%Z)';
+
+</%shared>
 <%init>
 
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Edit customer package dates');
 
-my $conf = new FS::Conf;
-my $date_format = $conf->config('date_format') || '%m/%d/%Y';
-
-my $format = $date_format. ' %T %z (%Z)';
 
 my $error = '';
 my( $pkgnum, $cust_pkg );
index 73488ef..1f52b47 100644 (file)
@@ -7,16 +7,18 @@
                                { field=>'_password2', type=>'password' },
                                'last',
                                'first',
+                               { field=>'user_custnum', type=>'search-cust_main', },
                                { field=>'disabled', type=>'checkbox', value=>'Y' },
                              ],
                  'labels' => { 
-                               'usernum'   => 'User number',
-                               'username'  => 'Username',
-                               '_password' => 'Password',
-                               '_password2'=> 'Re-enter Password',
-                               'last'      => 'Last name',
-                               'first'     => 'First name',
-                               'disabled'  => 'Disable employee',
+                               'usernum'      => 'User number',
+                               'username'     => 'Username',
+                               '_password'    => 'Password',
+                               '_password2   '=> 'Re-enter Password',
+                               'last'         => 'Last name',
+                               'first'        => 'First name',
+                               'user_custnum' => 'Customer (optional)',
+                               'disabled'     => 'Disable employee',
                              },
                  'edit_callback' => sub { my( $c, $o ) = @_; 
                                           $o->set('_password', '');
index 5d06f3c..1a06d94 100644 (file)
@@ -225,7 +225,6 @@ function post_standardization() {
 
   } else {
 
-    cf.elements['geocode'].value = '';
     post_geocode();
 
   }
index 3d6c486..d1d4368 100644 (file)
@@ -78,7 +78,7 @@
                   'name'        => 'signupdate',
                   'value'       => $cust_main->signupdate,
                   'label'       => 'Signup date',
-                  'format'      => $conf->config('date_format') || "%m/%d/%Y",
+                  'format'      => ( $conf->config('date_format') || "%m/%d/%Y" ),
               })
     %>
 % }
index 6c6a1a9..e2501cb 100755 (executable)
@@ -6,11 +6,11 @@
 <INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
 <INPUT TYPE="hidden" NAME="notenum" VALUE="<% $notenum %>">
 
-
-<BR><BR>
-<TEXTAREA NAME="comment" ROWS="12" COLS="60">
-<% $comment %>
-</TEXTAREA>
+<% include('/elements/htmlarea.html', 'field' => 'comment',
+                                      'curr_value' => $comment) %>
+% #<TEXTAREA NAME="comment" ROWS="12" COLS="60">
+% # <% $comment %>
+% #</TEXTAREA>
 
 <BR><BR>
 <INPUT TYPE="submit" VALUE="<% $notenum ? "Apply Changes" : "Add Note" %>">
@@ -33,6 +33,8 @@ if ( $cgi->param('error') ) {
   $comment = $note->comments;
 }
 
+$comment =~ s/\r//g; # remove weird line breaks to protect FCKeditor
+
 $cgi->param('custnum') =~ /^(\d+)$/ or die "illeagl custnum";
 my $custnum = $1;
 
index 8c88852..1a1023c 100644 (file)
@@ -40,7 +40,7 @@ Example:
                     'disabled' => 0,
                     'onchange' => 'javascript_function',
 
-                    'include_opt_callback' => sub { #my $ = @_;
+                    'include_opt_callback' => sub { my $object = @_;
                                                     ( 'option' => 'value', );
                                                   },
 
@@ -296,11 +296,15 @@ Example:
 %
 %   if ( $type eq 'tablebreak-tr-title' ) {
 %     $include_common{'table_id'} = 'TableNumber'. $tablenum++;
+%   }
+%   if ( $type eq 'tablebreak-tr-title' || $type eq 'title' ) {
 %     $include_common{'colspan'} = $f->{colspan} if $f->{colspan};
 %   }
 %
 %   if ( $f->{include_opt_callback} ) {
-%     %include_common = ( %include_common, &{ $f->{include_opt_callback} } );
+%     %include_common = ( %include_common,
+%                         &{ $f->{include_opt_callback} }( $object )
+%                       );
 %   }
 %
 %   my $layer_prefix_on = '';
index 2e98a1b..36950b2 100644 (file)
                  'new_hashref_callback' => sub {
                    #my( $cgi, $svc_x ) = @_;
 
-                   { svcpart => $svcpart };
+                   { pkgnum  => $pkgnum,
+                     svcpart => $svcpart,
+                   };
 
                  },
 
                  'new_callback' => sub {
-                    my( $cgi, $svc_x, $fields, $opt ) = @_;;
+                    my( $cgi, $svc_x, $fields, $opt ) = @_;
 
                     $part_svc = qsearchs( 'part_svc', { svcpart=>$svcpart });
                     die "No part_svc entry!" unless $part_svc;
 
                     #$svcnum='';
 
+                    if ( my $cb = $opt{'svc_new_callback'} ) {
+                     my $cust_pkg = $pkgnum
+                                      ? qsearchs('cust_pkg', {pkgnum=>$pkgnum})
+                                      : ''; #?
+                      &{ $cb }( $cgi,$svc_x, $part_svc,$cust_pkg, $fields,$opt);
+                    }
+
                     $svc_x->set_default_and_fixed;
 
                  },
                            };
                    }
 
+                   if ( $f->{'field'} eq 'custnum' && $pkgnum ) {
+                     my $cust_pkg = qsearchs('cust_pkg', {'pkgnum' => $pkgnum});
+                     $object->set('custnum', $cust_pkg->custnum);
+                   }
+
                  },
 
                  'html_init' => sub {
 sub label_fixup {
   my( $part_svc, $opt ) = @_;
 
+  $opt->{'name'} ||= $part_svc->svc;
+
   my $svcdb = $part_svc->svcdb;
   require "FS/$svcdb.pm";
 
   if ( UNIVERSAL::can("FS::$svcdb", 'table_info') ) {
-    $opt->{'name'} ||= "FS::$svcdb"->table_info->{'name'};
+    #$opt->{'name'} ||= "FS::$svcdb"->table_info->{'name'};
 
     my $fields = "FS::$svcdb"->table_info->{'fields'};
     $opt->{'fields'} ||= [ grep { $_ ne 'svcnum' } keys %$fields ];
@@ -165,7 +181,7 @@ sub label_fixup {
   my $labels = $opt->{labels}; # with -> here
   foreach my $field ( keys %{ $opt->{labels} } ) {
     my $col = $part_svc->part_svc_column($field);
-    $labels->{$field} = $col->columnlabel if $col->columnlabel !~ /^\S*$/;
+    $labels->{$field} = $col->columnlabel if $col->columnlabel !~ /^\s*$/;
   }
 
 }
diff --git a/httemplate/edit/mailinglistmember.html b/httemplate/edit/mailinglistmember.html
new file mode 100644 (file)
index 0000000..2391cb6
--- /dev/null
@@ -0,0 +1,25 @@
+<% include( 'elements/edit.html',
+              'name_singular' => 'member',
+              'table'         => 'mailinglistmember',
+              'popup'         => 1,
+              'fields'        => [
+                { field=>'listnum', type=>'hidden', },
+                { field=>'svcnum', type=>'hidden', }, #not yet
+                { field=>'contactemailnum', type=>'hidden', }, #not yet
+                { field=>'email', type=>'text', },
+              ],
+              'labels' => { 'membernum' => 'Member',
+                            'email'     => 'Email address',
+                          },
+              'new_callback' => $new_callback,
+          )
+%>
+<%init>
+
+my $new_callback = sub {
+  #my( $cgi, $object, $fields_listref, $opt_hashref ) = @_;
+  my( $cgi, $object ) = @_;
+  $object->listnum( $cgi->param('listnum') );
+};
+
+</%init>
index a02545f..f9818c4 100755 (executable)
 
                             { type => 'columnend' },
 
-                            { 'type'  => $census ? 'tablebreak-tr-title'
-                                                 : 'hidden',
+                            { 'type'  => $report_option ? 'tablebreak-tr-title'
+                                                        : 'hidden',
                               'value' => 'Optional report classes',
                               'field' => 'census_title',
                             },
                             { 'field'    => 'report_option',
-                              'type'     => $census ? 'select-table' : 'hidden',
+                              'type'     => $report_option ? 'select-table'
+                                                           : 'hidden',
                               'table'    => 'part_pkg_report_option',
                               'name_col' => 'name',
+                              'hashref'  => { 'disabled' => '' },
                               'multiple' => 1,
                             },
 
@@ -256,7 +258,7 @@ my $sth = dbh->prepare("SELECT COUNT(*) FROM part_pkg_report_option".
                        "  WHERE disabled IS NULL OR disabled = ''  ")
   or die dbh->errstr;
 $sth->execute or die $sth->errstr;
-my $census = $sth->fetchrow_arrayref->[0];
+my $report_option = $sth->fetchrow_arrayref->[0];
 
 #XXX
 # - tr-part_pkg_freq: month_increments_only (from price plans)
@@ -409,7 +411,6 @@ my $m2_error_callback_maker = sub {
   my $link_type = shift; #yay closures
   return sub {
     my( $cgi, $object ) = @_;
-    my $num;
     map {
 
           if ( /^${link_type}_dst_pkgpart(\d+)$/ &&
index 51925c0..98ed9fe 100755 (executable)
@@ -15,7 +15,8 @@ Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref->
 Service definitions are the templates for items you offer to your customers.
 <UL><LI>svc_acct - Accounts - anything with a username (Mailboxes, PPP accounts, shell accounts, RADIUS entries for broadband, etc.)
     <LI>svc_domain - Domains
-    <LI>svc_forward - mail forwarding
+    <LI>svc_forward - Mail forwarding
+    <LI>svc_mailinglist - Mailing list
     <LI>svc_www - Virtual domain website
     <LI>svc_broadband - Broadband/High-speed Internet service (always-on)
     <LI>svc_phone - Customer phone numbers
index 22aab44..b5796eb 100755 (executable)
@@ -39,14 +39,15 @@ push @errors, '_setup_areyousure'
   && ! $cgi->param('setup_areyousure');      # and it wasn't confirmed 
 
 push @errors, '_start'
-  if $hash{'start_date'} && $old->start_date # if a start date was added
-  && $hash{'setup'};                         # but there's a setup date
+  if $hash{'start_date'} && !$old->start_date # if a start date was added
+  && $hash{'setup'};                          # but there's a setup date
 
 my $new;
 my $error;
 if ( @errors ) {
   $error = join(',', @errors);
 } else {
+  warn join(',',%hash);
   $new = new FS::cust_pkg \%hash;
   $error = $new->replace($old);
 }
diff --git a/httemplate/edit/process/mailinglistmember.html b/httemplate/edit/process/mailinglistmember.html
new file mode 100644 (file)
index 0000000..f1842b8
--- /dev/null
@@ -0,0 +1,6 @@
+<% include( 'elements/process.html',
+              'table'        => 'mailinglistmember',
+              'popup_reload' => 'Member added',
+          )
+%>
+%#XXX ACL
index 399991f..2b7e1da 100644 (file)
@@ -1,10 +1,6 @@
 <% include( 'elements/process.html',
                'table'       => 'part_device',
                'viewall_dir' => 'browse',
-               'process_m2m' => {
-                 'link_table'   => 'export_device',
-                 'target_table' => 'part_export',
-               },
            )
 %>
 <%init>
index 882991e..8036f73 100755 (executable)
@@ -39,7 +39,7 @@ my @dest_detail = map {
   new FS::rate_detail {
     'ratenum'  => $ratenum,
     map { $_ => $cgi->param("$_$ratenum") }
-        qw( min_included min_charge sec_granularity classnum )
+        qw( min_included conn_charge conn_sec min_charge sec_granularity classnum )
   };
 } qsearch('rate', {} );
 
diff --git a/httemplate/edit/process/svc_mailinglist.html b/httemplate/edit/process/svc_mailinglist.html
new file mode 100644 (file)
index 0000000..580f6cc
--- /dev/null
@@ -0,0 +1,11 @@
+<% include( 'elements/svc_Common.html',
+               'table'  => 'svc_mailinglist',
+               'fields' => [ fields('svc_mailinglist'), 'listname' ],
+           )
+%>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific?
+
+</%init>
index 27a703c..e02ec5c 100644 (file)
@@ -1,5 +1,6 @@
 <% include( 'elements/svc_Common.html',
                'table'    => 'svc_phone',
+               'args_callback' => $args_callback,
            )
 %>
 <%init>
@@ -7,4 +8,22 @@
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific?
 
+my $args_callback = sub {
+  my( $cgi, $object ) = @_;
+
+  my %opt = ();
+  if ( $cgi->param('locationnum') == -1 ) {
+    my $cust_location = new FS::cust_location {
+      map { $_ => scalar($cgi->param($_)) }
+          qw( custnum address1 address2 city county state zip country )
+    };
+    $opt{'cust_location'} = $cust_location;
+  }
+
+  %opt;
+
+};
+
+
+
 </%init>
index dd8c3f6..869ace8 100644 (file)
@@ -6,6 +6,8 @@
                    'dest_regionname'     => 'Region',
                    'dest_prefixes_short' => 'Prefix(es)',
                    'min_included'        => 'Included minutes/calls',
+                   'conn_charge'         => 'Connection charge',
+                   'conn_sec'            => 'For',
                    'min_charge'          => 'Charge per minute/call',
                    'sec_granularity'     => 'Granularity',
                    'classnum'            => 'Usage class',
                    { field=>'dest_regionname',     type=>'fixed',  },
                    { field=>'dest_prefixes_short', type=>'fixed',  },
                    { field=>'min_included',        type=>'text',  size=>5 },
+                   { field=>'conn_charge',         type=>'money', size=>4 },
+                   { field          =>'conn_sec',
+                      type          =>'select',
+                      options       => [ keys %conn_secs ],
+                      labels        => \%conn_secs,
+                      disable_empty => 1,
+                   },
                    { field=>'min_charge',          type=>'money', size=>4 },
                    { field         =>'sec_granularity',
                      type          =>'select',
@@ -38,9 +47,9 @@
 <%once>
 
 tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities();
+tie my %conn_secs,   'Tie::IxHash', FS::rate_detail::conn_secs();
 
 </%once>
-
 <%init>
 
 my $conf = new FS::Conf;
index 9ca3a35..f77c0db 100644 (file)
       <FONT SIZE=-1>Included<BR>minutes/calls</FONT>
     </TH>
     <TH CLASS="grid" BGCOLOR="#cccccc">
+      <FONT SIZE=-1>Connection<BR>charge</FONT>
+    </TH>
+    <TH CLASS="grid" BGCOLOR="#cccccc">
+      <FONT SIZE=-1>Connection<BR>charge for</FONT>
+    </TH>
+    <TH CLASS="grid" BGCOLOR="#cccccc">
       <FONT SIZE=-1>Charge per<BR>minute/call</FONT>
     </TH>
     <TH CLASS="grid" BGCOLOR="#cccccc">
     </TD>
 
     <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      $<INPUT TYPE="text" SIZE=6 NAME="min_charge<%$n%>" VALUE="<% $cgi->param("min_charge$n") || $rate_detail->min_charge |h %>">
+      <%$money_char%><INPUT TYPE="text" SIZE=9 NAME="conn_charge<%$n%>" VALUE="<% $cgi->param("conn_charge$n") || $rate_detail->conn_charge |h %>">
+    </TD>
+
+    <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+      <SELECT NAME="conn_sec<%$n%>">
+%       foreach my $conn_sec ( keys %conn_secs ) {
+%         my $curr_value = $cgi->param("conn_sec$n") || $rate_detail->conn_sec;
+%         my $selected = ($conn_sec==$curr_value) ? ' SELECTED' : '';
+          <OPTION VALUE="<% $conn_sec %>" <%$selected%>><% $conn_secs{$conn_sec} %></OPTION>
+%       }
+    </TD>
+
+    <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+      <%$money_char%><INPUT TYPE="text" SIZE=6 NAME="min_charge<%$n%>" VALUE="<% $cgi->param("min_charge$n") || $rate_detail->min_charge |h %>">
     </TD>
 
     <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
 </FORM>
 
 <% include('/elements/footer.html') %>
+<%once>
+
+tie my %conn_secs,   'Tie::IxHash', FS::rate_detail::conn_secs();
 
+</%once>
 <%init>
 
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
 
+my $conf = new FS::Conf;
+my $money_char = $conf->config('money_char') || '$';
+
 my $rate_region;
 if ( $cgi->param('error') ) {
   $rate_region = new FS::rate_region ( {
index 8a108f8..b11fec7 100644 (file)
@@ -63,12 +63,12 @@ my $callback = sub {
       if $fieldref->{field} eq 'blocknum';
       
     $fieldref->{value} = $object->addr_block->label
-      if $fieldref->{field} eq 'block_label';
+      if $fieldref->{field} eq 'block_label' && $object->addr_block;
 
   } else { 
 
     if ($fieldref->{field} eq 'block_label') {
-      if ($fixedblock) {
+      if ($fixedblock && $object->addr_block) {
         $object->blocknum($fixedblock);
         $fieldref->{value} = $object->addr_block->label;
       }else{
@@ -93,7 +93,8 @@ my $callback = sub {
                && $FS::CurrentUser::CurrentUser->agentnum($_->agentnum)
              }
         map { $_->addr_block } $object->allowed_routers;
-      my @options = map { $_->blocknum } @addr_block;
+      my @options = map { $_->blocknum } 
+                    sort { $a->label cmp $b->label } @addr_block;
       my %option_labels = map { ( $_->blocknum => $_->label ) } @addr_block;
       $fieldref->{type}    = 'select';
       $fieldref->{options} = \@options;
diff --git a/httemplate/edit/svc_mailinglist.cgi b/httemplate/edit/svc_mailinglist.cgi
new file mode 100644 (file)
index 0000000..c7c739d
--- /dev/null
@@ -0,0 +1,25 @@
+<% include( 'elements/svc_Common.html',
+              'table'  => 'svc_mailinglist',
+              'fields' => \@fields,
+          )
+%>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific?
+
+my @fields = (
+  'username',
+  { field=>'domsvc',           type=>'select-svc-domain',
+    #label => 'List address domain',
+  },
+  { field=>'listnum',          type=>'hidden', },
+  { field=>'listname',         type=>'text', },
+  { field=>'reply_to',         type=>'checkbox', value=>'Y' },
+  { field=>'remove_from',      type=>'checkbox', value=>'Y' },
+  { field=>'reject_auto',      type=>'checkbox', value=>'Y' },
+  { field=>'remove_to_and_cc', type=>'checkbox', value=>'Y' },
+
+);
+
+</%init>
index 3c7b752..b77d962 100644 (file)
@@ -1,8 +1,8 @@
 <% include( 'elements/svc_Common.html',
-               'name'     => 'Phone number',
                'table'    => 'svc_phone',
                'fields'   => \@fields,
                'labels'   => {
+                               'svcnum'       => 'Service',
                                'countrycode'  => 'Country code',
                                'phonenum'     => 'Phone number',
                                'domsvc'       => 'Domain',
                                'pin'          => 'Voicemail PIN',
                                'phone_name'   => 'Name',
                                'pbxsvc'       => 'PBX',
+                               'locationnum'  => 'E911 location',
                              },
+               'svc_new_callback' => sub {
+                 my( $cgi, $svc_x, $part_svc, $cust_pkg, $fields, $opt ) = @_;
+                 $svc_x->locationnum($cust_pkg->locationnum) if $cust_pkg;
+               },
            )
 %>
 <%init>
@@ -39,7 +44,34 @@ push @fields, { field => 'pbxsvc',
               },
               'sip_password',
               'pin',
-              'phone_name',
+              { field => 'phone_name',
+                type  => 'text',
+                maxlength => $conf->config('svc_phone-phone_name-max_length'),
+              },
+
+              { value   => 'E911 Information',
+                type    => 'tablebreak-tr-title',
+                colspan => 7,
+              },
+              { field => 'locationnum',
+                type  => 'select-cust_location',
+                label => 'E911 location',
+                include_opt_callback => sub {
+                  my $svc_phone = shift;
+                  my $pkgnum =  $svc_phone->get('pkgnum')
+                             || $cgi->param('pkgnum')
+                             || $svc_phone->cust_svc->pkgnum; #hua?
+                               #cross agent location exposure?  sheesh
+                  my $cust_pkg = qsearchs('cust_pkg', {'pkgnum' => $pkgnum});
+                  my $cust_main = $cust_pkg ? $cust_pkg->cust_main : '';
+                  ( 'no_bold'   => 1,
+                    'cust_pkg'  => $cust_pkg,
+                    'cust_main' => $cust_main,
+                  );
+                },
+              },
+              { field => 'custnum', type=> 'hidden' }, #for new cust_locations
 ;
 
+
 </%init>
index a31bdb9..b6b04d1 100644 (file)
@@ -46,7 +46,7 @@
 %
 %  my $hashref = $opt{'hashref'} || {};
 %
-%  my $extra_sql = $opt{'extra_sql'} || '';
+%  my $extra_sql = '';
 %
 %  if ( $opt{'agent_virt'} ) {
 %    $extra_sql .= ' AND' . $FS::CurrentUser::CurrentUser->agentnums_sql(
index 22e872e..8da91ef 100644 (file)
@@ -24,7 +24,7 @@ Example:
 <HTML>
   <HEAD>
     <TITLE>
-      <% $title %>
+      <% $title |h %>
     </TITLE>
     <META HTTP-Equiv="Cache-Control" Content="no-cache">
     <META HTTP-Equiv="Pragma" Content="no-cache">
@@ -293,7 +293,7 @@ input.fstext {
         <TD BGCOLOR="#e8e8e8" HEIGHT="100%" VALIGN="top"> <!-- WIDTH="100%"> -->
 
           <FONT SIZE=6>
-            <% $title %>
+            <% $title |h %>
           </FONT>
 
 % unless ( $nobr ) {
index 07aaa69..0ec6c04 100644 (file)
@@ -18,7 +18,7 @@ Example:
 </%doc>
 
 <TR>
-  <TH ALIGN="right"><%$r%><% $opt{'address1_label'} || 'Address' %></TH>
+  <<%$th%> ALIGN="right"><%$r%><% $opt{'address1_label'} || 'Address' %></<%$th%>>
   <TD COLSPAN=7>
     <INPUT TYPE     = "text"
            NAME     = "<%$pre%>address1"
@@ -48,7 +48,7 @@ Example:
 </TR>
 
 <TR>
-  <TH ALIGN="right"><%$r%>City</TH>
+  <<%$th%> ALIGN="right"><%$r%>City</<%$th%>>
   <TD WIDTH="1">
     <INPUT TYPE     = "text"
            NAME     = "<%$pre%>city"
@@ -59,13 +59,13 @@ Example:
            <% $style %>
     >
   </TD>
-  <TH ALIGN="right" ID="<%$pre%>countylabel" <%$county_style%>><%$r%>County</TH>
+  <<%$th%> ALIGN="right" ID="<%$pre%>countylabel" <%$county_style%>><%$r%>County</<%$th%>>
   <TD><% include('/elements/select-county.html', %select_hash ) %></TD>
-  <TH ALIGN="right" WIDTH="1"><%$r%>State</TH>
+  <<%$th%> ALIGN="right" WIDTH="1"><%$r%>State</<%$th%>>
   <TD WIDTH="1">
     <% include('/elements/select-state.html', %select_hash ) %>
   </TD>
-  <TH><%$r%>Zip</TH>
+  <<%$th%>><%$r%>Zip</<%$th%>>
   <TD>
     <INPUT TYPE     = "text"
            NAME     = "<%$pre%>zip"
@@ -80,7 +80,7 @@ Example:
 </TR>
 
 <TR>
-  <TH ALIGN="right"><%$r%>Country</TH>
+  <<%$th%> ALIGN="right"><%$r%>Country</<%$th%>>
   <TD COLSPAN=6><% include('/elements/select-country.html', %select_hash ) %></TD>
 </TR>
 
@@ -88,7 +88,7 @@ Example:
   <INPUT TYPE="hidden" NAME="geocode" VALUE="<% $opt{geocode} %>">
 % } else {
 %   if ( $pre eq 'ship_' && $conf->exists('cust_main-require_censustract') ) {
-      <TR><TH ALIGN="right">Census tract<BR>(automatic)</TH>
+      <TR><<%$th%> ALIGN="right">Census tract<BR>(automatic)</<%$th%>>
         <TD>
           <INPUT TYPE="text" NAME="censustract" VALUE="<% $opt{censustract} %>">
         </TD>
@@ -123,7 +123,7 @@ $object->set($pre.'state', $statedefault )
          || $object->get($pre.'country') ne $countrydefault;
 
 my @style = ();
-push @style, 'background-color: #dddddd"' if $disabled;
+push @style, 'background-color: #dddddd' if $disabled;
 
 my @address2_label_style = ();
 push @address2_label_style, 'visibility:hidden'
@@ -161,4 +161,6 @@ my %select_hash = (
   'style'    => \@style,
 );
 
+my $th = $opt{'no_bold'} ? 'TD' : 'TH';
+
 </%init>
index d4a915e..a68a575 100644 (file)
@@ -235,6 +235,7 @@ if($curuser->access_right('Financial reports')) {
     'Sales, Credits and Receipts' => [ $fsurl.'graph/report_money_time.html', 'Sales, credits and receipts summary graph' ],
     'Sales Report' => [ $fsurl.'graph/report_cust_bill_pkg.html', 'Sales report and graph (by agent, package class and/or date range)' ],
     'Rated Call Sales Report' => [ $fsurl.'graph/report_cust_bill_pkg_detail.html', 'Sales report and graph (by agent, package class, usage class and/or date range)' ],
+    'Employee Commission Report' => [ $fsurl.'search/report_employee_commission.html', '' ],
     'Credit Report' => [ $fsurl.'search/report_cust_credit.html', 'Credit report (by employee and/or date range)' ],
     'Refund Report' => [ $fsurl.'search/report_cust_refund.html', 'Refund report (by type and/or date range)' ],
   );
@@ -320,7 +321,7 @@ $tools_menu{'Job Queue'} =  [ $fsurl.'search/queue.html', 'View pending job queu
   if $curuser->access_right('Job queue');
 $tools_menu{'Ticketing'} = [ \%tools_ticketing, 'Ticketing tools' ]
   if $conf->config('ticket_system');
-$tools_menu{'Time Queue'} =  [ $fsurl.'search/timeworked.html', 'View pending support time' ]
+$tools_menu{'Time Queue'} =  [ $fsurl.'search/report_timeworked.html', 'View pending support time' ]
   if $curuser->access_right('Time queue');
 $tools_menu{'Attachments'} = [ $fsurl.'browse/cust_attachment.html', 'View customer attachments' ]
   if !$conf->config('disable_cust_attachment') and $curuser->access_right('View attachments') and $curuser->access_right('Browse attachments');
index ef0d22c..23c4369 100644 (file)
@@ -3,36 +3,37 @@
 Example:
 
   include( '/elements/search-cust_main.html,
-             'field_name'  => 'custnum',
+             'field'       => 'custnum',
+             #slightly deprecated old synonym for field#'field_name'=>'custnum',
              'find_button' => 1, #add a "find" button to the field
              'curr_value'  => 54, #current value
              'value        => 32, #deprecated synonym for curr_value
   );
 
 </%doc>
-<INPUT TYPE="hidden" NAME="<% $opt{'field_name'} %>" VALUE="<% $value %>">
+<INPUT TYPE="hidden" NAME="<% $field %>" VALUE="<% $value %>">
 
 <!-- some false laziness w/ misc/batch-cust_pay.html, though not as bad as i'd thought at first... -->
 
 <INPUT TYPE = "text"
-       NAME = "<% $opt{'field_name'} %>_search"
-       ID   = "<% $opt{'field_name'} %>_search"
+       NAME = "<% $field %>_search"
+       ID   = "<% $field %>_search"
        SIZE = "32"
        VALUE="<% $cust_main ? $cust_main->name : '(cust #, name or company)' %>"
-       onFocus="clearhint_<% $opt{'field_name'} %>_search(this);"
-       onClick="clearhint_<% $opt{'field_name'} %>_search(this);"
-       onChange="smart_<% $opt{'field_name'} %>_search(this);"
+       onFocus="clearhint_<% $field %>_search(this);"
+       onClick="clearhint_<% $field %>_search(this);"
+       onChange="smart_<% $field %>_search(this);"
 >
 
 % if ( $opt{'find_button'} ) {
     <INPUT TYPE    = "button"
            VALUE   = 'Find',
-           NAME    = "<% $opt{'field_name'} %>_findbutton"
-           onClick = "smart_<% $opt{'field_name'} %>_search(this.form.<% $opt{'field_name'} %>_search);"
+           NAME    = "<% $field %>_findbutton"
+           onClick = "smart_<% $field %>_search(this.form.<% $field %>_search);"
     >
 % }
 
-<SELECT NAME="<% $opt{'field_name'} %>_select" ID="<% $opt{'field_name'} %>_select" STYLE="color:#ff0000; display:none" onChange="select_<% $opt{'field_name'} %>(this);">
+<SELECT NAME="<% $field %>_select" ID="<% $field %>_select" STYLE="color:#ff0000; display:none" onChange="select_<% $field %>(this);">
 </SELECT>
 
 <% include('/elements/xmlhttp.html',
@@ -43,7 +44,7 @@ Example:
 
 <SCRIPT TYPE="text/javascript">
 
-  function clearhint_<% $opt{'field_name'} %>_search (what) {
+  function clearhint_<% $field %>_search (what) {
 
     what.style.color = '#000000';
 
@@ -55,7 +56,7 @@ Example:
 
   }
 
-  function smart_<% $opt{'field_name'} %>_search(what) {
+  function smart_<% $field %>_search(what) {
 
     var customer = what.value;
 
@@ -73,11 +74,11 @@ Example:
     what.style.color= '#000000';
     what.style.backgroundColor = '#dddddd';
 
-    var customer_select = document.getElementById('<% $opt{'field_name'} %>_select');
+    var customer_select = document.getElementById('<% $field %>_select');
 
     //alert("search for customer " + customer);
 
-    function <% $opt{'field_name'} %>_search_update(customers) {
+    function <% $field %>_search_update(customers) {
 
       //alert('customers returned: ' + customers);
 
@@ -88,7 +89,7 @@ Example:
 
       if ( customerArray.length == 0 ) {
 
-        what.form.<% $opt{'field_name'} %>.value = '';
+        what.form.<% $field %>.value = '';
 
         what.value = 'Customer not found: ' + what.value;
         what.style.color = '#ff0000';
@@ -100,7 +101,7 @@ Example:
 
         //alert('one customer found: ' + customerArray[0]);
 
-        what.form.<% $opt{'field_name'} %>.value = customerArray[0][0];
+        what.form.<% $field %>.value = customerArray[0][0];
         what.value = customerArray[0][1];
 
         what.style.display = '';
@@ -129,17 +130,17 @@ Example:
 
     }
 
-    smart_search( customer, <% $opt{'field_name'} %>_search_update );
+    smart_search( customer, <% $field %>_search_update );
 
 
   }
 
-  function select_<% $opt{'field_name'} %> (what) {
+  function select_<% $field %> (what) {
 
     var custnum = what.options[what.selectedIndex].value;
     var customer = what.options[what.selectedIndex].text;
 
-    var customer_obj = document.getElementById('<% $opt{'field_name'} %>_search');
+    var customer_obj = document.getElementById('<% $field %>_search');
 
     if ( custnum == '' ) {
       //what.style.color = '#ff0000';
@@ -154,7 +155,7 @@ Example:
 
     } else {
     
-      what.form.<% $opt{'field_name'} %>.value = custnum;
+      what.form.<% $field %>.value = custnum;
 
       customer_obj.value = customer;
       customer_obj.style.color = '#000000';
@@ -177,7 +178,8 @@ Example:
 <%init>
 
 my( %opt ) = @_;
-$opt{'field_name'} ||= 'custnum';
+
+my $field = $opt{'field'} || $opt{'field_name'} || 'custnum';
 
 my $value = $opt{'curr_value'} || $opt{'value'};
 
index aa2d73b..453205c 100644 (file)
@@ -12,7 +12,7 @@
     what.options[length] = optionName;
   }
 
-  function <% $opt{'prefix'} %>state_changed(what, callback) {
+  function <% $opt{'state_prefix'} %>state_changed(what, callback) {
 
     what.form.<% $opt{'prefix'} %>areacode.disabled = 'disabled';
     what.form.<% $opt{'prefix'} %>areacode.style.display = 'none';
@@ -24,7 +24,7 @@
     what.form.<% $opt{'prefix'} %>exchange.disabled = 'disabled';
     what.form.<% $opt{'prefix'} %>phonenum.disabled = 'disabled';
 
-    state = what.options[what.selectedIndex].value;
+    var state = what.options[what.selectedIndex].value;
 
     function <% $opt{'prefix'} %>update_areacodes(areacodes) {
 
@@ -86,6 +86,7 @@
 
 my %opt = @_;
 
-$opt{disabled} = 'disabled' unless exists $opt{disabled};
+$opt{disabled}     = 'disabled'   unless exists $opt{disabled};
+$opt{state_prefix} = $opt{prefix} unless exists $opt{state_prefix};
 
 </%init>
index af8d595..b62d6a0 100644 (file)
@@ -3,7 +3,7 @@
 Example:
 
   include('/elements/select-did.html',
-            'field'   => 'phonenum',
+            #can't actuall change from phonenum yet# 'field'   => 'phonenum',
 
             'svcpart' => 5,
             #OR
@@ -18,6 +18,7 @@ Example:
       <TR>
         <TD>
           <% include('/elements/select-state.html',
+                       'prefix'        => 'phonenum_', #$field.'_',
                        'country'       => $country,
                        'disable_empty' => 0,
                        'empty_label'   => 'Select state',
@@ -26,8 +27,9 @@ Example:
         </TD>
         <TD>
           <% include('/elements/select-areacode.html',
-                       'svcpart' => $svcpart,
-                       'empty'   => 'Select area code',
+                       'state_prefix' => 'phonenum_', #$field.'_',
+                       'svcpart'      => $svcpart,
+                       'empty'        => 'Select area code',
                     )
           %>
         </TD>
@@ -84,4 +86,6 @@ if ( scalar(@exports) > 1 ) {
 
 my $use_selector = scalar(@exports) ? 1 : 0;
 
+#my $field = $opt{'field'} || 'phonenum';
+
 </%init>
diff --git a/httemplate/elements/tr-search-cust_main.html b/httemplate/elements/tr-search-cust_main.html
new file mode 100644 (file)
index 0000000..9df91a1
--- /dev/null
@@ -0,0 +1,15 @@
+<% include('tr-td-label.html', @_ ) %>
+
+  <TD <% $colspan %> <% $cell_style %> ID="<% $opt{input_id} || $opt{id}.'_input0' %>"><% include('search-cust_main.html', @_ ) %></TD>
+
+</TR>
+
+<%init>
+
+my %opt = @_;
+
+my $cell_style = $opt{'cell_style'} ? 'STYLE="'. $opt{'cell_style'}. '"' : '';
+
+my $colspan = $opt{'colspan'} ? 'COLSPAN="'.$opt{'colspan'}.'"' : '';
+
+</%init>
index da16dfe..bc39154 100644 (file)
@@ -118,7 +118,7 @@ Example:
 </SCRIPT>
 
 <TR>
-  <TH ALIGN="right">Service&nbsp;location</TH>
+  <<%$th%> ALIGN="right"><% $opt{'label'} || 'Service&nbsp;location' %></<%$th%>>
   <TD COLSPAN=7>
     <SELECT NAME="locationnum" onChange="locationnum_changed(this);">
       <OPTION VALUE="">(default service address)
@@ -139,6 +139,7 @@ Example:
              #'onchange' ?  probably not
              'disabled'     => ( $locationnum == -1 ? '' : 'DISABLED' ),
              'no_asterisks' => 1,
+             'no_bold'      => $opt{'no_bold'},
           )
 %>
 
@@ -156,6 +157,7 @@ my $statedefault = $conf->config('statedefault')
 
 my %opt = @_;
 my $cgi       = $opt{'cgi'};
+my $cust_pkg  = $opt{'cust_pkg'};
 my $cust_main = $opt{'cust_main'};
 
 my $prefix = length($cust_main->ship_last) ? 'ship_' : '';
@@ -170,9 +172,15 @@ if ( $locationnum && $locationnum != -1 ) {
   $cust_location = new FS::cust_location;
   if ( $locationnum == -1 ) {
     $cust_location->$_( $cgi->param($_) ) foreach @location_fields;
+  } elsif ( $cust_pkg && $cust_pkg->locationnum ) {
+    my $pkg_location = $cust_pkg->cust_location;
+    $cust_location->$_( $pkg_location->$_ ) foreach @location_fields;
+    $opt{'empty_label'} ||= 'package address: '.$pkg_location->line;
   } else {
     $cust_location->$_( $cust_main->get($prefix.$_) ) foreach @location_fields;
   }
 }
 
+my $th = $opt{'no_bold'} ? 'TD' : 'TH';
+
 </%init>
index 5d6a2bd..8adc40d 100755 (executable)
@@ -42,7 +42,7 @@
 
 <%init>
 
-my %conf = new FS::Conf;
+my $conf = new FS::Conf;
 my $date_format = $conf->config('date_format') || '%m/%d/%Y';
 
 my $date = time2str($date_format, time);
diff --git a/httemplate/misc/delete-mailinglistmember.html b/httemplate/misc/delete-mailinglistmember.html
new file mode 100644 (file)
index 0000000..6b91de8
--- /dev/null
@@ -0,0 +1,20 @@
+% if ( $error ) {
+%   errorpage($error);
+% } else {
+<% $cgi->redirect($p."search/mailinglistmember.html?listnum=$listnum") %>
+% }
+<%init>
+
+my($query) = $cgi->keywords;
+$query =~ /^(\d+)$/ || die "Illegal devicenum";
+my $membernum = $1;
+
+my $mailinglistmember =
+  qsearchs('mailinglistmember', { 'membernum' => $membernum } )
+    or die "unknown membernum $membernum";
+
+my $listnum = $mailinglistmember->listnum;
+
+my $error = $mailinglistmember->delete;
+
+</%init>
diff --git a/httemplate/misc/phone_device_config.html b/httemplate/misc/phone_device_config.html
deleted file mode 100644 (file)
index 9ea0d0d..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-%if ($config) {
-<% $config %>
-%}else{
-<% include("/elements/errorpage.html", "No configuration data produced.") %>
-%}
-<%init>
-
-die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
-
-my $exportnum;
-if ( $cgi->param('exportnum') ) {
-  $cgi->param('exportnum') =~ /^(\d+)$/ or die "unparsable exportnum";
-  $exportnum = $1;
-} 
-
-die "no export provided"
-  unless $exportnum;
-
-my $svcnum;
-if ( $cgi->param('svcnum') ) {
-  $cgi->param('svcnum') =~ /^(\d+)$/ or die "unparsable svcnum";
-  $svcnum = $1;
-} 
-
-my $devicenum;
-if ( $cgi->param('devicenum') ) {
-  $cgi->param('devicenum') =~ /^(\d+)$/ or die "unparsable devicenum";
-  $devicenum = $1;
-} 
-
-die "no device or service provided"
-  unless $svcnum || $devicenum;
-
-my $part_export = qsearchs('part_export', { 'exportnum' => $exportnum })
-  or die "Unknown exportnum $exportnum\n";
-
-my $phone_device;
-my $svc_phone;
-if ($devicenum) {
-  $phone_device = qsearchs('phone_device', { 'devicenum' => $devicenum })
-    or die "Unknown device $devicenum\n";
-  $svc_phone = $phone_device->svc_phone;
-} else {
-  $svc_phone = qsearchs('svc_phone', { 'svcnum' => $svcnum })
-    or die "Unknown svc_phone $svcnum\n";
-}
-
-my $config = $part_export->export_device_config($svc_phone, $phone_device);
-
-if ($config) {
-  http_header('Content-Type' => 'application/octet-stream');
-  http_header('Content-Disposition' => 'attachment;filename="config"');
-  http_header('Content-Length' => length($config));
-}
-
-</%init>
diff --git a/httemplate/misc/process/bulk_pkg_increment_bill.cgi b/httemplate/misc/process/bulk_pkg_increment_bill.cgi
deleted file mode 100755 (executable)
index 0d8417b..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-%if ($error) {
-%  $cgi->param('error', $error);
-<% $cgi->redirect(popurl(2). 'bulk_pkg_increment_bill.cgi?'. $cgi->query_string ) %>
-%} else {
-<% header('Packages Adjusted') %>
-    <SCRIPT TYPE="text/javascript">
-      window.top.location.reload();
-    </SCRIPT>
-    </BODY></HTML>
-% }
-<%init>
-
-local $FS::UID::AutoCommit = 0;
-my $dbh = dbh;
-my $error;
-
-die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('Bulk change customer packages') 
-     and $FS::CurrentUser::CurrentUser->access_right('Edit customer package dates');
-
-my $days = $cgi->param('days') or die "missing parameter: days";
-$days > 0 or $error = "Number of days must be > 0";
-
-my %search_hash = ();
-
-$search_hash{'query'} = $cgi->param('query');
-
-for my $param (qw(agentnum magic status classnum pkgpart)) {
-  $search_hash{$param} = $cgi->param($param)
-    if $cgi->param($param);
-}
-
-###
-# parse dates
-###
-
-#false laziness w/report_cust_pkg.html
-# and, now, w/bulk_change_pkg.cgi
-my %disable = (
-  'all'             => {},
-  'one-time charge' => { 'last_bill'=>1, 'bill'=>1, 'adjourn'=>1, 'susp'=>1, 'expire'=>1, 'cancel'=>1, },
-  'active'          => { 'susp'=>1, 'cancel'=>1 },
-  'suspended'       => { 'cancel' => 1 },
-  'cancelled'       => {},
-  ''                => {},
-);
-
-foreach my $field (qw( setup last_bill bill adjourn susp expire cancel )) {
-
-  my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, $field);
-
-  next if $beginning == 0 && $ending == 4294967295
-       or $disable{$cgi->param('status')}->{$field};
-
-  $search_hash{$field} = [ $beginning, $ending ];
-
-}
-
-if(!$error) {
-  foreach my $cust_pkg (qsearch(FS::cust_pkg->search(\%search_hash))) {
-    next if ! $cust_pkg->bill;
-    my $new_cust_pkg = FS::cust_pkg->new({ $cust_pkg->hash });
-    $new_cust_pkg->bill($new_cust_pkg->bill + $days*86400);
-    $error = $new_cust_pkg->replace($cust_pkg);
-    
-    if($error) {
-      $cgi->param("error",substr($error, 0, 512));
-      $dbh->rollback;
-      return;
-    }
-  }
-
-  $dbh->commit;
-}
-
-</%init>
index 87a6745..60b2aeb 100644 (file)
@@ -47,7 +47,7 @@ foreach my $countrycode ( @countrycodes ) {
                           || new FS::rate_detail   \%hash;
 
     $dst_rate_detail->$_( $src_rate_detail->get($_) )
-      foreach qw( min_included min_charge sec_granularity classnum );
+      foreach qw( min_included conn_charge conn_sec min_charge sec_granularity classnum );
 
     my $method = $dst_rate_detail->ratedetailnum ? 'replace' : 'insert';
 
index b9e9daa..f800dbd 100644 (file)
@@ -4,6 +4,6 @@
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Import');
 
-my $server = new FS::UI::Web::JSRPC 'FS::tax_rate::process_batch_import', $cgi;
+my $server = new FS::UI::Web::JSRPC 'FS::tax_rate::process_batch_import', $cgi; 
 
 </%init>
index e73133c..442d83a 100644 (file)
@@ -1,5 +1,9 @@
 <% include('/elements/header.html', 'Edit rates with Excel' ) %>
 
+% if ( $have_conn ) { 
+  <FONT COLOR="#FF0000">WARNING: This functionality does not yet preserve connection charges.</FONT><BR><BR>
+% }
+
 <% include( '/elements/form-file_upload.html',
               'name'      => 'RateImportForm',
               'action'    => 'process/rate_edit_excel.html',
@@ -58,4 +62,9 @@
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
 
+my $sth = dbh->prepare('SELECT COUNT(*) FROM rate_detail WHERE conn_charge > 0 OR conn_sec > 0 LIMIT 1')
+  or die dbh->errstr;
+$sth->execute or die $sth->errstr;
+my $have_conn = $sth->fetchrow_arrayref->[0];
+
 </%init>
index ceb7464..5116e54 100644 (file)
@@ -7,7 +7,7 @@ Import a CSV file set containing tax rate records.
               'name'      => 'TaxRateUpload',
               'action'    => 'process/tax-import.cgi', 
               'num_files' => 6,
-              'fields'    => [ 'format', 'reload' ],
+              'fields'    => [ 'format', ],
               'message'   => 'Tax rates imported',
           )
 %>
@@ -18,28 +18,21 @@ Import a CSV file set containing tax rate records.
     <TH ALIGN="right">Format</TH>
     <TD>
       <SELECT NAME="format">
-        <!-- <OPTION VALUE="cch-update" SELECTED>CCH update (CSV) -->
-        <OPTION VALUE="cch">CCH import (CSV)
-        <!-- <OPTION VALUE="cch-fixed-update">CCH update (fixed length) -->
-        <OPTION VALUE="cch-fixed">CCH import (fixed length)
+        <OPTION VALUE="cch-update" SELECTED>CCH update (CSV)
+        <OPTION VALUE="cch">CCH initial import (CSV)
+        <OPTION VALUE="cch-fixed-update">CCH update (fixed length)
+        <OPTION VALUE="cch-fixed">CCH initial import (fixed length)
       </SELECT>
     </TD>
   </TR>
 
-  <TR>
-    <TH ALIGN="right">Replace existing data from this vendor</TH>
-    <TD>
-      <INPUT NAME="reload" TYPE="checkbox" VALUE="1" CHECKED>
-    </TD>
-  </TR>
-
   <% include( '/elements/file-upload.html',
-                'field'    => [ 'geocodefile',
+                'field'    => [ 'geofile',
                                 'codefile',
                                 'plus4file',
                                 'zipfile',
-                                'txmatrixfile',
-                                'detailfile',
+                                'txmatrix',
+                                'detail',
                               ],
                 'label'    => [ 'geocode filename',
                                 'code filename',
index 9b0201c..2e79cd7 100644 (file)
@@ -3,15 +3,24 @@
                  'name'        => 'line items',
                  'query'       => $query,
                  'count_query' => $count_query,
-                 'count_addl'  => [ $money_char. '%.2f total', ],
+                 'count_addl'  => [ $money_char. '%.2f total',
+                                    $unearned ? ( $money_char. '%.2f unearned revenue' ) : (),
+                                  ],
                  'header'      => [
                    '#',
                    'Description',
-                   'Setup charge',
+                   ( $unearned
+                     ? 'Unearned'
+                     : 'Setup charge'
+                   ),
                    ( $use_usage eq 'usage'
                      ? 'Usage charge'
                      : 'Recurring charge'
                    ),
+                   ( $unearned
+                     ? ( 'Charge start', 'Charge end' )
+                     : ()
+                   ),
                    'Invoice',
                    'Date',
                    FS::UI::Web::cust_header(),
                        },
                    #strikethrough or "N/A ($amount)" or something these when
                    # they're not applicable to pkg_tax search
-                   sub { sprintf($money_char.'%.2f', shift->setup ) },
+                   sub { my $cust_bill_pkg = shift;
+                         if ( $unearned ) {
+                           my $period =
+                             $cust_bill_pkg->edate - $cust_bill_pkg->sdate;
+                           my $elapsed = $unearned - $cust_bill_pkg->sdate;
+                           $elapsed = 0 if $elapsed < 0;
+
+                           my $remaining = 1 - $elapsed/$period;
+
+                           sprintf($money_char. '%.2f',
+                             $remaining * $cust_bill_pkg->recur );
+
+                         } else {
+                           sprintf($money_char.'%.2f', $cust_bill_pkg->setup );
+                         }
+                       },
                    sub { my $row = shift;
                          my $value = 0;
                          if ( $use_usage eq 'recurring' ) {
                          }
                          sprintf($money_char.'%.2f', $value );
                        },
+                   ( $unearned
+                     ? ( sub { time2str('%b %d %Y', shift->sdate ) },
+                         sub { time2str('%b %d %Y', shift->edate ) },
+                       )
+                     : ()
+                   ),
                    'invnum',
                    sub { time2str('%b %d %Y', shift->_date ) },
                    \&FS::UI::Web::cust_fields,
@@ -45,6 +75,7 @@
                    '',
                    '',
                    '',
+                   ( $unearned ? ( '', '' ) : () ),
                    $ilink,
                    $ilink,
                    ( map { $_ ne 'Cust. Status' ? $clink : '' }
                    ),
                  ],
                  #'align' => 'rlrrrc'.FS::UI::Web::cust_aligns(),
-                 'align' => 'lrrrc'.FS::UI::Web::cust_aligns(),
+                 'align' => 'lrr'.
+                            ( $unearned ? 'cc' : '' ).
+                            'rc'.
+                            FS::UI::Web::cust_aligns(),
                  'color' => [ 
                               #'',
                               '',
                               '',
                               '',
+                              ( $unearned ? ( '', '' ) : () ),
                               '',
                               '',
                               FS::UI::Web::cust_colors(),
                               '',
                               '',
                               '',
+                              ( $unearned ? ( '', '' ) : () ),
                               '',
                               '',
                               FS::UI::Web::cust_styles(),
@@ -80,6 +116,8 @@ die "access denied"
 
 my $conf = new FS::Conf;
 
+my $unearned = '';
+
 #here is the agent virtualization
 my $agentnums_sql =
   $FS::CurrentUser::CurrentUser->agentnums_sql( 'table' => 'cust_main' );
@@ -282,6 +320,19 @@ if ( $cgi->param('out') ) {
                    keys %ph
     );
 
+} elsif ( $cgi->param('unearned_now') =~ /^(\d+)$/ ) {
+
+  $unearned = $1;
+
+  push @where, "cust_bill_pkg.sdate < $unearned",
+               "cust_bill_pkg.edate > $unearned",
+               "cust_bill_pkg.recur != 0",
+               "part_pkg.freq != '0'",
+               "part_pkg.freq != '1'",
+               "part_pkg.freq NOT LIKE '%h'",
+               "part_pkg.freq NOT LIKE '%d'",
+               "part_pkg.freq NOT LIKE '%w'";
+
 }
 
 if ( $cgi->param('itemdesc') ) {
@@ -399,10 +450,31 @@ if ( $cgi->param('pkg_tax') ) {
     $count_query .= "SUM(setup + recur - usage)";
   } elsif ( $use_usage eq 'usage' ) {
     $count_query .= "SUM(usage)";
+  } elsif ( $unearned ) {
+    $count_query .= "SUM(cust_bill_pkg.recur)";
   } else {
     $count_query .= "SUM(cust_bill_pkg.setup + cust_bill_pkg.recur)";
   }
 
+  if ( $unearned ) {
+
+    #false laziness w/report_prepaid_income.cgi
+
+    my $float = 'REAL'; #'DOUBLE PRECISION';
+
+    my $period = "CAST(cust_bill_pkg.edate - cust_bill_pkg.sdate AS $float)";
+    my $elapsed = "(CASE WHEN cust_bill_pkg.sdate > $unearned
+                     THEN 0
+                     ELSE ($unearned - cust_bill_pkg.sdate)
+                   END)";
+    #my $elapsed = "CAST($unearned - cust_bill_pkg.sdate AS $float)";
+
+    my $remaining = "(1 - $elapsed/$period)";
+
+    $count_query .= ", SUM($remaining * cust_bill_pkg.recur)";
+
+  }
+
 }
 
 my $where = ' WHERE '. join(' AND ', @where);
@@ -458,11 +530,13 @@ if ($use_usage) {
 }
 warn "count_query is $count_query\n";
 
-my @select = (
-               'cust_bill_pkg.*',
-               'cust_bill._date',
-             );
-push @select, 'part_pkg.pkg' unless $cgi->param('istax');
+my @select = ( 'cust_bill_pkg.*',
+               'cust_bill._date', );
+
+push @select, 'part_pkg.pkg',
+              'part_pkg.freq',
+  unless $cgi->param('istax');
+
 push @select, 'cust_main.custnum',
               FS::UI::Web::cust_sql_fields();
 
index 56df924..e87b214 100644 (file)
@@ -32,6 +32,17 @@ if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
   $agentnum = $1;
   push @where, "cust_main.agentnum = $agentnum";
 }
+
+# select svcdb
+
+if ( $cgi->param('svcdb') =~ /^(\w+)$/ ) {
+  my $svcdb = $1;
+  push @where, "EXISTS( SELECT 1 FROM $svcdb LEFT JOIN cust_svc USING ( svcnum )
+                                             LEFT JOIN cust_pkg USING ( pkgnum )
+                          WHERE cust_pkg.custnum = cust_main.custnum
+                      )";
+}
+
 my $where = scalar(@where) ? 'WHERE '. join(' AND ', @where) : '';
 
 # bill zip vs ship zip
index b1296d1..4f83d0a 100755 (executable)
@@ -29,6 +29,15 @@ Examples:
                'redirect_empty' => $redirect_empty,
           )
 
+  include( 'elements/cust_pay_or_refund.html',
+               'table'          => 'h_cust_pay',
+               'amount_field'   => 'paid',
+               'name_singular'  => 'payment',
+               'name_verb'      => 'paid',
+               'pre_header'     => [ 'Transaction',    'By' ],
+               'pre_fields'     => [ 'history_action', 'history_user' ],
+         )
+
 </%doc>
 <% include( 'search.html',
                 'title'          => $title,
@@ -37,46 +46,12 @@ Examples:
                 'count_query'    => $count_query,
                 'count_addl'     => [ '$%.2f total '.$opt{name_verb}, ],
                 'redirect_empty' => $opt{'redirect_empty'},
-                'header'         => [ "\u$name_singular",
-                                      'Amount',
-                                      'Date',
-                                      @header,
-                                      FS::UI::Web::cust_header(),
-                                    ],
-                'fields'       => [
-                  'payby_payinfo_pretty',
-                  sub { sprintf('$%.2f', shift->$amount_field() ) },
-                  sub { time2str('%b %d %Y', shift->_date ) },
-                  @fields,
-                  \&FS::UI::Web::cust_fields,
-                ],
-                #'align' => 'lrrrll',
-                'align' => 'rrr'.
-                           join('', map 'c', @fields ).
-                           FS::UI::Web::cust_aligns(),
-                'links' => [
-                  $link,
-                  $link,
-                  $link,
-                  ( map '', @fields ),
-                  ( map { $_ ne 'Cust. Status' ? $cust_link : '' }
-                        FS::UI::Web::cust_header()
-                  ),
-                ],
-                'color' => [ 
-                             '',
-                             '',
-                             '',
-                             ( map '', @fields ),
-                             FS::UI::Web::cust_colors(),
-                           ],
-                'style' => [ 
-                             '',
-                             '',
-                             '',
-                             ( map '', @fields ),
-                             FS::UI::Web::cust_styles(),
-                           ],
+                'header'         => \@header,
+                'fields'         => \@fields,
+                'align'          => $align,
+                'links'          => \@links,
+                'color'          => \@color,
+                'style'          => \@style,
           )
 %>
 <%init>
@@ -88,16 +63,69 @@ my $curuser = $FS::CurrentUser::CurrentUser;
 die "access denied"
   unless $curuser->access_right('Financial reports');
 
-my $thing = $opt{'thing'};
+my $table = $opt{'table'} || 'cust_'.$opt{'thing'};
+
 my $amount_field = $opt{'amount_field'};
 my $name_singular = $opt{'name_singular'};
 
 my $title = "\u$name_singular Search Results";
 
+my $link = '';
+if (    ( $curuser->access_right('View invoices') #XXX for now
+          || $curuser->access_right('View customer payments')
+        )
+     && ! $opt{'disable_link'}
+   )
+{
+
+  my $key;
+  my $q = '';
+  if ( $table eq 'cust_pay_void' ) {
+    $key = 'paynum';
+    $q .= 'void=1;';
+  } elsif ( $table eq /^cust_(\w+)$/ ) {
+    $key = $1.'num';
+  }
+  
+  if ( $key ) {
+    $q .= "$key=";
+    $link = [ "${p}view/$table.html?$q", $key ]
+  }
+}
+
+my $cust_link = sub {
+  my $cust_thing = shift;
+  $cust_thing->cust_main_custnum
+    ? [ "${p}view/cust_main.cgi?", 'custnum' ] 
+    : '';
+};
+
 my @header = ();
 my @fields = ();
+my $align = '';
+my @links = ();
+if ( $opt{'pre_header'} ) {
+  push @header, @{ $opt{'pre_header'} };
+  $align .= 'c' x scalar(@{ $opt{'pre_header'} });
+  push @links, map '', @{ $opt{'pre_header'} };
+  push @fields, @{ $opt{'pre_fields'} };
+}
+
+push @header, "\u$name_singular",
+              'Amount',
+              'Date',
+;
+$align .= 'rrr';
+push @links, '', '', '';
+push @fields, 'payby_payinfo_pretty',
+              sub { sprintf('$%.2f', shift->$amount_field() ) },
+              sub { time2str('%b %d %Y', shift->_date ) },
+;
+
 unless ( $opt{'disable_by'} ) {
   push @header, 'By';
+  $align .= 'c';
+  push @links, '';
   push @fields, sub { my $o = shift->otaker;
                       $o = 'auto billing'          if $o eq 'fs_daily';
                       $o = 'customer self-service' if $o eq 'fs_selfservice';
@@ -105,6 +133,14 @@ unless ( $opt{'disable_by'} ) {
                     };
 }
 
+push @header, FS::UI::Web::cust_header();
+$align .=  FS::UI::Web::cust_aligns();
+push @links, map { $_ ne 'Cust. Status' ? $cust_link : '' }
+                 FS::UI::Web::cust_header();
+my @color = ( ( map '', @fields ), FS::UI::Web::cust_colors() );
+my @style = ( ( map '', @fields ), FS::UI::Web::cust_styles() );
+push @fields, \&FS::UI::Web::cust_fields;
+
 push @header, @{ $opt{'addl_header'} }
   if $opt{'addl_header'};
 push @fields, @{ $opt{'addl_fields'} }
@@ -132,7 +168,7 @@ if ( $cgi->param('magic') ) {
       $cgi->param('payby') =~
         /^(CARD|CHEK|BILL|PREP|CASH|WEST|MCRD)(-(VisaMC|Amex|Discover|Maestro))?$/
           or die "illegal payby ". $cgi->param('payby');
-      push @search, "cust_$thing.payby = '$1'";
+      push @search, "$table.payby = '$1'";
       if ( $3 ) {
 
         my $cardtype = $3;
@@ -141,53 +177,53 @@ if ( $cgi->param('magic') ) {
         if ( $cardtype eq 'VisaMC' ) {
           #avoid posix regexes for portability
           $search =
-            " ( (     substring(cust_$thing.payinfo from 1 for 1) = '4'     ".
-            "     AND substring(cust_$thing.payinfo from 1 for 4) != '4936' ".
-            "     AND substring(cust_$thing.payinfo from 1 for 6)           ".
+            " ( (     substring($table.payinfo from 1 for 1) = '4'     ".
+            "     AND substring($table.payinfo from 1 for 4) != '4936' ".
+            "     AND substring($table.payinfo from 1 for 6)           ".
             "         NOT SIMILAR TO '49030[2-9]'                        ".
-            "     AND substring(cust_$thing.payinfo from 1 for 6)           ".
+            "     AND substring($table.payinfo from 1 for 6)           ".
             "         NOT SIMILAR TO '49033[5-9]'                        ".
-            "     AND substring(cust_$thing.payinfo from 1 for 6)           ".
+            "     AND substring($table.payinfo from 1 for 6)           ".
             "         NOT SIMILAR TO '49110[1-2]'                        ".
-            "     AND substring(cust_$thing.payinfo from 1 for 6)           ".
+            "     AND substring($table.payinfo from 1 for 6)           ".
             "         NOT SIMILAR TO '49117[4-9]'                        ".
-            "     AND substring(cust_$thing.payinfo from 1 for 6)           ".
+            "     AND substring($table.payinfo from 1 for 6)           ".
             "         NOT SIMILAR TO '49118[1-2]'                        ".
             "   )".
-            "   OR substring(cust_$thing.payinfo from 1 for 2) = '51' ".
-            "   OR substring(cust_$thing.payinfo from 1 for 2) = '52' ".
-            "   OR substring(cust_$thing.payinfo from 1 for 2) = '53' ".
-            "   OR substring(cust_$thing.payinfo from 1 for 2) = '54' ".
-            "   OR substring(cust_$thing.payinfo from 1 for 2) = '54' ".
-            "   OR substring(cust_$thing.payinfo from 1 for 2) = '55' ".
-            "   OR substring(cust_$thing.payinfo from 1 for 2) = '36' ". #Diner's int'l processed as Visa/MC inside US
+            "   OR substring($table.payinfo from 1 for 2) = '51' ".
+            "   OR substring($table.payinfo from 1 for 2) = '52' ".
+            "   OR substring($table.payinfo from 1 for 2) = '53' ".
+            "   OR substring($table.payinfo from 1 for 2) = '54' ".
+            "   OR substring($table.payinfo from 1 for 2) = '54' ".
+            "   OR substring($table.payinfo from 1 for 2) = '55' ".
+            "   OR substring($table.payinfo from 1 for 2) = '36' ". #Diner's int'l processed as Visa/MC inside US
             " ) ";
         } elsif ( $cardtype eq 'Amex' ) {
           $search =
-            " (    substring(cust_$thing.payinfo from 1 for 2 ) = '34' ".
-            "   OR substring(cust_$thing.payinfo from 1 for 2 ) = '37' ".
+            " (    substring($table.payinfo from 1 for 2 ) = '34' ".
+            "   OR substring($table.payinfo from 1 for 2 ) = '37' ".
             " ) ";
         } elsif ( $cardtype eq 'Discover' ) {
           $search =
-            " (    substring(cust_$thing.payinfo from 1 for 4 ) = '6011'  ".
-            "   OR substring(cust_$thing.payinfo from 1 for 2 ) = '65'    ".
-            "   OR substring(cust_$thing.payinfo from 1 for 3 ) = '622'   ". #China Union Pay processed as Discover outside CN
+            " (    substring($table.payinfo from 1 for 4 ) = '6011'  ".
+            "   OR substring($table.payinfo from 1 for 2 ) = '65'    ".
+            "   OR substring($table.payinfo from 1 for 3 ) = '622'   ". #China Union Pay processed as Discover outside CN
             " ) ";
         } elsif ( $cardtype eq 'Maestro' ) { 
           $search =
-            " (    substring(cust_$thing.payinfo from 1 for 2 ) = '63'     ".
-            "   OR substring(cust_$thing.payinfo from 1 for 2 ) = '67'     ".
-            "   OR substring(cust_$thing.payinfo from 1 for 6 ) = '564182' ".
-            "   OR substring(cust_$thing.payinfo from 1 for 4 ) = '4936'   ".
-            "   OR substring(cust_$thing.payinfo from 1 for 6 )            ".
+            " (    substring($table.payinfo from 1 for 2 ) = '63'     ".
+            "   OR substring($table.payinfo from 1 for 2 ) = '67'     ".
+            "   OR substring($table.payinfo from 1 for 6 ) = '564182' ".
+            "   OR substring($table.payinfo from 1 for 4 ) = '4936'   ".
+            "   OR substring($table.payinfo from 1 for 6 )            ".
             "      SIMILAR TO '49030[2-9]'                             ".
-            "   OR substring(cust_$thing.payinfo from 1 for 6 )            ".
+            "   OR substring($table.payinfo from 1 for 6 )            ".
             "      SIMILAR TO '49033[5-9]'                             ".
-            "   OR substring(cust_$thing.payinfo from 1 for 6 )            ".
+            "   OR substring($table.payinfo from 1 for 6 )            ".
             "      SIMILAR TO '49110[1-2]'                             ".
-            "   OR substring(cust_$thing.payinfo from 1 for 6 )            ".
+            "   OR substring($table.payinfo from 1 for 6 )            ".
             "      SIMILAR TO '49117[4-9]'                             ".
-            "   OR substring(cust_$thing.payinfo from 1 for 6 )            ".
+            "   OR substring($table.payinfo from 1 for 6 )            ".
             "      SIMILAR TO '49118[1-2]'                             ".
             " ) ";
         } else {
@@ -195,10 +231,10 @@ if ( $cgi->param('magic') ) {
         }
 
         my $masksearch = $search;
-        $masksearch =~ s/cust_$thing\.payinfo/cust_$thing.paymask/gi;
+        $masksearch =~ s/$table\.payinfo/$table.paymask/gi;
 
         push @search,
-          "( $search OR ( cust_$thing.paymask IS NOT NULL AND $masksearch ) )";
+          "( $search OR ( $table.paymask IS NOT NULL AND $masksearch ) )";
 
       }
     }
@@ -206,11 +242,11 @@ if ( $cgi->param('magic') ) {
     if ( $cgi->param('payinfo') ) {
       $cgi->param('payinfo') =~ /^\s*(\d+)\s*$/
         or die "illegal payinfo ". $cgi->param('payinfo');
-      push @search, "cust_$thing.payinfo = '$1'";
+      push @search, "$table.payinfo = '$1'";
     }
 
     if ( $cgi->param('otaker') =~ /^(\w+)$/ ) {
-      push @search, "cust_$thing.otaker = '$1'";
+      push @search, "$table.otaker = '$1'";
     }
 
     #for cust_pay_pending...  statusNOT=done
@@ -222,7 +258,7 @@ if ( $cgi->param('magic') ) {
     push @search, "_date >= $beginning ",
                   "_date <= $ending";
 
-    if ( $thing eq 'pay_void' ) {
+    if ( $table eq 'cust_pay_void' ) {
       my($v_beginning, $v_ending) =
         FS::UI::Web::parse_beginning_ending($cgi, 'void');
       push @search, "void_date >= $v_beginning ",
@@ -246,19 +282,34 @@ if ( $cgi->param('magic') ) {
     die "unknown search magic: ". $cgi->param('magic');
   }
 
+  #for the history search
+  if ( $cgi->param('history_action') =~ /^([\w,]+)$/ ) {
+    my @history_action = split(/,/, $1);
+    push @search, 'history_action IN ('.
+                    join(',', map "'$_'", @history_action ). ')';
+  }
+
+  if (    $cgi->param('history_date_beginning')
+       || $cgi->param('history_date_ending')    ) {
+      my($h_beginning, $h_ending) =
+        FS::UI::Web::parse_beginning_ending($cgi, 'history_date');
+      push @search, "history_date >= $h_beginning ",
+                    "history_date <= $h_ending";
+  }
+
   #here is the agent virtualization
   push @search, $curuser->agentnums_sql;
 
   my $search = ' WHERE '. join(' AND ', @search);
 
   $count_query = "SELECT COUNT(*), SUM($amount_field) ".
-                 "FROM cust_$thing LEFT JOIN cust_main USING ( custnum )".
+                 "FROM $table LEFT JOIN cust_main USING ( custnum )".
                  $search;
 
   $sql_query = {
-    'table'     => "cust_$thing",
+    'table'     => $table,
     'select'    => join(', ',
-                     "cust_$thing.*",
+                     "$table.*",
                      'cust_main.custnum as cust_main_custnum',
                      FS::UI::Web::cust_sql_fields(),
                    ),
@@ -277,12 +328,12 @@ if ( $cgi->param('magic') ) {
   $cgi->param('payby') =~ /^(\w+)$/ or die "illegal payby";
   my $payby = $1;
 
-  $count_query = "SELECT COUNT(*), SUM($amount_field) FROM cust_$thing".
+  $count_query = "SELECT COUNT(*), SUM($amount_field) FROM $table".
                  "  WHERE payinfo = '$payinfo' AND payby = '$payby'".
                  "  AND ". $curuser->agentnums_sql;
 
   $sql_query = {
-    'table'     => "cust_$thing",
+    'table'     => $table,
     'hashref'   => { 'payinfo' => $payinfo,
                      'payby'   => $payby    },
     'extra_sql' => $curuser->agentnums_sql.
@@ -291,23 +342,4 @@ if ( $cgi->param('magic') ) {
 
 }
 
-my $link = '';
-if (    ( $curuser->access_right('View invoices') #XXX for now
-          || $curuser->access_right('View customer payments')
-        )
-     && ! $opt{'disable_link'}
-   )
-{
-  my $key = $thing eq 'pay_void' ? 'paynum' : $thing.'num';
-  my $q = ( $thing eq 'pay_void' ? 'void=1;' : '' ). "$key=";
-  $link = [ "${p}view/cust_$thing.html?$q", $key ]
-}
-
-my $cust_link = sub {
-  my $cust_thing = shift;
-  $cust_thing->cust_main_custnum
-    ? [ "${p}view/cust_main.cgi?", 'custnum' ] 
-    : '';
-};
-
 </%init>
diff --git a/httemplate/search/h_cust_pay.html b/httemplate/search/h_cust_pay.html
new file mode 100755 (executable)
index 0000000..99330fa
--- /dev/null
@@ -0,0 +1,9 @@
+<% include( 'elements/cust_pay_or_refund.html',
+                'table'         => 'h_cust_pay',
+                'amount_field'  => 'paid',
+                'name_singular' => 'payment',
+                'name_verb'     => 'paid',
+                'pre_header'    => [ 'Transaction',    'By' ],
+                'pre_fields'    => [ 'history_action', 'history_user' ],
+          )
+%>
diff --git a/httemplate/search/mailinglistmember.html b/httemplate/search/mailinglistmember.html
new file mode 100644 (file)
index 0000000..ee395f4
--- /dev/null
@@ -0,0 +1,57 @@
+<% include('elements/search.html',
+             'title'         => $title,
+             'name_singular' => 'member',
+             'query'         => $query,
+             'count_query'   => $count_query,
+             'header'        => [ 'Email address' ],
+             'fields'        => [ $email_sub, ], #just this one for now
+             'html_init'     => $html_init,
+          )
+%>
+<%init>
+
+#XXX ACL:
+#make sure the mailing list is attached to a customer service i can see/view
+
+$cgi->param('listnum') =~ /^(\d+)$/ or die 'illegal listnum';
+my $listnum = $1;
+
+my $mailinglist = qsearchs('mailinglist', { 'listnum' => $listnum })
+  or die "unknown listnum $listnum";
+my $title = $mailinglist->listname. ' mailing list';
+
+my $svc_mailinglist = $mailinglist->svc_mailinglist;
+
+my $query = {
+  'table' => 'mailinglistmember',
+  'hashref' => { 'listnum' => $listnum },
+};
+
+my $count_query = "SELECT COUNT(*) FROM mailinglistmember WHERE listnum = $listnum";
+
+my $email_sub = sub {
+  my $member = shift;
+  my $r = $member->email; #just this one for now
+  my $a = qq[<A HREF="javascript:areyousure('$r', ]. $member->membernum. ')">';
+  $r .= " (${a}remove</A>)";
+  $r;
+};
+
+my $html_init = '';
+if ( $svc_mailinglist ) {
+  my $svcnum = $svc_mailinglist->svcnum;
+  my $label = encode_entities($svc_mailinglist->label);
+  $html_init .= qq[<A HREF="${p}/view/svc_mailinglist.cgi?$svcnum">View customer mailing list: $label</A><BR><BR>];
+}
+
+$html_init .= <<"END";
+<SCRIPT TYPE="text/javascript">
+  function areyousure(email,membernum) {
+    if ( confirm('Are you sure you want to remove ' + email + ' from this mailing list?') )
+      window.location.href="${p}misc/delete-mailinglistmember.html?" + membernum;
+    
+  }
+</SCRIPT>
+END
+
+</%init>
diff --git a/httemplate/search/part_pkg.html b/httemplate/search/part_pkg.html
new file mode 100644 (file)
index 0000000..87237c7
--- /dev/null
@@ -0,0 +1,213 @@
+<% include( 'elements/search.html',
+              'title'       => $title,
+              'name'        => $name,
+              'header'      => \@header,
+              'query'       => { 'select'    => $select,
+                                 'table'     => 'part_pkg',
+                                 'addl_from' => $addl_from,
+                                 'hashref'   => {},
+                                 'extra_sql' => $extra_sql,
+                                 'order_by'  => "ORDER BY $order_by",
+                               },
+              'count_query' => $count_query,
+              'fields'      => \@fields,
+              'links'       => \@links,
+              'align'       => $align,
+          )
+%>
+<%init>
+
+#this is about reports about packages definitions (starting w/commission ones)
+# while browse/part_pkg.cgi is config->package definitions
+
+my $curuser = $FS::CurrentUser::CurrentUser;
+die "access denied"
+  unless $curuser->access_right('Financial reports');
+
+my $conf = new FS::Conf;
+my $money_char = $conf->config('money_char') || '$';
+
+my $title = 'Package definition report';
+my $name = 'package definition';
+
+my $select = '';
+my $addl_from = '';
+my @where = ();
+my @order_by = ();
+my @header = ();
+my @fields = ();
+my @links  = ();
+my $align  = '';
+
+if (1) { #commission reports
+
+  if (1) { #employee commission reports 
+
+    $select = 'DISTINCT usernum, username, part_pkg.*';
+
+    $addl_from .= ' CROSS JOIN access_user ';
+
+    if ( $cgi->param('otaker') =~ /^(\w+)$/ ) {
+
+      #XXX in this context, agent virt for employees, not package defs
+      my $access_user = qsearchs('access_user', { 'username' => $1 })
+        or die "unknown usernum";
+
+      $title = $access_user->name;
+
+    } else {
+
+      push @header, 'Employee';
+      push @fields, sub { shift->get('username'); }; #access_user->name
+      push @links, ''; #link to employee edit w/ACL?
+      $align .= 'c';
+
+      push @order_by, 'otaker';
+
+      $title = 'Employee';
+
+    }
+
+  } elsif (0) { #agent commission reports
+
+    if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
+
+      #agent virt
+      my $agent = qsearchs('agent', { 'agentnum' => $1 })
+        or die "unknown agentnum";
+
+      $title = $agent->agent;
+
+      push @header, 'Agent';
+      push @fields, sub { 'XXXagent' };
+      push @links, ''; #link to agent edit w/ACL?
+      $align .= 'c';
+
+      push @order_by, 'agentnum'; #join to agent?  we're mostly interested in grouping rather than order
+
+    } else {
+      $title = 'Agent';
+    }
+
+  }
+
+  $title .= ' commission report';
+  $name = "commissionable $name";
+
+
+}
+
+push @header, 'Package definition';
+push @fields, 'pkg_comment';
+push @links, ''; #link to pkg definition edit w/ACL?
+$align .= 'l';
+
+if (1) { #commission reports
+
+  my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi);
+
+  my $match = '';
+  if (1) { #employee commission reports 
+    $match = 'cust_pkg.otaker = access_user.username';
+  } elsif (0) { #agent commission reports
+    $match = 'cust_main.agentnum = agent.agentnum';
+  }
+
+  my $from_cust_bill_pkg_where = "FROM cust_bill_pkg
+                                      LEFT JOIN ( cust_bill ) USING ( invnum )
+                                      LEFT JOIN ( cust_pkg  ) USING ( pkgnum )
+                                    WHERE cust_bill_pkg.pkgnum > 0
+                                      AND cust_bill._date >= $beginning
+                                      AND cust_bill._date <= $ending         ";
+  my $and = "                         AND $match
+                                      AND cust_pkg.pkgpart = part_pkg.pkgpart";
+
+  push @where, "EXISTS( SELECT 1 $from_cust_bill_pkg_where $and )";
+
+  push @header, '#'; # of sales';
+  push @links, ''; #link to detail report
+  $align .= 'r';
+  push @fields, 'num_cust_pkg';
+  $select .= ", ( SELECT COUNT(DISTINCT pkgnum)
+                    $from_cust_bill_pkg_where $and )
+                AS num_cust_pkg";
+#  push @fields, sub {
+#    my $part_pkg = shift;
+#    my $sql =
+#      #"SELECT COUNT( SELECT DISTINCT pkgnum $from_cust_bill_pkg_where )";
+#      "SELECT COUNT(DISTINCT pkgnum) $from_cust_bill_pkg_where";
+#    my $sth = dbh->prepare($sql) or die dbh->errstr;
+#    $sth->execute or die $sth->errstr;
+#    $sth->fetchrow_arrayref->[0];
+#  };
+
+  push @header, 'Sales';
+  push @links, ''; #link to detail report
+  $align .= 'r';
+#  push @fields, sub { $money_char. sprintf('%.2f', shift->get('pkg_sales')); };
+#  $select .=
+#    ", SUM( SELECT setup+recur $from_cust_bill_pkg_where ) AS pkg_sales";
+  push @fields, sub {
+    my $part_pkg = shift;
+    my $sql = "SELECT SUM(cust_bill_pkg.setup+cust_bill_pkg.recur) $from_cust_bill_pkg_where AND pkgpart = ? AND ";
+    my @arg = ($part_pkg->pkgpart);
+    if (1) { #employee commission reports 
+      $sql .= 'otaker = ?';
+      push @arg, $part_pkg->get('username');
+    } elsif (0) { #agent commission reports
+      $match = 'cust_main.agentnum = agent.agentnum';
+    }
+    my $sth = dbh->prepare($sql) or die dbh->errstr;
+    $sth->execute(@arg) or die $sth->errstr;
+    $money_char. sprintf('%.2f', $sth->fetchrow_arrayref->[0] );
+  };
+
+  push @header, 'Commission';
+  push @links, ''; #link to detail report
+  $align .= 'r';
+  #push @fields, sub { $money_char. sprintf('%.2f', shift->get('pkg_commission')); };
+  push @fields, sub {
+    my $part_pkg = shift;
+    my $sql = "SELECT SUM(amount) FROM cust_credit
+                   LEFT JOIN cust_event USING ( eventnum )
+                   LEFT JOIN part_event USING ( eventpart )
+                   LEFT JOIN cust_pkg ON ( cust_event.tablenum = cust_pkg.pkgnum )
+                 WHERE eventnum IS NOT NULL
+                   AND action IN ( 'pkg_employee_credit',
+                                   'pkg_employee_credit_pkg'
+                                 )
+                   AND cust_credit._date >= $beginning
+                   AND cust_credit._date <= $ending         
+                   AND pkgpart = ?
+                   AND cust_credit.custnum = ?
+              ";
+    my @arg = ($part_pkg->pkgpart);
+    if (1) { #employee commission reports 
+
+      #XXX in this context, agent virt for employees, not package defs
+      my $access_user = qsearchs('access_user', { 'username' => $part_pkg->get('username') })
+        or die "unknown usernum";
+
+      return 0 unless $access_user->user_custnum;
+      push @arg, $access_user->user_custnum;
+
+    } elsif (0) { #agent commission reports
+      push @arg, 'XXXagent_custnum'; #$agent->agent_custnum
+    }
+    my $sth = dbh->prepare($sql) or die dbh->errstr;
+    $sth->execute(@arg) or die $sth->errstr;
+    $money_char. sprintf('%.2f', $sth->fetchrow_arrayref->[0] );
+     
+  };
+
+}
+
+push @order_by, 'pkgpart'; #pkg?
+
+$select ||= 'part_pkg.*';
+my $extra_sql = scalar(@where) ? 'WHERE ' . join(' AND ', @where) : ''; 
+my $order_by = join(', ', @order_by);
+
+my $count_query = "SELECT COUNT(*) FROM part_pkg $addl_from $extra_sql";
+
+</%init>
index aa802f3..00cb9ed 100644 (file)
@@ -20,7 +20,7 @@
       </TR>
 
       <TR>
-        <TD ALIGN="right">Show customers with status:</TD>
+        <TD ALIGN="right">Show customers with status</TD>
         <TD>
           <SELECT NAME="status">
             <OPTION VALUE="">all
         </TD>
       </TR>
 
+      <TR>
+        <TD ALIGN="right">Limit to customers with provisioned service</TD>
+        <TD>
+          <SELECT NAME="svcdb">
+            <OPTION VALUE="">(no)
+            <OPTION VALUE="svc_acct">Account (svc_acct)
+            <OPTION VALUE="svc_broadband">Broadband service (svc_broadband)
+            <OPTION VALUE="svc_domain">Domain (svc_domain)
+            <OPTION VALUE="svc_external">External service (svc_external)
+            <OPTION VALUE="svc_forward">Mail forward (svc_foward)
+            <OPTION VALUE="svc_pbx">PBX (svc_pbx)
+            <OPTION VALUE="svc_phone">Phone number (svc_phone)
+            <OPTION VALUE="svc_www">Hosting (svc_www)
+          </SELECT>
+        </TD>
+      </TR>
+
       <% include( '/elements/tr-select-agent.html',
                      'curr_value'    => scalar( $cgi->param('agentnum') ),
                      'label'         => 'For agent: ',
diff --git a/httemplate/search/report_employee_commission.html b/httemplate/search/report_employee_commission.html
new file mode 100644 (file)
index 0000000..a79630a
--- /dev/null
@@ -0,0 +1,34 @@
+<% include('/elements/header.html', 'Employee commission report' ) %>
+
+<FORM ACTION="part_pkg.html">
+
+<TABLE BGCOLOR="#cccccc" CELLSPACING=0>
+
+%# 
+%# <% include( '/elements/tr-select-agent.html',
+%#                'curr_value'    => scalar( $cgi->param('agentnum') ),
+%#                'disable_empty' => 0,
+%#            )
+%# %>
+%# 
+
+%#2.1
+<% include( '/elements/tr-select-user.html' ) %>
+
+%#1.9
+%# <%include( '/elements/tr-select-otaker.html' ) %>
+
+<% include( '/elements/tr-input-beginning_ending.html', ) %>
+
+</TABLE>
+
+<BR>
+<INPUT TYPE="submit" VALUE="Get Report">
+
+<% include('/elements/footer.html') %>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Financial reports');
+
+</%init>
diff --git a/httemplate/search/report_h_cust_pay.html b/httemplate/search/report_h_cust_pay.html
new file mode 100644 (file)
index 0000000..4e47b38
--- /dev/null
@@ -0,0 +1,124 @@
+<% include('/elements/header.html', 'Payment transaction history' ) %>
+
+<FORM ACTION="h_cust_pay.html" METHOD="GET">
+<INPUT TYPE="hidden" NAME="magic" VALUE="_date">
+
+<TABLE BGCOLOR="#cccccc" CELLSPACING=0>
+
+  <TR>
+    <TH BGCOLOR="#e8e8e8" COLSPAN=2 ALIGN="left">
+      <FONT SIZE="+1">Search options</FONT>
+    </TH>
+  </TR>
+
+%#history stuff
+  <TR>
+    <TD ALIGN="right">Search transactions for: </TD>
+    <TD>
+      <SELECT NAME="history_action">
+        <OPTION VALUE="insert,replace_old,replace_new,delete">(all changes)
+        <OPTION VALUE="delete">Insertions
+        <OPTION VALUE="replace_old,replace_new">Replacements
+        <OPTION VALUE="delete">Deletions
+      </SELECT>
+    </TD>
+  </TR>
+
+  <TR>
+    <TD ALIGN="right" VALIGN="center">Transaction date: </TD>
+    <TD>
+      <TABLE>
+        <% include( '/elements/tr-input-beginning_ending.html',
+                      prefix => 'history_date',
+                      layout => 'horiz',
+                  )
+        %>
+      </TABLE>
+    </TD>
+  </TR>
+%#eo history stuff
+
+  <TR>
+    <TD ALIGN="right">Payments of type: </TD>
+    <TD>
+      <SELECT NAME="payby" onChange="payby_changed(this)">
+        <OPTION VALUE="">all</OPTION>
+        <OPTION VALUE="CARD">credit card (all)</OPTION>
+        <OPTION VALUE="CARD-VisaMC">credit card (Visa/MasterCard)</OPTION>
+        <OPTION VALUE="CARD-Amex">credit card (American Express)</OPTION>
+        <OPTION VALUE="CARD-Discover">credit card (Discover)</OPTION>
+        <OPTION VALUE="CARD-Maestro">credit card (Maestro/Switch/Solo)</OPTION>
+        <OPTION VALUE="CHEK">electronic check / ACH</OPTION>
+        <OPTION VALUE="BILL">check</OPTION>
+        <OPTION VALUE="PREP">prepaid card</OPTION>
+        <OPTION VALUE="CASH">cash</OPTION>
+        <OPTION VALUE="WEST">Western Union</OPTION>
+        <OPTION VALUE="MCRD">manual credit card</OPTION>
+      </SELECT>
+    </TD>
+  </TR>
+
+  <SCRIPT TYPE="text/javascript">
+  
+    function payby_changed(what) {
+      if ( what.options[what.selectedIndex].value == 'BILL' ) {
+       document.getElementById('checkno_caption').style.color = '#000000';
+        what.form.payinfo.disabled = false;
+       what.form.payinfo.style.backgroundColor = '#ffffff';
+      } else {
+       document.getElementById('checkno_caption').style.color = '#bbbbbb';
+        what.form.payinfo.disabled = true;
+       what.form.payinfo.style.backgroundColor = '#dddddd';
+      }
+    }
+
+  </SCRIPT>
+
+  <TR>
+    <TD ALIGN="right"><FONT ID="checkno_caption" COLOR="#bbbbbb">Check #: </FONT></TD>
+    <TD>
+      <INPUT TYPE="text" NAME="payinfo" DISABLED STYLE="background-color: #dddddd">
+    </TD>
+  </TR>
+
+  <% include( '/elements/tr-select-agent.html',
+                 'curr_value'    => scalar($cgi->param('agentnum')),
+                 'label'         => 'for agent: ',
+                 'disable_empty' => 0,
+             )
+  %>
+
+  <% include( '/elements/tr-select-otaker.html' ) %>
+
+  <TR>
+    <TD ALIGN="right" VALIGN="center">Payment</TD>
+    <TD>
+      <TABLE>
+        <% include( '/elements/tr-input-beginning_ending.html',
+                      layout   => 'horiz',
+                  )
+        %>
+      </TABLE>
+    </TD>
+  </TR>
+
+  <% include( '/elements/tr-input-lessthan_greaterthan.html',
+                'label' => 'Amount',
+               'field' => 'paid',
+            )
+  %>
+
+</TABLE>
+
+<BR>
+<INPUT TYPE="submit" VALUE="Get Report">
+
+</FORM>
+
+<% include('/elements/footer.html') %>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Financial reports');
+
+</%init>
index ce928b8..c0e2b80 100644 (file)
@@ -1,36 +1,86 @@
 <% include("/elements/header.html", 'Prepaid Income (Unearned Revenue) Report') %>
 
-<% table() %>
-  <TR>
-    <TH>Actual Unearned Revenue</TH>
-    <TH>Legacy Unearned Revenue</TH>
-  </TR>
+<% include( '/elements/table-grid.html' ) %>
+
   <TR>
-    <TD ALIGN="right">$<% $total %>
-    <TD ALIGN="right">
-      <% $now == $time ? "\$$total_legacy" : '<i>N/A</i>'%>
-    </TD>
+%   if ( scalar(@agentnums) > 1 ) {
+      <TH CLASS="grid" BGCOLOR="#cccccc">Agent</TH>
+%   }
+    <TH CLASS="grid" BGCOLOR="#cccccc"><% $actual_label %>Unearned Revenue</TH>
+%   if ( $legacy ) {
+      <TH CLASS="grid" BGCOLOR="#cccccc">Legacy Unearned Revenue</TH>
+%   }
   </TR>
 
+% my $bgcolor1 = '#eeeeee';
+% my $bgcolor2 = '#ffffff';
+% my $bgcolor;
+%
+% push @agentnums, 0 unless scalar(@agentnums) < 2;
+% foreach my $agentnum (@agentnums) {  
+%
+%   if ( $bgcolor eq $bgcolor1 ) {
+%     $bgcolor = $bgcolor2;
+%   } else {
+%     $bgcolor = $bgcolor1;
+%   }
+%
+%   my $alink = $agentnum ? "$link;agentnum=$agentnum" : $link;
+%
+%   my $agent_name = 'Total';
+%   if ( $agentnum ) {
+%     my $agent = qsearchs('agent', { 'agentnum' => $agentnum })
+%       or die "unknown agentnum $agentnum";
+%     $agent_name = $agent->agent;
+%   }
+
+    <TR>
+
+%     if ( scalar(@agentnums) > 1 ) {
+        <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $agent_name |h %></TD>
+%     }
+
+      <TD ALIGN="right" CLASS="grid" BGCOLOR="<% $bgcolor %>"><A HREF="<% $alink %>"><% $money_char %><% $total{$agentnum} %></A></TD>
+
+%     if ( $legacy ) {
+        <TD ALIGN="right" CLASS="grid" BGCOLOR="<% $bgcolor %>">
+          <% $now == $time ? $money_char.$total_legacy{$agentnum} : '<i>N/A</i>'%>
+        </TD>
+%     }
+
+    </TR>
+
+%  }
+
 </TABLE>
+
 <BR>
-Actual unearned revenue is the amount of unearned revenue Freeside has  
-actually invoiced for packages with longer-than monthly terms.
-<BR><BR>
-Legacy unearned revenue is the amount of unearned revenue represented by 
-customer packages.  This number may be larger than actual unearned 
-revenue if you have imported longer-than monthly customer packages from
-a previous billing system.
-</BODY>
-</HTML>
+<% $actual_label %><% $actual_label ? 'u' : 'U' %>nearned revenue
+is the amount of unearned revenue
+<% $actual_label ? 'Freeside has actually' : '' %>
+invoiced for packages with longer-than monthly terms.
+
+% if ( $legacy ) {
+  <BR><BR>
+  Legacy unearned revenue is the amount of unearned revenue represented by 
+  customer packages.  This number may be larger than actual unearned 
+  revenue if you have imported longer-than monthly customer packages from
+  a previous billing system.
+% }
+
+<% include('/elements/footer.html') %>
 <%init>
 
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Financial reports');
 
-#doesn't yet deal with daily/weekly packages
+my $conf = new FS::Conf;
+my $money_char = $conf->config('money_char') || '$';
+
+my $legacy = $conf->exists('enable_legacy_prepaid_income');
+my $actual_label = $legacy ? 'Actual ' : '';
 
-#needs to be re-written in sql for efficiency
+#doesn't yet deal with daily/weekly packages
 
 my $time = time;
 
@@ -38,74 +88,148 @@ my $now = $cgi->param('date') && str2time($cgi->param('date')) || $time;
 $now =~ /^(\d+)$/ or die "unparsable date?";
 $now = $1;
 
-my @where = ();
+my $link = "cust_bill_pkg.cgi?nottax=1;unearned_now=$now";
 
-if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
-  my $agentnum = $1;
-  push @where, "agentnum = $agentnum";
-}
-
-#here is the agent virtualization
-push @where, $FS::CurrentUser::CurrentUser->agentnums_sql;
-
-my $where = join(' AND ', @where);
-$where = "AND $where" if $where;
-
-my( $total, $total_legacy ) = ( 0, 0 );
-
-my @cust_bill_pkg =
-  grep { $_->cust_pkg && $_->cust_pkg->part_pkg->freq !~ /^([01]|\d+[dw])$/ }
-    qsearch({
-      'select'    => 'cust_bill_pkg.*',
-      'table'     => 'cust_bill_pkg',
-      'addl_from' => ' LEFT JOIN cust_bill USING ( invnum  ) '.
-                     ' LEFT JOIN cust_main USING ( custnum ) ',
-      'hashref'   => {
-                       'recur' => { op=>'!=', value=>0    },
-                       'edate' => { op=>'>',  value=>$now },
-                     },
-      'extra_sql' => $where,
-    });
-
-my @cust_pkg = 
-  grep { $_->part_pkg->recur != 0
-         && $_->part_pkg->freq !~ /^([01]|\d+[dw])$/
-       }
-    qsearch({
-      'select'    => 'cust_pkg.*',
-      'table'     => 'cust_pkg',
-      'addl_from' => ' LEFT JOIN cust_main USING ( custnum ) ',
-      'hashref'   => { 'bill' => { op=>'>', value=>$now } },
-      'extra_sql' => $where,
-    });
-
-foreach my $cust_bill_pkg ( @cust_bill_pkg) { 
-  my $period = $cust_bill_pkg->edate - $cust_bill_pkg->sdate;
-
-  my $elapsed = $now - $cust_bill_pkg->sdate;
-  $elapsed = 0 if $elapsed < 0;
-
-  my $remaining = 1 - $elapsed/$period;
-
-  my $unearned = $remaining * $cust_bill_pkg->recur;
-  $total += $unearned;
+my $curuser = $FS::CurrentUser::CurrentUser;
 
+my $agentnum = '';
+my @agentnums = ();
+$agentnum ? ($agentnum) : $curuser->agentnums;
+if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
+  @agentnums = ($1);
+  #XXX#push @where, "agentnum = $agentnum";
+  #XXX#$link .= ";agentnum=$agentnum";
+} else {
+  @agentnums = $curuser->agentnums;
 }
 
-foreach my $cust_pkg ( @cust_pkg ) {
-  my $period = $cust_pkg->bill - $cust_pkg->last_bill;
-
-  my $elapsed = $now - $cust_pkg->last_bill;
-  $elapsed = 0 if $elapsed < 0;
-
-  my $remaining = 1 - $elapsed/$period;
+my @where = ();
 
-  my $unearned = $remaining * $cust_pkg->part_pkg->recur; #!! only works for flat/legacy
-  $total_legacy += $unearned;
+#here is the agent virtualization
+push @where, $curuser->agentnums_sql( 'table'=>'cust_main' );
+
+#well, because cust_bill_pkg.cgi has it and without it the numbers don't match..
+push @where , " payby != 'COMP' "
+  unless $cgi->param('include_comp_cust');
+
+my %total = ();
+my %total_legacy = ();
+foreach my $agentnum (@agentnums) {
+  
+  my $where = join(' AND ', @where, "cust_main.agentnum = $agentnum");
+  $where = "AND $where" if $where;
+
+  my( $total, $total_legacy ) = ( 0, 0 );
+
+  # my @cust_bill_pkg =
+  #   grep { $_->cust_pkg && $_->cust_pkg->part_pkg->freq !~ /^([01]|\d+[hdw])$/ }
+  #     qsearch({
+  #       'select'    => 'cust_bill_pkg.*',
+  #       'table'     => 'cust_bill_pkg',
+  #       'addl_from' => ' LEFT JOIN cust_bill USING ( invnum  ) '.
+  #                      ' LEFT JOIN cust_main USING ( custnum ) ',
+  #       'hashref'   => {
+  #                        'recur' => { op=>'!=', value=>0    },
+  #                        'sdate' => { op=>'<',  value=>$now },
+  #                        'edate' => { op=>'>',  value=>$now },
+  #                      },
+  #       'extra_sql' => $where,
+  #     });
+  #
+  #    foreach my $cust_bill_pkg ( @cust_bill_pkg) { 
+  #      my $period = $cust_bill_pkg->edate - $cust_bill_pkg->sdate;
+  #   
+  #      my $elapsed = $now - $cust_bill_pkg->sdate;
+  #      $elapsed = 0 if $elapsed < 0;
+  #   
+  #      my $remaining = 1 - $elapsed/$period;
+  #   
+  #      my $unearned = $remaining * $cust_bill_pkg->recur;
+  #      $total += $unearned;
+  #   
+  #    }
+
+  #re-written in sql:
+
+  #false laziness w/cust_bill_pkg.cgi
+
+  my $float = 'REAL'; #'DOUBLE PRECISION';
+
+  my $period = "CAST(cust_bill_pkg.edate - cust_bill_pkg.sdate AS $float)";
+  my $elapsed = "(CASE WHEN cust_bill_pkg.sdate > $now
+                   THEN 0
+                   ELSE ($now - cust_bill_pkg.sdate)
+                 END)";
+  #my $elapsed = "CAST($unearned - cust_bill_pkg.sdate AS $float)";
+
+  my $remaining = "(1 - $elapsed/$period)";
+
+  my $select = "SUM($remaining * cust_bill_pkg.recur)";
+
+  #[...]
+
+  my $sql = "SELECT $select FROM cust_bill_pkg
+                            LEFT JOIN cust_pkg  USING ( pkgnum )
+                            LEFT JOIN part_pkg  USING ( pkgpart )
+                            LEFT JOIN cust_main USING ( custnum )
+               WHERE pkgpart > 0
+                 AND sdate < $now
+                 AND edate > $now
+                 AND cust_bill_pkg.recur != 0
+                 AND part_pkg.freq != '0'
+                 AND part_pkg.freq != '1'
+                 AND part_pkg.freq NOT LIKE '%h'
+                 AND part_pkg.freq NOT LIKE '%d'
+                 AND part_pkg.freq NOT LIKE '%w'
+                 $where
+             ";
+
+  my $sth = dbh->prepare($sql) or die dbh->errstr;
+  $sth->execute or die $sth->errstr;
+  my $total = $sth->fetchrow_arrayref->[0];
+
+  $total = sprintf('%.2f', $total);
+  $total{$agentnum} = $total;
+  $total{0} += $total;
+
+  if ( $legacy ) {
+
+    #not yet rewritten in sql, but now not enabled by default
+
+    my @cust_pkg = 
+      grep { $_->part_pkg->recur != 0
+             && $_->part_pkg->freq !~ /^([01]|\d+[dw])$/
+           }
+        qsearch({
+          'select'    => 'cust_pkg.*',
+          'table'     => 'cust_pkg',
+          'addl_from' => ' LEFT JOIN cust_main USING ( custnum ) ',
+          'hashref'   => { 'bill' => { op=>'>', value=>$now } },
+          'extra_sql' => $where,
+        });
+
+    foreach my $cust_pkg ( @cust_pkg ) {
+      my $period = $cust_pkg->bill - $cust_pkg->last_bill;
+   
+      my $elapsed = $now - $cust_pkg->last_bill;
+      $elapsed = 0 if $elapsed < 0;
+   
+      my $remaining = 1 - $elapsed/$period;
+   
+      my $unearned = $remaining * $cust_pkg->part_pkg->recur; #!! only works for flat/legacy
+      $total_legacy += $unearned;
+   
+    }
+
+    $total_legacy = sprintf('%.2f', $total_legacy);
+    $total_legacy{$agentnum} = $total_legacy;
+    $total_legacy{0} += $total_legacy;
+
+  }
 
 }
 
-$total = sprintf('%.2f', $total);
-$total_legacy = sprintf('%.2f', $total_legacy);
-
+$total{0} = sprintf('%.2f', $total{0});
+$total_legacy{0} = sprintf('%.2f', $total_legacy{0});
+  
 </%init>
index 6e02413..6eea2b0 100755 (executable)
@@ -1,5 +1,5 @@
 <% include('/elements/header.html', {
-             'title' => "Customer View: ". $cust_main->name,
+             'title' => "Customer: ". $cust_main->name,
              'nobr'  => 1,
           })
 %>
@@ -128,7 +128,7 @@ Comments
                 'actionlabel' => 'Enter customer note',
                 'cust_main'   => $cust_main,
                 'width'       => 616,
-                'height'      => 408,
+                'height'      => 538, #575
             )
   %>
 
index 833c92e..71511dc 100755 (executable)
@@ -11,6 +11,9 @@
 %   }
     <TH CLASS="grid" BGCOLOR="#cccccc">Person</TH>
     <TH CLASS="grid" BGCOLOR="#cccccc">Note</TH>
+%   if ($curuser->access_right('Edit customer note') ) {
+    <TH CLASS="grid" BGCOLOR="#cccccc">&nbsp;</TH>
+%   }
   </TR>
 
 % my $bgcolor1 = '#eeeeee';
@@ -34,7 +37,7 @@
 %                                             ";notenum=$notenum",
 %                            'actionlabel' => 'Edit customer note',
 %                            'width'       => 616,
-%                            'height'      => 408,
+%                            'height'      => 538, #575
 %                            'frame'       => 'top',
 %                        );
 %   my $clickjs = qq!onclick="$onclick"!;
         &nbsp;<% $note->otaker%>
       </TD>
       <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
-        &nbsp;<%$note->comments%><% $edit %>
+        &nbsp;<%$note->comments%>
       </TD>
+% if($edit) {
+      <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $edit %></TD>
+% }
     </TR>
 
 % } #end display notes
index 167849c..e1f9a13 100644 (file)
@@ -1,7 +1,24 @@
+<FORM METHOD="GET" ACTION="<% $new_base %>" NAME="CreateTicketForm">
+<INPUT TYPE="submit" VALUE="Create new ticket">
+in queue
+<SELECT NAME="Queue">
+% my %queues = FS::TicketSystem->queues();
+% foreach my $queueid ( keys %queues ) {
+%   #should consider whether the user has ACL to create ticket in each queue
+    <OPTION VALUE="<% $queueid %>"
+            <% $queueid == $new_param{'Queue'} ? 'SELECTED' : '' %>
+    ><% $queues{$queueid} |h %>
+% }
+</SELECT>
+% foreach my $param ( grep { $_ ne 'Queue' } keys %new_param ) {
+    <INPUT TYPE="hidden" NAME="<% $param %>" VALUE="<% $new_param{$param} |h %>">
+% }
+</FORM>
+<BR>
+
 (<A HREF="<% $open_link %>">View <% $openlabel %> tickets for this customer</A>)
 (<A HREF="<% $res_link  %>">View resolved tickets for this customer</A>)
-<BR>
-(<A HREF="<% $new_link  %>">Create new ticket for this customer</A>)
+<BR><BR>
 
 <% include("/elements/table-grid.html") %>
 % my $bgcolor1 = '#eeeeee';
@@ -73,6 +90,10 @@ my $res_link  = FS::TicketSystem->href_customer_tickets(
                   { 'statuses' => [ 'resolved' ] }
                 );
 
+my( $new_base, %new_param ) = FS::TicketSystem->href_params_new_ticket(
+                 $cust_main,
+                 join(', ', $cust_main->invoicing_list_emailonly )               );
+
 my $new_link = FS::TicketSystem->href_new_ticket(
                  $cust_main,
                  join(', ', $cust_main->invoicing_list_emailonly )
diff --git a/httemplate/view/svc_acct/tr.html b/httemplate/view/svc_acct/tr.html
deleted file mode 100644 (file)
index e2ec7d4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<TR>
-  <TD ALIGN="right"><% $opt{'label'} %></TD>
-  <TD BGCOLOR="#ffffff"><% $opt{'value'} %></TD>
-</TR>
-<%init>
-
-my %opt = @_;
-
-</%init>
diff --git a/httemplate/view/svc_mailinglist.cgi b/httemplate/view/svc_mailinglist.cgi
new file mode 100644 (file)
index 0000000..f646a41
--- /dev/null
@@ -0,0 +1,71 @@
+<% include('elements/svc_Common.html',
+             'table' => 'svc_mailinglist',
+             %opt,
+          )
+%>
+<%init>
+
+my %opt = ();
+
+my $info = FS::svc_mailinglist->table_info;
+
+$opt{'name'} = $info->{'name'};
+
+my $fields = $info->{'fields'};
+my %labels = map { $_ =>  ( ref($fields->{$_})
+                             ? $fields->{$_}{'label'}
+                             : $fields->{$_}
+                         );
+                 }
+             keys %$fields;
+
+#$opt{'fields'} = [ keys %$fields ];
+$opt{'fields'} = [
+  'username',
+  'domain',
+  'listname',
+  'reply_to',
+  'remove_from',
+  'reject_auto',
+  'remove_to_and_cc',
+];
+
+$opt{'labels'} = \%labels;
+
+$opt{'html_foot'} = sub {
+  my $svc_mailinglist = shift;
+  my $listnum = $svc_mailinglist->listnum;
+
+  my $sql = 'SELECT COUNT(*) FROM mailinglistmember WHERE listnum = ?';
+  my $sth = dbh->prepare($sql) or die dbh->errstr;
+  $sth->execute($listnum) or die $sth->errstr;
+  my $num = $sth->fetchrow_arrayref->[0];
+
+  my $add_url = $p."edit/mailinglistmember.html?listnum=$listnum";
+
+  my $add_link = include('/elements/init_overlib.html').
+                 include('/elements/popup_link.html',
+                           'action' => $add_url,
+                           'label'  => 'add',
+                           'actionlabel' => 'Add list member',
+                           'width'  => 392,
+                           'height' => 192,
+                        );
+
+  ntable('#cccccc').'<TR><TD>'.ntable('#cccccc',2). qq[
+    <TR>
+      <TD>List members</TD>
+      <TD BGCOLOR="#ffffff">
+        $num members
+        ( <A HREF="${p}search/mailinglistmember.html?listnum=$listnum">view</A>
+        | $add_link )
+      </TD>
+    </TR>
+    </TABLE></TD></TR></TABLE>
+
+    <BR><BR>
+  ]. include('svc_export_settings.html', $svc_mailinglist);
+
+};
+
+</%init>
index 76ee739..75591c7 100644 (file)
@@ -16,6 +16,7 @@
 <%init>
 
 my $conf = new FS::Conf;
+my $countrydefault = $conf->config('countrydefault') || 'US';
 
 my @fields = qw( countrycode phonenum );
 push @fields, 'domain' if $conf->exists('svc_phone-domain');
@@ -25,6 +26,25 @@ my $html_foot = sub {
   my $svc_phone = shift;
 
   ###
+  # E911 Info
+  ###
+
+  my $e911 = 
+    'E911 Information'.
+    &ntable("#cccccc"). '<TR><TD>'. ntable("#cccccc",2).
+      '<TR><TD>Location</TD>'.
+      '<TD BGCOLOR="#FFFFFF">'.
+        $svc_phone->location_label( 'join_string'     => '<BR>',
+                                    'double_space'    => ' &nbsp; ',
+                                    'escape_function' => \&encode_entities,
+                                    'countrydefault'  => $countrydefault,
+                                  ).
+      '</TD></TR>'.
+    '</TABLE></TD></TR></TABLE>'.
+    '<BR>'
+  ;
+
+  ###
   # Devices
   ###
 
@@ -123,6 +143,7 @@ my $html_foot = sub {
   # concatenate & return
   ###
 
+  $e911.
   $devices.
   join(' | ', @links ). '<BR>'.
   join(' | ', @ilinks). '<BR>';
index 9312270..d6e4967 100644 (file)
@@ -1,5 +1,5 @@
 %{!?_initrddir:%define _initrddir /etc/rc.d/init.d}
-%{!?version:%define version 1.9.1}
+%{!?version:%define version 1.9.2}
 %{!?release:%define release 8}
 
 Summary: Freeside ISP Billing System
diff --git a/rt/etc/rt.spec b/rt/etc/rt.spec
deleted file mode 100644 (file)
index 14200c1..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-Summary: rt Request Tracker
-
-Name: rt
-Version: 2.0.9pre5
-Release: 1
-Group: Applications/Web
-Packager: Jesse Vincent <jesse@bestpractical.com>
-Vendor: http://www.fsck.com/projects/rt
-Requires: perl
-Requires: mod_perl > 1.22
-Requires: perl-DBI >= 1.18
-Requires: perl-DBIx-DataSource >= 0.02
-Requires: perl-DBIx-SearchBuilder >= 0.47
-Requires: perl-HTML-Parser
-Requires: perl-MLDBM
-Requires: perl-libnet
-Requires: perl-CGI.pm >= 2.78
-Requires: perl-Params-Validate >= 0.02
-Requires: perl-HTML-Mason >= 0.896
-Requires: perl-libapreq
-Requires: perl-Apache-Session >= 1.53
-Requires: perl-MIME-tools >= 5.411
-Requires: perl-MailTools >= 1.20
-Requires: perl-Getopt-Long >= 2.24
-Requires: perl-Tie-IxHash
-Requires: perl-TimeDate
-Requires: perl-Time-HiRes
-Requires: perl-Text-Wrapper
-Requires: perl-Text-Template
-Requires: perl-File-Spec >= 0.8
-Requires: perl-FreezeThaw
-Requires: perl-Storable
-Requires: perl-File-Temp
-Requires: perl-Log-Dispatch >= 1.6                     
-
-Source: http://www.fsck.com/pub/rt/release/%{name}.tar.gz
-Copyright: GPL 
-BuildRoot: /var/tmp/rt-root
-
-%description
-RT is an industrial-grade ticketing system. It lets a group
-of people intelligently and efficiently manage requests
-submitted by a community of users. RT is used by systems
-administrators, customer support staffs, NOCs, developers
-and even marketing departments at over a thousand sites
-around the world. 
-
-%prep
-groupadd rt || true
-%setup -q -n %{name}
-
-%build
-
-%install
-
-if [ x$RPM_BUILD_ROOT != x ]; then
-rm -rf $RPM_BUILD_ROOT
-fi
-
-#
-# Perform all the non-site specfic steps whilst building the package
-#
-make dirs libs-install html-install bin-install  DESTDIR=$RPM_BUILD_ROOT
-#
-# fixperms needs these, so make fake empty files
-touch $RPM_BUILD_ROOT/opt/rt2/etc/insertdata $RPM_BUILD_ROOT/opt/rt2/etc/config.pm
-make fixperms insert-install WEB_USER=www DESTDIR=$RPM_BUILD_ROOT
-
-#
-# Copy in the files needed again after install
-#
-mkdir -p $RPM_BUILD_ROOT/opt/rt2/postinstall/bin
-cp -rp Makefile etc tools $RPM_BUILD_ROOT/opt/rt2/postinstall
-cp -rp bin/initacls.* $RPM_BUILD_ROOT/opt/rt2/postinstall/bin
-
-# logging in /var/log/rt2
-mkdir -p $RPM_BUILD_ROOT/var/log/rt2
-chown www $RPM_BUILD_ROOT/var/log/rt2
-chgrp rt $RPM_BUILD_ROOT/var/log/rt2
-chmod ug=rwx,o= $RPM_BUILD_ROOT/var/log/rt2
-
-%clean
-if [ x$RPM_BUILD_ROOT != x ]; then
-rm -rf $RPM_BUILD_ROOT
-fi
-
-#
-# A new rt groups is required
-#
-%pre
-groupadd rt || true
-
-#
-# Show the user the site specific steps required after install
-#
-%post
-cat <<EOF
------------------------------------------------------------------------
-rt2 installation is complete. Now create the rt2 database by running:
------------------------------------------------------------------------
-
-# cd /opt/rt2/postinstall
-# make config-replace initialize.mysql insert RT_LOG_PATH=/var/log/rt2 DB_RT_PASS=new_rt_user_password
-
-Choose your own new_rt_user_password. You will need the mysql root password.
-You can try Pg or Oracle instead of mysql - untested.
-
-Review and configure your site specific details in /opt/rt2/etc/config.pm
-EOF
-
-%preun
-
-%files
-%dir /opt/rt2
-/opt/rt2/bin
-/opt/rt2/WebRT
-/opt/rt2/lib
-/opt/rt2/local
-/opt/rt2/man
-/opt/rt2/postinstall
-%dir /opt/rt2/etc
-/opt/rt2/etc/insertdata
-%config /opt/rt2/etc/config.pm
-%dir /var/log/rt2
-
-%changelog
-* Mon Sep 24 2001 Jesse Vincent <jesse@bestpractical.com>
-  Switch to rt DESTDIR support
-* Fri Sep 14 2001 Cris Bailiff <c.bailiff@devsecure.com>
-  Fix permissions on created /var/log/rt2 and roll in 2.0.7
-* Tue Sep 4 2001 Cris Bailiff <c.bailiff@devsecure.com>
-- created initial spec file
-* Tue Sep 4 2001 Cris Bailiff <c.bailiff@devsecure.com>
-- created initial spec file
-* Tue Sep 4 2001 Cris Bailiff <c.bailiff@devsecure.com>
-- created initial spec file