aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-03-12Fix tab indentation0livd2-9/+9
2017-03-11Merge pull request #176 from 0livd/masterAlexis Metaireau9-14/+260
Add export feature
2017-03-09Add export feature0livd9-14/+260
Bills and transactions can now be exported to json or csv ref #28
2017-02-22Add non-regression test for member name XSSJocelyn Delalande1-0/+12
ref #173
2017-02-16Fix id in form labelAlexandre Avenel1-1/+1
Checking item was broken when clicking on the label instead of the checkbox
2017-02-16Remove obsolete codeAlexandre Avenel1-22/+0
2017-02-16Fix xss (#173)Alexandre Avenel3-3/+14
Fix #173 Rewrite multi select widget as a template in order to have all values properly escaped.
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-01Merge pull request #171 from spiral-project/berteh-better-translationsAlexis Metaireau1-1/+5
Improve translation for user edit form.
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-27Merge pull request #167 from aavenel/fix-deprecation-issuesJocelynDelalande5-8/+8
Fix deprecation issues (ExtDeprecationWarning)
2017-01-21Fix deprecation issues (ExtDeprecationWarning)Alexandre Avenel5-8/+8
2017-01-21Merge pull request #155 from aavenel/fix-test-roundingJocelynDelalande1-1/+4
Fix unit test rounding
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-16Merge pull request #162 from zorun/order_billsAlexis Metaireau1-1/+2
Sort bills by (date.desc, ID.desc) instead of just date.desc
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-10-05Merge pull request #154 from aavenel/enableTravisCIAlexis Metaireau2-0/+11
Enable Travis CI
2016-10-01Add Travis CI badge in READMEAlexandre Avenel1-0/+4
2016-09-25Add a basic travis.yml file (Enable Travis CI)Alexandre Avenel1-0/+7
2016-09-13Merge pull request #151 from spiral-project/jd-fix-domainAlexis Metaireau1-18/+15
Change ihatemoney.notmyidea.org → ihatemoney.org
2016-09-13Change ihatemoney.notmyidea.org → ihatemoney.orgJocelyn Delalande1-18/+15
As the old domain seams dead and not even redirecting.
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-12Merge pull request #145 from adamchainz/readthedocs.ioAlexis Metaireau2-2/+2
Convert readthedocs links for their .org -> .io migration for hosted projects
2016-09-12Merge pull request #148 from JocelynDelalande/api-doc-precisionsAlexis Metaireau1-4/+4
REST API doc precisions
2016-09-12Allow negative bill amountsfredericsureau1-3/+1
2016-08-18Explain better multi-valued `payed_for` in API docJocelyn Delalande1-3/+3
… And use a multi-valued example, as it's IMHO the "standard" use-case with IHM.
2016-08-18Mentions in API doc that the date is optional.Jocelyn Delalande1-1/+1