aboutsummaryrefslogtreecommitdiff
path: root/budget
AgeCommit message (Collapse)AuthorFilesLines
2017-02-15Merge pull request #172 from JocelynDelalande/jd-bootstrap-4Alexis Metaireau19-1514/+2702
WIP: Upgrade to bootstrap 4
2017-02-09Prevent "Add new bill" button flickeringJocelyn Delalande1-0/+5
2017-02-09Prevent dancing cells while hovering sidebar linesJocelyn Delalande1-0/+4
Fix a regression introduced with BS4 update.
2017-02-09Prevent modal overflowJocelyn Delalande1-4/+0
Allowing the modal to extend; thus "natural" page scrolling allows to see the whole popup.
2017-02-07Update bootstrap-datepicker to 1.6.4Jocelyn Delalande7-700/+2543
Actually switching to maintained fork at https://github.com/uxsolutions/bootstrap-datepicker ; the original project being unmaintained since 2012. - Works with recent jQuery - BS4 is not supported by bootstrap-datepicker, but actually, it works :-) ref https://github.com/uxsolutions/bootstrap-datepicker/issues/1670
2017-02-04Adapt list bills view to bootstrap 4Jocelyn Delalande2-9/+18
- modal classes and hierarchy changed since BS2 - striped tables are now handled by css3 pseudo-class rather than classes - fix placement/alignment for the button and comment above the table
2017-02-04Do not force huge add member buttonJocelyn Delalande1-1/+0
BS4 provides larger touch-friendly controls anyway.
2017-02-04Adapt tryout button to bootstrap 4Jocelyn Delalande2-1/+9
Trying to keep same look'n'feel.
2017-02-04Adapt navigation bar to bootstrap 4Jocelyn Delalande2-26/+31
Also fixed some weird alignment issues. I think this will need more work later (revamp the navbar layout to avoid that sensation of thing which are floating at random places in the navbar).
2017-02-04Add a label for screen-readers on user add formJocelyn Delalande1-1/+5
There was no label, which is bad for accessibility.
2017-02-04Refactor layout based on bootstrap 4 gridJocelyn Delalande6-49/+39
2017-02-04Adapt to bootstrap 4 formsJocelyn Delalande5-15/+19
- Adapt to BS4 class names and hierarchy - Redesign some forms to have the label above the input (mobile-friendly) - For the remaining inline form (add bill), use the grid, as BS no longer provides inline form alignment helpers
2017-02-04Update bootstrap dependency to bootstrap 4Jocelyn Delalande6-699/+20
2017-02-01Improve translation for user edit form.Berteh1-1/+5
2017-01-30Factor navbar between list_bills and settle_billJocelyn Delalande3-9/+9
2017-01-21Fix deprecation issues (ExtDeprecationWarning)Alexandre Avenel5-8/+8
2017-01-21Fix unit test rounding :Alexandre Avenel1-1/+4
Test was Ok but failed due to some floating point errors.
2017-01-17Merge pull request #166 from JocelynDelalande/jd-fix-prefixed-testAlexis Metaireau1-0/+1
Fix ServerTestCase.test_unprefixed test
2017-01-16Merge pull request #161 from zorun/optimise_sqlAlexis Metaireau2-2/+4
Optimise sql queries
2017-01-16Merge pull request #164 from zorun/fix_zero_transfersAlexis Metaireau4-8/+48
Fix zero-amount transfers and other rounding issues
2017-01-09Fix ServerTestCase.test_unprefixed testJocelyn Delalande1-0/+1
The test was always failing, actual reason is the `app.run.configure()` fails to reset the `APPLICATION_ROOT` setting which `ServerTestCase.test_prefixed` overloads (side effect). This patch *do not* fix app.run.configure as it seems uneasy, but takes a different approach which has the advantage of making the test more explicit. Would still be a good thing to investigate more on configure(). Fix #163
2017-01-03Workaround rounding issues when displaying balance of usersBaptiste Jonglez2-6/+6
A user with a "0.00" balance would have either a "+0.00" in green or a "-0.00" in red, depending on the exact value of the floating-point value. Fix this by simply rounding to 2 digits before comparing to zero.
2017-01-03Prevent transfers with a zero amount in the settle pageBaptiste Jonglez1-2/+2
This workarounds a rounding issue caused by the (incorrect) usage of floats for bill amounts. This fixes #138
2017-01-03Add a test to catch zero-amount transfers in the settle pageBaptiste Jonglez1-0/+40
2017-01-02Sort bills by (date.desc, ID.desc) instead of just date.descBaptiste Jonglez1-1/+2
When viewing the list of bills, bills are (correctly) sorted by date. But the order of all bills for a given day is not intuitive: I would expect bills to be sorted by reverse order of insertion. That is, the last bill to be added for a given day should appear first, not last. Otherwise, when adding several bills in a row for a given day, it's confusing to see that the new bills do not appear on top of the list. Fix this by sorting by decreasing ID after sorting by date.
2017-01-02Optimise SQL queries when computing balanceBaptiste Jonglez1-1/+1
This avoids creating thousands of small SQL queries when computing the balance of users. This significantly improves the performance of displaying the main page of a project, since the balance of users is displayed there: Before this commit: 4004 SQL queries, 19793 ms elapsed time, 19753 ms CPU time, 2094 ms SQL time After this commit: 12 SQL queries, 3688 ms elapsed time, 3753 ms CPU time, 50 ms SQL time Measured request: display the sidebar with the balance of all users for the project (without displaying the list of bills) This commit also greatly improves the performance of the "settle bills" page: Before this commit: 8006 SQL queries, 39167 ms elapsed time, 39600 ms CPU time, 4141 ms SQL time After this commit: 22 SQL queries, 7144 ms elapsed time, 7283 ms CPU time, 96 ms SQL time Measured request: display the "Settle bills" page Test setup to measure performance improvement: - 5 users with various weights - 1000 bills, each paid by a random user, each involving all 5 users - laptop with Celeron N2830@2.16 GHz, SSD Samsung 850 EVO - sqlite database on SSD, using sqlite 3.15.2 - python 2.7.13 - Flask-DebugToolbar 0.10.0 (to count SQL queries and loading time) Performance measurements (using Flask-DebugToolbar on the second request, to avoid measuring cold-cache performance): - number of SQL queries - elapsed time (from request to response) - total CPU time consumed by the server handling the request - total time spent on SQL queries (as reported by SQLAlchemy)
2017-01-02Optimise SQL queries when displaying bills for a projectBaptiste Jonglez1-1/+3
By defaut, SQLAlchemy uses lazy loading, which means that displaying n bills will generate around n queries (to get the list of owers of each bill). Pre-load the list of owers to drastically decrease the number of SQL queries. Before this commit: 1004 SQL queries, 7535 ms elapsed time, 7536 ms CPU time, 530 ms SQL time After this commit: 5 SQL queries, 3342 ms elapsed time, 3393 ms CPU time, 15 ms SQL time Measured request: display the list of all bills for the project (without displaying the sidebar with balances) Test setup to measure performance improvement: - 5 users with various weights - 1000 bills, each paid by a random user, each involving all 5 users - laptop with Celeron N2830@2.16 GHz, SSD Samsung 850 EVO - sqlite database on SSD, using sqlite 3.15.2 - python 2.7.13 - Flask-DebugToolbar 0.10.0 (to count SQL queries and loading time) Performance measurements (using Flask-DebugToolbar with the second request, to avoid measuring cold-cache performance): - number of SQL queries - elapsed time (from request to response) - total CPU time consumed by the server handling the request - total time spent on SQL queries (as reported by SQLAlchemy)
2016-09-12Merge pull request #150 from fredericsureau/negative-amountsAlexis Metaireau2-6/+2
Allow negative bill amounts
2016-09-12Update negative amounts testfredericsureau1-3/+1
2016-09-12Allow negative bill amountsfredericsureau1-3/+1
2016-06-28Convert readthedocs links for their .org -> .io migration for hosted projectsAdam Chainz1-1/+1
As per [their blog post of the 27th April](https://blog.readthedocs.com/securing-subdomains/) ‘Securing subdomains’: > Starting today, Read the Docs will start hosting projects from subdomains on the domain readthedocs.io, instead of on readthedocs.org. This change addresses some security concerns around site cookies while hosting user generated data on the same domain as our dashboard. Test Plan: Manually visited all the links I’ve modified.
2016-06-18Fix migrations upgrade path for MySQLJocelyn Delande1-1/+15
For some reason, the migration path from unmanaged db (from alembic point-of-view) to managed db, through the initial migration works well with sqlite… But not with mysql where the db system tries to re-create the existing tables. This commit is a way to detect if we are migrating from pre-alembic era and skip the first migration (which would do nothing anyway), marking it as already executed. It's quite hackish but that's the best I found so far to get it working with both MySQL and SQLite.
2016-06-16Update translationJocelyn Delande2-1/+4
2016-06-16Add migration to initialize Person weightsJocelyn Delande1-0/+39
That's for Persons that existed before the weights were added to model.
2016-06-16Hide the member weights in members list if all weights are "1".Jocelyn Delande4-1/+31
2016-06-16Added member edit formJocelyn Delande6-6/+60
2016-06-15display an edit button on members listJocelyn Delande2-1/+9
2016-06-15Ask for confirmation only for deleting usersJocelyn Delande1-1/+5
2016-06-15Added a template filter not to show zero decimals on user weightsJocelyn Delande3-1/+20
2016-06-15UI for showing user weights in user listJocelyn Delande2-1/+5
2016-06-15Added member weights support to APIJocelyn Delande2-8/+68
2016-06-15Add members weight in models and budget backend refs #94Jocelyn Delande4-3/+64
2016-05-31Add a manage.py CLI (flask_script)Jocelyn Delande1-0/+16
As it's the Flask-Migrate way to expose its commands (./manage.py db command). In our case, it's specially useful for creating new migrations.
2016-05-31Handle migrations through alembic/flask-MigrationsJocelyn Delande7-1/+230
Auto-initialization now applies migrations instead of using db. create_all() fix #83
2016-04-03Do not load user-overriden settings in unit tests.Jocelyn Delande4-7/+16
Loading not versioned settings.py during tests make them less predictable. That's inspired from django behaviour with DJANGO_SETTING_MODULE environment variable.
2015-11-09Merge pull request #122 from JocelynDelalande/configurable-prefixAlexis Metaireau4-13/+68
Made an URL prefix configurable in settings
2015-09-25Prevent comma to be included in URLMathieu Leplatre1-1/+1
2015-09-25Prevent comma to be included in URLMathieu Leplatre1-1/+1
2015-08-20Merge pull request #130 from JocelynDelalande/trailing-whitespacesQuentin Roy9-16/+16
Remove trailing whitespaces
2015-08-20Remove trailing whitespacesJocelyn Delande9-16/+16