You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(23) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(68) |
Feb
(121) |
Mar
(59) |
Apr
(49) |
May
(110) |
Jun
(109) |
Jul
(146) |
Aug
(122) |
Sep
(83) |
Oct
(94) |
Nov
(90) |
Dec
(157) |
| 2002 |
Jan
(169) |
Feb
(186) |
Mar
(168) |
Apr
(353) |
May
(338) |
Jun
(278) |
Jul
(220) |
Aug
(336) |
Sep
(122) |
Oct
(183) |
Nov
(111) |
Dec
(265) |
| 2003 |
Jan
(358) |
Feb
(135) |
Mar
(343) |
Apr
(419) |
May
(277) |
Jun
(145) |
Jul
|
Aug
(134) |
Sep
(118) |
Oct
(97) |
Nov
(240) |
Dec
(293) |
| 2004 |
Jan
(412) |
Feb
(217) |
Mar
(202) |
Apr
(237) |
May
(333) |
Jun
(201) |
Jul
(303) |
Aug
(218) |
Sep
(285) |
Oct
(249) |
Nov
(248) |
Dec
(229) |
| 2005 |
Jan
(314) |
Feb
(175) |
Mar
(386) |
Apr
(223) |
May
(281) |
Jun
(230) |
Jul
(200) |
Aug
(197) |
Sep
(110) |
Oct
(243) |
Nov
(279) |
Dec
(324) |
| 2006 |
Jan
(335) |
Feb
(396) |
Mar
(383) |
Apr
(358) |
May
(375) |
Jun
(190) |
Jul
(212) |
Aug
(320) |
Sep
(358) |
Oct
(112) |
Nov
(213) |
Dec
(95) |
| 2007 |
Jan
(136) |
Feb
(104) |
Mar
(156) |
Apr
(115) |
May
(78) |
Jun
(75) |
Jul
(30) |
Aug
(35) |
Sep
(50) |
Oct
(44) |
Nov
(33) |
Dec
(35) |
| 2008 |
Jan
(90) |
Feb
(63) |
Mar
(47) |
Apr
(42) |
May
(72) |
Jun
(85) |
Jul
(25) |
Aug
(20) |
Sep
(14) |
Oct
(11) |
Nov
(25) |
Dec
(39) |
| 2009 |
Jan
(39) |
Feb
(46) |
Mar
(16) |
Apr
(27) |
May
(51) |
Jun
(66) |
Jul
(78) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
(2) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2016 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: wayne <inf...@ve...> - 2001-10-15 18:51:32
|
Hi Robert, You hit the nail right on the head. After doing the strace, and getting the results you expected, I then check my httpd.conf file. sure enought the directive "Port" had 8080. I change it to 80 and things are looking up. I want to thank everyone for there input. later. Wayne "Robert A. Mackie" wrote: Sure. This looks to me like either your httpd daemon isn't running or > it's configured to run on some port other than port 80. > > Here are some ideas. Become root and execute strace -p <pid> where pid > is the process number of one of your httpd processes (use ps to get a > pid). It should give you something like: > > strace -p 23774 > accept(16, <unfinished ...> > > You'll need to: > ctrl-c > to exit > > This tells you that you do indeed have httpd that's waiting to accept a > connection. > Next, look in /etc/httpd/conf/httpd.conf for a line like: > # Port: The port to which the standalone server listens. For > # ports < 1023, you will need httpd to be run as root initially. > # > Port 80 > > If it is some other number then you need to use > http://localhost:othernumber/ > or change it to 80. *80* requires that that the httpd be launched by > root, as per the comment.) > > Rob. > PS: I'd probably do these things in reverse order. The strace just > makes you feel good. It doesn't diagnose much. > > wayne wrote: > > >Hi Dieter, > >I use to have "ServerName localhost.localdomain", but > >I still got the error from Netscape. Should I change it > >back to this or leave it as "ServerName localhost"? > >My /etc/hosts file has the enter for 127.0.0.1 as > >127.0.0.1 localhost.localdomain localhost > > > >I also tried to use this as a url > >http://localhost.localdomain/sql-ledger/admin.pl, but > >I still get the error > >"Netscape is unable to locate the server locallhost.localdomain". > >Another way I tried keying in the url was- > >"http://127.0.0.1/sql-ledger/admin.pl". > >The return error on this was slightly different. > >"Netscape's network connection was refuse by the server 127.0.0.1 > >The server may not be accepting connection or may be busy." > >This seems to me that 127.0.0.1 is up and is configured ok. > >Can someone give me some reason why it wouldn't be > >accepting a connection? > >Wayne > > > >Dieter Simader wrote: > > > >>Use the full name. > >> > >>ServerName yourhost.domain.name > >> > >>Dieter Simader http://www.sql-ledger.org (780) 472-8161 > >>DWS Systems Inc. Accounting Software Fax: 478-5281 > >>=========== On a clear disk you can seek forever =========== > >> > >>On Mon, 15 Oct 2001, wayne wrote: > >> > >>>Hi, > >>>If this message is not appropriate to the group let know. > >>>If anyone can point me to a group that deals with questions > >>>about apache I will be grateful. I thought I had my problem > >>>solved, but I don't. > >>>When I key in the url, http://localhost/sql-ledger/admin.pl, > >>>I still get the rror "Netscape is unable to locate the server > >>>localhost". > >>>In my httpd.conf I have the directive "ServerName localhost". > >>>I restarted my server and still get the same error. By-the-way, > >>>my httpd.conf file is stock except for the changes I made for > >>>sql-ledger. > >>>Wayne > >>> > > > > > > > > -- > Quoting Steven in Illinois: > "On the side of the software box, in the 'System Requirements' section, > it said 'Requires Windows 95 or better'. So I installed Linux." > "Let the source be with you" -Tux |
|
From: Robert A. M. <ro...@ma...> - 2001-10-15 18:21:48
|
Sure. This looks to me like either your httpd daemon isn't running or it's configured to run on some port other than port 80. Here are some ideas. Become root and execute strace -p <pid> where pid is the process number of one of your httpd processes (use ps to get a pid). It should give you something like: strace -p 23774 accept(16, <unfinished ...> You'll need to: ctrl-c to exit This tells you that you do indeed have httpd that's waiting to accept a connection. Next, look in /etc/httpd/conf/httpd.conf for a line like: # Port: The port to which the standalone server listens. For # ports < 1023, you will need httpd to be run as root initially. # Port 80 If it is some other number then you need to use http://localhost:othernumber/ or change it to 80. *80* requires that that the httpd be launched by root, as per the comment.) Rob. PS: I'd probably do these things in reverse order. The strace just makes you feel good. It doesn't diagnose much. wayne wrote: >Hi Dieter, >I use to have "ServerName localhost.localdomain", but >I still got the error from Netscape. Should I change it >back to this or leave it as "ServerName localhost"? >My /etc/hosts file has the enter for 127.0.0.1 as >127.0.0.1 localhost.localdomain localhost > >I also tried to use this as a url >http://localhost.localdomain/sql-ledger/admin.pl, but >I still get the error >"Netscape is unable to locate the server locallhost.localdomain". >Another way I tried keying in the url was- >"http://127.0.0.1/sql-ledger/admin.pl". >The return error on this was slightly different. >"Netscape's network connection was refuse by the server 127.0.0.1 >The server may not be accepting connection or may be busy." >This seems to me that 127.0.0.1 is up and is configured ok. >Can someone give me some reason why it wouldn't be >accepting a connection? >Wayne > >Dieter Simader wrote: > >>Use the full name. >> >>ServerName yourhost.domain.name >> >>Dieter Simader http://www.sql-ledger.org (780) 472-8161 >>DWS Systems Inc. Accounting Software Fax: 478-5281 >>=========== On a clear disk you can seek forever =========== >> >>On Mon, 15 Oct 2001, wayne wrote: >> >>>Hi, >>>If this message is not appropriate to the group let know. >>>If anyone can point me to a group that deals with questions >>>about apache I will be grateful. I thought I had my problem >>>solved, but I don't. >>>When I key in the url, http://localhost/sql-ledger/admin.pl, >>>I still get the rror "Netscape is unable to locate the server >>>localhost". >>>In my httpd.conf I have the directive "ServerName localhost". >>>I restarted my server and still get the same error. By-the-way, >>>my httpd.conf file is stock except for the changes I made for >>>sql-ledger. >>>Wayne >>> > > > -- Quoting Steven in Illinois: "On the side of the software box, in the 'System Requirements' section, it said 'Requires Windows 95 or better'. So I installed Linux." "Let the source be with you" -Tux |
|
From: wayne <inf...@ve...> - 2001-10-15 17:45:00
|
Hi Dieter, I use to have "ServerName localhost.localdomain", but I still got the error from Netscape. Should I change it back to this or leave it as "ServerName localhost"? My /etc/hosts file has the enter for 127.0.0.1 as 127.0.0.1 localhost.localdomain localhost I also tried to use this as a url http://localhost.localdomain/sql-ledger/admin.pl, but I still get the error "Netscape is unable to locate the server locallhost.localdomain". Another way I tried keying in the url was- "http://127.0.0.1/sql-ledger/admin.pl". The return error on this was slightly different. "Netscape's network connection was refuse by the server 127.0.0.1 The server may not be accepting connection or may be busy." This seems to me that 127.0.0.1 is up and is configured ok. Can someone give me some reason why it wouldn't be accepting a connection? Wayne Dieter Simader wrote: > Use the full name. > > ServerName yourhost.domain.name > > Dieter Simader http://www.sql-ledger.org (780) 472-8161 > DWS Systems Inc. Accounting Software Fax: 478-5281 > =========== On a clear disk you can seek forever =========== > > On Mon, 15 Oct 2001, wayne wrote: > > > Hi, > > If this message is not appropriate to the group let know. > > If anyone can point me to a group that deals with questions > > about apache I will be grateful. I thought I had my problem > > solved, but I don't. > > When I key in the url, http://localhost/sql-ledger/admin.pl, > > I still get the rror "Netscape is unable to locate the server > > localhost". > > In my httpd.conf I have the directive "ServerName localhost". > > I restarted my server and still get the same error. By-the-way, > > my httpd.conf file is stock except for the changes I made for > > sql-ledger. > > Wayne |
|
From: wayne <inf...@ve...> - 2001-10-15 17:23:15
|
Hi Jonas, Maybe I'm getting somewhere now. When I enter "telenet localhost 80" I get Trying 127.0.0.1... telnet: Unable to connect to remote host: connection refused > When you use Netscape and a "dot-less" domainname like "localhost" is > refused access, Netscape tries www.domainname.com instead, which is why > you are sent on to another site. Use something like telnet or lynx for > testing... Jonas, can you tell me where you got this bit of info? Wayne |
|
From: Jonas S. <jo...@jo...> - 2001-10-15 16:45:18
|
On Mon, 15 Oct 2001, wayne wrote: > As everyone can see the system is reconizing localhost. Do I have to > do anything with resolv.conf file , for that matter, is there any > other file I should update? Next step is to see if your system has web access (port 80) on localhost, then. telnet localhost 80 When you use Netscape and a "dot-less" domainname like "localhost" is refused access, Netscape tries www.domainname.com instead, which is why you are sent on to another site. Use something like telnet or lynx for testing... - Jonas -- Jonas Smedegaard <jo...@jo...> http://dr.jones.dk/~jonas/ +45 40843136 Spiff ApS (aka. IT-guide dr. Jones ApS) <dr...@jo...> http://dr.jones.dk/ Debian GNU/Linux <js...@de...> http://www.debian.org/ fngrprn: C02440B8 YES! I found it: http://www.shibumi.org/eoti.htm (by way of ot...@jo...) |
|
From: wayne <inf...@ve...> - 2001-10-15 16:14:26
|
Hi Rod, Here is a the output from " more /etc/hosts" - [wayne@localhost wayne]$ more /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. # IP FQDN ALIAS 127.0.0.1 localhost.localdomain localhost The output from ping- [wayne@localhost wayne]$ ping localhost PING localhost.localdomain (127.0.0.1) from 127.0.0.1 : 56(84) bytes of data. Warning: time of day goes back, taking countermeasures. 64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3D0 ttl=3D255 time=3D306 usec 64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3D1 ttl=3D255 time=3D155 usec 64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3D2 ttl=3D255 time=3D199 usec 64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3D3 ttl=3D255 time=3D154 usec --- localhost.localdomain ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/mdev =3D 0.154/0.203/0.306/0.063 ms As everyone can see the system is reconizing localhost. Do I have to do anything with resolv.conf file , for that matter, is there any other file I should update? Rod Roark wrote: > Evidently there's no entry for localhost in your /etc/hosts > file. You need to create one (pointing to 127.0.0.1). Do > "man hosts" for an example. > > Cheers, > > -- Rod > http://www.sunsetsystems.com/ > > wayne said: > > Hi, > > If this message is not appropriate to the group let know. > > If anyone can point me to a group that deals with questions > > about apache I will be grateful. I thought I had my problem > > solved, but I don't. > > When I key in the url, http://localhost/sql-ledger/admin.pl, > > I still get the rror "Netscape is unable to locate the server > > localhost". > > In my httpd.conf I have the directive "ServerName localhost". > > I restarted my server and still get the same error. By-the-way, > > my httpd.conf file is stock except for the changes I made for > > sql-ledger. > > Wayne > > > > > > Keld J=F8rn Simonsen wrote: > > > >> On Sun, Oct 14, 2001 at 01:02:22PM -0400, wayne wrote: > >> > Hi Keld, > >> > When I look in my log file httpd.pid I find the process ID > >> > that matches the output from the command > >> > ps -ef | grep httpd. So, I assume that Apache is running. > >> > Thanks. > >> > Wayne > >> > > >> > P.S. I bought another book on Apach and I think my problem > >> > might be-in how I setup httpd.conf. Would the list mine > >> > if I ask some questions on Apache? > >> > >> Ypu could probably ask questions on apache, > >> if it is related to sql-ledger > >> > >> Keld |
|
From: Rod R. <ro...@su...> - 2001-10-15 14:16:13
|
Evidently there's no entry for localhost in your /etc/hosts file. You need to create one (pointing to 127.0.0.1). Do "man hosts" for an example. Cheers, -- Rod http://www.sunsetsystems.com/ wayne said: > Hi, > If this message is not appropriate to the group let know. > If anyone can point me to a group that deals with questions > about apache I will be grateful. I thought I had my problem > solved, but I don't. > When I key in the url, http://localhost/sql-ledger/admin.pl, > I still get the rror "Netscape is unable to locate the server > localhost". > In my httpd.conf I have the directive "ServerName localhost". > I restarted my server and still get the same error. By-the-way, > my httpd.conf file is stock except for the changes I made for > sql-ledger. > Wayne > > > Keld Jørn Simonsen wrote: > >> On Sun, Oct 14, 2001 at 01:02:22PM -0400, wayne wrote: >> > Hi Keld, >> > When I look in my log file httpd.pid I find the process ID >> > that matches the output from the command >> > ps -ef | grep httpd. So, I assume that Apache is running. >> > Thanks. >> > Wayne >> > >> > P.S. I bought another book on Apach and I think my problem >> > might be-in how I setup httpd.conf. Would the list mine >> > if I ask some questions on Apache? >> >> Ypu could probably ask questions on apache, >> if it is related to sql-ledger >> >> Keld |
|
From: wayne <inf...@ve...> - 2001-10-15 13:51:05
|
Hi, If this message is not appropriate to the group let know. If anyone can point me to a group that deals with questions about apache I will be grateful. I thought I had my problem solved, but I don't. When I key in the url, http://localhost/sql-ledger/admin.pl, I still get the rror "Netscape is unable to locate the server localhost". In my httpd.conf I have the directive "ServerName localhost". I restarted my server and still get the same error. By-the-way, my httpd.conf file is stock except for the changes I made for sql-ledger. Wayne Keld J=F8rn Simonsen wrote: > On Sun, Oct 14, 2001 at 01:02:22PM -0400, wayne wrote: > > Hi Keld, > > When I look in my log file httpd.pid I find the process ID > > that matches the output from the command > > ps -ef | grep httpd. So, I assume that Apache is running. > > Thanks. > > Wayne > > > > P.S. I bought another book on Apach and I think my problem > > might be-in how I setup httpd.conf. Would the list mine > > if I ask some questions on Apache? > > Ypu could probably ask questions on apache, > if it is related to sql-ledger > > Keld |
|
From: adrian <ad...@sn...> - 2001-10-14 21:29:25
|
"Nigel S. Ball" wrote: > > Hello, > > Have any users customised the tax treatment to cope with the Australian GST > requirements? > > Are there any notes on doing tax customisations? Everything is OK for Australia except when entering invoices in accounts payable it is not possible to select a capital or non-capital for the GST accoint. Perhaps someone else has a solution. Adrian -- Adrian Blake Snowy Technology Pty Ltd 26b Bombala St Cooma, NSW 2630 Ph 2-64-524338 mobile 0407 232 978 |
|
From: wayne <inf...@ve...> - 2001-10-14 17:18:33
|
Hi Keld, When I look in my log file httpd.pid I find the process ID that matches the output from the command ps -ef | grep httpd. So, I assume that Apache is running. Thanks. Wayne P.S. I bought another book on Apach and I think my problem might be-in how I setup httpd.conf. Would the list mine if I ask some questions on Apache? Keld J=F8rn Simonsen wrote: > On Fri, Oct 12, 2001 at 04:25:48PM -0400, wayne wrote: > > Hi Keld, > > Thanks for the reply. When I key thr ip address 127.0.0.1 I get this = error- > > > > Netscape's network connection was refuse by the server 127.0.0.1 > > The server may not be accepting connection or may busy. > > Wayne > > Seems like your apache is not running... > > Keld |
|
From: Roderick A. A. <raa...@ti...> - 2001-10-13 16:49:54
|
On Sat, 13 Oct 2001, Geoff Warner wrote:
> Whilst I can add customers and vendors and all the reporting and
> administrative functions appear to operate, the addition of a
> transaction and posting generates an error relating to an sql
> statement as does an attemp to use the invoice function.
First try an Update then a Post. If that don't do it send the
error message so we can see exactly what is being reported.
Rod
--
Let Accuracy Triumph Over Victory
Zetetic Institute
"David's Sling"
Marc Stiegler
|
|
From: Geoff W. <ad...@qu...> - 2001-10-13 06:11:36
|
After congratulating myself on getting sql-ledger up and going ( to soon = it seems )=20 I started to input some dummy data before getting serious. Whilst I can add customers and vendors and all the reporting and = administrative=20 functions appear to operate, the addition of a transaction and posting = generates=20 an error relating to an sql statement as does an attemp to use the = invoice function. If I hadn't spent some hours searching the archives -checking = permissions etc I wouldn't ask. I guess its something obvious, anybody any clues. Geoff Warner |
|
From: wayne <inf...@ve...> - 2001-10-12 20:34:58
|
Hi Andrew, Thanks for your reply. When I turn off the smartbrowsing and key in the URL I get the error- Not Found The requested URL /sql-ledger/admin.pl was not found on this server Apache/1.3.4 Server at www.localhost.com Wayne Andrew Sharp wrote: > wayne wrote: > > > > Hi All, > > I'm following the installation instruction for sql-ledger and > > have come to a stop. I'm using Redhat 7.1 for my distro and > > I just pull down Sql-ledger 1.6.7 and untar the package. > > I change the values in my Apache's httpd.conf per instruction > > from sql-ledger. I then start the web server and check the > > file httpd.pid in my log file to verify the process id. I then started > > Netscape and keyed in "http:// localhost/sql-ledger/admin.pl" > > I get the following error dialog message > > > > Netscape is unable to locate the server localhost > > Turn off smartbrowsing and "what's related" in netscape and try it > again. Make sure you haven't mucked up the localhost entry in > /etc/hosts. > > a |
|
From: <ke...@dk...> - 2001-10-12 17:50:12
|
On Fri, Oct 12, 2001 at 12:34:48PM -0400, wayne wrote: > Hi All, > I'm following the installation instruction for sql-ledger and > have come to a stop. I'm using Redhat 7.1 for my distro and > I just pull down Sql-ledger 1.6.7 and untar the package. > I change the values in my Apache's httpd.conf per instruction > from sql-ledger. I then start the web server and check the > file httpd.pid in my log file to verify the process id. I then started > Netscape and keyed in "http:// localhost/sql-ledger/admin.pl" > I get the following error dialog message > > Netscape is unable to locate the server localhost > > Can someone give me a hand in getting this setup? try 127.0.0.1 in stead of localhost - and then no spaces anywhere keld |
|
From: Andrew S. <an...@ne...> - 2001-10-12 17:22:05
|
wayne wrote: > > Hi All, > I'm following the installation instruction for sql-ledger and > have come to a stop. I'm using Redhat 7.1 for my distro and > I just pull down Sql-ledger 1.6.7 and untar the package. > I change the values in my Apache's httpd.conf per instruction > from sql-ledger. I then start the web server and check the > file httpd.pid in my log file to verify the process id. I then started > Netscape and keyed in "http:// localhost/sql-ledger/admin.pl" > I get the following error dialog message > > Netscape is unable to locate the server localhost Turn off smartbrowsing and "what's related" in netscape and try it again. Make sure you haven't mucked up the localhost entry in /etc/hosts. a |
|
From: wayne <inf...@ve...> - 2001-10-12 16:50:10
|
Hi All, I'm following the installation instruction for sql-ledger and have come to a stop. I'm using Redhat 7.1 for my distro and I just pull down Sql-ledger 1.6.7 and untar the package. I change the values in my Apache's httpd.conf per instruction from sql-ledger. I then start the web server and check the file httpd.pid in my log file to verify the process id. I then started Netscape and keyed in "http:// localhost/sql-ledger/admin.pl" I get the following error dialog message Netscape is unable to locate the server localhost Can someone give me a hand in getting this setup? Thanks. Wayne |
|
From: Matt B. <ma...@li...> - 2001-10-11 22:42:52
|
I'm glad to see someone working on this. Thanks. Matt Matt Benjamin The Linux Box 206 South Fifth Ave. Suite 150 Ann Arbor, MI 48104 tel. 734-761-4689 fax. 734-769-8938 pgr. 734-431-0118 On Thu, 11 Oct 2001, Herb Richter wrote: > > > Hi SL-ers, > > > I'm new to sql-ledger (and to this list). So far I like SL *alot* > > > I have two requests: > > 1) I'm very much interested in applications, extensions, modules etc that > others have created or applied to SL. There are a number of these that > I'd like to develop but if any are already done and available, I don't > want to redo the work ;-) > > 2) I've put together a phonebook module that searches and displays names, > addresses, phone numbers etc in the customer and vendor tables along with > a new "phonebook" table. (so far only an English GUI version) This > could easily be extended into a mailing list and contact manager routine. > (if anyone wants this, email me and I send the files). > > I would like to extend the app to dial any of the phone numbers displayed > but I would need to research how to do this. I'm wondering if anyone > on this list has any expertise in dialers, chat scripts, ipl etc and would > be willing to either do this extension or contribute. > > TIA, > > Herb Richter > Partsandservice.ca Ltd. > Toronto, Ontario, Canada > http://partsandservice.com > > |
|
From: Nigel S. B. <ni...@en...> - 2001-10-11 22:40:29
|
Hello, Have any users customised the tax treatment to cope with the Australian GST requirements? Are there any notes on doing tax customisations? Thanks, -- Nigel S. Ball Enesbe Sales Pty Ltd |
|
From: Herb R. <he...@bu...> - 2001-10-11 22:07:53
|
Hi SL-ers, I'm new to sql-ledger (and to this list). So far I like SL *alot* I have two requests: 1) I'm very much interested in applications, extensions, modules etc that others have created or applied to SL. There are a number of these that I'd like to develop but if any are already done and available, I don't want to redo the work ;-) 2) I've put together a phonebook module that searches and displays names, addresses, phone numbers etc in the customer and vendor tables along with a new "phonebook" table. (so far only an English GUI version) This could easily be extended into a mailing list and contact manager routine. (if anyone wants this, email me and I send the files). I would like to extend the app to dial any of the phone numbers displayed but I would need to research how to do this. I'm wondering if anyone on this list has any expertise in dialers, chat scripts, ipl etc and would be willing to either do this extension or contribute. TIA, Herb Richter Partsandservice.ca Ltd. Toronto, Ontario, Canada http://partsandservice.com |
|
From: Luca V. <lu...@ye...> - 2001-10-11 17:20:33
|
Hi folks. I'm looking for italian people in the list to help us to develope a better italian localization of sql-ledger. We think we need at least the following: 1. Managing of "Ritenuta d'Acconto" 2. Support for "Note di Credito" 3. Italian books printing I think they could be many others. Please, contact me if you are interested in this localization, even if you don't know anything about perl or programming... Luca Venturini Yepa S.r.l. |
|
From: Admin <ad...@qu...> - 2001-10-10 22:23:18
|
---While its still Fresh in my mind-----
DEBIAN INSTALL
SQL-LEDGER
unpack into /var/www/sql-ledger
POSTGRESQL
INSTALL POSTGRES (Dselect)
INSTALL LIBPG-DEV (Dselect)
modify /etc/postgresql/postmaster.init=20
PGALLOWTCPIP=3Dyes
PGPORT=3D5432
postgres is default db admin
from root
su postgres
$createuser
name of user- (I created a postgres user who is also a Linux user
this user will be an account manager
enable this user to create db and users )
=20
DBD/DBI
DOWNLOAD DBI and DBD-Pg and unpack
my versions DBI-1.2
DBD-Pg-1.01=20
$ export POSTGREs_INCLUDE=3D/usr/include/postgresql (no spaces)
$ export POSTGRES_LIB=3D/var/lib/postgres(no spaces)
DB first
perl Makefile.PL
make
make test
make install
DBI-Pg next
login as account manager (above)
perl Makefile.PL
make
make test
now login as root
make install
APACHE
change /etc/apache/httpd.conf
add AddHandler cgi-script .pl
ScriptAlias /sql-ledger/ /var/www/sql-ledger/
<Directory /var/www/sql-ledger>
Options ExecCGI Includes FollowSymlinks
</Directory>
From Browser http://my_domain/sql-ledger/admin.pl
Login as the postgres user (account manager) you have created (above)
Create a DB
Create users
then http://my_domain/sql-ledger/login.pl
Login as one of the users you have just created
Dont forget to restart services throughout this procedure
Have Fun
Note: I have not used postgresql before and some of these steps
might not be according to Hoyle, but they worked for me
" You Know a propellor is to keep the pilot cool
because when it stops he starts sweating "
=20
|
|
From: <ka...@sp...> - 2001-10-10 06:51:49
|
Hello!
I have been working on customising SQL-ledger to work both as an accounting system and also as a school registration system. I have customised the "Customer" renamed and separated the (Sub search) in ct.pl & CT.pm to (sub s_student) & (sub_vendor) since it is used to search the customer and the vendor.
I was also advised to adjust the link from the menu.pl. However, when i try access the search page and the add page from the menu i get an "Internal server error". The error.log says it was due to a "Premature end of script". I have not managed to locate the script the server is meaning.
I have attached copies of the menu.pl, ct.pl & CT.pm so you can see the adjustments i made. Sir, i will appreciate any advise you can offer. My problem is i am not at all good at perl but i am tying to learn along the way. Otherwise i like the simple structure of SQL-ledger.
Thanks.
Kaziro E
THE MENU.PL, CT.PL & CT.PM FOLLOW BELOW::::
# MENU.PL
#######################################################################
use SL::Form;
$form = new Form;
if ($form->{action}) {
require("$userspath/$form->{login}.conf");
map { $form->{$_} = $myconfig{$_} } qw(stylesheet charset);
$locale = new Locale $myconfig{countrycode}, "menu";
if ($form->{stylesheet}) {
$form->{stylesheet} = qq|<link rel="stylesheet" href="$form->{stylesheet}" type="text/css" title="SQL-Ledger style sheet">|;
}
if ($form->{charset}) {
$form->{charset} = qq|<meta http-equiv="charset" content="$form->{charset}">|;
}
&{ $form->{action} };
} else {
$form->error("action= not defined!");
}
# end of main
sub display {
$form->{title} = "SQL-Ledger, ".$locale->text('Version')." $version";
print qq|Content-type: text/html
<HEAD>
<TITLE>$form->{title}</TITLE>
$form->{charset}
$form->{stylesheet}
</HEAD>
<FRAMESET ROWS="*,35" BORDER="0">
<FRAMESET COLS="155,*" BORDER="0">
<FRAME NAME="acc_menu" SRC="$form->{script}?login=$form->{login}&action=acc_menu&path=$form->{path}">
<FRAME NAME="main_window" SRC="login.pl?login=$form->{login}&action=company_logo&path=$form->{path}">
</FRAMESET>
<FRAME NAME="bottom_menu" SRC="$form->{script}?login=$form->{login}&action=bottom_menu&path=$form->{path}" SCROLL="no">
</FRAMESET>
|;
}
sub acc_menu {
foreach $item (split /;/, $myconfig{acs}) {
$excl{$item} = 1;
}
@menuorder = ('AR--AR', 'AR--Add_Transaction', 'AR--Receipts', 'AR--Reports', 'AR--AR_Aging', 'AR--Add_Customer', 'AR--Search_Customer', 'AR--Customer_Invoice');
$menu{'AR--AR'} = qq|<p><b>|.$locale->text('AR').qq|</b>|;
$menu{'AR--Add_Transaction'} = qq|<li><a href=ar.pl?path=$form->{path}&action=add&login=$form->{login} target=main_window>|.$locale->text('Add Transaction').qq|</a>|;
$menu{'AR--Reports'} = qq|<li><a href=ar.pl?path=$form->{path}&action=search&nextsub=ar_transactions&login=$form->{login} target=main_window>|.$locale->text('Reports').qq|</a>|;
$menu{'AR--Add_Customer'} = qq|<li><a href=ct.pl?path=$form->{path}&action=add&db=customer&login=$form->{login} target=main_window>|.$locale->text('Add Student').qq|</a>|;
$menu{'AR--Search_Customer'} = qq|<li><a href=ct.pl?action=s_student&action=search&db=customer&login=$form->{login} target=main_window>|.$locale->text('Search Student').qq|</a>|;
$menu{'AR--Customer_Invoice'} = qq|<li><a href=is.pl?path=$form->{path}&action=add&login=$form->{login} target=main_window>|.$locale->text('Student Invoice').qq|</a>|;
$menu{'AR--Receipts'} = qq|<li><a href=ar.pl?path=$form->{path}&action=search&nextsub=receipts&login=$form->{login} target=main_window>|.$locale->text('Receipts').qq|</a>|;
$menu{'AR--AR_Aging'} = qq|<li><a href=rp.pl?path=$form->{path}&action=report&title=AR%20Aging&login=$form->{login} target=main_window>|.$locale->text('AR Aging').qq|</a>|;
push @menuorder, ('AP--AP', 'AP--Add_Transaction', 'AP--Payments', 'AP--Reports', 'AP--AP_Aging', 'AP--Add_Vendor', 'AP--Search_Vendor', 'AP--Vendor_Invoice');
$menu{'AP--AP'} = qq|<p><b>|.$locale->text('AP').qq|</b>|;
$menu{'AP--Add_Transaction'} = qq|<li><a href=ap.pl?path=$form->{path}&action=add&login=$form->{login} target=main_window>|.$locale->text('Add Transaction').qq|</a>|;
$menu{'AP--Reports'} = qq|<li><a href=ap.pl?path=$form->{path}&action=search&nextsub=ap_transactions&login=$form->{login} target=main_window>|.$locale->text('Reports').qq|</a>|;
$menu{'AP--Add_Vendor'} = qq|<li><a href=ct.pl?path=$form->{path}&action=add&db=vendor&login=$form->{login} target=main_window>|.$locale->text('Add Vendor').qq|</a>|;
$menu{'AP--Search_Vendor'} = qq|<li><a href=ct.pl?action=s_vendor&action=search&db=vendor&login=$form->{login} target=main_window>|.$locale->text('Search Vendor').qq|</a>|;
$menu{'AP--Vendor_Invoice'} = qq|<li><a href=ir.pl?path=$form->{path}&action=add&login=$form->{login} target=main_window>|.$locale->text('Vendor Invoice').qq|</a>|;
$menu{'AP--Payments'} = qq|<li><a href=ap.pl?path=$form->{path}&action=search&nextsub=payments&login=$form->{login} target=main_window>|.$locale->text('Payments').qq|</a>|;
$menu{'AP--AP_Aging'} = qq|<li><a href=rp.pl?path=$form->{path}&action=report&title=AP%20Aging&login=$form->{login} target=main_window>|.$locale->text('AP Aging').qq|</a>|;
push @menuorder, ('General_Ledger--General_Ledger', 'General_Ledger--Add_Transaction', 'General_Ledger--Reports');
$menu{'General_Ledger--General_Ledger'} = qq|<p><b>|.$locale->text('General Ledger').qq|</b>|;
$menu{'General_Ledger--Add_Transaction'} = qq|<li><a href=gl.pl?path=$form->{path}&action=add&login=$form->{login} target=main_window>|.$locale->text('Add Transaction').qq|</a>|;
$menu{'General_Ledger--Reports'} = qq|<li><a href=gl.pl?path=$form->{path}&action=search&login=$form->{login} target=main_window>|.$locale->text('Reports').qq|</a>|;
push @menuorder, ('Inventory--Inventory', 'Inventory--Add_Part', 'Inventory--Add_Service', 'Inventory--Add_Assembly', 'Inventory--Reports', 'Inventory--Merchandise_Received', 'Inventory--Stock_Assembly');
$menu{'Inventory--Inventory'} = qq|<p><b>|.$locale->text('Inventory').qq|</b>|;
$menu{'Inventory--Add_Part'} = qq|<li><a href=ic.pl?path=$form->{path}&action=add&item=part&login=$form->{login} target=main_window>|.$locale->text('Add Part').qq|</a>|;
$menu{'Inventory--Add_Service'} = qq|<li><a href=ic.pl?path=$form->{path}&action=add&item=service&login=$form->{login} target=main_window>|.$locale->text('Add Service').qq|</a>|;
$menu{'Inventory--Add_Assembly'} = qq|<li><a href=ic.pl?path=$form->{path}&action=add&item=assembly&login=$form->{login} target=main_window>|.$locale->text('Add Assembly').qq|</a>|;
$menu{'Inventory--Reports'} = qq|<li><a href=ic.pl?path=$form->{path}&action=search&login=$form->{login} target=main_window>|.$locale->text('Reports').qq|</a>|;
$menu{'Inventory--Merchandise_Received'} = qq|<li><a href=ir.pl?path=$form->{path}&action=add&login=$form->{login} target=main_window>|.$locale->text('Merchandise Received').qq|</a>|;
$menu{'Inventory--Stock_Assembly'} = qq|<li><a href=is.pl?path=$form->{path}&action=stock_assembly&login=$form->{login} target=main_window>|.$locale->text('Stock Assembly').qq|</a>|;
push @menuorder, ('Reports--Reports', 'Reports--Chart_of_Accounts', 'Reports--Trial_Balance', 'Reports--Income_Statement', 'Reports--Balance_Sheet');
$menu{'Reports--Reports'} = qq|<p><b>|.$locale->text('Reports').qq|</b>|;
$menu{'Reports--Chart_of_Accounts'} = qq|<li><a href=ca.pl?path=$form->{path}&login=$form->{login} target=main_window>|.$locale->text('Chart of Accounts').qq|</a>|;
$menu{'Reports--Trial_Balance'} = qq|<li><a href=rp.pl?path=$form->{path}&action=report&title=Trial%20Balance&login=$form->{login} target=main_window>|.$locale->text('Trial Balance').qq|</a>|;
$menu{'Reports--Income_Statement'} = qq|<li><a href=rp.pl?path=$form->{path}&action=report&title=Income%20Statement&login=$form->{login} target=main_window>|.$locale->text('Income Statement').qq|</a>|;
$menu{'Reports--Balance_Sheet'} = qq|<li><a href=rp.pl?path=$form->{path}&action=report&title=Balance%20Sheet&login=$form->{login} target=main_window>|.$locale->text('Balance Sheet').qq|</a>|;
$form->{title} = $locale->text('Accounting Menu');
print qq|Content-type: text/html
<head>
<title>$form->{title}</title>
$form->{charset}
$form->{stylesheet}
</head>
<body bgcolor="#FBFFE7">
<font size=-1>
<b>$form->{title}</b>
<p>
|;
map { print $menu{$_} unless $excl{$_} } @menuorder;
}
sub bottom_menu {
print qq'Content-type: text/html
<head>
<title>bottom_menu</title>
$form->{charset}
$form->{stylesheet}
</head>
<body bgcolor="#FBFFE7">
<table width=100% border=0>
<tr>
<td width=30%>
<b>$myconfig{name}</b>
</td>
<td width=60% align=center>|
<a href=$form->{script}?path=$form->{path}&action=acc_menu&login=$form->{login} target=acc_menu>'.$locale->text('Accounting').qq'</a> |
<a href=login.pl?path=$form->{path}&action=company_logo&login=$form->{login} target=main_window>'.$locale->text('Version').qq'</a> |
<a href=mailto:dsimader\@sql-ledger.org?subject=SQL-Ledger%20$version%20/%20Bug%20Report>'.$locale->text('Bug Report').qq'</a> |
</td>
<td width=10% align=right>';
unless ($myconfig{acs} =~ /Setup--Setup/) {
print qq'
<a href=am.pl?path=$form->{path}&action=setup_menu&login=$form->{login} target=acc_menu>'.$locale->text('Setup').qq'</a>';
}
print qq'
</td>
</tr></table>
';
}
#======================================================================
#
# customer/vendor module
#
# CHANGE LOG:
# DS. 2000-07-04 Created
#
#======================================================================
use DBI;
use SL::Form;
use SL::CT;
$form = new Form;
if ($form->{action}) {
require("$userspath/$form->{login}.conf");
$myconfig{dbpasswd} = unpack 'u', $myconfig{dbpasswd};
map { $form->{$_} = $myconfig{$_} } qw(stylesheet charset);
$locale = new Locale $myconfig{countrycode}, "ct";
&{ $locale->findsub($form->{action}) };
} else {
$form->error("action= not defined!");
}
# end of main
sub add {
$form->{title} = "Add";
$form->{callback} = "$form->{script}?action=add&db=$form->{db}&path=$form->{path}&login=$form->{login}";
CT->taxaccounts(\%myconfig, \%$form);
&{ "$form->{db}_header" };
&form_footer;
}
sub s_student {
$form->{title} = $locale->text("Search for " . ucfirst $form->{db});
# class=submit type=submit $locale->text('Search for Student')
# class=submit type=submit $locale->text('Search for Vendor')
$form->header;
print qq|
<h2>$form->{title}</h2>
<form method=post action=$form->{script}>
<input type=hidden name=db value=$form->{db}>
<table border=1>
<tr valign=top>
<td>
<table>
<tr>
<th align=right>|.$locale->text('Name').qq|</th><td><input name=name size=35></td>
<th align=right>|.$locale->text('ID number').qq|</th><td><input name=idnumber size=35></td>
<th align=right>|.$locale->text('Date of Birth').qq|</th><td><input name=dob size=35></td>
</tr>
<tr>
<th align=right>|.$locale->text('Class').qq|</th><td><input name=class size=35></td>
<th align=right>|.$locale->text('Club').qq|</th><td><input name=club size=35></td>
<th align=right>|.$locale->text('Society').qq|</th><td><input name=society size=35></td>
</tr>
<tr>
<th align=right>|.$locale->text('Father').qq|</th><td><input name=father size=35></td>
<th align=right>|.$locale->text('Mother').qq|</th><td><input name=mother size=35></td>
</tr>
<tr>
<th align=right>|.$locale->text('Include in Report').qq|</th>
<td>
<input name="l_name" class=checkbox type=checkbox value=Y checked> |.$locale->text('Name').qq|
<input name="l_idnumber" class=checkbox type=checkbox value=Y checked> |.$locale->text('ID no').qq|
<input name="l_address" class=checkbox type=checkbox value=Y> |.$locale->text('Address').qq|
<input name="l_father" class=checkbox type=checkbox value=Y checked> |.$locale->text('Father').qq|
<input name="l_mother" class=checkbox type=checkbox value=Y checked> |.$locale->text('Mother').qq|
<input name="l_phone" class=checkbox type=checkbox value=Y checked> |.$locale->text('Phone [Home]').qq|
<input name="l_cellular" class=checkbox type=checkbox value=Y checked> |.$locale->text('Phone [Cellular]').qq|
<input name="l_fax" class=checkbox type=checkbox value=Y> |.$locale->text('Fax').qq|
<input name="l_email" class=checkbox type=checkbox value=Y checked> |.$locale->text('E-mail').qq|
<input name="l_class" class=checkbox type=checkbox value=Y checked> |.$locale->text('Class').qq|
<input name="l_club" class=checkbox type=checkbox value=Y checked> |.$locale->text('Club').qq|
<input name="l_society" class=checkbox type=checkbox value=Y checked> |.$locale->text('Society').qq|
<input name="l_guardian" class=checkbox type=checkbox value=Y checked> |.$locale->text('Guardian').qq|
<input name="l_guardianphone" class=checkbox type=checkbox value=Y checked> |.$locale->text('Guardian [Tel]').qq|
</td>
</tr>
</table>
</td>
</tr>
</table>
<p>
<input type=hidden name=path value=$form->{path}>
<input type=hidden name=login value=$form->{login}>
<input class=submit type=submit name=action value="|.$locale->text('Search for ' . ucfirst $form->{db}).qq|">
</form>
<p>|.$locale->text("To display all $form->{db}s, leave fields blank").qq|
</body>
</html>
|;
}
# $locale->text('To display all customers, leave fields blank')
# $locale->text('To display all 0s, leave fields blank')
sub s_vendor {
$form->{title} = $locale->text("Search for " . ucfirst $form->{db});
# class=submit type=submit $locale->text('Search for Customer')
# class=submit type=submit $locale->text('Search for Vendor')
$form->header;
print qq|
<h2>$form->{title}</h2>
<form method=post action=$form->{script}>
<input type=hidden name=db value=$form->{db}>
<table border=1>
<tr valign=top>
<td>
<table>
<tr>
<th align=right>|.$locale->text('Company').qq|</th><td><input name=name size=35></td>
</tr>
<tr>
<th align=right>|.$locale->text('Contact').qq|</th><td><input name=contact size=35></td>
</tr>
<tr>
<th align=right>|.$locale->text('Include in Report').qq|</th>
<td>
<input name="l_name" class=checkbox type=checkbox value=Y checked> |.$locale->text('Name').qq|
<input name="l_address" class=checkbox type=checkbox value=Y> |.$locale->text('Address').qq|
<input name="l_contact" class=checkbox type=checkbox value=Y checked> |.$locale->text('Contact').qq|
<input name="l_phone" class=checkbox type=checkbox value=Y checked> |.$locale->text('Phone').qq|
<input name="l_fax" class=checkbox type=checkbox value=Y> |.$locale->text('Fax').qq|
<input name="l_email" class=checkbox type=checkbox value=Y checked> |.$locale->text('E-mail').qq|
</td>
</tr>
</table>
</td>
</tr>
</table>
<p>
<input type=hidden name=path value=$form->{path}>
<input type=hidden name=login value=$form->{login}>
<input class=submit type=submit name=action value="|.$locale->text('Search for ' . ucfirst $form->{db}).qq|">
</form>
<p>|.$locale->text("To display all $form->{db}s, leave fields blank").qq|
</body>
</html>
|;
}
# $locale->text('To display all customers, leave fields blank')
# $locale->text('To display all vendors, leave fields blank')
sub search_for_vendor {
&search_for_name;
}
sub search_for_name {
CT->search(\%myconfig, \%$form);
$callback = "$form->{script}?action=search_for_name&db=$form->{db}&path=$form->{path}&login=$form->{login}";
$href = "$form->{script}?action=search_for_name&db=$form->{db}&path=$form->{path}&login=$form->{login}&name=" . $form->escape($form->{name}) . "&contact=" . $form->escape($form->{contact});
@columns = $form->sort_columns(qw(name address contact phone fax email));
foreach $item (@columns) {
if ($form->{"l_$item"} eq "Y") {
push @column_index, $item;
# add column to href and callback
$callback .= "&l_$item=Y";
$href .= "&l_$item=Y";
}
}
if ($form->{name}) {
$callback .= "&name=$form->{name}";
}
if ($form->{contact}) {
$callback .= "&contact=$form->{contact}";
}
$callback = $form->escape($callback . "&sort=$form->{sort}");
$column_header{name} = qq|<th><a href=$href&sort=name><font color=ffffff>|.$locale->text('Name').qq|</a></th>|;
$column_header{address} = qq~<th><a href=$href&sort="addr1 || addr2 || addr3"><font color=ffffff>~.$locale->text('Address').qq|</a></th>|;
$column_header{contact} = qq|<th><a href=$href&sort=contact><font color=ffffff>|.$locale->text('Contact').qq|</a></th>|;
$column_header{phone} = qq|<th><a href=$href&sort=phone><font color=ffffff>|.$locale->text('Phone').qq|</a></th>|;
$column_header{fax} = qq|<th><a href=$href&sort=fax><font color=ffffff>|.$locale->text('Fax').qq|</a></th>|;
$column_header{email} = qq|<th><a href=$href&sort=email><font color=ffffff>|.$locale->text('E-mail').qq|</a></th>|;
# $locale->text('Customer List')
# $locale->text('Vendor List')
$form->{title} = $locale->text(ucfirst $form->{db} . " List");
$form->header;
print qq|
<h2>$form->{title}</h2>
<table border=1>
<tr bgcolor=336666>
|;
map { print "$column_header{$_}\n" } @column_index;
print qq|
</tr>
|;
foreach $ref (@{ $form->{CT} }) {
map { $column_data{$_} = "<td> $ref->{$_}</td>" } qw(address contact phone fax);
$column_data{name} = "<td><a href=$form->{script}?action=edit&id=$ref->{id}&db=$form->{db}&path=$form->{path}&login=$form->{login}&callback=$callback>$ref->{name}</td>";
$column_data{email} = ($ref->{email}) ? "<td><a href=mailto:$ref->{email}>$ref->{email}</a></td>" : "<td> </td>";
print "<tr>";
map { print "$column_data{$_}\n" } @column_index;
print qq|</tr>|;
}
print qq|
</table>
<p>|.$locale->text("Click on $form->{db} name to edit").qq|
|;
# $locale->text('Click on customer name to edit')
# $locale->text('Click on vendor name to edit')
}
sub search_ for_customer {
&search_for_student;
}
sub search_for_student {
CT->search(\%myconfig, \%$form);
$callback = "$form->{script}?action=search_for_student&db=$form->{db}&path=$form->{path}&login=$form->{login}";
$href = "$form->{script}?action=search_for_student&db=$form->{db}&path=$form->{path}&login=$form->{login}&name=" . $form->escape($form->{name}) . "&idnumber=" . $form->escape($form->{idnumber}) . "&father=" . $form->escape($form->{father}) . "&mother=" . $form->escape($form->{mother}) . "&class=" . $form->escape($form->{class}) . "&club=" . $form->escape($form->{club}) . "&society=" . $form->escape($form->{society}) . "&dob=" . $form->escape($form->{dob}) . "&addr=" . $form->escape($form->{addr}) . "&guardian=" . $form->escape($form->{guardian}) . "&guardianphone=" . $form->escape($form->{guardianphone}) . "&phone=" . $form->escape($form->{phone});
@columns = $form->sort_columns(qw(ID-no name DOB Father Mother Address Phone Class Club Society Guardian Guardian-tel));
foreach $item (@columns) {
if ($form->{"l_$item"} eq "Y") {
push @column_index, $item;
# add column to href and callback
$callback .= "&l_$item=Y";
$href .= "&l_$item=Y";
}
}
if ($form->{name}) {
$callback .= "&name=$form->{name}";
}
if ($form->{father}) {
$callback .= "&contact=$form->{father}";
}
if ($form->{mother}) {
$callback .= "&name=$form->{mother}";
}
if ($form->{idnumber}) {
$callback .= "&contact=$form->{idnumber}";
}
if ($form->{dob}) {
$callback .= "&name=$form->{dob}";
}
if ($form->{class}) {
$callback .= "&contact=$form->{class}";
}
if ($form->{club}) {
$callback .= "&name=$form->{club}";
}
if ($form->{society}) {
$callback .= "&contact=$form->{society}";
}
$callback = $form->escape($callback . "&sort=$form->{sort}");
$column_header{idnumber} = qq|<th><a href=$href&sort=name><font color=ffffff>|.$locale->text('ID-no.').qq|</a></th>|;
$column_header{name} = qq~<th><a href=$href&sort="addr1 || addr2 || addr3"><font color=ffffff>~.$locale->text('Name').qq|</a></th>|;
$column_header{dob} = qq|<th><a href=$href&sort=contact><font color=ffffff>|.$locale->text('DOB').qq|</a></th>|;
$column_header{father} = qq|<th><a href=$href&sort=phone><font color=ffffff>|.$locale->text('Father').qq|</a></th>|;
$column_header{mother} = qq|<th><a href=$href&sort=fax><font color=ffffff>|.$locale->text('Mother').qq|</a></th>|;
$column_header{addr} = qq|<th><a href=$href&sort=email><font color=ffffff>|.$locale->text('Address').qq|</a></th>|;
$column_header{phone} = qq|<th><a href=$href&sort=name><font color=ffffff>|.$locale->text('Phone').qq|</a></th>|;
$column_header{class} = qq~<th><a href=$href&sort="addr1 || addr2 || addr3"><font color=ffffff>~.$locale->text('Class').qq|</a></th>|;
$column_header{club} = qq|<th><a href=$href&sort=contact><font color=ffffff>|.$locale->text('Club').qq|</a></th>|;
$column_header{society} = qq|<th><a href=$href&sort=phone><font color=ffffff>|.$locale->text('Society').qq|</a></th>|;
$column_header{guardian} = qq|<th><a href=$href&sort=fax><font color=ffffff>|.$locale->text('Guardian').qq|</a></th>|;
$column_header{guardianphone} = qq|<th><a href=$href&sort=email><font color=ffffff>|.$locale->text('Guardian-Tel').qq|</a></th>|;
# $locale->text('Customer List')
# $locale->text('Vendor List')
$form->{title} = $locale->text(ucfirst $form->{db} . " List");
$form->header;
print qq|
<h2>$form->{title}</h2>
<table border=1>
<tr bgcolor=336666>
|;
map { print "$column_header{$_}\n" } @column_index;
print qq|
</tr>
|;
foreach $ref (@{ $form->{CT} }) {
map { $column_data{$_} = "<td> $ref->{$_}</td>" } qw(ID-no Name DOB Father Mother Address phone Class Club Society Guardian Guardian-Tel);
$column_data{name} = "<td><a href=$form->{script}?action=edit&id=$ref->{id}&db=$form->{db}&path=$form->{path}&login=$form->{login}&callback=$callback>$ref->{name}</td>";
$column_data{email} = ($ref->{email}) ? "<td><a href=mailto:$ref->{email}>$ref->{email}</a></td>" : "<td> </td>";
print "<tr>";
map { print "$column_data{$_}\n" } @column_index;
print qq|</tr>|;
}
print qq|
</table>
<p>|.$locale->text("Click on $form->{db} name to edit").qq|
|;
# $locale->text('Click on customer name to edit')
# $locale->text('Click on vendor name to edit')
}
sub edit {
CT->get_tuple(\%myconfig, \%$form);
$form->{title} = "Edit";
# format discount
$form->{discount} *= 100;
&{ "$form->{db}_header" };
&form_footer;
}
sub customer_header {
# class=submit type=submit $locale->text('Add Customer')
# class=submit type=submit $locale->text('Edit Customer')
$tax = qq|<tr><th align=right>|.$locale->text('Taxable').qq|</th><td colspan=3>\n|;
foreach $item (split / /, $form->{taxaccounts}) {
if (($form->{tax}{$item}{taxable}) || !($form->{id})) {
$tax .= qq|<input name="tax_$item" value=1 class=checkbox type=checkbox checked> <b>$form->{tax}{$item}{description}</b>\n|;
} else {
$tax .= qq|<input name="tax_$item" value=1 class=checkbox type=checkbox> <b>$form->{tax}{$item}{description}</b>\n|;
}
}
$tax .= qq|</td></tr>|;
$form->{taxincluded} = ($form->{taxincluded}) ? "checked" : "";
$form->{creditlimit} = $form->format_amount(\%myconfig, $form->{creditlimit});
$form->{title} = $locale->text("$form->{title} Customer");
$form->header;
print qq|
<h2>$form->{title}</h2>
<form method=post action=$form->{script}>
<table border=1>
<tr>
<td>
<table border=0>
<tr>
<th colspan=2>|.$locale->text('Student Info').qq|</th>
<th>|.$locale->text('School Info').qq|</th>
</tr>
<tr>
<th align=right>|.$locale->text('Student Name').qq|</th>
<td colspan=2><input name=name size=35 maxsize=35 value="$form->{name}"></td>
<th align=right>|.$locale->text('Class').qq|</th>
<td><input name=class size=35 maxsize=35 value="$form->{class}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('ID Number').qq|</th>
<td colspan=2><input name=idnumber size=35 maxsize=35 value="$form->{idnumber}"></td>
<th align=right>|.$locale->text('Club').qq|</th>
<td><input name=club size=35 maxsize=35 value="$form->{club}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('Date of Birth').qq|</th>
<td colspan=2><input name=dob size=35 maxsize=35 value="$form->{dob}"></td>
<th align=right>|.$locale->text('Society').qq|</th>
<td><input name=society size=35 maxsize=35 value="$form->{society}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('Home Address').qq|</th>
<td colspan=2><input name=addr size=35 maxsize=35 value="$form->{addr}"></td>
<th align=right>|.$locale->text('?????').qq|</th>
<td><input name=shiptoaddr3 size=35 maxsize=35 value="$form->{shiptoaddr3}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('?????').qq|</th>
<td colspan=2><input name=addr4 size=35 maxsize=35 value="$form->{addr4}"></td>
<th align=right>|.$locale->text('?????').qq|</th>
<td><input name=shiptoaddr4 size=35 maxsize=35 value="$form->{shiptoaddr4}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('Parent [Father]').qq|</th>
<td><input name=father size=20 maxsize=35 value="$form->{father}"></td>
<td>
<th align=right>|.$locale->text('Parent [Mother]').qq|</th>
<input name=mother size=20 maxsize=35 value="$form->{mother}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('Phone [Home]').qq|</th>
<td><input name=phone size=20 maxsize=20 value="$form->{phone}"></td>
<th align=right>|.$locale->text('Phone [Cellular]').qq|</th>
<td><input name=cellular size=20 maxsize=20 value="$form->{cellular}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('Fax').qq|</th>
<td><input name=fax size=20 maxsize=20 value="$form->{fax}"></td>
<th align=right>|.$locale->text('Phone [Work]').qq|</th>
<td><input name=phonework size=20 maxsize=20 value="$form->{phonework}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('E-mail').qq|</th>
<td><input name=email size=25 value="$form->{email}"></td>
<td>
<input name=shiptoemail size=25 value="$form->{shiptoemail}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('Guardian').qq|</th>
<td><input name=guardian size=25 value="$form->{guardian}"></td>
<td>
<th align=right>|.$locale->text('Guardian [Phone]').qq|</th>
<input name=guardianphone size=25 value="$form->{guardianphone}"></td>
</tr>
<tr>
<td colspan=4>
<b>|.$locale->text('Terms: Net').qq|</b> <input name=terms size=2 value="$form->{terms}">
<b>|.$locale->text('days').qq|</b> \|
<b>|.$locale->text('Credit Limit').qq|</b>
<input name=creditlimit size=9 value="$form->{creditlimit}">
<b>|.$locale->text('Discount').qq|</b>
<input name=discount size=4 value="$form->{discount}"> <b>%</b>
<b>|.$locale->text('Tax Included').qq|</b>
<input name=taxincluded class=checkbox type=checkbox value=1 $form->{taxincluded}>
</td>
</tr>
$tax
<tr valign=top>
<th align=right>|.$locale->text('Notes').qq|</th>
<td colspan=2 rowspan=3>
<textarea name=notes rows=3 cols=60>$form->{notes}</textarea>
</td>
</tr>
</table>
</td>
</tr>
|;
}
sub vendor_header {
$form->{title} = $locale->text("$form->{title} Vendor");
$tax = qq|<tr><th align=right>|.$locale->text('Taxable').qq|</th><td colspan=2>\n|;
foreach $item (split / /, $form->{taxaccounts}) {
if (($form->{tax}{$item}{taxable}) || !($form->{id})) {
$tax .= qq|<input name="tax_$item" value=1 class=checkbox type=checkbox checked> <b>$form->{tax}{$item}{description}</b>\n|;
} else {
$tax .= qq|<input name="tax_$item" value=1 class=checkbox type=checkbox> <b>$form->{tax}{$item}{description}</b>\n|;
}
}
$tax .= qq|</td></tr>|;
$form->{taxincluded} = ($form->{taxincluded}) ? "checked" : "";
$form->header;
# class=submit type=submit $locale->text('Add Vendor')
# class=submit type=submit $locale->text('Edit Vendor')
print qq|
<h2>$form->{title}</h2>
<form method=post action=$form->{script}>
<table border=1>
<tr>
<td>
<table border=0>
<tr>
<td colspan=2>
<input name=idnumber size=35 maxsize=35 value="$form->{idnumber}">
</td>
</tr>
<tr valign=top>
<td colspan=2>
<input name=name size=35 maxsize=35 value="$form->{name}">
</td>
</tr>
<tr>
<td colspan=2>
<input name=dob size=35 maxsize=35 value="$form->{dob}">
</td>
</tr>
<tr>
<td colspan=2>
<input name=addr size=35 maxsize=35 value="$form->{addr}">
</td>
</tr>
<tr>
<td colspan=2>
<input name=class size=35 maxsize=35 value="$form->{class}">
</td>
</tr>
<tr>
<th align=right>|.$locale->text('Father').qq|</th>
<td><input name=father size=20 maxsize=35 value="$form->{father}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('Mother').qq|</th>
<td><input name=mother size=20 maxsize=35 value="$form->{mother}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('Phone').qq|</th>
<td><input name=phone size=20 maxsize=20 value="$form->{phone}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('Fax').qq|</th>
<td><input name=fax size=20 maxsize=20 value="$form->{fax}"></td>
</tr>
<tr>
<th align=right>|.$locale->text('E-mail').qq|</th>
<td><input name=email size=25 value="$form->{email}"></td>
</tr>
<tr>
<td colspan=2><b>|.$locale->text('Terms: Net').qq|</b>
<input name=terms size=3 value=$form->{terms}> <b>days</b> \|
<b>|.$locale->text('Tax Included').qq|</b>
<input name=taxincluded class=checkbox type=checkbox value=1 $form->{taxincluded}>
</td>
</tr>
$tax
<tr valign=top>
<th align=right>|.$locale->text('Notes').qq|</th>
<td colspan=2 rowspan=3>
<textarea name=notes rows=3 cols=60>$form->{notes}</textarea>
</td>
</tr>
</table>
</td>
</tr>
|;
}
sub form_footer {
print qq|
<input name=id type=hidden value=$form->{id}>
<input name=taxaccounts type=hidden value="$form->{taxaccounts}">
<input type=hidden name=path value=$form->{path}>
<input type=hidden name=login value=$form->{login}>
<input type=hidden name=callback value="$form->{callback}">
<input type=hidden name=db value=$form->{db}>
</table>
<input class=submit type=submit name=action value="|.$locale->text('Save ' . ucfirst $form->{db}).qq|">
|;
if ($form->{id}) {
print qq|<input class=submit type=submit name=action value="|.$locale->text('Delete ' . ucfirst $form->{db}).qq|">|;
}
print "</form>";
# class=submit type=submit $locale->text('Save Student')
# class=submit type=submit $locale->text('Delete Student')
# class=submit type=submit $locale->text('Save Vendor')
# class=submit type=submit $locale->text('Delete Vendor')
}
sub delete_customer {
$rc = CT->delete_customer(\%myconfig, \%$form);
if ($rc == -1) {
$form->error($locale->text('Transactions exist, cannot delete student!'));
}
$form->isdeleted($rc);
}
sub save_customer {
$form->isblank("name", $locale->text("Student Name missing!"));
CT->save_customer(\%myconfig, \%$form);
$form->redirect;
}
sub save_vendor {
$form->isblank("name", $locale->text("Vendor Name missing!"));
CT->save_vendor(\%myconfig, \%$form);
$form->redirect;
}
sub delete_vendor {
$rc = CT->delete_vendor(\%myconfig, \%$form);
if ($rc == -1) {
$form->error($locale->text('Transactions exist, cannot delete vendor!'));
}
$form->isdeleted($rc);
}
#======================================================================
#
# backend code for customers and vendors
#
# CHANGE LOG:
# DS. 2000-07-04 Created
#
#======================================================================
package CT;
sub get_tuple {
my ($self, $myconfig, $form) = @_;
my $dbh = $form->dbconnect($myconfig);
my $query = qq|SELECT *
FROM $form->{db}
WHERE id = $form->{id}|;
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
my $ref = $sth->fetchrow_hashref;
# copy to $form variables
foreach my $key (keys %$ref) {
$ref->{$key} =~ s/"/"/g;
$form->{$key} = $ref->{$key};
}
$sth->finish;
# get tax labels
$query = qq|SELECT accno, description
FROM chart
WHERE link LIKE '%CT_tax%'
AND chart.id = tax.chart_id
ORDER BY accno|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
while (my $taxref = $sth->fetchrow_hashref) {
$form->{taxaccounts} .= "$taxref->{accno} ";
$form->{tax}{$taxref->{accno}}{description} = $taxref->{description};
}
$sth->finish;
chop $form->{taxaccounts};
# get taxes for customer/vendor
$query = qq|SELECT chart_id, accno
FROM $form->{db}tax, chart
WHERE chart_id = chart.id
AND $form->{db}_id = $form->{id}|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
while (my $taxref = $sth->fetchrow_hashref) {
$form->{tax}{$taxref->{accno}}{taxable} = 1;
}
$sth->finish;
$dbh->disconnect;
}
sub taxaccounts {
my ($self, $myconfig, $form) = @_;
my $dbh = $form->dbconnect($myconfig);
# get tax labels
my $query = qq|SELECT accno, description
FROM chart
WHERE link LIKE '%CT_tax%'
AND chart.id = tax.chart_id
ORDER BY accno|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
while (my $taxref = $sth->fetchrow_hashref) {
$form->{taxaccounts} .= "$taxref->{accno} ";
$form->{tax}{$taxref->{accno}}{description} = $taxref->{description};
}
$sth->finish;
chop $form->{taxaccounts};
$dbh->disconnect;
}
sub delete_customer {
my ($self, $myconfig, $form) = @_;
# connect to database, turn AutoCommit off
my $dbh = $form->dbconnect_noauto($myconfig);
my $query = qq|SELECT id
FROM ar
WHERE customer = $form->{id}|;
my $sth = $dbh->prepare($query) || $form->dberror($query);
$sth->execute;
my ($rc) = $sth->fetchrow_array;
$sth->finish;
if ($rc) {
$dbh->disconnect;
$rc = -1;
} else {
# delete customer
$query = qq|DELETE FROM customer
WHERE id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
$query = qq|DELETE FROM customertax
WHERE customer_id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
# commit and redirect
$rc = $dbh->commit;
$dbh->disconnect;
}
$rc;
}
sub save_customer {
my ($self, $myconfig, $form) = @_;
# connect to database
my $dbh = $form->dbconnect($myconfig);
# escape '
map { $form->{$_} =~ s/'/\\'/g } qw(name idnumber dob addr addr4 father guardian notes class club society shiptoaddr3 shiptoaddr4 mother);
# assign value discount, terms, creditlimit
$form->{discount} /= 100;
$form->{terms} *= 1;
$form->{creditlimit} = $form->parse_amount($myconfig, $form->{creditlimit});
$form->{taxincluded} = ($form->{taxincluded}) ? TRUE : FALSE;
my $query;
if ($form->{id}) {
$query = qq|DELETE FROM customertax
WHERE customer_id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
} else {
# create unique id
my $uid = time;
$uid .= $form->{login};
$query = qq|INSERT INTO customer (name)
VALUES ('$uid')|;
$dbh->do($query) || $form->dberror($query);
$query = qq|SELECT id FROM customer
WHERE name = '$uid'|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
($form->{id}) = $sth->fetchrow_array;
$sth->finish;
}
$query = qq|UPDATE customer SET
name = '$form->{name}',
idnumber = '$form->{idnumber}',
dob = '$form->{dob}',
addr = '$form->{addr}',
addr4 = '$form->{addr4}',
father = '$form->{father}',
phone = '$form->{phone}',
fax = '$form->{fax}',
email = '$form->{email}',
guardian = '$form->{guardian}',
notes = '$form->{notes}',
discount = $form->{discount},
creditlimit = $form->{creditlimit},
terms = $form->{terms},
class = '$form->{class}',
club = '$form->{club}',
society = '$form->{society}',
shiptoaddr3 = '$form->{shiptoaddr3}',
shiptoaddr4 = '$form->{shiptoaddr4}',
mother = '$form->{mother}',
cellular = '$form->{cellular}',
phonework = '$form->{phonework}',
shiptoemail = '$form->{shiptoemail}',
guardianphone = '$form->{guardianphone}',
taxincluded = $form->{taxincluded}
WHERE id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
# save taxes
foreach $item (split / /, $form->{taxaccounts}) {
if ($form->{"tax_$item"}) {
$query = qq|INSERT INTO customertax (customer_id, chart_id)
VALUES ($form->{id}, (SELECT id
FROM chart
WHERE accno = '$item'))|;
$dbh->do($query) || $form->dberror($query);
}
}
$dbh->disconnect;
}
sub save_vendor {
my ($self, $myconfig, $form) = @_;
# connect to database
my $dbh = $form->dbconnect($myconfig);
# escape '
map { $form->{$_} =~ s/'/\\'/g } qw(name addr1 addr2 addr3 addr4 contact notes);
$form->{terms} *= 1;
$form->{taxincluded} = ($form->{taxincluded}) ? TRUE : FALSE;
my $query;
if ($form->{id}) {
$query = qq|DELETE FROM vendortax
WHERE vendor_id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
} else {
my $uid = time;
$uid .= $form->{login};
$query = qq|INSERT INTO vendor (name)
VALUES ('$uid')|;
$dbh->do($query) || $form->dberror($query);
$query = qq|SELECT id FROM vendor
WHERE name = '$uid'|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
($form->{id}) = $sth->fetchrow_array;
$sth->finish;
}
$query = qq|UPDATE vendor SET
name = '$form->{name}',
addr1 = '$form->{addr1}',
addr2 = '$form->{addr2}',
addr3 = '$form->{addr3}',
addr4 = '$form->{addr4}',
contact = '$form->{contact}',
phone = '$form->{phone}',
fax = '$form->{fax}',
email = '$form->{email}',
notes = '$form->{notes}',
terms = $form->{terms},
taxincluded = $form->{taxincluded}
WHERE id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
# save taxes
foreach $item (split / /, $form->{taxaccounts}) {
if ($form->{"tax_$item"}) {
$query = qq|INSERT INTO vendortax (vendor_id, chart_id)
VALUES ($form->{id}, (SELECT id
FROM chart
WHERE accno = '$item'))|;
$dbh->do($query) || $form->dberror($query);
}
}
$dbh->disconnect;
}
sub delete_vendor {
my ($self, $myconfig, $form) = @_;
# connect to database, turn AutoCommit off
my $dbh = $form->dbconnect_noauto($myconfig);
# check if there are any transactions on file
my $query = qq|SELECT id FROM ap
WHERE vendor = $form->{id}|;
my $sth = $dbh->prepare($query) || $form->dberror($query);
$sth->execute;
my ($rc) = $sth->fetchrow_array;
$sth->finish;
if ($rc) {
$dbh->disconnect;
$rc = -1;
} else {
# delete vendor
$query = qq|DELETE FROM vendor
WHERE id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
$query = qq|DELETE FROM vendortax
WHERE vendor_id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
# commit and redirect
$rc = $dbh->commit;
$dbh->disconnect;
}
$rc;
}
sub s_student {
my ($self, $myconfig, $form) = @_;
# connect to database
my $dbh = $form->dbconnect($myconfig);
my $where = "TRUE";
if ($form->{name}) {
my $name = lc $form->{name};
$where .= " AND lower(name) LIKE '%$name%'";
}
if ($form->{idnumber}) {
my $contact = lc $form->{idnumber};
$where .= " AND lower(idnumber) LIKE '%$idnumber%'";
}
if ($form->{father}) {
my $name = lc $form->{father};
$where .= " AND lower(father) LIKE '%$father%'";
}
if ($form->{mother}) {
my $contact = lc $form->{mother};
$where .= " AND lower(mother) LIKE '%$mother%'";
}
if ($form->{class}) {
my $name = lc $form->{class};
$where .= " AND lower(class) LIKE '%$class%'";
}
if ($form->{club}) {
my $contact = lc $form->{club};
$where .= " AND lower(club) LIKE '%$club%'";
}
my $query = qq~SELECT id, name, idnumber, dob,
father || ' ' || mother AS parent,
addr, phone, cellular, class, club, society, guardian, terms
FROM $form->{db}
WHERE $where
ORDER BY name~;
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
while (my $ref = $sth->fetchrow_hashref) {
push @{ $form->{CT} }, $ref;
}
$sth->finish;
$dbh->disconnect;
}
sub s_vendor {
my ($self, $myconfig, $form) = @_;
# connect to database
my $dbh = $form->dbconnect($myconfig);
my $where = "TRUE";
if ($form->{name}) {
my $name = lc $form->{name};
$where .= " AND lower(name) LIKE '%$name%'";
}
if ($form->{contact}) {
my $contact = lc $form->{contact};
$where .= " AND lower(contact) LIKE '%$contact%'";
}
my $query = qq~SELECT id, name,
addr1 || ' ' || addr2 || ' ' || addr3 AS address,
contact, phone, fax, email, terms
FROM $form->{db}
WHERE $where
ORDER BY name~;
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
while (my $ref = $sth->fetchrow_hashref) {
push @{ $form->{CT} }, $ref;
}
$sth->finish;
$dbh->disconnect;
}
1;
_________________________________________s_p_r_a_y_
Här börjar Internet!
Skaffa gratis e-mail och gratis Internet på http://www.spray.se
Ny chatt på Spray! Fartyget M/S Spray har anlänt till http://www.spray.se/ohoj
|
|
From: peter g. <pc...@ai...> - 2001-10-05 05:39:07
|
* peter green <pc...@ai...> [010929 11:21]: > Trying to enter an invoice, enter part 101, which bring up the selection > screen with parts 101, 1011, and 1012. Select 101, which is what I want, and > hit continue. The resulting page has no header, and is raw HTML, starting > with ``<H2></H2>'' (with no title). > > I've looked in the code, but can't figure it out off-hand. Any thoughts on > how to isolate and test this? To follow-up to myself, I was able to ``fix'' this by setting the default MIME type in Apache to text/html, i.e.: DefaultType text/html (It used to be text/plain.) This seems to have fixed it. > BTW, I was able to add the new routine to save and HTML invoice *and* email I may or may not get around to posting a diff for this. I've already hacked at the source so much that I'm a bit concerned for the next version upgrade. Ah, well. /pg -- Peter Green : Architekton Internet Services, LLC : pc...@ai... ------------------------------------------------------------- chmod a+x /bin/laden |
|
From: Dieter S. <dsi...@sq...> - 2001-10-02 17:29:31
|
DBD-Pg is the most troublesome piece of the puzzle. However at this stage I cannot abonded it unless I rewrite the whole backend. A new version will probably come out in November. Dieter Simader http://www.sql-ledger.org (780) 472-8161 DWS Systems Inc. Accounting Software Fax: 478-5281 =========== On a clear disk you can seek forever =========== On Tue, 2 Oct 2001, csaunders wrote: > Hi all, > > what an intreguing product, whilst i thoroughly enjoyed the product once it > was installed, the installation process was a trial-by-fire! we have had > PostgreSQL installed for about 12 months, and perl too, and getting DBI > installed was a no brainer with MCPAN. > > however getting DBD:Pg to install took me over 4 hours, mostly due to the > fact that i had to hunt out what the exact variables should be , and then > determine why the test script wouldn't work (it couldn't log on because it > couldn't determine the postgres user and pwd for some reason so i ended up > setting the POSTGRES_USERNAME and POSTGRES_PASSWORD in the environment). My > background is not perl (half the problem!), however I am a reasonably > experienced SCO admin and INFORMIX dba and I believe that unless the > installation procedure went perfectly it would be an impossible ride for a > less technically minded user. > > I appreciate that nobody in this list may be the maintainers for DBD:Pg but > judging by the user postings I am not the only person to have these similar > install problems with the DBD:Pg module. It would be a shame to have the > difficult install problems of DBD:Pg reflect on sql-ledger (unless of > course the install problems all reflect my lack of knowledge and are not > indicative of the typical user!!!) > > however the features list is impressive! > > questions: > > 1) is there any documentation at all, whether technical or user orientated? > 2) is there an ERD or similar? i am keen to consider porting our data from > our current package into SQL ledger to test its functionality > 3) I assume because its all PERL that i have all the source, is there any > docs on how the mods fit together so i can consider customisation? in > particular i am keen to add reports etc > 4) I suspect i will want to add fields to tables etc, will i wreck the > current scripts or can they cope with more fields than was originally > planned? > 5) for these extra fields, how easy is it to modify the data entry forms to > accomodate the extra fields? > 6) the up and comming features look neat, can i get rough ideas on the > timelines for them to be implemented or when the next version ETA is? > > sorry for the heaps of questions, i appreciate they may not be all easy to > answer! > > ta > cs > > > > Kind Regards > > Colin Saunders > Director > DataByte Software Ltd > ************************************************************************ > Ph : 025 290 5093 Fax : 08 326 4187 Email : csa...@da... > DataByte Software Ltd, P O Box 98817, S.A.M.C, AUCKLAND, New Zealand > > > > |
|
From: Roderick A. A. <raa...@ti...> - 2001-10-02 14:00:55
|
Running SL 1.6.4 I found that the A/R Aging report places everything in
the 90+ days if you enter a date. Works fine if no date is entered.
Did this get found/fixed in a later version?
TIA,
Rod
--
Let Accuracy Triumph Over Victory
Zetetic Institute
"David's Sling"
Marc Stiegler
|