configuration option to edit referrals of existing customers
[freeside.git] / TODO
diff --git a/TODO b/TODO
index 363c42a..5dbfab2 100644 (file)
--- a/TODO
+++ b/TODO
-$Id: TODO,v 1.20 1999-01-25 12:09:48 ivan Exp $
+$Id: TODO,v 1.30 1999-04-14 13:14:54 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 
 duplication of effort.
 
--- before 1.2b1 --
+---
 
-Can't use [e]idiot with mod_perl.
+default (and ordering) state/county/country config file
+expand the
+cust_main_county table to provide a preferred ordering, so the most common
+entries would be at the top of the selection box.  automatically, based on
+recent selections?
 
-Lay out the forms a bit better.
+hmm... maybe svc_acct__shell should check off the legal shells list if
+applicable?  yeah... cool.
 
-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?
+payinfo field should me much larger than 16
+
+
+[Mon Apr 12 20:31:21 1999] [error] [Mon Apr 12 20:31:21 1999] null: Error closing true: Broken pipe at /usr/local/lib/site_perl/FS/cust_main.pm line 615.
+
+javascript (yuck!) "are you sure?" confirmation on cancelations, etc.
+(view/cust_pkg and view/svc_*)
+
+get rid of time2str("%D") which formats dates in a non-y2k-safe looking fashion
+(all the actual date handling uses UNIX timestamps and is fine)
+
+uncomment expire in view/cust_pkg.cgi and find the expire cron from fsold
+
+(Test this)
+one-time/per-customer/? changes in rates and descriptions ('remembered
+invoices'): implement by creating a new package on the fly... but it isn't 
+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?)
+
+Lay out any remaining ugly forms better.
+
+remove "records identical" warning?  gets in the way of more important stuff.
+or fix logic which tries to update identical records??
+1.2 should be quiet enough that the error log is useful, hopefully.
+
+Postgres has a maximum column length of 31 characters (but see NAMEDATALEN in
+postgres_ext.h).  part_svc has columns like: svc_acct__radius_Attribute_flag
+(22 characters!)  It seems that stuff over the limit is silently ignored,
+so we get 4 characters back.  So, Radius_Attributes are max 13 characters with
+stock Postgres.  see rfc2138 for what's affected
+What's a good fix?  (besides recompiling postgres with NAMEDATALEN 64)
+(mysql has a 64 character max column length.  others?)
+
+[Mon Mar 29 06:57:56 1999] -e: Use of uninitialized value at /usr/lib/perl5/Date/Format.pm line 333.
+(when sending mail in cust_main.pm::bill or svc_domain.pm)
+
+look at DBIx::Recordset!  (and Tie::DBI, and...)
+
+undefined conf/lpr gives this uninfomative error:
+[Fri Feb 26 16:42:36 1999] bill.cgi: Can't do bidirectional pipe at
+/usr/lib/per
+l5/site_perl/FS/cust_main.pm line 629.
+[Fri Feb 26 16:42:38 1999] bill.cgi: Error closing : Broken pipe at
+/usr/lib/per
+l5/site_perl/FS/cust_main.pm line 631.
+So give a meaningful error!
+
+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.
 
-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.
+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.
 
-You can't delete the stuff under administration yet.  Add this,
-_including_ making sure the thing you are deleting is not in use!
+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 FS::Record?
 
-(Test this)
 one-time/per-customer/? changes in rates and descriptions ('remembered
 invoices'): implement by creating a new package on the fly... but it isn't 
 associated with any agent types so it won't show up for other customers to buy.
@@ -34,11 +110,10 @@ associated with any agent types so it won't show up for other customers to buy.
  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)
-
-update web demo
+You can't delete the stuff under administration yet.  Add this,
+_including_ making sure the thing you are deleting is not in use!
 
--- before or after ---
+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
@@ -60,12 +135,13 @@ 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
@@ -367,8 +443,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