Commit Graph

98 Commits

Author SHA1 Message Date
Eli Ribble 9783960857 Add some changes.
I no longer know what they mean, I found them many years later.
2024-09-15 14:22:22 -07:00
Eli Ribble 79b2bf0f1f Add a bunch of files I don't recognize
I'm cleaning up my machine, these were here, I'm not sure which ones
matter
2024-09-15 14:20:25 -07:00
Eli Ribble d2c56d8a98 Properly translate account type when creating accounts 2016-08-11 11:00:23 -06:00
Eli Ribble a23c0e2759 Fix display of transaction post on accounts detail
Bad copy-paste, I assume
2016-08-11 10:59:43 -06:00
Eli Ribble dd1706c70f Remove my SGML and OFX parsers
I'm going to use ofxparse. Promise.

This marks a really serious break with the automatic downloader code
because now we don't even have the code that it depended on for parsing
2016-08-11 10:58:25 -06:00
Eli Ribble 393ef748cc Get OFX file upload working through celery
I switched to using ofxparse because my own parser wasn't up to snuff on
handling the download file that I got from my bank and I got sick of
maintaining my own because SGML is an ugly mess

This commit means that my automatic download won't work any more because
it's expecting to pass data through my own parser, which we're not going
to do any more. That's okay because my bank's OFX integration is
actually down anyways
2016-08-11 10:54:29 -06:00
Eli Ribble 438c073e0f Add simple function for uploading OFX-based transactions
The OFX direct connection for my bank isn't working right now. I have a
support ticket in. Until then I'm going to work on doing a manual upload
and parse of transactions from this OFX document
2016-08-10 17:20:00 -06:00
Eli Ribble 8d0d8d72b1 Factor out the update button into its own small template
For code reuse, you know
2016-08-10 16:58:55 -06:00
Eli Ribble 23ca01f1b1 Fix query for current accounts
I had accidentally crafted the query so that we got something like an
outer join when I actually wanted an inner join. Figuring out how to get
this in SQLAlchemy took a bit of work, but I got it :)
2016-07-20 16:48:51 -06:00
Eli Ribble b9dcf0e9a9 Add script to import data from ofxhome into our DB
Makes my life a little easier to have all of these ofxsources so that I
can test out different sources and start building out support for
communicating with these different institutions

I'm throwing away quite a bit of the data I have but that's okay for now
until I know that I need them
2016-07-20 15:44:57 -06:00
Eli Ribble 140f8fe6c7 Remove unique constraint on ofxsource.fid
Because we have several financial institutions with the same FID value.
Yeah.
2016-07-20 15:41:33 -06:00
Eli Ribble ae6b613ecb Make fid nullable
I'm not totally sure what we do with sources with no FID, but we are
getting it from OFXHome so I'm going to keep it
2016-07-20 15:37:03 -06:00
Eli Ribble 78d26b517c Make ofxsource.bankid nullable
Turns out that the bank I picked first, AFCU, has a bankid. Not all
institutions have one
2016-07-20 15:33:55 -06:00
Eli Ribble fe4836fb68 Add URL for OFX source
We need this to know where we are communicating with the API
2016-07-20 15:24:28 -06:00
Eli Ribble 6e448640b7 Fix sql to return fewer results in subquery
Yay for the limit 1. I also fixed a bug I accidentally introduced when
cleaning up my debug statements
2016-07-05 16:36:59 -06:00
Eli Ribble 500787fbd6 Properly get latest update for ofxaccount
I had done it lazily before and was getting erroneous results when
querying as soon as I had more than one OFXUpdate for an account. Now I
properly do a subselect. Come to think of it, I could also use a limit,
I think...
2016-07-05 16:35:03 -06:00
Eli Ribble c26dba6d2e Insert an update record any time we update an OFX account
Makes it a little easier to report to the user what was done and when
2016-07-01 12:09:36 -06:00
Eli Ribble b716502b78 Make auth debug log less chatty
It was dumping way too much data, more than I needed
2016-07-01 12:08:38 -06:00
Eli Ribble 459a1b2960 Update ofxrecord amount to valid monetary numeric type
We don't want no floats around here, this is money. This stuff matters.

