aboutsummaryrefslogtreecommitdiff
path: root/ihatemoney/utils.py
AgeCommit message (Collapse)AuthorFilesLines
2020-05-21Improve error handling when sending emails (#595)zorun1-0/+18
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-1/+16
- 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-26Fix crash when a localized email template is missing (#592)zorun1-1/+16
2020-04-26Fix language code parsing (#589)zorun1-1/+1
2020-04-21Add isort support. (#561)Rémy HUBSCHER1-10/+8
2020-04-20Add Project History Page (#553)Andrew Dickinson1-1/+24
Co-Authored-By: Glandos <bugs-github@antipoul.fr> All project activity can be tracked, using SQLAlchemy-continuum. IP addresses can optionally be recorded.
2020-01-13Import previously exported json data (#518)Nicolas Vanvyve1-0/+23
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-11Remove support for python2.Alexis M1-49/+32
In the same move : - use a setup.cfg file for packaging - remove the use of six
2019-08-18Arrange navbar items by functionsBrice Maron1-1/+13
2019-01-03Provide basic math operations on bills (#413)Byron Ullauri1-0/+33
* allow basic math ops in amount field for bills form * docs: changing compile-translations to build-translations
2018-12-26Resolve "Update API project list" (#409)Byron Ullauri1-5/+1
* refactoring models _to_serialize property * updated project api members list * addressing flake8: line too long
2018-11-25flake8 code cleanupJocelyn Delalande1-2/+2
Flake8 was nitpicking about: ihatemoney/forms.py:192:13: F841 local variable 'e' is assigned to but never used ihatemoney/utils.py:26:8: W605 invalid escape sequence '\w' ihatemoney/utils.py:26:10: W605 invalid escape sequence '\s' ihatemoney/utils.py:27:8: W605 invalid escape sequence '\s'
2018-08-05Remove unwanted space in utils.pyAlexis Métaireau1-1/+1
2018-07-16Merge branch 'master' into almet/fix-supervisord-templateAlexis Metaireau1-1/+26
2018-01-25API: Migrate from flask-rest to flask-restful (#315)0livd1-1/+26
The flask-rest custom json encoder is still needed and thus was added to ihatemoney's utils. Closes #298
2018-01-14Use Jinja2 strict rendering.Alexis Métaireau1-2/+17
For this I had to create an Jinja2 explicit environment, so I put a function in `ihatemoney.utils.create_jinja2_env(strict_rendering=False)`. When using this environment and if `strict_rendering` is activated, templates using undefined variables will now error out rather than failing silently.
2017-08-20Protect admin endpoints against brute force attacks (#249)0livd1-0/+39
* 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/+133
* 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.