beginnings of one-screen new customer entry and some other miscellania
[freeside.git] / TODO
diff --git a/TODO b/TODO
index d53dab0..611f83e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-$Id: TODO,v 1.19 1999-01-18 23:05:00 ivan Exp $
+$Id: TODO,v 1.25 1999-02-23 08:09:18 ivan Exp $
 
 If you are interested in helping with any of these, please join the mailing
 list (send a blank message to ivan-freeside-subscribe@sisd.com) to avoid 
@@ -6,33 +6,19 @@ duplication of effort.
 
 -- before 1.2b1 --
 
-Lay out the forms a bit better.
+TEST email invoices
 
-view/cust_main.cgi should show country
+one-screen new customer entry
 
-add doc on mod_perl: upgrade to current CGI.pm
-doc Apache::AuthDBI as well
+clean up view/cust_pkg and view/svc_* yuck (popurl and visual)!
 
-FS::cust_pkg _require_'s FS::$svc, but this won't work with %FS::UID::callback
-loading of configuration.  (pry need same idea, but will run immediately if
-context allows).  Looks like error is masked by 'use FS::cust_svc' which in
-turn 'use's FS::{svc_acct, svc_acct_sm, svc_domain}' which is now explicit
-w/comments in source
+Lay out the forms a bit better.
 
 libwww regression test - since it will create sample data, can also use this
 for the web demo
 make fs-setup option to add sample data so you can click on "New Customer" right away?  so people understand what this stuff is?
-
-Allow a cancelled/suspended/active status from packages to bubble up to
-the customer lists.  Put active, then suspended, then cancelled accounts.
-Similar ordering on the package listing inside a single customer.
-
-Add the ability for services to filter information up to the package level
-for invoices and web screens, so you can select a particlar package based
-on username or domain name, etc.
-
-You can't delete the stuff under administration yet.  Add this,
-_including_ making sure the thing you are deleting is not in use!
+(in sample data [ AND DOCUMENT! ] all svc_acct services should have a default
+ or fixed shell )
 
 (Test this)
 one-time/per-customer/? changes in rates and descriptions ('remembered
@@ -41,10 +27,67 @@ associated with any agent types so it won't show up for other customers to buy.
 (but also... make sure they go away when the customer does! - need this? :
  one-off package edits! : need a cust_pkgs or cust_part_pkgs or something table,
  with custnum and partpkg (like type_pkgs)
+(what happens if you hit "custom pricing" but the pricing is already custom?)
 
 update site_perl/table_template* (pry out of date)
 
--- before or after ---
+remove "records identical" warning?  gets in the way of more important stuff.
+
+update web demo
+
+-- release 1.2b1 ---
+
+password and slipip stuff in svc_acct.pm store need to be split into two fields or something, so the silliness in svc_acct.pm and svc_acct.export with looking at the data to decide what to do with it can be fixed
+
+i10n: Apache::Language
+
+Apache::Session?  Other useful Apache::* ?
+
+email invoices are only sent for the BILL payby.  If setup, should statements
+(since they're not invoices) be sent for COMP and CARD as well?
+
+$cgi->keywords is causing the (hard to trace) error:
+       Use of uninitialized value at (eval 5) line 5
+
+edit/cust_main.cgi gives an uninformative error message:
+> Can't call method "agentnum" without a package or object reference at   
+> /usr/local/apache-ssl/htdocs/freeside/edit/cust_main.cgi line 116.
+if there are no agents.
+
+(is this missing on any web screens?  (easy with $cust_svc->label)
+Add the ability for services to filter information up to the package level
+for web screens, so you can select a particlar package based
+on username or domain name, etc.
+
+Allow a cancelled/suspended/active status from packages to bubble up to
+the customer lists.  Put active, then suspended, then cancelled accounts.
+Similar ordering on the package listing inside a single customer.
+
+false laziness: edit/cust_main.cgi got some parts copied from edit/svc_acct.cgi
+the web interface in general needs to be redone in a more abstract way.
+
+false laziness: some of search/svc_acct_sm.cgi was copied to search/svc_domain.cgi.  but web interface in general needs to be rewritten in a mucho cleaner way.
+
+Portability: in FS::Record, $sth->execute does not return a number of rows for all DBD's.  see man DBI
+
+subroutine the where clause (eventually all SQL) as OO perhaps (has anyone done this?)
+
+add a select method to ?
+
+You can't delete the stuff under administration yet.  Add this,
+_including_ making sure the thing you are deleting is not in use!
+
+add links on view/cust_main.cgi to setup services, like view/cust_pkg.cgi
+
+FS::cust_pkg _require_'s FS::$svc, but this won't work with %FS::UID::callback
+loading of configuration.  (pry need same idea, but will run immediately if
+context allows).  Looks like error is masked by 'use FS::cust_svc' which in
+turn 'use's FS::{svc_acct, svc_acct_sm, svc_domain}' which is now explicit
+w/comments in source
+
+Allow a cancelled/suspended/active status from packages to bubble up to
+the customer lists.  Put active, then suspended, then cancelled accounts.
+Similar ordering on the package listing inside a single customer.
 
 svc_domain.pm mail sending uses Date::Format which doesn't seem to pick up 
 correct timezone.
@@ -56,11 +99,25 @@ whois accordingly.
 .us domains and others!
 site_perl/svc_domain.cgi (hmm... or maybe should have a button?  or maybe svc_domain.pm should handle this) should set $whois_hack for non-internic domains, so you can add them...
 
+turn on the depriciation warnings for [e]idiot in FS::CGI. Stop using [e]idiot
+the last places it is (htdocs/search/ htdocs/misc/ htdocs/misc/process)
+
 (test cust_main.pm with cybercash v2 and v3, especially with the callback
  stuff AND with mod_perl w/cybercash v2 kludge in package main)
 (callback stuff should be eliminated by now)
 
--- after --
+bah, table/itable/*table in FS::CGI is silly.
+
+doc Apache::AuthDBI as well
+..
+Provide sample httpd.conf files.
+
+hey look: Tie::DBI!  Check that out.  Override its commit with something that
+does perl-side caching for ? a performance improvement and as an emulation
+layer to plug in f.ex mysql's atomic transactions
+..
+Record.pm uses does some non-portable DBI things.  MySQL and Pg seem fine.
+Fix it anyway unless we migrate to Tie::DBI.
 
 faq
 
@@ -350,8 +407,6 @@ configuration/setup should get web interface
 ...
 (probably as part of some automated installation process?)
 
-password and slipip stuff in svc_acct.pm store need to be split into two fields or something, so the silliness in svc_acct.pm and svc_acct.export with looking at the data to decide what to do with it can be fixed (1.2)
-
 This requires some serious magic in FS::Record:
 ok, if date_type in fs-setup is to be something besides int,
 now we need to create wrappers
@@ -366,6 +421,13 @@ transactions or atomic updates).  Or just require a RDBMS that supports
 rollback and/or atomic updates and get rid of the work-arounds?  The /rdb
 interface had this kludge on top of it but is a technical dead-end in most
 other ways, unless it can gain an SQL parser and DBD interface.
+...
+if i'm really bored, find the /rdb interface in fsold and port it to NoSQL,
+and while I'm add it add interfaces for AnyDBM_File tied hash.. hmm.  Shouldn't
+an FS::Record have something to do with a tied hash?  But we don't want
+performance to go gaga... maybe something with commit to help out here?
+...
+Ok: FS::Record gives you a tied hash, and you get methods for commit, etc.
 
 Better automated comparison of our CC records with processors (CyberCash,
 at least, has not always had 100% accuracy, though recent versions are