1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/ihatemoney_ynh.git synced 2024-09-03 19:26:15 +02:00
Commit graph

82 commits

Author SHA1 Message Date
Jocelyn Delalande
87d2dea9c8 Factor navbar between list_bills and settle_bill 2017-01-30 23:23:03 +01:00
Alexandre Avenel
5d009d839b Fix deprecation issues (ExtDeprecationWarning) 2017-01-21 15:03:58 +01:00
Baptiste Jonglez
74df614007 Optimise SQL queries when displaying bills for a project
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)
2017-01-02 13:09:26 +01:00
Jocelyn Delande
ec8fe2326b Added member edit form 2016-06-16 15:52:24 +02:00
A.Avenel
74e6f9f11d Add unit-test for bug #105.
Small code refactoring for better readability
2013-10-12 16:56:25 +02:00
A.Avenel
8b64762f71 Bugfix : error when you access /authenticate url without a project identifier 2013-06-23 17:37:58 +02:00
Alexis Metaireau
a71d249e6c Merge pull request #96 from aavenel/master
New feature : Settle the bill
2013-05-09 18:32:55 -07:00
A.Avenel
4d329a76ae Bugfix#92 : error when deleting an user 2013-04-08 11:29:31 +02:00
A.Avenel
0d7c82b122 More code cleanup for "settle bills" 2013-04-07 22:14:32 +02:00
A.Avenel
1fa0cff180 use "member.id" instead of "member" 2013-04-07 20:25:25 +02:00
A.Avenel
b410e48851 Merge branch 'flask0.9' of github.com:aavenel/ihatemoney 2013-02-19 15:36:37 +01:00
A.Avenel
bfea4e436f update for flask 0.9 2013-02-18 19:18:49 +01:00
A.Avenel
8b114c5718 update for "create archive" interface 2012-11-26 21:52:25 +01:00
A.Avenel
2b51131aa4 Merge git://github.com/Lastpixl/ihatemoney into HEAD
Conflicts:
	budget/templates/layout.html
	budget/templates/list_bills.html
2012-11-03 17:34:05 +01:00
Alexis Metaireau
6a544855d7 Fix project deletion. fix #87 2012-09-02 13:53:01 +02:00
Xavier Mehrenberger
cb13fbb782 Split bills function and basic template. 2012-03-12 01:35:28 +01:00
Feth AREZKI
fddf60a662 pep8 <3 and '*' imports removal 2012-03-06 18:41:55 +01:00
Feth AREZKI
c51c02481b tolerance to smtp error when creating project 2012-02-20 17:03:44 +01:00
Feth AREZKI
04f8470223 cosmit. rem trailing spaces 2012-02-20 16:58:18 +01:00
Frédéric Sureau
a59465c9a5 Changed delete feature to only support POST method. Fix #21. 2012-01-28 01:35:04 +01:00
Alexis Metaireau
b1665770e8 The 'submit and add a new one' button now acts as intended 2011-12-03 16:41:46 +01:00
Alexis Metaireau
3a2958a44e Add a 'sumbit and add a new one' button for new bills. Fix #53 2011-11-28 01:42:02 +01:00
Alexis Metaireau
05e7a7934a Fix #59. Edit now works properly 2011-11-28 01:07:06 +01:00
Alexis Metaireau
7dd7d1d14f add a (dead simple) dashboard. Fixes #42 2011-11-28 00:36:00 +01:00
Alexis Metaireau
47010d4cd7 change the icons, simplify some javascript 2011-11-27 04:11:22 +01:00
Arnaud Bos
f3972db96a Add a way to delete a project. Fix #63 2011-11-02 12:16:01 +01:00
Arnaud Bos
1e0898dd87 Last selected payer and translations. Fix #47.
- Last selected payer selected by default when creating a new bill

