bookish's People
bookish's Issues
Logged in landing page
Once logged in....
You go to a dashboard/landing page. This will be different depending on if you are
- an accountant
- a regular client/user
- an administrator
We think a regular user will see:
- Some information about their accounts
We think and accountant will see:
- Some information about their clients
If it is your first login you will:
- Be asked to complete some account details
Add a datepicker
The transaction view asks for a date, that needs to be input manually.
Investigate a datepicker
Log out - show list of actions
When I log out of my internet banking now, I get a list of the things I have done during that session.
I think that's quite nice - a reminder of all the things I've done and a prompt that reminds me about the things I haven't!
Might be worth considering
Create blank index page
(but using the base template)
createdemodata command is not documented
Logout button displayed when you're not logged in
Probably better to have the login link when you're not yet logged in.
Building Milage, Invoices, Receipts, etc
@Bjwebb Do we want to try to re-use views and templates for each of our 'pages'.
Part of me thinks that re-use is a way of having less, but more complex code (I don't think a single 'page' has quite the same fields as another). The other part of me thinks that, a dedicated view and a template - even thought they may duplicate code, makes following the code easier.
I'm not sure if we need new models to deal with milage and invoices and so on. Or will a transaction expand to cover all possible fields, and be defined by transaction_type?
Transactions need to have a state
Transactions can have different states.
They may have some data that should be saved - but not enough to be a complete record.
They may be complete enough to be submitted (i.e.dealt with)
They may have the minimal info required to make a record, but could be enhanced.
We think the states are:
- Grey: Submitted/dealt with/ok
- Red: Minimal info to be saved, but not good enough
- Amber: Has enough info to be considered a record, but could still be enhanmced
- Green: Has all the info it could ever want/need
The level of detail required will be different depending on if it is a cash record, or a milage record, etc - but the classificatiuon system will b e consistent, (i.e. it should be easy to know that there are 5 red records, 6 Amber, etc)
Company Name - where to display
We need to work out where to display the company name. See also: #62
Log out screen is Django administration themed
Remove "Receipts" - this turns out to be a duplicate of "Cash" (see demo data)
Update the README with any useful commands we've discovered for development
E.g. python manage.py flush --noinput; ipython manage.py createdemodata
Update transaction table to show useful information
Needs at least:
- amount
Import demo data from other two bank accounts
Rows 190 to 198 (inc) and rows 203 & 204
Should debits be displayed without the minus sign?
Bookish demo build on docker hub is always behind
This is because it depends on the standard Docker image, which at the time of build, is still on the previous commit.
Switch to py.test
Web interface should display version information
Possibly including github commit hash and docker image id.
Add a datepicker
The transaction view asks for a date, that needs to be input manually.
Investigate a datepicker
Selinum test causes (non-fatal) errors due to static files
The selinium test tries to access static files (as it loads assets on the pages it tries), but is unable to do so because Django runs tests with DEBUG=False. It's not currently checking that these assets load, so all tests pass. On the other hand, the console fills up with "errors", which is not so good.
http://chuckin-py.blogspot.co.uk/2013/03/problems-with-django-testing-and.html describes this problem, and on possible approach to solving it.
Currency values don't display 2 decimal places all the time
Currency values are displayed as decimals, so if there are zeros after the decimal point they don't show on display.
e.g £65 is displayed as 65 and not as 65.00
e.g. £75.30 is displayed as 75.3
requires.io wants to update pep8, but the older version is required by flake8
I think requires.io has a way to stop it suggesting updates greater than a certain version. Will look into this.
Contact Information Model
We need to attach contact information to users, companies and accountants.
I believe we might think that a freetext field would be simple and effective way of achieving this.
I'm not sure if we also need to keep revision information on this information (previous addresses, contact numbers etc)
Even without revisions, we might want to have the ability to attach more than one set of contact details to each of these entities
Switch to PhanomJS Selinum backend?
This is possibly more performant, and easier to run as a test since it is headless.
Should just involve changing
self.browser = webdriver.Firefox()
to
self.browser = webdriver.PhantomJS()
(TravisCI comes with both Firefox and PhantomJS preinstalled).
Set up with landscape.io once it supports Python 3
(also add a badge to the README)
Building Milage, Invoices, Receipts, etc
@Bjwebb Do we want to try to re-use views and templates for each of our 'pages'.
Part of me thinks that re-use is a way of having less, but more complex code (I don't think a single 'page' has quite the same fields as another). The other part of me thinks that, a dedicated view and a template - even thought they may duplicate code, makes following the code easier.
I'm not sure if we need new models to deal with milage and invoices and so on. Or will a transaction expand to cover all possible fields, and be defined by transaction_type?
typo: revison
Line 13 in 3e10f1c
Update instructions for Non-Docker installation
Write up the notes from installing this to take into account the errors encountered and the solutions.
Approve them and incorporate them.
Page navigation needs adding
Don't have any in page navigation for getting around the site
Add functionality to edit existing transaction
Currently only new transactions can be created.
Create a vehicle model
- Mileage needs to be logged against a vehicle
- Vehicles need to be attached to companies
Transaction display - display nominal code
Nominal code as displayed in the transaction table... How should we do this?
Do we show the code, the value, or both? What we display may be different to what we export or it may not.
We may show the code in it's own column and the value in another.
@oldcreakyknees Any ideas?
Logout behaviour
When you logout, you get taken back to index.html, where you will have an option to login again
Labels for columns in David's google spreadsheet
Questions in cells N4 and O4, responses in N3 and O3 resp - "Bank" worksheet
Active links in navigation
Investigate https://github.com/j4mie/django-activelink
Company Name - may need to make user select
A user could have more than one company that they are creating data for.
Need to think about how it's clear which set of records they are editing, and make it easy to change.
Should business_year_id be in the table?
From: #18 (comment)
My understanding is that the entire page will be a view showing only one Business Year. The Business year being displayed should probably be listed between the title and the table eventually.
On the other hand @caprenter has pointed out that we might want to show the end/start of the previous/next tax year for example.
Create a list of nominal codes
Create a demo list of nominal codes.
Add more Demo data
We need some transactions, transaction revisions, business years, companies and probably more in the demo data
Review/remove inline CSS at some point
https://github.com/Bjwebb/bookish/blob/master/bookish/templates/base.html#L13
We need to check what of this we're actually using, remove anything we're not, and add the rest to the separate CSS file.
Log in currently redirects to 404
This should redirect to the index page instead.
Create a transaction revision view
Not sure who this is for - users, administrators or what, but once we get the ability to edit transactions, we may want to view the revision history.
Issues with the navigation
From #22
The navigation could be in a template block instead of base.html - please advise
The navigation could be split out into a separate file, but I think that base.html is a sensible place to keep it for now. The navigation for the dashboard is in base.html for example: https://github.com/IATI/IATI-Dashboard/blob/master/templates/base.html
Links are not done to the application format - please advise
I think the point where you got stuck is that { %
does not work, it must be {%
(without the space). The next thing to know is that the url
template tag wants the name of the view (defined in urls.py) and not the url, e.g. {% url 'bookish-cash_list' %}
(the advantage of this is that we can change the public facing urls later on just by changing urls.py without getting any broken urls within bookish - see https://docs.djangoproject.com/en/1.7/misc/design-philosophies/#id8 for more on this (in fact that entire page is an interesting read)).
Logout needs more thought as to how that is handled
Not sure exactly what you're thinking here, so one to discuss. The logout page is currently using the admin styling, which we can fix by overriding the template (as we've already done for the login page).
Index page (when not logged in)
Please can we list agreed index page features here please.
When you are not logged in and you navigate to index page (or any other page!)
- Navigation does not show cash, receipts etc on index page
- You see a big Login box.
Anything else (e.g. explaining what the application is)
Review bookish/models.py in terms of database fields
User account - self administration
Nothing to allow a user to alter their details yet
(what should these be?)
Or to Logout
Or to say they are logged in
Set up coveralls to work with this repository
Travis tests should use same database as production
The tests currently use sqlite, but production is likely to be postgres.
Settings - timezone and language
In settings.py we have:
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
@Bjwebb Should we be altering these to be UK specific?
Show Company Name in header
I think might be useful.
How do I get this into the header tho. Do I need to use template tags?
https://docs.djangoproject.com/en/dev/howto/custom-template-tags/
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.