I also took the time to align up my comments so they are purtier
2016-07-01 11:59:46 -06:00
Eli Ribble d479ca3850 Add simple header to account details page
This will likely grow over time
2016-07-01 11:52:57 -06:00
Eli Ribble 568b5f6759 Fix setup.py to not expect the API module
But instead we expect the `pages` model which took its place
2016-06-30 15:20:24 -06:00
Eli Ribble 5f5dcd0cc2 Update to latest chryso
This gives us class-based resources which can help remove a great deal
of boilerplate from the code around injecting records
2016-06-30 15:20:00 -06:00
Eli Ribble 87165249b0 Alphabetically sort column names
They were bugging me
2016-06-28 16:09:21 -06:00
Eli Ribble 23c47535e9 Actually return the ofxaccount when queried by UUID
I screwed this up in a refactor at some point
2016-06-28 16:08:51 -06:00
Eli Ribble ccdd03b04b Add simple page for showing details about a single account
For now this just includes the transactions that we know about on the
account. It'll grow. Give it time
2016-06-28 16:07:59 -06:00
Eli Ribble 2cc0cfb2bb Stop dumping OFX data all over stdout when parsing
This was a great debugging measure, but stuff seems to be working now
and I don't need the clutter
2016-06-28 16:06:58 -06:00
Eli Ribble cd11c51cac Add last updated field to accounts table
The query here isn't quite right, but I don't have a network connection
so I can't be bothered to do the actual research to find out how to do
the SQL correctly. Also, I don't really care until I can do more
updates, so that's fine too
2016-06-28 16:06:14 -06:00
Eli Ribble 8a2f7bae70 Add table for tracking OFX updates
This is how we'll know when we queries via OFX for different accounts
and how we'll populate the table showing when we last updated an account
2016-06-28 15:48:50 -06:00
Eli Ribble f536f21d3c Standardize columns in our table
Like when we last did an update and whether or not something is deleted.
Nice for cleanup and code reuse
2016-06-28 15:46:18 -06:00
Eli Ribble 2ebdd6f99e Add some simple tools for parsing values out of endpoints
This will help us with some basic validation
2016-06-23 11:29:15 -06:00
Eli Ribble 662e1d25d5 Provide a sane default for getting transactions 2016-06-23 11:28:37 -06:00
Eli Ribble ba378a1c15 Make SGML less chatty in normal operation 2016-06-23 11:28:26 -06:00
Eli Ribble 57ac625ce0 Remove old tests
I'm not building the API that way any more and I want all my tests to
pass now
2016-06-23 10:28:37 -06:00
Eli Ribble 8fbf13b17c Allow privileged code to get any and all accounts
This is useful for testing. It requires specifying None rather than
defaulting for safety
2016-06-23 08:47:11 -06:00
Eli Ribble 6d6112de33 Update account creation to take in the account ID
We need the account ID to uniquely identify the account when we request
transactions. So now we require the user to input the data. Over time we
may be able to come up with a way to make this less onerous for the user
since, in this case, AFCU actually calculates the account ID from the
user ID.

But we'll get to that as we learn more
2016-06-23 08:44:26 -06:00
Eli Ribble f485f03f0c Add the account ID to the ofxaccount table
This is how we'll store the account ID we need to send to the
institution to identify the account we want to pull records from
2016-06-23 08:32:55 -06:00
Eli Ribble 1f978a3f28 Add a foreign key from OFXRecord to the OFXAccount used to get it
This makes it easier to tie together our records to the accounts we used
to pull the record
2016-06-23 08:29:52 -06:00
Eli Ribble e2821457f5 Add translating parsed SGML document into OFX structures
This gives the structures some semantic meaning beyond just being raw
SGML and adds some niceties in like parsing the datetimes and their
timezones.
2016-06-22 17:15:34 -06:00
Eli Ribble 95244d2974 Add a basic SGML parser
I tried BeautifulSoup, which was okay, but was missing an understanding
of how OFX does SGML. That's fine, writing my own parser was not that
big of a deal
2016-06-22 14:08:13 -06:00
Eli Ribble 104289418b Add support for creating and listing OFXAccounts
This makes it so that we can add new accounts and show the accounts that
we already have. We don't do anything with them yet, but that's okay it
was interesting figuring out how to get them set up at all. I'm
currently storing the passwords as unencrypted, which I intend to
change, but it's going to take some time to research exactly how to
encrypt them so that the data is not retrievable by a bad actor with
access to the database.
2016-06-21 07:51:36 -06:00
Eli Ribble 91f89d2cbd Add a name to each OFXAccount
So that users can identify their accounts with their own meaningful
names
2016-06-21 07:27:29 -06:00
Eli Ribble d17c592908 Make every OFXAccount have an owner
That way we can split out accounts by the user that created them.
Y'know, like permissions for multi-tenancy
2016-06-21 07:13:14 -06:00
Eli Ribble dbaba8bd52 Add a holder for static/css
Otherwise every time I commit it blows away my compiled CSS and I have
to tell sass to rebuild
2016-06-09 10:29:57 -06:00
Eli Ribble b9191c77af Remove errors module
It was for sepiida-style endpoints, so we won't be using it
2016-06-09 10:29:57 -06:00
Eli Ribble 3a6cb385ed Remove old JavaScript build stuff
This was neat and everything, but I'm committed to not building a
single-page app at this point, so I don't need to structure my tech this
way
2016-06-09 10:29:57 -06:00
Eli Ribble 0aecabea75 Add the accounts page placeholder
This proves out that my navigation works the way that I want and that my
auto context variables are working. Currently we don't do much but say
they have no accounts, but we can build that up over time
2016-06-09 10:29:57 -06:00
Eli Ribble e1f39bb852 Use automatic template context rather than passing the path through
Saves me having to push a bunch of common stuff through, which just
makes sense
2016-06-09 10:18:30 -06:00
Eli Ribble 31d810b65d Clean up old sepiida-based work, create pattern for pages
I'm going to do server-side rendering. That means that I don't really
need sepiida in the way we think of it because I don't need a JSON-based
API to do my UI. And that's fine. This simplifies a bunch of stuff, so
I'll be happy with it

This commit breaks apart my growing list of endpoints into a new module,
vanth.pages, where I intend to keep the various pages. I've put auth in
a separate, non-pages module even though it has pages because auth is a
special beast that deals with sessions and DB stuff, so I like it in a
separate kind of module
2016-06-09 10:12:24 -06:00
Eli Ribble f566ca8914 Remove my old test logout button
I now have a legit logout button in my navbar!
2016-06-09 10:00:00 -06:00
Eli Ribble 213562120c Fix my logout form
I accidentally an =
2016-06-09 09:58:50 -06:00