]>
asedeno.scripts.mit.edu Git - bluechips.git/log
Evan Broder [Sun, 20 Jul 2008 14:53:17 +0000 (14:53 +0000)]
Make the distribution test actually do something
Evan Broder [Sun, 20 Jul 2008 14:53:07 +0000 (14:53 +0000)]
Add another test for testing uneven splits
Evan Broder [Sun, 20 Jul 2008 14:52:54 +0000 (14:52 +0000)]
Use self.assert* functions in tests instead of normal assertion
Evan Broder [Sat, 19 Jul 2008 18:45:59 +0000 (18:45 +0000)]
Test Currency.__str_no_dollar__
Evan Broder [Sat, 19 Jul 2008 18:45:50 +0000 (18:45 +0000)]
Changing location of minus sign in Currency broke __str_no_dollar__
Evan Broder [Sat, 19 Jul 2008 17:53:09 +0000 (17:53 +0000)]
Add tests for Currency string conversion
Evan Broder [Sat, 19 Jul 2008 17:53:00 +0000 (17:53 +0000)]
Move negative sign for Currency
Evan Broder [Sat, 19 Jul 2008 17:52:52 +0000 (17:52 +0000)]
SuperSubclass isn't smart enough to do the __new__ correctly
Evan Broder [Sat, 19 Jul 2008 17:52:42 +0000 (17:52 +0000)]
Pull more things into their own tests for Currency
Evan Broder [Sat, 19 Jul 2008 17:52:33 +0000 (17:52 +0000)]
Use the right model module in package-level test setUp
Apparently other imports can override the one in test/__init__.py
Evan Broder [Sat, 19 Jul 2008 17:52:26 +0000 (17:52 +0000)]
More tests for the Currency type
Evan Broder [Sat, 19 Jul 2008 17:52:17 +0000 (17:52 +0000)]
Add an __init__.py for tests/model/
Evan Broder [Sat, 19 Jul 2008 10:05:58 +0000 (10:05 +0000)]
Start writing tests for Currency objects
Evan Broder [Sat, 19 Jul 2008 10:05:50 +0000 (10:05 +0000)]
Split tests aren't testing a controller, so don't use TestController
Evan Broder [Sat, 19 Jul 2008 10:05:40 +0000 (10:05 +0000)]
Make Currency objects (and others using the SuperSubclass) immutable
Evan Broder [Sat, 19 Jul 2008 10:05:31 +0000 (10:05 +0000)]
Test some predefined expenditures
Evan Broder [Sat, 19 Jul 2008 10:05:21 +0000 (10:05 +0000)]
Support specifying how many users/expenditures to create
Evan Broder [Sat, 19 Jul 2008 05:05:11 +0000 (05:05 +0000)]
Move genereically useful functions out of specific modules
Evan Broder [Sat, 19 Jul 2008 05:05:01 +0000 (05:05 +0000)]
Restructure to accurately reflect parent-child relations
Also cascade deletes
Evan Broder [Sat, 19 Jul 2008 05:04:52 +0000 (05:04 +0000)]
Attempt to test that splits are distributed evenly
Evan Broder [Fri, 18 Jul 2008 17:15:43 +0000 (17:15 +0000)]
Rename setup and teardown functions in test suite
setUp seems to be more correct than setup
Evan Broder [Fri, 18 Jul 2008 17:15:36 +0000 (17:15 +0000)]
Don't multiple the pennies that need to be distributed by 100
Evan Broder [Fri, 18 Jul 2008 17:15:28 +0000 (17:15 +0000)]
Start writing tests for splits
* bluechips.tests.split.test_random:TestSplitRandom.test_splitTotal
currently fails, which means the system currently leaks money
Evan Broder [Fri, 18 Jul 2008 17:15:19 +0000 (17:15 +0000)]
Keep the entered_time fields as UTC stamps instead of local
Evan Broder [Fri, 18 Jul 2008 17:15:00 +0000 (17:15 +0000)]
Add some documentation to the Currency type
Evan Broder [Fri, 18 Jul 2008 07:51:47 +0000 (07:51 +0000)]
Switch from using Decimal to using a new Currency class
* Include the SmartSubclass metaclass for making an object that is
itself but acts like something else
* Derive a Currency class from that
* Use it EVERYWHERE!
Evan Broder [Fri, 18 Jul 2008 04:03:52 +0000 (04:03 +0000)]
Don't import meta.Session directly; import meta instead
Evan Broder [Fri, 18 Jul 2008 02:59:03 +0000 (02:59 +0000)]
Move functions for splitting expenditures into Expenditure model
Evan Broder [Fri, 18 Jul 2008 02:58:54 +0000 (02:58 +0000)]
Move model classes into their own files
Evan Broder [Fri, 18 Jul 2008 02:58:45 +0000 (02:58 +0000)]
Make the built-in tests actually pass
Evan Broder [Fri, 18 Jul 2008 02:58:36 +0000 (02:58 +0000)]
"True" is not a valid where clause for sqlite
Evan Broder [Fri, 18 Jul 2008 02:58:28 +0000 (02:58 +0000)]
Tests against an in-memory database don't work; make a real one
Evan Broder [Thu, 17 Jul 2008 18:31:49 +0000 (18:31 +0000)]
Use the fake authentication in the testing config
Evan Broder [Thu, 17 Jul 2008 18:31:34 +0000 (18:31 +0000)]
Build in fakeauth into the fake authkit.authenticate module
Evan Broder [Thu, 17 Jul 2008 17:47:49 +0000 (17:47 +0000)]
We're not i18ning anything else right now; drop the one place we are
Evan Broder [Thu, 17 Jul 2008 17:47:39 +0000 (17:47 +0000)]
Use the fake auth middleware if testing (in test.ini)
Evan Broder [Thu, 17 Jul 2008 17:47:29 +0000 (17:47 +0000)]
Create a fake auth midleware component for testing
Evan Broder [Thu, 17 Jul 2008 17:47:19 +0000 (17:47 +0000)]
Only display 10 most recent of each type of transaction on home page
Evan Broder [Thu, 17 Jul 2008 17:47:07 +0000 (17:47 +0000)]
Add navigation bar
Evan Broder [Thu, 17 Jul 2008 17:46:59 +0000 (17:46 +0000)]
Display user's transactions on home page
Evan Broder [Thu, 17 Jul 2008 17:46:46 +0000 (17:46 +0000)]
Add history controller to display old transactions
Evan Broder [Thu, 17 Jul 2008 17:46:32 +0000 (17:46 +0000)]
Reconfigure some models for convenience
* Add a default sort on expenditures and transfers, since that's
almost always what's wanted
* Eagerly load users related to expenditures and transfers, since
it's cheap and generally wanted
Evan Broder [Wed, 16 Jul 2008 08:18:04 +0000 (08:18 +0000)]
Display all totals with currency formatting
Evan Broder [Wed, 16 Jul 2008 08:16:38 +0000 (08:16 +0000)]
Display some aggregate numbers on spending
Evan Broder [Wed, 16 Jul 2008 07:51:26 +0000 (07:51 +0000)]
Transfers weren't being totaled correctly
Evan Broder [Wed, 16 Jul 2008 07:36:07 +0000 (07:36 +0000)]
Use the correct object for datetime.now
This is why my commit bit should automatically be revoked if I'm in a
hurry
Evan Broder [Wed, 16 Jul 2008 07:34:53 +0000 (07:34 +0000)]
Change from using sa.func.now to datetime.now
Evan Broder [Wed, 16 Jul 2008 07:09:24 +0000 (07:09 +0000)]
Change lib/totals.py:debt to use new convention for add_column
Evan Broder [Wed, 16 Jul 2008 07:04:56 +0000 (07:04 +0000)]
And output the outstanding debts on the home page
Evan Broder [Wed, 16 Jul 2008 07:04:46 +0000 (07:04 +0000)]
Only export the debt and settle functions in lib/totals.py
Evan Broder [Wed, 16 Jul 2008 07:04:39 +0000 (07:04 +0000)]
Expect the debts as an argument in settle (for efficiency)
Evan Broder [Wed, 16 Jul 2008 07:04:32 +0000 (07:04 +0000)]
Add bluechips.lib.totals:settle - outputs transfers needed to settle
Shamelessly stolen from the account.pl that Nelson Elhage wrote for our 2008
summer apartment, settle returns the minimal list of transfers amongst residents
needed to settle the books.
Evan Broder [Wed, 16 Jul 2008 07:04:25 +0000 (07:04 +0000)]
Start working towards calculating the system state - get total debts
Evan Broder [Wed, 16 Jul 2008 07:04:18 +0000 (07:04 +0000)]
Actually set a meaningful value for model/__init__.py:__all__
Evan Broder [Wed, 16 Jul 2008 05:30:06 +0000 (05:30 +0000)]
Import NotAuthenticatedError for permissions checks
Evan Broder [Wed, 16 Jul 2008 05:23:02 +0000 (05:23 +0000)]
Replace index page with index action of status controller
Evan Broder [Wed, 16 Jul 2008 05:06:15 +0000 (05:06 +0000)]
Change spend controller to use flash messages
Evan Broder [Wed, 16 Jul 2008 05:06:05 +0000 (05:06 +0000)]
Remember to commit when entering new transfers
Evan Broder [Wed, 16 Jul 2008 05:05:53 +0000 (05:05 +0000)]
When entering a split, only delete old splits from the same expense
Evan Broder [Wed, 16 Jul 2008 05:05:45 +0000 (05:05 +0000)]
Add code to commit new transfers, set a flash message, and redirect
Evan Broder [Wed, 16 Jul 2008 05:05:38 +0000 (05:05 +0000)]
Add support for Rails-like flash messages
Evan Broder [Wed, 16 Jul 2008 04:35:47 +0000 (04:35 +0000)]
Add the bare-bones CSS file from BlueRhapsody
Evan Broder [Wed, 16 Jul 2008 04:28:52 +0000 (04:28 +0000)]
Add controller for making transfers
Evan Broder [Wed, 16 Jul 2008 04:28:39 +0000 (04:28 +0000)]
Add a FieldsDontMatch validator
Evan Broder [Tue, 15 Jul 2008 16:16:19 +0000 (16:16 +0000)]
Convert REMOTE_USER to Unicode so SQLAlchemy stops complaining
Evan Broder [Tue, 15 Jul 2008 16:08:58 +0000 (16:08 +0000)]
For new expenditures, set the spender to the current user by default
Evan Broder [Tue, 15 Jul 2008 16:08:49 +0000 (16:08 +0000)]
Change how widgets are included
The <%namespace> tag changes the semantics of function cals
Evan Broder [Tue, 15 Jul 2008 16:08:42 +0000 (16:08 +0000)]
Correct conversion of UserSelect field
Before if it failed, the value would get set to None instead of something
useful.
Evan Broder [Tue, 15 Jul 2008 16:08:34 +0000 (16:08 +0000)]
Small indentation fix to model/__init__
Evan Broder [Tue, 15 Jul 2008 16:08:28 +0000 (16:08 +0000)]
Add current user to the WSGI environment
Evan Broder [Tue, 15 Jul 2008 05:14:04 +0000 (05:14 +0000)]
Fix typo in last commit
Evan Broder [Tue, 15 Jul 2008 05:13:26 +0000 (05:13 +0000)]
Add authkit dependency
Evan Broder [Tue, 15 Jul 2008 05:09:46 +0000 (05:09 +0000)]
Add middleware to test for users that are in the database
Evan Broder [Tue, 15 Jul 2008 04:15:59 +0000 (04:15 +0000)]
The development config doesn't need to be version controlled.
Yeah, sure, I know it's in the history.
Evan Broder [Tue, 15 Jul 2008 00:15:16 +0000 (00:15 +0000)]
Add shebang to setup.py so it can be executed directly
Evan Broder [Tue, 15 Jul 2008 00:10:04 +0000 (00:10 +0000)]
Require a description field on expenditures
Evan Broder [Mon, 14 Jul 2008 15:23:14 +0000 (15:23 +0000)]
Add a results page for after an expenditure is submitted
Evan Broder [Mon, 14 Jul 2008 06:14:28 +0000 (06:14 +0000)]
In case an expenditure is being re-split, delete old split data
Evan Broder [Mon, 14 Jul 2008 06:14:21 +0000 (06:14 +0000)]
Fix model/types.py to import Decimal
Evan Broder [Mon, 14 Jul 2008 06:14:14 +0000 (06:14 +0000)]
Actually insert new expenditures
Evan Broder [Mon, 14 Jul 2008 06:14:06 +0000 (06:14 +0000)]
Add functions to automatically split up an expenditure
Evan Broder [Mon, 14 Jul 2008 06:13:58 +0000 (06:13 +0000)]
Solve a multithreading issue with the UserSelect converter
Evan Broder [Mon, 14 Jul 2008 06:13:50 +0000 (06:13 +0000)]
Convert dollar amounts to Decimals instead of floats
Evan Broder [Mon, 14 Jul 2008 06:13:41 +0000 (06:13 +0000)]
Add a function for easily updating SQLAlchemy record objects
Evan Broder [Mon, 14 Jul 2008 06:13:34 +0000 (06:13 +0000)]
Change the repr of Splits to match the new db structure.
Evan Broder [Mon, 14 Jul 2008 06:13:26 +0000 (06:13 +0000)]
Move splits onto a separate page
Evan Broder [Mon, 14 Jul 2008 06:13:17 +0000 (06:13 +0000)]
Adding more fields to the expenditure form
Evan Broder [Mon, 14 Jul 2008 06:13:09 +0000 (06:13 +0000)]
Add new action to spend controller for testing validation
Evan Broder [Mon, 14 Jul 2008 06:13:02 +0000 (06:13 +0000)]
Store splits as straight currency instead of percentages
Evan Broder [Mon, 14 Jul 2008 06:12:49 +0000 (06:12 +0000)]
Rounding currency values is useful; make it a helper
Evan Broder [Sun, 13 Jul 2008 18:43:13 +0000 (18:43 +0000)]
Add a validator to the UserSelect dropdown
Converts back and forth between a SQLAlchemy object and the numeric ID
Evan Broder [Sun, 13 Jul 2008 18:43:05 +0000 (18:43 +0000)]
I don't actually want to fight with two different databases
Evan Broder [Sun, 13 Jul 2008 18:43:00 +0000 (18:43 +0000)]
Fix some typos in the model
Evan Broder [Sun, 13 Jul 2008 18:42:53 +0000 (18:42 +0000)]
Routes components are Unicode strings, so fix the URL universalizer
Evan Broder [Sun, 13 Jul 2008 14:57:40 +0000 (14:57 +0000)]
Create controller for entering expenditures
Evan Broder [Sun, 13 Jul 2008 14:57:27 +0000 (14:57 +0000)]
Setup basic templating; largely copied from BlueRhapsody
Evan Broder [Sun, 13 Jul 2008 14:57:19 +0000 (14:57 +0000)]
Explicitly specify the primary join for transfer.{debtor,creditor}
Evan Broder [Sun, 13 Jul 2008 02:48:01 +0000 (02:48 +0000)]
Set setup.py executable so it can be run directly.
Evan Broder [Sun, 13 Jul 2008 02:47:54 +0000 (02:47 +0000)]
Define the model
Evan Broder [Sat, 12 Jul 2008 23:31:34 +0000 (23:31 +0000)]
Copy over some changes to the stock template from BlueRhapsody