5cf40147d9
First pass implementation at generating an invoice, which seems to be working. Largely untested, but worth checking in. Next is to get receipts using the same algorithm, and after that will be to work on a reconciling mechanism, creating payments, and matching them to charges. This checkin includes an additional customer_id fields as part of the transactions table. I think it was an oversight not to be there, as we need some way to keep track of monies which have been paid by a customer, yet not applied. If there is a different way to do it (short of actually having each ledger entry hold customer_id), it escapes me at the moment.
abijah
2009-07-23 21:24:49 +00:00
04bc284a76
First pass implementation at generating an invoice, which seems to be working. Largely untested, but worth checking in. Next is to get receipts using the same algorithm, and after that will be to work on a reconciling mechanism, creating payments, and matching them to charges. This checkin includes an additional customer_id fields as part of the transactions table. I think it was an oversight not to be there, as we need some way to keep track of monies which have been paid by a customer, yet not applied. If there is a different way to do it (short of actually having each ledger entry hold customer_id), it escapes me at the moment.
abijah
2009-07-23 21:24:49 +00:00
4a94fc3798
More tweaking to all of the grid displays. This was mostly visual, but includes some bug fixes as well (such as a manual filter override in the ledger_entries controller).
abijah
2009-07-23 16:53:33 +00:00
708759765f
More tweaking to all of the grid displays. This was mostly visual, but includes some bug fixes as well (such as a manual filter override in the ledger_entries controller).
abijah
2009-07-23 16:53:33 +00:00
3c22378498
Modified Filtering to have a separate virtual function for Tables and Conditions. This was prompted because a derived controller could override the function to return null to prevent adding a filtering table (such as if the table was already added as a non top-level table), and although the app controller would correctly prevent adding the filter table to the set, it would also prevent adding the filter condition as well. So, making two virtual functions, one for table name when defining filter tables, and one for table name when defining filter conditions, allows the derived controller to stop a table from being added to the set, yet still let the condition through (without having to override the entire filter condition logic).
abijah
2009-07-23 16:51:32 +00:00
9dccbfeda8
Modified Filtering to have a separate virtual function for Tables and Conditions. This was prompted because a derived controller could override the function to return null to prevent adding a filtering table (such as if the table was already added as a non top-level table), and although the app controller would correctly prevent adding the filter table to the set, it would also prevent adding the filter condition as well. So, making two virtual functions, one for table name when defining filter tables, and one for table name when defining filter conditions, allows the derived controller to stop a table from being added to the set, yet still let the condition through (without having to override the entire filter condition logic).
abijah
2009-07-23 16:51:32 +00:00
43b4ef8890
Yet another tweak to Linkable for merging fields and conditions of the options and associations variables.
abijah
2009-07-23 16:35:53 +00:00
f8c60ec265
Yet another tweak to Linkable for merging fields and conditions of the options and associations variables.
abijah
2009-07-23 16:35:53 +00:00
25bc1607cc
Many, many changes, and yet still much to do. Many things are working, but certainly nothing beyond simply data retrieval (no editing or adding of any data). Also, some work is still required to ensure the grids have the right columns; we can strip out certain columns for some views (such as removing customer from the leases grid of the customer view... completely redundant). And of course, there are still many bugs and lots to clean up.
abijah
2009-07-23 01:49:46 +00:00
234999b4d2
Many, many changes, and yet still much to do. Many things are working, but certainly nothing beyond simply data retrieval (no editing or adding of any data). Also, some work is still required to ensure the grids have the right columns; we can strip out certain columns for some views (such as removing customer from the leases grid of the customer view... completely redundant). And of course, there are still many bugs and lots to clean up.
abijah
2009-07-23 01:49:46 +00:00
85edb1c658
Changed the default table configuration to be link instead of contain. contain was never really desired, it just got thrown in there since it wasn't clear how link would behave, and we needed the essential effect of recursive=-1.
abijah
2009-07-23 01:11:30 +00:00
0ba5007438
Changed the default table configuration to be link instead of contain. contain was never really desired, it just got thrown in there since it wasn't clear how link would behave, and we needed the essential effect of recursive=-1.
abijah
2009-07-23 01:11:30 +00:00
8cf8f65474
Changed 'payment' to 'tender', since the payment term has been heavily overloaded. Tender represents legal tender, and replaces what used to be monetary source. I'm not terribly fond of the name, especially the plural form. However, for now at least, it can be distinct from other types of 'payment' and we can change it later if we come up with a better name. Also, added a name to ledger, since one was being manually created at runtime in several spots. This should allow us to consolidate the naming convention to a single spot.
abijah
2009-07-22 23:35:41 +00:00
368b730744
Added automagic filtering capability to the app controller. Also, lumped all items needing serialization into a single 'post' item, instead of continuing to piecemeal each added post item. There will be some changes required to some controllers, since custom post data has changed location, but it should be minor. To make use of the new filtering methods, each view will have to set the 'filter' parameter at the time of grid setup.
abijah
2009-07-22 23:31:41 +00:00
c596dfa5f0
Added automagic filtering capability to the app controller. Also, lumped all items needing serialization into a single 'post' item, instead of continuing to piecemeal each added post item. There will be some changes required to some controllers, since custom post data has changed location, but it should be minor. To make use of the new filtering methods, each view will have to set the 'filter' parameter at the time of grid setup.
abijah
2009-07-22 23:31:41 +00:00
8db607ffc5
Of course, the last fix didn't work... I don't know why it looked like it was working. This fix should resolve the issue.
abijah
2009-07-22 23:12:04 +00:00
8331be454c
Of course, the last fix didn't work... I don't know why it looked like it was working. This fix should resolve the issue.
abijah
2009-07-22 23:12:04 +00:00
030617713d
Attempted fix for a missing conditions/fields bug. The fix would probably have just been to use empty instead of isset, since apparently the defaults for these items are an empty string instead of null (yuck). However, I already had done a bit of minor logic change and prefer the new form, so that's why more than just the isset call was modified.
abijah
2009-07-22 22:54:02 +00:00
8b65bc5159
Attempted fix for a missing conditions/fields bug. The fix would probably have just been to use empty instead of isset, since apparently the defaults for these items are an empty string instead of null (yuck). However, I already had done a bit of minor logic change and prefer the new form, so that's why more than just the isset call was modified.
abijah
2009-07-22 22:54:02 +00:00
1e359f816c
Fixed the Linkable behavior from polluting the query fields when performing a count query.
abijah
2009-07-22 22:27:55 +00:00
634f0f5423
Fixed the Linkable behavior from polluting the query fields when performing a count query.
abijah
2009-07-22 22:27:55 +00:00
b641dc98ec
Renamed jqGridData functions to be just gridData. Restructured the virtual function calls with an anticipated need for gridDataCount to be overridden as a whole, instead of just overriding the individual pieces.
abijah
2009-07-22 17:06:44 +00:00
7aa026f4e0
Renamed jqGridData functions to be just gridData. Restructured the virtual function calls with an anticipated need for gridDataCount to be overridden as a whole, instead of just overriding the individual pieces.
abijah
2009-07-22 17:06:44 +00:00
f52fba96c1
Making progress. Much still to do, but there are hints of functionality finally returning so I'm snapshotting.
abijah
2009-07-21 10:23:52 +00:00
93ebc450fe
Making progress. Much still to do, but there are hints of functionality finally returning so I'm snapshotting.
abijah
2009-07-21 10:23:52 +00:00
5a16e497ad
Customers is working somewhat. I want to see if the grid query logic can be simplified, so I'm checking in first
abijah
2009-07-21 09:40:51 +00:00
fd856323a5
Customers is working somewhat. I want to see if the grid query logic can be simplified, so I'm checking in first
abijah
2009-07-21 09:40:51 +00:00
59e6379977
Definitely not perfect, but the database changes seem to be OK, along with the sitelink script. Certainly workable if not yet complete.
abijah
2009-07-21 04:16:54 +00:00
ae5d4763f9
Adjusted formatting only
abijah
2009-07-21 02:55:43 +00:00
d5bcd9a496
Another snapshot
abijah
2009-07-20 23:35:11 +00:00
c002f3f3ba
Another snapshot
abijah
2009-07-20 23:35:11 +00:00
bfbf119aca
Modified Linkable to be recursive, which is needed to support certain queries that have models joined based on prior joined models. The old way went breadth first, which prevented such a join from working
abijah
2009-07-20 20:22:06 +00:00
f8d4dcef94
Modified Linkable to be recursive, which is needed to support certain queries that have models joined based on prior joined models. The old way went breadth first, which prevented such a join from working
abijah
2009-07-20 20:22:06 +00:00
7181bc7f9b
Minor logic and formatting changes. Considering making Linkable operate recursively.
abijah
2009-07-20 19:00:54 +00:00
a7671e76fe
Minor logic and formatting changes. Considering making Linkable operate recursively.
abijah
2009-07-20 19:00:54 +00:00
7304a0e889
Another snapshot. I think I'll be taking the CREDIT/DEBIT reconcile functionality out.
abijah
2009-07-20 02:17:54 +00:00
fc30dfa2e8
Another snapshot. I think I'll be taking the CREDIT/DEBIT reconcile functionality out.
abijah
2009-07-20 02:17:54 +00:00
3d262fd4db
This rework is nowhere near complete, but there are certain things that are falling in place, and worth capturing. I started a branch for just this purpose of being able to check in intermediate work.
abijah
2009-07-19 23:35:25 +00:00
6ac0204baf
This rework is nowhere near complete, but there are certain things that are falling in place, and worth capturing. I started a branch for just this purpose of being able to check in intermediate work.
abijah
2009-07-19 23:35:25 +00:00
af0c10f6a6
D:\bin\svnbranch.pl: Branch from /branches/invoice_receipt_20090629 to /branches/yafr_20090716
abijah
2009-07-16 18:52:28 +00:00
e303898a95
D:\bin\svnbranch.pl: Branch from /branches/invoice_receipt_20090629 to /branches/yafr_20090716
abijah
2009-07-16 18:52:28 +00:00
115c82cd21
Still trying to figure out what issuing a refund should look like. I switched the entry to be negative, which may (should) make reporting easier.
v0.3_php5.3_support@350
abijah
2009-07-16 07:27:18 +00:00
3313a18407
Still trying to figure out what issuing a refund should look like. I switched the entry to be negative, which may (should) make reporting easier.
invoice_receipt_20090629
abijah
2009-07-16 07:27:18 +00:00
331e235e77
Added debugging to the serialize function. I don't really want to keep it, but I don't want to lose it either. At least one check in before I clean it up again (if I do).
abijah
2009-07-16 07:12:18 +00:00
b2ab134996
Added debugging to the serialize function. I don't really want to keep it, but I don't want to lose it either. At least one check in before I clean it up again (if I do).
abijah
2009-07-16 07:12:18 +00:00
d0dfd8657c
Added some starter code to figure out how we handle refunds. This is NOT working, just a snapshot of progress.
abijah
2009-07-15 18:37:51 +00:00
fbb751d054
Added some starter code to figure out how we handle refunds. This is NOT working, just a snapshot of progress.
abijah
2009-07-15 18:37:51 +00:00
4d4bebc3d3
Added a couple helper functions to Ledger.
abijah
2009-07-15 18:33:30 +00:00
fff6eaeeca
Added a couple helper functions to Ledger.
abijah
2009-07-15 18:33:30 +00:00
ae04aafaca
Eliminated the LedgerEntry::nsf code, which was replaced with MonetarySource::nsf.
abijah
2009-07-15 18:32:14 +00:00
1408a3dcb3
Eliminated the LedgerEntry::nsf code, which was replaced with MonetarySource::nsf.
abijah
2009-07-15 18:32:14 +00:00
9507bfddc8
We're now able to determine when a lease is paid through.
abijah
2009-07-15 09:24:53 +00:00
fcb23d12a5
minor cleanup of the paid through function
abijah
2009-07-15 09:22:19 +00:00
aa682c9bb2
minor cleanup of the paid through function
abijah
2009-07-15 09:22:19 +00:00
dd7da1489d
Added a paid-through field for leases. Now I just need to add it to the grid query, although it's a change that can wait.
abijah
2009-07-15 09:18:56 +00:00
0c8649d1c5
Added a paid-through field for leases. Now I just need to add it to the grid query, although it's a change that can wait.
abijah
2009-07-15 09:18:56 +00:00
85cc6d7c6a
Changed the default collected results to be those collected into any account, not just payable ones.
abijah
2009-07-15 08:01:56 +00:00
405e20f37f
Changed the default collected results to be those collected into any account, not just payable ones.
abijah
2009-07-15 08:01:56 +00:00
e457f87c42
Fixed bug preventing customer links from working
abijah
2009-07-15 07:55:40 +00:00
75ff8a2a40
Fixed bug preventing customer links from working
abijah
2009-07-15 07:55:40 +00:00
e8d12882cc
Fixed the total amount collected to reflect the _actual_ total, not just the page total. Now the grid no longer needs to be 500 rows long.
abijah
2009-07-15 07:47:13 +00:00
20c1284788
Fixed the total amount collected to reflect the _actual_ total, not just the page total. Now the grid no longer needs to be 500 rows long.
abijah
2009-07-15 07:47:13 +00:00
8f2b43239d
Added a 'Calculating...' message before the grid has rendered.
abijah
2009-07-15 07:45:23 +00:00
116b014332
Added a 'Calculating...' message before the grid has rendered.
abijah
2009-07-15 07:45:23 +00:00
51d786ab8b
Added generic mechanism to add userdata to the grid results. A 'userdata' callout function would be nice, but in practice, userdata may get added anywhere along the line, which is much easier than trying to figure out when to call such a callout and what parameters it would need to be passed.
abijah
2009-07-15 07:44:51 +00:00
8fcecb7092
Added generic mechanism to add userdata to the grid results. A 'userdata' callout function would be nice, but in practice, userdata may get added anywhere along the line, which is much easier than trying to figure out when to call such a callout and what parameters it would need to be passed.
abijah
2009-07-15 07:44:51 +00:00
6f4519fe56
Layout manipulation to the collected page.
abijah
2009-07-15 07:13:41 +00:00
8a36b441de
Layout manipulation to the collected page.
abijah
2009-07-15 07:13:41 +00:00
69adfd900c
Standardized the grid events interface, to ease the burden on the views and ensure that the load functions could be used by the application without wiping out the debug functionality that was built into jqGrid.ctp
abijah
2009-07-15 06:21:55 +00:00
b1914f7cca
Standardized the grid events interface, to ease the burden on the views and ensure that the load functions could be used by the application without wiping out the debug functionality that was built into jqGrid.ctp
abijah
2009-07-15 06:21:55 +00:00
33ba912a7e
Fixed the balance summary of the collected report, and marked off NSF and collected report requirements.
abijah
2009-07-15 05:42:10 +00:00
0649329dde
Fixed the balance summary of the collected report, and marked off NSF and collected report requirements.
abijah
2009-07-15 05:42:10 +00:00
c4942b922b
Finally, a working NSF implementation. Ledger Entry tracking stops at the Bank account, since we switch from positive to negative ledger entries. However, we're not going to reconcile debits to credits in the bank account anyway, so I just disabled tracking on the account.
abijah
2009-07-15 03:06:59 +00:00
50c4ee225f
Finally, a working NSF implementation. Ledger Entry tracking stops at the Bank account, since we switch from positive to negative ledger entries. However, we're not going to reconcile debits to credits in the bank account anyway, so I just disabled tracking on the account.
abijah
2009-07-15 03:06:59 +00:00
2588fd6a91
A final attempt to reconcile the cash in the bank account. It just wasn't designed this way, so I'll strip it out on the next checkin.
abijah
2009-07-15 01:33:06 +00:00
d1075a2ea2
A final attempt to reconcile the cash in the bank account. It just wasn't designed this way, so I'll strip it out on the next checkin.
abijah
2009-07-15 01:33:06 +00:00
3baa199fda
Multiple e6 entries now ensure that NSF reconciles appropriately to e1 such that the lease is correctly taken into account.
abijah
2009-07-15 01:05:44 +00:00
6210838b22
Multiple e6 entries now ensure that NSF reconciles appropriately to e1 such that the lease is correctly taken into account.
abijah
2009-07-15 01:05:44 +00:00
68a10e783b
getting closer to a workable NSF solution. I don't like it, but it might allow us to move forward in the short term. This solution required a stupid kludge to get CakePHP to work with the necessary query, which sucks but is not too cumbersome. What isn't working at the moment, is for the NSF to show up on the lease account, which is what I'll try to work out next. Also, the monies deposited are not trackable, since I'm not reconciling them (due to the sign flip). Not sure if there is an easily workable solution. Also, to get the collected rent report to show this negative income, it requires the bank account be part of the query, which I accomplish in the short term by setting the 'payable' flag. I may need to fix/kludge this by running the NSF through the receipt account and adding the NSF account to the list on the collected page.
abijah
2009-07-15 00:21:23 +00:00
f5b87fa6b0
getting closer to a workable NSF solution. I don't like it, but it might allow us to move forward in the short term. This solution required a stupid kludge to get CakePHP to work with the necessary query, which sucks but is not too cumbersome. What isn't working at the moment, is for the NSF to show up on the lease account, which is what I'll try to work out next. Also, the monies deposited are not trackable, since I'm not reconciling them (due to the sign flip). Not sure if there is an easily workable solution. Also, to get the collected rent report to show this negative income, it requires the bank account be part of the query, which I accomplish in the short term by setting the 'payable' flag. I may need to fix/kludge this by running the NSF through the receipt account and adding the NSF account to the list on the collected page.
abijah
2009-07-15 00:21:23 +00:00
34e3251240
Just updated the comments, and added e2a and e1 into the query. No functional change yet.
abijah
2009-07-14 21:44:19 +00:00
1d8ef76efa
Just updated the comments, and added e2a and e1 into the query. No functional change yet.
abijah
2009-07-14 21:44:19 +00:00
01aa2d1697
The NSF functionality is working good from a strictly general ledger point of view. However, as it's implemented, it's leaving us unable to observe that we've actually experienced negative collected rent. This is a big problem, but I've put a couple notes in place on how I might try to proceed on this next, and am checking in this semi-working version.
abijah
2009-07-14 20:48:16 +00:00
60f43efdb7
The NSF functionality is working good from a strictly general ledger point of view. However, as it's implemented, it's leaving us unable to observe that we've actually experienced negative collected rent. This is a big problem, but I've put a couple notes in place on how I might try to proceed on this next, and am checking in this semi-working version.
abijah
2009-07-14 20:48:16 +00:00
69b3cf3ed3
Implementing NSF in MonetarySourcesController. It's nowhere near done, but it seems we're headed in the right direction.
abijah
2009-07-13 10:14:38 +00:00
abc5f1feff
Implementing NSF in MonetarySourcesController. It's nowhere near done, but it seems we're headed in the right direction.
abijah
2009-07-13 10:14:38 +00:00
3551ad0603
Added a ledger entry listing on the monetary source view page.
abijah
2009-07-13 09:54:49 +00:00
8b7c27b5db
Added a ledger entry listing on the monetary source view page.
abijah
2009-07-13 09:54:49 +00:00
f960349e0f
Definitely not yet what we need for reversing charges, but at least the recursive nature seems to be in the right direction.
abijah
2009-07-13 04:41:18 +00:00
865d9ee617
Definitely not yet what we need for reversing charges, but at least the recursive nature seems to be in the right direction.
abijah
2009-07-13 04:41:18 +00:00
4ad4033e4f
Fix to the sub-total column, which wasn't working for ledgers that have both debits and credits (and thus need a sub-total of balance, not amount
abijah
2009-07-13 04:40:21 +00:00
059dbd3190
Fix to the sub-total column, which wasn't working for ledgers that have both debits and credits (and thus need a sub-total of balance, not amount
abijah
2009-07-13 04:40:21 +00:00
00cff7bb3a
A working version of the collected report for accounts. There is still some error checking to do, since we don't want this report for just any account. Also, we may wish to do away with the form to prevent accidental submittal. Finally, it would be nice to do away with the button, and automatically update on date changes.
abijah
2009-07-13 02:24:31 +00:00
8a3c6ae21b
A working version of the collected report for accounts. There is still some error checking to do, since we don't want this report for just any account. Also, we may wish to do away with the form to prevent accidental submittal. Finally, it would be nice to do away with the button, and automatically update on date changes.
abijah
2009-07-13 02:24:31 +00:00
3ffa3c81bb
Fixed the last bug... I had just forgotten to use ReceiptTransaction for the dates in question. Also, I elminated the collected element, and just added a minor tweak to ledger_entries to make it work. I'll work on added user entered dates & accounts soon (perhaps next).
abijah
2009-07-12 21:00:38 +00:00
03af4e731f
Fixed the last bug... I had just forgotten to use ReceiptTransaction for the dates in question. Also, I elminated the collected element, and just added a minor tweak to ledger_entries to make it work. I'll work on added user entered dates & accounts soon (perhaps next).
abijah
2009-07-12 21:00:38 +00:00
886a63773e
Experiment with converting the 'collected' grid results to be a query of the rent ledger entries that resolve out to payments, instead of payment entries that resolve rent entries. It's a subtle difference, but gives a couple benefits. First, rent looks like rent, meaning that if someone paid $30 in rent over 6 days at $5 per day, the collected rent entry shows $30, not 6 entries of $5. Depending on your perspective, that can be a good or bad thing. Since we're looking at collected entries of an account, I think each account entry should only get one line, so this seems like it's a logical fit. The second thing is that I might be able to do away with a collected page altogether, and simply add a 'collected' column to each account/ledger. Not sure on that, especially since we'll be wanting a date range, and probably a selection of which accounts consititute payment (such that the user could simply see rent collected in cash or similar). In any event, this is NOT working at the moment, I seem to be getting invalid data. To figure this out, I'm going to check in now, revert back, and print the results for reference, since it was working before this change, back at r320
abijah
2009-07-12 20:23:46 +00:00
2cd73ed9e8
Experiment with converting the 'collected' grid results to be a query of the rent ledger entries that resolve out to payments, instead of payment entries that resolve rent entries. It's a subtle difference, but gives a couple benefits. First, rent looks like rent, meaning that if someone paid $30 in rent over 6 days at $5 per day, the collected rent entry shows $30, not 6 entries of $5. Depending on your perspective, that can be a good or bad thing. Since we're looking at collected entries of an account, I think each account entry should only get one line, so this seems like it's a logical fit. The second thing is that I might be able to do away with a collected page altogether, and simply add a 'collected' column to each account/ledger. Not sure on that, especially since we'll be wanting a date range, and probably a selection of which accounts consititute payment (such that the user could simply see rent collected in cash or similar). In any event, this is NOT working at the moment, I seem to be getting invalid data. To figure this out, I'm going to check in now, revert back, and print the results for reference, since it was working before this change, back at r320
abijah
2009-07-12 20:23:46 +00:00
dc79667dca
New generic mechanism for subtotaling columns. This is NOT an ideal solution, as it only subtotals for the current grid page. Hopefully we can get something better into the app controller at some point
abijah
2009-07-12 20:15:56 +00:00
b97d071bb4
New generic mechanism for subtotaling columns. This is NOT an ideal solution, as it only subtotals for the current grid page. Hopefully we can get something better into the app controller at some point
abijah
2009-07-12 20:15:56 +00:00