- Fix some translation typos and modify a few labels
2011-10-20 04:18:12 +02:00
Alexis Metaireau
db7e1496b0 Add the ability to change the language explicitely. I'm not sure the UI is better with this. Any thoughts are welcome. Fix #35 2011-10-17 00:03:41 +02:00
Alexis Metaireau
d9c7977a59 fix a bit the UI (identifier on bill's list) 2011-10-15 02:24:02 +02:00
Alexis Metaireau
f61d1432c7 Translate the application using Flask-babel.
The only translation so far is french, but more can be added. The browser language
is used thanks to the HTTP languages headers.

There are still some problems with the translation of some strings, I don't know
why this is. See #12
2011-10-15 01:19:19 +02:00
Alexis Metaireau
75209aeed0 Add a password recovery feature. Fix #32 2011-10-08 15:52:12 +02:00
Alexis Metaireau
19ae3ab3b2 merge with master 2011-10-08 13:45:05 +02:00
Alexis Metaireau
48bc551853 Complete the REST API + Tests. Fix #27 2011-10-08 13:27:30 +02:00
Arnaud Bos
681f22f3e4 Merge branch 'master' into auth-forms-usability 2011-09-18 23:39:10 +02:00
Alexis Metaireau
20ab40690d Provide a way to edit a project. Fix #17 2011-09-14 22:03:18 +02:00
Arnaud Bos
6212b643ec Simplified #30 fix. 2011-09-14 02:19:10 +02:00
Arnaud Bos
34ccb3546d Validate authentication form if given identifier is null. Fix #30. 2011-09-14 02:07:26 +02:00
Arnaud Bos
89e1bbe134 Make the identifier clearer to the end-user.
- Send an email to the user with the summary of the created project
  containing a reminder of the identifier, password and a link.

- Add flash message with the identifier in the /invite page/

- Add a small note containing the identifier in the upper right corner
  of the project main page.
2011-09-14 01:16:25 +02:00
Alexis Metaireau
b0d41291af API: Create and Update support 2011-09-13 22:58:53 +02:00
Alexis Metaireau
e13ceaf351 REST API is now able to list stuff \o/ 2011-09-13 18:15:07 +02:00
Arnaud Bos
88cd2f8675 Fix #24 on Authentication and New project forms usability.
- Do not display anymore the identifier field in home.

- Let the user enter the id if the slug generated from project name already exists as a project id.

- Moved get_billform_for from 'utils' to 'forms', to avoid issue (was 'from forms import ...' into utils,
  and 'from utils import ...' into forms, which causeed an error).
2011-09-11 05:30:28 +02:00
Alexis Metaireau
ef353d643c Refactor the application to use blueprints.
This allows to isolate some behavior in the context of the web application so
the API and the web application can behave in different ways.
2011-09-09 21:21:37 +02:00
Alexis Metaireau
45dc6edacb Move some logic to the models and add comments. 2011-09-09 19:57:28 +02:00
Alexis Metaireau
801802836a Start working on archive management 2011-09-09 19:14:19 +02:00
Alexis Metaireau
0303ab4db7 Add a way to reactivate an user, make the add project non obstrusive 2011-08-25 18:25:58 +02:00
Alexis Metaireau
e0a40a0c7c display a flash message when an user is coming back 2011-08-22 23:29:10 +02:00
Alexis Metaireau
5550e18cfd Add missing tests. Fixes #14 and #22. 2011-08-22 23:19:00 +02:00
Alexis Metaireau
9eab5be9a3 RequestRedirect uses a HTTP 301. We need 303.
This is mainly because 301 is cacheable whereas 303 (See other) isn't.
The redirect response given by the app when trying to connect to a project
(via /project_name) while not authenticated was to permanently redirect to
/authenticate.

Once authenticated, the browser was redirected to the /project_name, that was
cached, leading to an endless loop.

303 see other allows to solve this problem.
2011-08-21 22:35:01 +02:00
Alexis Metaireau
63777c16bc authentication dance 2011-08-21 22:20:50 +02:00
Alexis Metaireau
16fcfd284e Add a flash message + the name of the site when sending invitations 2011-08-21 21:55:47 +02:00