aboutsummaryrefslogtreecommitdiff
path: root/ihatemoney/web.py
AgeCommit message (Collapse)AuthorFilesLines
2021-06-09Adapt code for https://github.com/wtforms/wtforms/pull/568Glandos1-4/+4
2020-11-24formattingGlandos1-3/+3
2020-11-24Added a page for downloading mobile application (#688)Mayank Choudhary1-0/+5
Fixes #597 Fixes #697 Co-authored-by: Glandos <bugs-github@antipoul.fr>
2020-05-24Populate the demo project with defaults. (#616)Daniel Atwood1-11/+3
2020-05-21Improve error handling when sending emails (#595)zorun1-19/+47
In one case, we were not catching a family of possible exceptions (socket.error), and in the two other cases there was no error handling at all. Sending emails can easily fail if no email server is configured, so it is really necessary to handle these errors instead of crashing with a HTTP 500 error. Refactor email sending code and add proper error handling. Show alert messages that tell the user if an email was sent or if there was an error. When sending a password reminder email or inviting people by email, we don't proceed to the next step in case of error, because sending emails is the whole point of these actions.
2020-05-07Improve currencies (#604)Glandos1-5/+6
- Rename "No Currency" to ISO4217 "XXX" - Use Babel to render currency symbols and names in currency lists - Improve i18n in bill lists Fix #601 Fix #600
2020-04-29Feature/currencies (#541)dark0dave1-2/+17
Now each project can have a currency, default to None. Each bill can use a different currency, and a conversion to project default currency is done on settle. Fix #512
2020-04-26Add support for different categories of "flash alerts" (#594)zorun1-12/+3
2020-04-26Fix crash when a localized email template is missing (#592)zorun1-9/+7
2020-04-25Fix translations (#575)zorun1-1/+1
* Fix user-facing string and update translation catalog In the flash message confirming member creation, change "member had been added" into the correct form "member has been added". No translation has been changed. Some translators seem to have already spotted the mistake while translating, but I can't tell for all languages. * Change "Person" to "Participant" in history view Currently, the main user-facing term is "Participant", as seen for instance in the "Add participant" form. "Person" is not used anywhere in the interface. See #302 for a more general discussion on choosing the right terminology. * Fix obsolete translations. Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org> Co-authored-by: Rémy HUBSCHER <hubscher.remy@gmail.com>
2020-04-24Remove obsolete python code (<3.6). (#571)Rémy HUBSCHER1-6/+4
2020-04-21Add isort support. (#561)Rémy HUBSCHER1-13/+13
2020-04-20Add Project History Page (#553)Andrew Dickinson1-1/+48
Co-Authored-By: Glandos <bugs-github@antipoul.fr> All project activity can be tracked, using SQLAlchemy-continuum. IP addresses can optionally be recorded.
2020-04-08merge settings and import to avoid clutter (#550)eMerzh1-21/+21
2020-04-07updated web.py to make session permanent (#547)Charles Rose1-0/+2
* moved making session permanent to after authentication in web.py Co-authored-by: Charlie Rose <charlierose@Charlies-MacBook-Pro.local>
2020-02-20Paginate the list of bills (#480)zorun1-1/+5
We display 100 bills on each page. We only show previous/next buttons (at the top of the view) and the list of pages (at the bottom) if there are more than one pages. This uses built-in pagination support from Flask-SQLAlchemy: https://flask-sqlalchemy.palletsprojects.com/en/2.x/api/#flask_sqlalchemy.BaseQuery.paginate https://flask-sqlalchemy.palletsprojects.com/en/2.x/api/#flask_sqlalchemy.Pagination
2020-02-09Initial montly expenses (#526)Edwin Smulders1-0/+5
2020-01-13Import previously exported json data (#518)Nicolas Vanvyve1-7/+98
Fix #417 * New tab upload * Extract data from JSON * Add users * Black format * Try to add bill * Import bills * Add french translation msg * Black reformat missing * Deactivated users are supported * Test import * Remove temp file in upload_json() * Incomplete tests * tests import * Update ihatemoney/translations/fr/LC_MESSAGES/messages.po Co-Authored-By: Rémy HUBSCHER <hubscher.remy@gmail.com> * Remove useless variable and check json format * Use String.IO and test for wrong json * Remove coma Co-authored-by: Rémy HUBSCHER <hubscher.remy@gmail.com>
2019-10-14Use black to refomat the files.Alexis M1-127/+202
2019-09-18Move translations in template and translate linkBrice Maron1-6/+1
2019-09-16PR remarksLeo Mouyna1-2/+6
2019-09-16fix: display validation message on password reminderLeo Mouyna1-2/+7
Create a new route with a new generic page that display a title and a message on a <p> tag. This route will be triggered after succesfully submit password reminder form See issue #455
2019-08-26Move export form to linksBrice Maron1-27/+25
2019-08-18Arrange navbar items by functionsBrice Maron1-1/+6
2018-09-03Fix double-click when deleting a bill (#349) (#372)Alexis Metaireau1-1/+1
When double-clicking on the delete button, the first click actually deletes the bill, and the second click does the same action again. But as the bill is already deleted, it displays a 404 page which can be misleading. This fix makes the app trigger a redirect when the bill seem to doesn't exist, fixing this strange behaviour.
2018-08-11Add a favicon.ico route and logo. (#381)Alexis Metaireau1-1/+8
Might fix #255
2018-08-05Remove strict_slashes for /Glandos1-1/+1
I don't know why, but on my setup (nginx + uwsgi), the `strict_slashes` (default to `True`) was causing an infinite loop. I think it could be safely removed for this route only.
2018-02-07Move member stats computation to a dedicated methodJocelyn Delalande1-14/+1
2018-02-07Change statistics data structureJocelyn Delalande1-13/+14
Clearer data structure, and simpler template This commit has a side effect: sidebar now hides disabled members. IMHO, the disabled members should either be hidden or shown consistently between sidebar and central table. Previous status was: shown in sidebar (if balance ≠ 0) and hidden in central table.
2018-01-05Include all .j2 files in the packaged version.Alexis Métaireau1-3/+3
I've also renamed the templates to *.j2 in order to make things clearer to others. Having extensions with the name of the locale doesn't seem to be a good practice, and would need us to add the locales in the MANIFEST file each time we add one. Fix #305
2017-12-21Use hashed passwords for projects (#286)0livd1-13/+11
- Remove all occurences of clear text project passwords. - Migrate the database to hash the previously stored passwords. Closes #232
2017-12-15Use token based auth in invitation e-mails (#280)0livd1-11/+21
* Use token based auth in invitation e-mails Invitation e-mails no longer contain the clear text project password * Skip invite page after project creation - Replace ``The project identifier is demo, remember it!`` by ``Invite other people to join this project!`` (linking to the invite page) - Encourage users to share the project password via other communication means in the reminder email
2017-11-11Fix some typos using codespell (#285)Alexandre Avenel1-1/+1
2017-10-26Use token based auth to reset passwords (#269)0livd1-3/+26
Send a mail containing a password reset token link instead of sending a clear text password. Ref #232
2017-10-23Make authentication logic simpler and safer (#270)0livd1-36/+27
* Fixed exposed password in session The project password was set in clear text in the session cookie. The cookie payload is only base64 encoded so it must not be used to store private information. The password is simply replaced by a boolean. * Simplify authentication logic
2017-09-07Do not import the whole werkzeug pkg (#271)0livd1-4/+4
2017-09-04Enhance the dashboard. (#262)0livd1-20/+60
* Update to a more flexible admin authentication * Admin can now access any project * Add delete and edit options in the dashboard * Add a link to the dashboard in the nav bar This is a rework of the changes proposed by @Olivd, so they can apply on top of the latest master without trouble. All credit goes to him for the code.
2017-08-21Add a statistics tab (#257)0livd1-0/+22
2017-08-20Protect admin endpoints against brute force attacks (#249)0livd1-5/+17
* Protect admin endpoints against brute force attacks Add a throttling mechanism to prevent a client brute forcing the authentication form, based on its ip address Closes #245 * Reset attempt counters if they get memory hungry
2017-07-07Absolute imports & some other improvements (#243)Alexis Metaireau1-0/+500
* Use absolute imports and rename package to ihatemoney * Add a ihatemoney command * Factorize application creation logic * Refactor the tests * Update the wsgi.py module with the new create_app() function * Fix some styling thanks to Flake8. * Automate Flake8 check in the CI.