X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=TODO;h=6d57aa09c2a6f9c23b7e4e283e9454af880e543d;hb=3268e924e5c041114349d0dcda0039d04034d96d;hp=869e13d4a1004492576e30eb60d73138aad6873e;hpb=e0da34d97b1463b55a334e8dae10cd55796e2312;p=freeside.git diff --git a/TODO b/TODO index 869e13d4a..6d57aa09c 100644 --- a/TODO +++ b/TODO @@ -1,32 +1,93 @@ -$Id: TODO,v 1.22 1999-02-07 09:59:12 ivan Exp $ +$Id: TODO,v 1.27 1999-04-09 03:52:16 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 -- +--- -missed popurl in (at least) search/cust_pkg.cgi +javascript (yuck!) "are you sure?" confirmation on cancelations, etc. +(view/cust_pkg and view/svc_*) -one-screen new customer entry +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) -clean up view/cust_pkg and view/svc_* yuck! +uncomment expire in view/cust_pkg.cgi and find the expire cron from fsold -Lay out the forms a bit better. +(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::* ? -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? +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. + +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. @@ -35,12 +96,6 @@ 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 - --- release 1.2b1 --- - You can't delete the stuff under administration yet. Add this, _including_ making sure the thing you are deleting is not in use! @@ -374,8 +429,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